@acorex/core 19.12.0 → 19.13.0-next.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 (75) hide show
  1. package/date-time/index.d.ts +5 -5
  2. package/date-time/lib/calendar.service.d.ts +8 -3
  3. package/date-time/lib/dateTime.config.d.ts +1 -1
  4. package/date-time/lib/datetime.pipe.d.ts +2 -1
  5. package/date-time/lib/{datetime.class.d.ts → datetime.types.d.ts} +2 -2
  6. package/date-time/lib/formatters/date.formatter.d.ts +12 -0
  7. package/date-time/lib/formatters/{datetime-formatter.d.ts → datetime.formatter.d.ts} +3 -1
  8. package/date-time/lib/formatters/time.formatter.d.ts +12 -0
  9. package/date-time/lib/{georgian.calendar.d.ts → gregorian.calendar.d.ts} +2 -2
  10. package/date-time/lib/{jalali.calendar.d.ts → solar-hijri.calendar.d.ts} +8 -8
  11. package/events/index.d.ts +0 -1
  12. package/fesm2022/acorex-core-components.mjs +3 -3
  13. package/fesm2022/acorex-core-config.mjs +3 -3
  14. package/fesm2022/acorex-core-date-time.mjs +282 -119
  15. package/fesm2022/acorex-core-date-time.mjs.map +1 -1
  16. package/fesm2022/acorex-core-events.mjs +4 -10
  17. package/fesm2022/acorex-core-events.mjs.map +1 -1
  18. package/fesm2022/acorex-core-file.mjs +10 -10
  19. package/fesm2022/acorex-core-format.mjs +78 -63
  20. package/fesm2022/acorex-core-format.mjs.map +1 -1
  21. package/fesm2022/acorex-core-image.mjs +3 -3
  22. package/fesm2022/acorex-core-locale-en-AU.profile-BW-_9tgT.mjs +64 -0
  23. package/fesm2022/acorex-core-locale-en-AU.profile-BW-_9tgT.mjs.map +1 -0
  24. package/fesm2022/acorex-core-locale.mjs +341 -0
  25. package/fesm2022/acorex-core-locale.mjs.map +1 -0
  26. package/fesm2022/acorex-core-network.mjs +3 -3
  27. package/fesm2022/acorex-core-pipes.mjs +3 -3
  28. package/fesm2022/acorex-core-platform.mjs +3 -3
  29. package/fesm2022/acorex-core-storage.mjs +9 -9
  30. package/fesm2022/acorex-core-translation.mjs +246 -206
  31. package/fesm2022/acorex-core-translation.mjs.map +1 -1
  32. package/fesm2022/acorex-core-utils.mjs +143 -18
  33. package/fesm2022/acorex-core-utils.mjs.map +1 -1
  34. package/fesm2022/acorex-core-validation.mjs +40 -40
  35. package/format/index.d.ts +2 -2
  36. package/format/lib/format.directive.d.ts +1 -1
  37. package/format/lib/format.module.d.ts +3 -3
  38. package/format/lib/format.service.d.ts +8 -7
  39. package/locale/README.md +3 -0
  40. package/locale/index.d.ts +8 -0
  41. package/locale/lib/formatters/currency.formatter.d.ts +10 -0
  42. package/locale/lib/locale-profile-provider.service.d.ts +24 -0
  43. package/locale/lib/locale.config.d.ts +5 -0
  44. package/locale/lib/locale.module.d.ts +7 -0
  45. package/locale/lib/locale.service.d.ts +20 -0
  46. package/locale/lib/locale.types.d.ts +61 -0
  47. package/locale/lib/profiles/en-AU.profile.d.ts +2 -0
  48. package/locale/lib/profiles/en-US.profile.d.ts +2 -0
  49. package/locale/lib/profiles/fa-IR.profile.d.ts +2 -0
  50. package/package.json +5 -1
  51. package/translation/index.d.ts +1 -1
  52. package/translation/lib/translation-loader.service.d.ts +20 -0
  53. package/translation/lib/translation.config.d.ts +19 -6
  54. package/translation/lib/translation.loader.d.ts +2 -2
  55. package/translation/lib/translation.parser.d.ts +7 -0
  56. package/translation/lib/translation.resolver.d.ts +9 -0
  57. package/translation/lib/translation.service.d.ts +12 -31
  58. package/translation/lib/translation.types.d.ts +8 -2
  59. package/translation/lib/translator.pipe.d.ts +0 -2
  60. package/types/README.md +2 -2
  61. package/utils/index.d.ts +6 -5
  62. package/utils/lib/execution.utils.d.ts +33 -0
  63. package/utils/lib/string.utils.d.ts +4 -0
  64. package/events/lib/event.type.d.ts +0 -5
  65. package/i18n/en/common.json +0 -191
  66. package/i18n/fa/common.json +0 -190
  67. package/utils/lib/string-util.d.ts +0 -6
  68. /package/date-time/lib/formatters/{time-duration-formatter.d.ts → time-duration.formatter.d.ts} +0 -0
  69. /package/date-time/lib/formatters/{timeleft-formatter.d.ts → timeleft.formatter.d.ts} +0 -0
  70. /package/format/lib/formatters/{number-formatter.d.ts → number.formatter.d.ts} +0 -0
  71. /package/format/lib/formatters/{string-formatter.d.ts → string.formatter.d.ts} +0 -0
  72. /package/utils/lib/{color-util.d.ts → color.utils.d.ts} +0 -0
  73. /package/utils/lib/{drawing-util.d.ts → drawing.utils.d.ts} +0 -0
  74. /package/utils/lib/{html-util.d.ts → html-utils.d.ts} +0 -0
  75. /package/utils/lib/{auto-unsubscribe.d.ts → lifecycle-helpers.utils.d.ts} +0 -0
@@ -0,0 +1,341 @@
1
+ import * as i0 from '@angular/core';
2
+ import { InjectionToken, inject, Injectable, signal, NgModule } from '@angular/core';
3
+ import cloneDeep from 'lodash/cloneDeep';
4
+ import merge from 'lodash/merge';
5
+ import set from 'lodash/set';
6
+ import { toObservable } from '@angular/core/rxjs-interop';
7
+ import * as i1 from '@acorex/core/format';
8
+ import { AXFormatModule } from '@acorex/core/format';
9
+
10
+ const AX_LOCALE_CONFIG = new InjectionToken('AX_LOCALE_CONFIG', {
11
+ providedIn: 'root',
12
+ factory: () => {
13
+ return {
14
+ default: 'en-US',
15
+ };
16
+ },
17
+ });
18
+
19
+ const AX_LOCALE_PROFILE_PROVIDERS = new InjectionToken('AX_LOCALE_PROFILE_PROVIDERS', {
20
+ providedIn: 'root',
21
+ factory: () => [new AXLocaleProfileProviderDefault()],
22
+ });
23
+ // ✅ Lazy-loaded default provider
24
+ class AXLocaleProfileProviderDefault {
25
+ async provide() {
26
+ return {
27
+ 'en-AU': () => import('./acorex-core-locale-en-AU.profile-BW-_9tgT.mjs').then(m => m.AXAURegionalConfig),
28
+ 'en-US': () => Promise.resolve().then(function () { return enUS_profile; }).then(m => m.AXUSLocaleProfile),
29
+ 'fa-IR': () => Promise.resolve().then(function () { return faIR_profile; }).then(m => m.AXIRLocaleProfile),
30
+ };
31
+ }
32
+ }
33
+ class AXLocaleProfileProviderService {
34
+ constructor() {
35
+ this.providers = inject(AX_LOCALE_PROFILE_PROVIDERS);
36
+ this.registry = new Map();
37
+ this.resolvedCache = new Map();
38
+ this.isInitialized = false;
39
+ }
40
+ async init() {
41
+ if (this.isInitialized)
42
+ return;
43
+ for (const provider of this.providers) {
44
+ const result = await provider.provide();
45
+ for (const [localeCode, loaderFn] of Object.entries(result)) {
46
+ if (typeof loaderFn === 'function') {
47
+ this.registry.set(localeCode, async () => {
48
+ const profile = await loaderFn();
49
+ return profile;
50
+ });
51
+ }
52
+ else {
53
+ console.warn(`[AXLocaleService] Profile for "${localeCode}" is not a function. Skipped.`);
54
+ }
55
+ }
56
+ }
57
+ this.isInitialized = true;
58
+ }
59
+ async getList() {
60
+ await this.init();
61
+ const profiles = [];
62
+ for (const localeCode of this.registry.keys()) {
63
+ const profile = await this.getByLocale(localeCode);
64
+ if (profile)
65
+ profiles.push(profile);
66
+ }
67
+ return profiles;
68
+ }
69
+ async getByLocale(localeCode) {
70
+ await this.init();
71
+ // If already loaded, return from cache
72
+ if (this.resolvedCache.has(localeCode)) {
73
+ return this.resolvedCache.get(localeCode);
74
+ }
75
+ // Otherwise, try to load it
76
+ const loader = this.registry.get(localeCode);
77
+ if (!loader) {
78
+ console.warn(`[AXLocaleService] No profile loader found for locale: "${localeCode}"`);
79
+ return undefined;
80
+ }
81
+ const profile = await loader();
82
+ this.resolvedCache.set(localeCode, profile);
83
+ return profile;
84
+ }
85
+ async reload() {
86
+ this.registry.clear();
87
+ this.resolvedCache.clear();
88
+ this.isInitialized = false;
89
+ await this.init();
90
+ }
91
+ has(localeCode) {
92
+ return this.registry.has(localeCode);
93
+ }
94
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: AXLocaleProfileProviderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
95
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: AXLocaleProfileProviderService, providedIn: 'root' }); }
96
+ }
97
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: AXLocaleProfileProviderService, decorators: [{
98
+ type: Injectable,
99
+ args: [{
100
+ providedIn: 'root',
101
+ }]
102
+ }] });
103
+
104
+ var AXLocaleEvents;
105
+ (function (AXLocaleEvents) {
106
+ AXLocaleEvents["AXLocaleChanged"] = "AX_LOCALE_CHANGED";
107
+ AXLocaleEvents["AXLocaleLoaded"] = "AX_LOCALE_LOADED";
108
+ //
109
+ AXLocaleEvents["AXCalendarChanged"] = "AX_CALENDAR_CHANGED";
110
+ //
111
+ AXLocaleEvents["AXLanguageChanged"] = "AX_LANGUAGE_CHANGED";
112
+ AXLocaleEvents["AXLanguageLoaded"] = "AX_LANGUAGE_LOADED";
113
+ })(AXLocaleEvents || (AXLocaleEvents = {}));
114
+
115
+ const AXUSLocaleProfile = {
116
+ localeInfo: {
117
+ code: 'en-US',
118
+ language: 'en',
119
+ region: 'US',
120
+ timezone: 'America/New_York',
121
+ },
122
+ calendar: {
123
+ system: 'gregorian',
124
+ week: {
125
+ startsOn: 0, // Sunday
126
+ weekends: [0, 6], // Sunday + Saturday
127
+ },
128
+ clock: {
129
+ format24Hour: false,
130
+ },
131
+ },
132
+ formats: {
133
+ date: {
134
+ short: 'MM/DD/YY',
135
+ medium: 'MMM DD, YYYY',
136
+ long: 'MMMM DD, YYYY',
137
+ full: 'dddd, MMMM DD, YYYY',
138
+ },
139
+ time: {
140
+ short: 'hh:mm A',
141
+ medium: 'hh:mm:ss A',
142
+ long: 'hh:mm:ss A Z',
143
+ full: 'hh:mm:ss A ZZZZ',
144
+ },
145
+ datetime: {
146
+ short: 'MM/DD/YY hh:mm A',
147
+ medium: 'MMM DD, YYYY hh:mm:ss A',
148
+ long: 'MMMM DD, YYYY hh:mm:ss A Z',
149
+ full: 'dddd, MMMM DD, YYYY hh:mm:ss A ZZZZ',
150
+ },
151
+ numbers: {
152
+ decimalPattern: '1,000.00',
153
+ currency: {
154
+ code: 'USD',
155
+ },
156
+ },
157
+ contacts: {
158
+ phone: '(000) 000-0000',
159
+ postalCode: '00000',
160
+ },
161
+ },
162
+ units: {
163
+ temperature: 'fahrenheit',
164
+ distance: 'miles',
165
+ weight: 'pounds',
166
+ volume: 'gallons',
167
+ speed: 'mph',
168
+ area: 'square-feet',
169
+ },
170
+ i18nMeta: {
171
+ rtl: false,
172
+ fallbackLocales: ['en-US'],
173
+ supportedLanguages: ['en-US'],
174
+ },
175
+ };
176
+
177
+ var enUS_profile = /*#__PURE__*/Object.freeze({
178
+ __proto__: null,
179
+ AXUSLocaleProfile: AXUSLocaleProfile
180
+ });
181
+
182
+ const AXIRLocaleProfile = {
183
+ localeInfo: {
184
+ code: 'fa-IR',
185
+ language: 'fa',
186
+ region: 'IR',
187
+ timezone: 'Asia/Tehran',
188
+ },
189
+ calendar: {
190
+ system: 'solar-hijri',
191
+ week: {
192
+ startsOn: 6, // Saturday
193
+ weekends: [5], // Friday
194
+ },
195
+ clock: {
196
+ format24Hour: true,
197
+ },
198
+ },
199
+ formats: {
200
+ date: {
201
+ short: 'YY/MM/DD',
202
+ medium: 'YYYY/MM/DD',
203
+ long: 'dddd، D MMMM YYYY',
204
+ full: 'dddd، D MMMM YYYY',
205
+ },
206
+ time: {
207
+ short: 'HH:mm',
208
+ medium: 'HH:mm:ss',
209
+ long: 'HH:mm:ss Z',
210
+ full: 'HH:mm:ss ZZZZ',
211
+ },
212
+ datetime: {
213
+ short: 'YY/MM/DD HH:mm',
214
+ medium: 'YYYY/MM/DD HH:mm:ss',
215
+ long: 'dddd، D MMMM YYYY HH:mm:ss Z',
216
+ full: 'dddd، D MMMM YYYY HH:mm:ss ZZZZ',
217
+ },
218
+ numbers: {
219
+ decimalPattern: '1٬000٫00',
220
+ currency: {
221
+ code: 'IRR',
222
+ },
223
+ },
224
+ contacts: {
225
+ phone: '09XX XXX XXXX',
226
+ postalCode: 'XXXXX-XXXXX',
227
+ },
228
+ },
229
+ units: {
230
+ temperature: 'celsius',
231
+ distance: 'kilometers',
232
+ weight: 'kilograms',
233
+ volume: 'liters',
234
+ speed: 'km/h',
235
+ area: 'square-meters',
236
+ },
237
+ i18nMeta: {
238
+ rtl: true,
239
+ fallbackLocales: ['en-IR'],
240
+ supportedLanguages: ['fa-IR', 'en-IR'],
241
+ },
242
+ };
243
+
244
+ var faIR_profile = /*#__PURE__*/Object.freeze({
245
+ __proto__: null,
246
+ AXIRLocaleProfile: AXIRLocaleProfile
247
+ });
248
+
249
+ class AXLocaleService {
250
+ async setProfile(localeCode) {
251
+ const profile = await this.provider.getByLocale(localeCode);
252
+ if (profile) {
253
+ this.originalProfile = cloneDeep(profile);
254
+ this._activeProfile.set(cloneDeep(profile));
255
+ }
256
+ else {
257
+ console.warn(`[AXLocaleService] Locale not found: ${localeCode}`);
258
+ }
259
+ }
260
+ /**
261
+ *
262
+ */
263
+ constructor() {
264
+ this.provider = inject(AXLocaleProfileProviderService);
265
+ this.config = inject(AX_LOCALE_CONFIG);
266
+ this._activeProfile = signal(AXUSLocaleProfile);
267
+ this.activeProfile = this._activeProfile.asReadonly();
268
+ this.profileChanged$ = toObservable(this._activeProfile);
269
+ this.originalProfile = cloneDeep(AXUSLocaleProfile);
270
+ this.setProfile(this.config.default);
271
+ }
272
+ apply(arg1, arg2) {
273
+ const current = this.activeProfile();
274
+ if (!current) {
275
+ console.warn('[AXLocaleService] No active profile found');
276
+ return;
277
+ }
278
+ ;
279
+ const updated = cloneDeep(current);
280
+ if (typeof arg1 === 'string' && arg2 !== undefined) {
281
+ // Overload: updateProfile('formats.date.full', 'YYYY-MM-DD')
282
+ set(updated, arg1, arg2);
283
+ }
284
+ else if (typeof arg1 === 'object') {
285
+ // Overload: updateProfile({ formats: { date: { short: '...' } } })
286
+ merge(updated, arg1);
287
+ }
288
+ else {
289
+ console.warn('[AXLocaleService] Invalid arguments passed to updateProfile()');
290
+ return;
291
+ }
292
+ }
293
+ reset() {
294
+ if (this.originalProfile) {
295
+ this._activeProfile.set(cloneDeep(this.originalProfile));
296
+ }
297
+ }
298
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: AXLocaleService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
299
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: AXLocaleService, providedIn: 'root' }); }
300
+ }
301
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: AXLocaleService, decorators: [{
302
+ type: Injectable,
303
+ args: [{
304
+ providedIn: 'root',
305
+ }]
306
+ }], ctorParameters: () => [] });
307
+
308
+ class AXLocaleModule {
309
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: AXLocaleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
310
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.8", ngImport: i0, type: AXLocaleModule, imports: [i1.AXFormatModule] }); }
311
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: AXLocaleModule, imports: [AXFormatModule.forChild({
312
+ formatters: [],
313
+ })] }); }
314
+ }
315
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: AXLocaleModule, decorators: [{
316
+ type: NgModule,
317
+ args: [{
318
+ imports: [
319
+ AXFormatModule.forChild({
320
+ formatters: [],
321
+ }),
322
+ ],
323
+ }]
324
+ }] });
325
+
326
+ // @Injectable()
327
+ // export class AXCurrencyFormatter implements AXFormatter {
328
+ // get name(): string {
329
+ // return 'currency';
330
+ // }
331
+ // format(value: number, options: AXCurrencyFormatterOptions): string {
332
+ // return value.toLocaleString(options.locale, { style: 'currency', currency: options.currency });
333
+ // }
334
+ // }
335
+
336
+ /**
337
+ * Generated bundle index. Do not edit.
338
+ */
339
+
340
+ export { AXIRLocaleProfile, AXLocaleEvents, AXLocaleModule, AXLocaleProfileProviderDefault, AXLocaleProfileProviderService, AXLocaleService, AXUSLocaleProfile, AX_LOCALE_CONFIG, AX_LOCALE_PROFILE_PROVIDERS };
341
+ //# sourceMappingURL=acorex-core-locale.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-core-locale.mjs","sources":["../../../../libs/core/locale/src/lib/locale.config.ts","../../../../libs/core/locale/src/lib/locale-profile-provider.service.ts","../../../../libs/core/locale/src/lib/locale.types.ts","../../../../libs/core/locale/src/lib/profiles/en-US.profile.ts","../../../../libs/core/locale/src/lib/profiles/fa-IR.profile.ts","../../../../libs/core/locale/src/lib/locale.service.ts","../../../../libs/core/locale/src/lib/locale.module.ts","../../../../libs/core/locale/src/lib/formatters/currency.formatter.ts","../../../../libs/core/locale/src/acorex-core-locale.ts"],"sourcesContent":["import { InjectionToken } from \"@angular/core\";\n\n\n\nexport interface AXLocaleConfig {\n default: string;\n}\n\n\n\nexport const AX_LOCALE_CONFIG = new InjectionToken<AXLocaleConfig>('AX_LOCALE_CONFIG', {\n providedIn: 'root',\n factory: () => {\n return {\n default: 'en-US',\n };\n },\n});\n\n\n\n\n\n\n\n\n\n","import { inject, Injectable, InjectionToken } from \"@angular/core\";\nimport { AXLocaleProfile } from \"./locale.types\";\n\n// Record of locale code → loader function (returns profile or Promise<profile>)\nexport type AXLocaleProfileProviderResult = Record<string, () => Promise<AXLocaleProfile> | AXLocaleProfile>;\n\nexport interface AXLocaleProfileProvider {\n provide(): Promise<AXLocaleProfileProviderResult>;\n}\n\nexport const AX_LOCALE_PROFILE_PROVIDERS = new InjectionToken<AXLocaleProfileProvider[]>(\n 'AX_LOCALE_PROFILE_PROVIDERS',\n {\n providedIn: 'root',\n factory: () => [new AXLocaleProfileProviderDefault()],\n }\n);\n\n// ✅ Lazy-loaded default provider\nexport class AXLocaleProfileProviderDefault implements AXLocaleProfileProvider {\n async provide(): Promise<AXLocaleProfileProviderResult> {\n return {\n 'en-AU': () => import('./profiles/en-AU.profile').then(m => m.AXAURegionalConfig),\n 'en-US': () => import('./profiles/en-US.profile').then(m => m.AXUSLocaleProfile),\n 'fa-IR': () => import('./profiles/fa-IR.profile').then(m => m.AXIRLocaleProfile),\n };\n }\n}\n\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AXLocaleProfileProviderService {\n private providers: AXLocaleProfileProvider[] = inject(AX_LOCALE_PROFILE_PROVIDERS);\n\n private registry = new Map<string, () => Promise<AXLocaleProfile>>();\n private resolvedCache = new Map<string, AXLocaleProfile>();\n private isInitialized = false;\n\n private async init(): Promise<void> {\n if (this.isInitialized) return;\n\n for (const provider of this.providers) {\n const result: AXLocaleProfileProviderResult = await provider.provide();\n\n for (const [localeCode, loaderFn] of Object.entries(result)) {\n if (typeof loaderFn === 'function') {\n this.registry.set(localeCode, async () => {\n const profile = await loaderFn();\n return profile;\n });\n } else {\n console.warn(`[AXLocaleService] Profile for \"${localeCode}\" is not a function. Skipped.`);\n }\n }\n }\n\n this.isInitialized = true;\n }\n\n public async getList(): Promise<AXLocaleProfile[]> {\n await this.init();\n\n const profiles: AXLocaleProfile[] = [];\n\n for (const localeCode of this.registry.keys()) {\n const profile = await this.getByLocale(localeCode);\n if (profile) profiles.push(profile);\n }\n\n return profiles;\n }\n\n public async getByLocale(localeCode: string): Promise<AXLocaleProfile | undefined> {\n await this.init();\n\n // If already loaded, return from cache\n if (this.resolvedCache.has(localeCode)) {\n return this.resolvedCache.get(localeCode);\n }\n\n // Otherwise, try to load it\n const loader = this.registry.get(localeCode);\n if (!loader) {\n console.warn(`[AXLocaleService] No profile loader found for locale: \"${localeCode}\"`);\n return undefined;\n }\n\n const profile = await loader();\n this.resolvedCache.set(localeCode, profile);\n return profile;\n }\n\n public async reload(): Promise<void> {\n this.registry.clear();\n this.resolvedCache.clear();\n this.isInitialized = false;\n await this.init();\n }\n\n public has(localeCode: string): boolean {\n return this.registry.has(localeCode);\n }\n}\n","export interface AXLocaleProfile {\n localeInfo: {\n code: string; // e.g., 'en-US'\n language: string; // e.g., 'en'\n region: string; // e.g., 'US'\n timezone: string; // e.g., 'America/New_York'\n };\n\n calendar: {\n system: 'gregorian' | 'solar-hijri' | string;\n week: {\n startsOn: number; // 0 = Sunday, 1 = Monday\n weekends: number[]; // e.g., [0, 6]\n };\n clock: {\n format24Hour: boolean;\n };\n };\n\n formats: {\n date: FormatPattern;\n time: FormatPattern;\n datetime: FormatPattern;\n numbers: {\n decimalPattern: string; // e.g., '1,000.00'\n currency: {\n code: string; // e.g., 'USD'\n };\n };\n contacts: {\n phone: string; // e.g., '000-000-0000'\n postalCode: string; // e.g., '00000'\n };\n };\n\n units?: {\n temperature: 'celsius' | 'fahrenheit';\n distance: 'kilometers' | 'miles';\n weight?: 'kilograms' | 'pounds';\n volume?: 'liters' | 'gallons';\n speed?: 'km/h' | 'mph';\n area?: 'square-meters' | 'square-feet';\n custom?: Record<string, string>; // Optional: supports domain-specific units\n };\n\n i18nMeta?: {\n fallbackLocales?: string[]; // e.g., ['en']\n supportedLanguages?: string[]; // e.g., ['en', 'fa']\n rtl?: boolean; // true for RTL languages like Arabic, Persian\n };\n}\ninterface FormatPattern {\n short: string;\n medium: string;\n long: string;\n full: string;\n}\n\n\n\nexport enum AXLocaleEvents {\n AXLocaleChanged = 'AX_LOCALE_CHANGED',\n AXLocaleLoaded = 'AX_LOCALE_LOADED',\n //\n AXCalendarChanged = 'AX_CALENDAR_CHANGED',\n //\n AXLanguageChanged = 'AX_LANGUAGE_CHANGED',\n AXLanguageLoaded = 'AX_LANGUAGE_LOADED',\n}\n\n","import { AXLocaleProfile } from \"../locale.types\";\n\nexport const AXUSLocaleProfile: AXLocaleProfile = {\n localeInfo: {\n code: 'en-US',\n language: 'en',\n region: 'US',\n timezone: 'America/New_York',\n },\n calendar: {\n system: 'gregorian',\n week: {\n startsOn: 0, // Sunday\n weekends: [0, 6], // Sunday + Saturday\n },\n clock: {\n format24Hour: false,\n },\n },\n formats: {\n date: {\n short: 'MM/DD/YY',\n medium: 'MMM DD, YYYY',\n long: 'MMMM DD, YYYY',\n full: 'dddd, MMMM DD, YYYY',\n },\n time: {\n short: 'hh:mm A',\n medium: 'hh:mm:ss A',\n long: 'hh:mm:ss A Z',\n full: 'hh:mm:ss A ZZZZ',\n },\n datetime: {\n short: 'MM/DD/YY hh:mm A',\n medium: 'MMM DD, YYYY hh:mm:ss A',\n long: 'MMMM DD, YYYY hh:mm:ss A Z',\n full: 'dddd, MMMM DD, YYYY hh:mm:ss A ZZZZ',\n },\n numbers: {\n decimalPattern: '1,000.00',\n currency: {\n code: 'USD',\n },\n },\n contacts: {\n phone: '(000) 000-0000',\n postalCode: '00000',\n },\n },\n units: {\n temperature: 'fahrenheit',\n distance: 'miles',\n weight: 'pounds',\n volume: 'gallons',\n speed: 'mph',\n area: 'square-feet',\n },\n i18nMeta: {\n rtl: false,\n fallbackLocales: ['en-US'],\n supportedLanguages: ['en-US'],\n },\n};\n","import { AXLocaleProfile } from \"../locale.types\";\n\nexport const AXIRLocaleProfile: AXLocaleProfile = {\n localeInfo: {\n code: 'fa-IR',\n language: 'fa',\n region: 'IR',\n timezone: 'Asia/Tehran',\n },\n calendar: {\n system: 'solar-hijri',\n week: {\n startsOn: 6, // Saturday\n weekends: [5], // Friday\n },\n clock: {\n format24Hour: true,\n },\n },\n formats: {\n date: {\n short: 'YY/MM/DD',\n medium: 'YYYY/MM/DD',\n long: 'dddd، D MMMM YYYY',\n full: 'dddd، D MMMM YYYY',\n },\n time: {\n short: 'HH:mm',\n medium: 'HH:mm:ss',\n long: 'HH:mm:ss Z',\n full: 'HH:mm:ss ZZZZ',\n },\n datetime: {\n short: 'YY/MM/DD HH:mm',\n medium: 'YYYY/MM/DD HH:mm:ss',\n long: 'dddd، D MMMM YYYY HH:mm:ss Z',\n full: 'dddd، D MMMM YYYY HH:mm:ss ZZZZ',\n },\n numbers: {\n decimalPattern: '1٬000٫00',\n currency: {\n code: 'IRR',\n },\n },\n contacts: {\n phone: '09XX XXX XXXX',\n postalCode: 'XXXXX-XXXXX',\n },\n },\n units: {\n temperature: 'celsius',\n distance: 'kilometers',\n weight: 'kilograms',\n volume: 'liters',\n speed: 'km/h',\n area: 'square-meters',\n },\n i18nMeta: {\n rtl: true,\n fallbackLocales: ['en-IR'],\n supportedLanguages: ['fa-IR', 'en-IR'],\n },\n};\n","import { Injectable, inject, signal } from '@angular/core';\nimport { AXLocaleProfile } from './locale.types';\nimport { AXLocaleProfileProviderService } from './locale-profile-provider.service';\n\nimport cloneDeep from 'lodash/cloneDeep';\nimport merge from 'lodash/merge';\nimport set from 'lodash/set';\nimport { AXUSLocaleProfile } from './profiles/en-US.profile';\nimport { AX_LOCALE_CONFIG } from './locale.config';\nimport { toObservable } from '@angular/core/rxjs-interop';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AXLocaleService {\n private provider = inject(AXLocaleProfileProviderService);\n private config = inject(AX_LOCALE_CONFIG);\n\n\n private _activeProfile = signal<AXLocaleProfile>(AXUSLocaleProfile);\n public activeProfile = this._activeProfile.asReadonly();\n\n\n public profileChanged$ = toObservable(this._activeProfile);\n\n private originalProfile: AXLocaleProfile = cloneDeep(AXUSLocaleProfile);\n\n public async setProfile(localeCode: string): Promise<void> {\n const profile = await this.provider.getByLocale(localeCode);\n if (profile) {\n this.originalProfile = cloneDeep(profile);\n this._activeProfile.set(cloneDeep(profile));\n } else {\n console.warn(`[AXLocaleService] Locale not found: ${localeCode}`);\n }\n }\n\n /**\n *\n */\n constructor() {\n this.setProfile(this.config.default);\n }\n\n\n public apply(profile: Partial<AXLocaleProfile>): void;\n public apply(path: string, value: any): void;\n public apply(arg1: any, arg2?: any): void {\n const current = this.activeProfile();\n if (!current) {\n console.warn('[AXLocaleService] No active profile found');\n return;\n };\n\n const updated = cloneDeep(current);\n\n if (typeof arg1 === 'string' && arg2 !== undefined) {\n // Overload: updateProfile('formats.date.full', 'YYYY-MM-DD')\n set(updated, arg1, arg2);\n } else if (typeof arg1 === 'object') {\n // Overload: updateProfile({ formats: { date: { short: '...' } } })\n merge(updated, arg1);\n } else {\n console.warn('[AXLocaleService] Invalid arguments passed to updateProfile()');\n return;\n }\n\n }\n\n public reset(): void {\n if (this.originalProfile) {\n this._activeProfile.set(cloneDeep(this.originalProfile));\n }\n }\n}\n","import { AXFormatModule } from '@acorex/core/format';\nimport { NgModule } from '@angular/core';\n\n@NgModule({\n imports: [\n AXFormatModule.forChild({\n formatters: [],\n }),\n ],\n})\nexport class AXLocaleModule {\n\n}\n","import { Injectable } from '@angular/core';\nimport { AXFormatter } from '@acorex/core/format';\nimport { AXFormatOptions } from '@acorex/core/format';\n\nexport interface AXCurrencyFormatterOptions extends AXFormatOptions {\n locale?: string;\n currency?: string;\n}\n\ndeclare module '@acorex/core/format' {\n interface AXFormatOptionsMap {\n currency: AXCurrencyFormatterOptions;\n }\n}\n\n// @Injectable()\n// export class AXCurrencyFormatter implements AXFormatter {\n\n// get name(): string {\n// return 'currency';\n// }\n\n// format(value: number, options: AXCurrencyFormatterOptions): string {\n// return value.toLocaleString(options.locale, { style: 'currency', currency: options.currency });\n// }\n// }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -211,10 +211,10 @@ class AXNetworkService {
211
211
  const events = this.http.request(request);
212
212
  return new AXDownloadTask(events);
213
213
  }
214
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: AXNetworkService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
215
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: AXNetworkService, providedIn: 'root' }); }
214
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: AXNetworkService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
215
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: AXNetworkService, providedIn: 'root' }); }
216
216
  }
217
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: AXNetworkService, decorators: [{
217
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: AXNetworkService, decorators: [{
218
218
  type: Injectable,
219
219
  args: [{ providedIn: 'root' }]
220
220
  }], ctorParameters: () => [] });
@@ -24,10 +24,10 @@ class AXSafePipe {
24
24
  throw new Error(`Invalid safe type specified: ${type}`);
25
25
  }
26
26
  }
27
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: AXSafePipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe }); }
28
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.5", ngImport: i0, type: AXSafePipe, isStandalone: true, name: "safe" }); }
27
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: AXSafePipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe }); }
28
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.8", ngImport: i0, type: AXSafePipe, isStandalone: true, name: "safe" }); }
29
29
  }
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: AXSafePipe, decorators: [{
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: AXSafePipe, decorators: [{
31
31
  type: Pipe,
32
32
  args: [{
33
33
  name: 'safe',
@@ -282,10 +282,10 @@ class AXPlatform {
282
282
  });
283
283
  }
284
284
  }
285
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: AXPlatform, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
286
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: AXPlatform, providedIn: 'root' }); }
285
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: AXPlatform, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
286
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: AXPlatform, providedIn: 'root' }); }
287
287
  }
288
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: AXPlatform, decorators: [{
288
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: AXPlatform, decorators: [{
289
289
  type: Injectable,
290
290
  args: [{
291
291
  providedIn: 'root',
@@ -184,10 +184,10 @@ class AXCookieStorageService {
184
184
  }
185
185
  }
186
186
  }
187
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: AXCookieStorageService, deps: [{ token: DOCUMENT }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Injectable }); }
188
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: AXCookieStorageService }); }
187
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: AXCookieStorageService, deps: [{ token: DOCUMENT }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Injectable }); }
188
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: AXCookieStorageService }); }
189
189
  }
190
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: AXCookieStorageService, decorators: [{
190
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: AXCookieStorageService, decorators: [{
191
191
  type: Injectable
192
192
  }], ctorParameters: () => [{ type: Document, decorators: [{
193
193
  type: Inject,
@@ -242,10 +242,10 @@ class AXLocalStorageService {
242
242
  return null;
243
243
  }
244
244
  }
245
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: AXLocalStorageService, deps: [{ token: AX_LOCALSTORAGE_SECRET_KEY }], target: i0.ɵɵFactoryTarget.Injectable }); }
246
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: AXLocalStorageService }); }
245
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: AXLocalStorageService, deps: [{ token: AX_LOCALSTORAGE_SECRET_KEY }], target: i0.ɵɵFactoryTarget.Injectable }); }
246
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: AXLocalStorageService }); }
247
247
  }
248
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: AXLocalStorageService, decorators: [{
248
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: AXLocalStorageService, decorators: [{
249
249
  type: Injectable
250
250
  }], ctorParameters: () => [{ type: undefined, decorators: [{
251
251
  type: Inject,
@@ -277,10 +277,10 @@ class AXSessionStorageService {
277
277
  return sessionStorage.removeItem(key);
278
278
  }
279
279
  }
280
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: AXSessionStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
281
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: AXSessionStorageService }); }
280
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: AXSessionStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
281
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: AXSessionStorageService }); }
282
282
  }
283
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: AXSessionStorageService, decorators: [{
283
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: AXSessionStorageService, decorators: [{
284
284
  type: Injectable
285
285
  }] });
286
286