@acorex/core 21.1.0-next.2 → 22.0.0-next.0

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.
@@ -35,10 +35,10 @@ class AXIconResolverService {
35
35
  }
36
36
  throw new Error(`AXIconResolverService: Could not resolve icon "${icon}"`);
37
37
  }
38
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXIconResolverService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
39
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXIconResolverService, providedIn: 'root' }); }
38
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXIconResolverService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
39
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXIconResolverService, providedIn: 'root' }); }
40
40
  }
41
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXIconResolverService, decorators: [{
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXIconResolverService, decorators: [{
42
42
  type: Injectable,
43
43
  args: [{ providedIn: 'root' }]
44
44
  }] });
@@ -47,10 +47,10 @@ class AXImageService {
47
47
  canvas.getContext('2d').drawImage(image, 0, 0, width, height);
48
48
  return new Promise((resolve) => canvas.toBlob(resolve, options.type, options.quality));
49
49
  }
50
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXImageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
51
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXImageService }); }
50
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXImageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
51
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXImageService }); }
52
52
  }
53
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXImageService, decorators: [{
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXImageService, decorators: [{
54
54
  type: Injectable
55
55
  }] });
56
56
 
@@ -113,10 +113,10 @@ class AXLocaleProfileProviderService {
113
113
  has(localeCode) {
114
114
  return this.registry.has(localeCode);
115
115
  }
116
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXLocaleProfileProviderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
117
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXLocaleProfileProviderService, providedIn: 'root' }); }
116
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXLocaleProfileProviderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
117
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXLocaleProfileProviderService, providedIn: 'root' }); }
118
118
  }
119
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXLocaleProfileProviderService, decorators: [{
119
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXLocaleProfileProviderService, decorators: [{
120
120
  type: Injectable,
121
121
  args: [{
122
122
  providedIn: 'root',
@@ -133,13 +133,13 @@ const AX_LOCALE_CONFIG = new InjectionToken('AX_LOCALE_CONFIG', {
133
133
  });
134
134
 
135
135
  class AXLocaleModule {
136
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXLocaleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
137
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.9", ngImport: i0, type: AXLocaleModule, imports: [i1.AXFormatModule] }); }
138
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXLocaleModule, imports: [AXFormatModule.forChild({
136
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXLocaleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
137
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.8", ngImport: i0, type: AXLocaleModule, imports: [i1.AXFormatModule] }); }
138
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXLocaleModule, imports: [AXFormatModule.forChild({
139
139
  formatters: [],
140
140
  })] }); }
141
141
  }
142
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXLocaleModule, decorators: [{
142
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXLocaleModule, decorators: [{
143
143
  type: NgModule,
144
144
  args: [{
145
145
  imports: [
@@ -390,10 +390,12 @@ class AXLocaleService {
390
390
  this.config = inject(AX_LOCALE_CONFIG);
391
391
  this.document = inject(DOCUMENT);
392
392
  this.platformId = inject(PLATFORM_ID);
393
- this._activeProfile = signal(AXUSLocaleProfile, ...(ngDevMode ? [{ debugName: "_activeProfile" }] : /* istanbul ignore next */ []));
393
+ this._activeProfile = signal(AXUSLocaleProfile, /* @ts-ignore */
394
+ ...(ngDevMode ? [{ debugName: "_activeProfile" }] : /* istanbul ignore next */ []));
394
395
  this.activeProfile = this._activeProfile.asReadonly();
395
396
  /** Whether the active locale uses right-to-left layout. */
396
- this.isRtl = computed(() => !!this._activeProfile()?.i18nMeta?.rtl, ...(ngDevMode ? [{ debugName: "isRtl" }] : /* istanbul ignore next */ []));
397
+ this.isRtl = computed(() => !!this._activeProfile()?.i18nMeta?.rtl, /* @ts-ignore */
398
+ ...(ngDevMode ? [{ debugName: "isRtl" }] : /* istanbul ignore next */ []));
397
399
  this.profileChanged$ = toObservable(this._activeProfile);
398
400
  this.originalProfile = cloneDeep(AXUSLocaleProfile);
399
401
  const defaultCode = this.config.default;
@@ -440,10 +442,10 @@ class AXLocaleService {
440
442
  this.applyDocumentDirection(profile);
441
443
  }
442
444
  }
443
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXLocaleService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
444
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXLocaleService, providedIn: 'root' }); }
445
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXLocaleService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
446
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXLocaleService, providedIn: 'root' }); }
445
447
  }
446
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXLocaleService, decorators: [{
448
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXLocaleService, decorators: [{
447
449
  type: Injectable,
448
450
  args: [{
449
451
  providedIn: 'root',
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-core-locale.mjs","sources":["../../../../packages/core/locale/src/lib/formatters/currency.formatter.ts","../../../../packages/core/locale/src/lib/locale-profile-provider.service.ts","../../../../packages/core/locale/src/lib/locale.config.ts","../../../../packages/core/locale/src/lib/locale.module.ts","../../../../packages/core/locale/src/lib/profiles/en-AU.profile.ts","../../../../packages/core/locale/src/lib/profiles/en-US.profile.ts","../../../../packages/core/locale/src/lib/profiles/fa-IR.profile.ts","../../../../packages/core/locale/src/lib/locale.service.ts","../../../../packages/core/locale/src/acorex-core-locale.ts"],"sourcesContent":["import { 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","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.AXAULocaleProfile),\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@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 /**\n * Returns all available locale profiles by loading each registered provider.\n *\n * @returns Promise<AXLocaleProfile[]>\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 /**\n * Loads or returns from cache the locale profile associated with the given code.\n *\n * @param localeCode - The locale code to resolve.\n * @returns Promise<AXLocaleProfile | undefined>\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 /**\n * Clears caches and reloads all providers.\n *\n * @returns Promise<void>\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 /**\n * Indicates whether a loader has been registered for the given locale code.\n *\n * @param localeCode - The locale code to check.\n * @returns boolean - True if a loader exists.\n */\n\n public has(localeCode: string): boolean {\n return this.registry.has(localeCode);\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport interface AXLocaleConfig {\n default: string;\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","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","import { AXLocaleProfile } from '../locale.types';\n\nexport const AXAULocaleProfile: AXLocaleProfile = {\n localeInfo: {\n code: 'en-AU',\n language: 'en',\n region: 'AU',\n timezone: 'Australia/Sydney',\n },\n calendar: {\n system: 'gregorian',\n week: {\n startsOn: 1, // Monday\n weekends: [0, 6], // Sunday + Saturday\n },\n clock: {\n format24Hour: true,\n },\n },\n formats: {\n date: {\n short: 'DD/MM/YY',\n medium: 'DD/MM/YYYY',\n long: 'DD MMMM YYYY',\n full: 'dddd, DD 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: 'DD/MM/YY HH:mm',\n medium: 'DD/MM/YYYY HH:mm:ss',\n long: 'DD MMMM YYYY HH:mm:ss Z',\n full: 'dddd, DD MMMM YYYY HH:mm:ss ZZZZ',\n },\n numbers: {\n decimalPattern: '1,000.00',\n currency: {\n code: 'AUD',\n },\n },\n contacts: {\n phone: '04XX XXX XXX',\n postalCode: '0000',\n },\n },\n\n units: {\n temperature: 'celsius',\n distance: 'kilometers',\n weight: 'kilograms',\n volume: 'liters',\n speed: 'kmh',\n area: 'square-meters',\n },\n\n i18nMeta: {\n rtl: false,\n fallbackLocales: ['en-US'],\n supportedLanguages: ['en-AU'],\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: 'MM/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: 'MM/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: 'kmh',\n area: 'square-meters',\n },\n i18nMeta: {\n rtl: true,\n fallbackLocales: ['en-US'],\n supportedLanguages: ['fa-IR', 'en-US'],\n },\n};\n","import { DOCUMENT, isPlatformBrowser } from '@angular/common';\nimport { computed, Injectable, inject, PLATFORM_ID, signal } from '@angular/core';\nimport { AXLocaleProfileProviderService } from './locale-profile-provider.service';\nimport { AXLocaleProfile } from './locale.types';\n\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport { cloneDeep, merge, set } from 'lodash-es';\nimport { AX_LOCALE_CONFIG } from './locale.config';\nimport { AXAULocaleProfile } from './profiles/en-AU.profile';\nimport { AXUSLocaleProfile } from './profiles/en-US.profile';\nimport { AXIRLocaleProfile } from './profiles/fa-IR.profile';\n\nconst BUILTIN_LOCALE_PROFILES: Record<string, AXLocaleProfile> = {\n 'en-US': AXUSLocaleProfile,\n 'en-AU': AXAULocaleProfile,\n 'fa-IR': AXIRLocaleProfile,\n};\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AXLocaleService {\n private provider = inject(AXLocaleProfileProviderService);\n private config = inject(AX_LOCALE_CONFIG);\n private document = inject(DOCUMENT);\n private platformId = inject(PLATFORM_ID);\n\n private _activeProfile = signal<AXLocaleProfile>(AXUSLocaleProfile);\n public activeProfile = this._activeProfile.asReadonly();\n\n /** Whether the active locale uses right-to-left layout. */\n public readonly isRtl = computed(() => !!this._activeProfile()?.i18nMeta?.rtl);\n\n public profileChanged$ = toObservable(this._activeProfile);\n\n private originalProfile: AXLocaleProfile = cloneDeep(AXUSLocaleProfile);\n\n /**\n * Loads and activates a locale profile by its code (e.g., 'en-US', 'fa-IR').\n *\n * @param localeCode - Locale identifier to load.\n * @returns Promise<void> - Resolves when the profile is loaded and activated.\n */\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 this.applyDocumentDirection(profile);\n } else {\n console.warn(`[AXLocaleService] Locale not found: ${localeCode}`);\n }\n }\n\n private applyDocumentDirection(profile: AXLocaleProfile): void {\n if (!isPlatformBrowser(this.platformId)) {\n return;\n }\n const isRtl = !!profile.i18nMeta?.rtl;\n this.document.documentElement.setAttribute('dir', isRtl ? 'rtl' : 'ltr');\n this.document.documentElement.setAttribute('lang', profile.localeInfo.language);\n }\n\n /**\n *\n */\n constructor() {\n const defaultCode = this.config.default;\n const builtinProfile = BUILTIN_LOCALE_PROFILES[defaultCode];\n\n if (builtinProfile) {\n this.originalProfile = cloneDeep(builtinProfile);\n this._activeProfile.set(cloneDeep(builtinProfile));\n this.applyDocumentDirection(builtinProfile);\n void this.provider.getByLocale(defaultCode);\n return;\n }\n\n this.applyDocumentDirection(this._activeProfile());\n void this.setProfile(defaultCode);\n }\n\n /**\n * Applies overrides to the active profile using a deep-merge object.\n *\n * @param profile - Partial profile object whose properties override the active profile.\n * @returns void\n */\n\n public apply(profile: Partial<AXLocaleProfile>): void;\n\n /**\n * Applies a single value override at the given path (dot notation).\n *\n * @param path - Dot-notated path (e.g., 'formats.date.short').\n * @param value - The value to set at the path.\n * @returns void\n */\n\n public apply(path: string, value: any): void;\n\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 * Resets the active profile to its original loaded state (clears overrides).\n *\n * @returns void\n */\n\n public reset(): void {\n if (this.originalProfile) {\n const profile = cloneDeep(this.originalProfile);\n this._activeProfile.set(profile);\n this.applyDocumentDirection(profile);\n }\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-locale.mjs","sources":["../../../../packages/core/locale/src/lib/formatters/currency.formatter.ts","../../../../packages/core/locale/src/lib/locale-profile-provider.service.ts","../../../../packages/core/locale/src/lib/locale.config.ts","../../../../packages/core/locale/src/lib/locale.module.ts","../../../../packages/core/locale/src/lib/profiles/en-AU.profile.ts","../../../../packages/core/locale/src/lib/profiles/en-US.profile.ts","../../../../packages/core/locale/src/lib/profiles/fa-IR.profile.ts","../../../../packages/core/locale/src/lib/locale.service.ts","../../../../packages/core/locale/src/acorex-core-locale.ts"],"sourcesContent":["import { 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","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.AXAULocaleProfile),\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@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 /**\n * Returns all available locale profiles by loading each registered provider.\n *\n * @returns Promise<AXLocaleProfile[]>\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 /**\n * Loads or returns from cache the locale profile associated with the given code.\n *\n * @param localeCode - The locale code to resolve.\n * @returns Promise<AXLocaleProfile | undefined>\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 /**\n * Clears caches and reloads all providers.\n *\n * @returns Promise<void>\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 /**\n * Indicates whether a loader has been registered for the given locale code.\n *\n * @param localeCode - The locale code to check.\n * @returns boolean - True if a loader exists.\n */\n\n public has(localeCode: string): boolean {\n return this.registry.has(localeCode);\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport interface AXLocaleConfig {\n default: string;\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","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","import { AXLocaleProfile } from '../locale.types';\n\nexport const AXAULocaleProfile: AXLocaleProfile = {\n localeInfo: {\n code: 'en-AU',\n language: 'en',\n region: 'AU',\n timezone: 'Australia/Sydney',\n },\n calendar: {\n system: 'gregorian',\n week: {\n startsOn: 1, // Monday\n weekends: [0, 6], // Sunday + Saturday\n },\n clock: {\n format24Hour: true,\n },\n },\n formats: {\n date: {\n short: 'DD/MM/YY',\n medium: 'DD/MM/YYYY',\n long: 'DD MMMM YYYY',\n full: 'dddd, DD 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: 'DD/MM/YY HH:mm',\n medium: 'DD/MM/YYYY HH:mm:ss',\n long: 'DD MMMM YYYY HH:mm:ss Z',\n full: 'dddd, DD MMMM YYYY HH:mm:ss ZZZZ',\n },\n numbers: {\n decimalPattern: '1,000.00',\n currency: {\n code: 'AUD',\n },\n },\n contacts: {\n phone: '04XX XXX XXX',\n postalCode: '0000',\n },\n },\n\n units: {\n temperature: 'celsius',\n distance: 'kilometers',\n weight: 'kilograms',\n volume: 'liters',\n speed: 'kmh',\n area: 'square-meters',\n },\n\n i18nMeta: {\n rtl: false,\n fallbackLocales: ['en-US'],\n supportedLanguages: ['en-AU'],\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: 'MM/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: 'MM/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: 'kmh',\n area: 'square-meters',\n },\n i18nMeta: {\n rtl: true,\n fallbackLocales: ['en-US'],\n supportedLanguages: ['fa-IR', 'en-US'],\n },\n};\n","import { DOCUMENT, isPlatformBrowser } from '@angular/common';\nimport { computed, Injectable, inject, PLATFORM_ID, signal } from '@angular/core';\nimport { AXLocaleProfileProviderService } from './locale-profile-provider.service';\nimport { AXLocaleProfile } from './locale.types';\n\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport { cloneDeep, merge, set } from 'lodash-es';\nimport { AX_LOCALE_CONFIG } from './locale.config';\nimport { AXAULocaleProfile } from './profiles/en-AU.profile';\nimport { AXUSLocaleProfile } from './profiles/en-US.profile';\nimport { AXIRLocaleProfile } from './profiles/fa-IR.profile';\n\nconst BUILTIN_LOCALE_PROFILES: Record<string, AXLocaleProfile> = {\n 'en-US': AXUSLocaleProfile,\n 'en-AU': AXAULocaleProfile,\n 'fa-IR': AXIRLocaleProfile,\n};\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AXLocaleService {\n private provider = inject(AXLocaleProfileProviderService);\n private config = inject(AX_LOCALE_CONFIG);\n private document = inject(DOCUMENT);\n private platformId = inject(PLATFORM_ID);\n\n private _activeProfile = signal<AXLocaleProfile>(AXUSLocaleProfile);\n public activeProfile = this._activeProfile.asReadonly();\n\n /** Whether the active locale uses right-to-left layout. */\n public readonly isRtl = computed(() => !!this._activeProfile()?.i18nMeta?.rtl);\n\n public profileChanged$ = toObservable(this._activeProfile);\n\n private originalProfile: AXLocaleProfile = cloneDeep(AXUSLocaleProfile);\n\n /**\n * Loads and activates a locale profile by its code (e.g., 'en-US', 'fa-IR').\n *\n * @param localeCode - Locale identifier to load.\n * @returns Promise<void> - Resolves when the profile is loaded and activated.\n */\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 this.applyDocumentDirection(profile);\n } else {\n console.warn(`[AXLocaleService] Locale not found: ${localeCode}`);\n }\n }\n\n private applyDocumentDirection(profile: AXLocaleProfile): void {\n if (!isPlatformBrowser(this.platformId)) {\n return;\n }\n const isRtl = !!profile.i18nMeta?.rtl;\n this.document.documentElement.setAttribute('dir', isRtl ? 'rtl' : 'ltr');\n this.document.documentElement.setAttribute('lang', profile.localeInfo.language);\n }\n\n /**\n *\n */\n constructor() {\n const defaultCode = this.config.default;\n const builtinProfile = BUILTIN_LOCALE_PROFILES[defaultCode];\n\n if (builtinProfile) {\n this.originalProfile = cloneDeep(builtinProfile);\n this._activeProfile.set(cloneDeep(builtinProfile));\n this.applyDocumentDirection(builtinProfile);\n void this.provider.getByLocale(defaultCode);\n return;\n }\n\n this.applyDocumentDirection(this._activeProfile());\n void this.setProfile(defaultCode);\n }\n\n /**\n * Applies overrides to the active profile using a deep-merge object.\n *\n * @param profile - Partial profile object whose properties override the active profile.\n * @returns void\n */\n\n public apply(profile: Partial<AXLocaleProfile>): void;\n\n /**\n * Applies a single value override at the given path (dot notation).\n *\n * @param path - Dot-notated path (e.g., 'formats.date.short').\n * @param value - The value to set at the path.\n * @returns void\n */\n\n public apply(path: string, value: any): void;\n\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 * Resets the active profile to its original loaded state (clears overrides).\n *\n * @returns void\n */\n\n public reset(): void {\n if (this.originalProfile) {\n const profile = cloneDeep(this.originalProfile);\n this._activeProfile.set(profile);\n this.applyDocumentDirection(profile);\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -143,7 +143,8 @@ class AXUploadTask {
143
143
  class AXNetworkService {
144
144
  constructor() {
145
145
  this.http = inject(HttpClient);
146
- this._status = signal(true, ...(ngDevMode ? [{ debugName: "_status" }] : /* istanbul ignore next */ []));
146
+ this._status = signal(true, /* @ts-ignore */
147
+ ...(ngDevMode ? [{ debugName: "_status" }] : /* istanbul ignore next */ []));
147
148
  this.status = this._status.asReadonly();
148
149
  if (isBrowser()) {
149
150
  // Only subscribe to these events if on the browser platform
@@ -210,10 +211,10 @@ class AXNetworkService {
210
211
  const events = this.http.request(request);
211
212
  return new AXDownloadTask(events);
212
213
  }
213
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXNetworkService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
214
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXNetworkService, providedIn: 'root' }); }
214
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXNetworkService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
215
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXNetworkService, providedIn: 'root' }); }
215
216
  }
216
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXNetworkService, decorators: [{
217
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXNetworkService, decorators: [{
217
218
  type: Injectable,
218
219
  args: [{ providedIn: 'root' }]
219
220
  }], ctorParameters: () => [] });
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-core-network.mjs","sources":["../../../../packages/core/network/src/lib/network.types.ts","../../../../packages/core/network/src/lib/download-task.ts","../../../../packages/core/network/src/lib/upload-task.ts","../../../../packages/core/network/src/lib/network.service.ts","../../../../packages/core/network/src/acorex-core-network.ts"],"sourcesContent":["export enum AXUploadStatus {\n Uploading = 'Uploading...',\n UploadComplete = 'Upload complete',\n StartingUpload = 'Starting upload',\n UploadFailed = 'Upload failed',\n UploadCanceled = 'Upload Canceled',\n}\n\nexport type AXUploadResponse<T> = {\n progress: number;\n bytesTransferred: number;\n totalBytes: number;\n status: AXUploadStatus;\n result?: T;\n message?: string;\n};\n\nexport enum AXDownloadStatus {\n Downloading = 'Downloading...',\n DownloadComplete = 'Download complete',\n StartingDownload = 'Starting download',\n DownloadFailed = 'Download failed',\n}\n\nexport type AXDownloadResponse = {\n progress: number;\n bytesReceived: number;\n totalBytes: number;\n status: AXDownloadStatus;\n data?: Blob; // or any appropriate type based on your specific use case\n};\n","import { HttpEvent, HttpEventType } from '@angular/common/http';\nimport { Observable, Subject } from 'rxjs';\nimport { map, takeUntil } from 'rxjs/operators';\nimport { AXDownloadResponse, AXDownloadStatus } from './network.types'; // Ensure correct import path\n\nexport class AXDownloadTask {\n private cancelSignal = new Subject<void>();\n\n constructor(private observable: Observable<HttpEvent<any>>) {}\n\n get events(): Observable<AXDownloadResponse> {\n return this.observable.pipe(\n takeUntil(this.cancelSignal),\n map((event) => this.handleEvent(event)),\n );\n }\n\n private handleEvent(event: HttpEvent<any>): AXDownloadResponse {\n switch (event.type) {\n case HttpEventType.DownloadProgress: {\n const percentDone = Math.round((100 * event.loaded) / (event.total ?? event.loaded));\n return {\n progress: percentDone,\n bytesReceived: event.loaded,\n totalBytes: event.total ?? 0,\n status: AXDownloadStatus.Downloading,\n };\n }\n\n case HttpEventType.Response:\n return {\n progress: 100,\n bytesReceived: event.body.size,\n totalBytes: event.body.size,\n status: AXDownloadStatus.DownloadComplete,\n data: event.body,\n };\n\n default:\n return {\n progress: 0,\n bytesReceived: 0,\n totalBytes: 0,\n status: AXDownloadStatus.StartingDownload,\n };\n }\n }\n\n cancel() {\n this.cancelSignal.next();\n this.cancelSignal.complete();\n }\n}\n","import { HttpClient, HttpEvent, HttpEventType, HttpRequest } from '@angular/common/http';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { AXUploadResponse, AXUploadStatus } from './network.types'; // Ensure correct import path\n\nexport class AXUploadTask<T> {\n private cancelSignal = new Subject<void>();\n public events = new BehaviorSubject<AXUploadResponse<T>>({\n progress: 0,\n bytesTransferred: 0,\n totalBytes: this.totalFileSize,\n status: AXUploadStatus.StartingUpload,\n });\n\n constructor(\n private http: HttpClient,\n private request: HttpRequest<T>,\n private totalFileSize: number,\n ) {}\n\n private handleEvent(event: HttpEvent<any>, failedMessage?: string): AXUploadResponse<T> {\n switch (event.type) {\n case HttpEventType.Sent:\n case HttpEventType.ResponseHeader:\n return {\n progress: 0,\n bytesTransferred: 0,\n totalBytes: this.totalFileSize,\n status: AXUploadStatus.StartingUpload,\n };\n\n case HttpEventType.UploadProgress:\n case HttpEventType.DownloadProgress: {\n const percentDone = Math.round((100 * event.loaded) / (this.totalFileSize || event.total));\n\n return {\n progress: percentDone,\n bytesTransferred: event.loaded,\n totalBytes: this.totalFileSize || event.total,\n status: AXUploadStatus.Uploading,\n };\n }\n\n case HttpEventType.Response:\n return {\n progress: 100,\n bytesTransferred: this.totalFileSize,\n totalBytes: this.totalFileSize,\n status: AXUploadStatus.UploadComplete,\n result: event.body,\n };\n\n case HttpEventType.User:\n return {\n progress: 0,\n bytesTransferred: this.totalFileSize,\n totalBytes: this.totalFileSize,\n status: AXUploadStatus.UploadCanceled,\n };\n default:\n return {\n progress: 0,\n bytesTransferred: 0,\n totalBytes: this.totalFileSize,\n status: AXUploadStatus.UploadFailed,\n message: failedMessage,\n };\n }\n }\n\n cancel() {\n this.cancelSignal.next();\n this.cancelSignal.complete();\n }\n\n start() {\n this.http\n .request(this.request)\n .pipe(takeUntil(this.cancelSignal))\n .subscribe({\n error: (error) => {\n this.events.next(this.handleEvent({ type: -1 } as any, error.statusText));\n },\n next: (event) => {\n this.events.next(this.handleEvent(event));\n },\n });\n }\n}\n","import { isBrowser } from '@acorex/core/platform';\nimport { HttpClient, HttpRequest } from '@angular/common/http';\nimport { Injectable, inject, signal } from '@angular/core';\nimport { fromEvent, map, merge, startWith } from 'rxjs';\nimport { AXDownloadTask } from './download-task';\nimport { AXUploadTask } from './upload-task';\n\n@Injectable({ providedIn: 'root' })\nexport class AXNetworkService {\n private http = inject(HttpClient);\n\n private _status = signal<boolean>(true);\n\n public readonly status = this._status.asReadonly();\n\n constructor() {\n if (isBrowser()) {\n // Only subscribe to these events if on the browser platform\n const onlineEvent = fromEvent(window, 'online').pipe(map(() => true));\n const offlineEvent = fromEvent(window, 'offline').pipe(map(() => false));\n\n merge(onlineEvent, offlineEvent)\n .pipe(startWith(navigator.onLine))\n .subscribe((c) => {\n this._status.set(c);\n });\n }\n }\n\n // Overload signatures\n upload<T>(url: string, formData: FormData): AXUploadTask<T>;\n upload<T>(request: HttpRequest<any>): AXUploadTask<T>;\n\n // Unified method handling both types of inputs\n upload<T>(arg1: string | HttpRequest<any>, arg2?: FormData): AXUploadTask<T> {\n let request: HttpRequest<any>;\n let totalFilesSize = 0;\n\n if (typeof arg1 === 'string' && arg2 instanceof FormData) {\n // Calculate total file size\n arg2.forEach((value) => {\n if (value instanceof File) {\n totalFilesSize += value.size;\n }\n });\n request = new HttpRequest('POST', arg1, arg2, {\n reportProgress: true,\n responseType: 'json',\n });\n } else if (arg1 instanceof HttpRequest) {\n if (arg1.body instanceof FormData) {\n // Calculate total file size\n arg1.body.forEach((value) => {\n if (value instanceof File) {\n totalFilesSize += value.size;\n }\n });\n }\n request = arg1.clone({\n reportProgress: true,\n responseType: arg1.responseType || 'json',\n });\n } else {\n throw new Error('Invalid arguments for upload method.');\n }\n\n return new AXUploadTask<T>(this.http, request, totalFilesSize);\n }\n\n // Overload signatures\n download(url: string): AXDownloadTask;\n download(request: HttpRequest<Blob>): AXDownloadTask;\n\n // Unified method handling both types of inputs\n download(arg: string | HttpRequest<Blob>): AXDownloadTask {\n let request: HttpRequest<Blob>;\n\n if (typeof arg === 'string') {\n request = new HttpRequest('GET', arg, {\n reportProgress: true,\n responseType: 'blob',\n });\n } else {\n request = new HttpRequest(arg.method, arg.url, arg.body, {\n ...arg,\n reportProgress: true,\n responseType: 'blob',\n });\n }\n\n const events = this.http.request<Blob>(request);\n return new AXDownloadTask(events);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["map"],"mappings":"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"}
1
+ {"version":3,"file":"acorex-core-network.mjs","sources":["../../../../packages/core/network/src/lib/network.types.ts","../../../../packages/core/network/src/lib/download-task.ts","../../../../packages/core/network/src/lib/upload-task.ts","../../../../packages/core/network/src/lib/network.service.ts","../../../../packages/core/network/src/acorex-core-network.ts"],"sourcesContent":["export enum AXUploadStatus {\n Uploading = 'Uploading...',\n UploadComplete = 'Upload complete',\n StartingUpload = 'Starting upload',\n UploadFailed = 'Upload failed',\n UploadCanceled = 'Upload Canceled',\n}\n\nexport type AXUploadResponse<T> = {\n progress: number;\n bytesTransferred: number;\n totalBytes: number;\n status: AXUploadStatus;\n result?: T;\n message?: string;\n};\n\nexport enum AXDownloadStatus {\n Downloading = 'Downloading...',\n DownloadComplete = 'Download complete',\n StartingDownload = 'Starting download',\n DownloadFailed = 'Download failed',\n}\n\nexport type AXDownloadResponse = {\n progress: number;\n bytesReceived: number;\n totalBytes: number;\n status: AXDownloadStatus;\n data?: Blob; // or any appropriate type based on your specific use case\n};\n","import { HttpEvent, HttpEventType } from '@angular/common/http';\nimport { Observable, Subject } from 'rxjs';\nimport { map, takeUntil } from 'rxjs/operators';\nimport { AXDownloadResponse, AXDownloadStatus } from './network.types'; // Ensure correct import path\n\nexport class AXDownloadTask {\n private cancelSignal = new Subject<void>();\n\n constructor(private observable: Observable<HttpEvent<any>>) {}\n\n get events(): Observable<AXDownloadResponse> {\n return this.observable.pipe(\n takeUntil(this.cancelSignal),\n map((event) => this.handleEvent(event)),\n );\n }\n\n private handleEvent(event: HttpEvent<any>): AXDownloadResponse {\n switch (event.type) {\n case HttpEventType.DownloadProgress: {\n const percentDone = Math.round((100 * event.loaded) / (event.total ?? event.loaded));\n return {\n progress: percentDone,\n bytesReceived: event.loaded,\n totalBytes: event.total ?? 0,\n status: AXDownloadStatus.Downloading,\n };\n }\n\n case HttpEventType.Response:\n return {\n progress: 100,\n bytesReceived: event.body.size,\n totalBytes: event.body.size,\n status: AXDownloadStatus.DownloadComplete,\n data: event.body,\n };\n\n default:\n return {\n progress: 0,\n bytesReceived: 0,\n totalBytes: 0,\n status: AXDownloadStatus.StartingDownload,\n };\n }\n }\n\n cancel() {\n this.cancelSignal.next();\n this.cancelSignal.complete();\n }\n}\n","import { HttpClient, HttpEvent, HttpEventType, HttpRequest } from '@angular/common/http';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { AXUploadResponse, AXUploadStatus } from './network.types'; // Ensure correct import path\n\nexport class AXUploadTask<T> {\n private cancelSignal = new Subject<void>();\n public events = new BehaviorSubject<AXUploadResponse<T>>({\n progress: 0,\n bytesTransferred: 0,\n totalBytes: this.totalFileSize,\n status: AXUploadStatus.StartingUpload,\n });\n\n constructor(\n private http: HttpClient,\n private request: HttpRequest<T>,\n private totalFileSize: number,\n ) {}\n\n private handleEvent(event: HttpEvent<any>, failedMessage?: string): AXUploadResponse<T> {\n switch (event.type) {\n case HttpEventType.Sent:\n case HttpEventType.ResponseHeader:\n return {\n progress: 0,\n bytesTransferred: 0,\n totalBytes: this.totalFileSize,\n status: AXUploadStatus.StartingUpload,\n };\n\n case HttpEventType.UploadProgress:\n case HttpEventType.DownloadProgress: {\n const percentDone = Math.round((100 * event.loaded) / (this.totalFileSize || event.total));\n\n return {\n progress: percentDone,\n bytesTransferred: event.loaded,\n totalBytes: this.totalFileSize || event.total,\n status: AXUploadStatus.Uploading,\n };\n }\n\n case HttpEventType.Response:\n return {\n progress: 100,\n bytesTransferred: this.totalFileSize,\n totalBytes: this.totalFileSize,\n status: AXUploadStatus.UploadComplete,\n result: event.body,\n };\n\n case HttpEventType.User:\n return {\n progress: 0,\n bytesTransferred: this.totalFileSize,\n totalBytes: this.totalFileSize,\n status: AXUploadStatus.UploadCanceled,\n };\n default:\n return {\n progress: 0,\n bytesTransferred: 0,\n totalBytes: this.totalFileSize,\n status: AXUploadStatus.UploadFailed,\n message: failedMessage,\n };\n }\n }\n\n cancel() {\n this.cancelSignal.next();\n this.cancelSignal.complete();\n }\n\n start() {\n this.http\n .request(this.request)\n .pipe(takeUntil(this.cancelSignal))\n .subscribe({\n error: (error) => {\n this.events.next(this.handleEvent({ type: -1 } as any, error.statusText));\n },\n next: (event) => {\n this.events.next(this.handleEvent(event));\n },\n });\n }\n}\n","import { isBrowser } from '@acorex/core/platform';\nimport { HttpClient, HttpRequest } from '@angular/common/http';\nimport { Injectable, inject, signal } from '@angular/core';\nimport { fromEvent, map, merge, startWith } from 'rxjs';\nimport { AXDownloadTask } from './download-task';\nimport { AXUploadTask } from './upload-task';\n\n@Injectable({ providedIn: 'root' })\nexport class AXNetworkService {\n private http = inject(HttpClient);\n\n private _status = signal<boolean>(true);\n\n public readonly status = this._status.asReadonly();\n\n constructor() {\n if (isBrowser()) {\n // Only subscribe to these events if on the browser platform\n const onlineEvent = fromEvent(window, 'online').pipe(map(() => true));\n const offlineEvent = fromEvent(window, 'offline').pipe(map(() => false));\n\n merge(onlineEvent, offlineEvent)\n .pipe(startWith(navigator.onLine))\n .subscribe((c) => {\n this._status.set(c);\n });\n }\n }\n\n // Overload signatures\n upload<T>(url: string, formData: FormData): AXUploadTask<T>;\n upload<T>(request: HttpRequest<any>): AXUploadTask<T>;\n\n // Unified method handling both types of inputs\n upload<T>(arg1: string | HttpRequest<any>, arg2?: FormData): AXUploadTask<T> {\n let request: HttpRequest<any>;\n let totalFilesSize = 0;\n\n if (typeof arg1 === 'string' && arg2 instanceof FormData) {\n // Calculate total file size\n arg2.forEach((value) => {\n if (value instanceof File) {\n totalFilesSize += value.size;\n }\n });\n request = new HttpRequest('POST', arg1, arg2, {\n reportProgress: true,\n responseType: 'json',\n });\n } else if (arg1 instanceof HttpRequest) {\n if (arg1.body instanceof FormData) {\n // Calculate total file size\n arg1.body.forEach((value) => {\n if (value instanceof File) {\n totalFilesSize += value.size;\n }\n });\n }\n request = arg1.clone({\n reportProgress: true,\n responseType: arg1.responseType || 'json',\n });\n } else {\n throw new Error('Invalid arguments for upload method.');\n }\n\n return new AXUploadTask<T>(this.http, request, totalFilesSize);\n }\n\n // Overload signatures\n download(url: string): AXDownloadTask;\n download(request: HttpRequest<Blob>): AXDownloadTask;\n\n // Unified method handling both types of inputs\n download(arg: string | HttpRequest<Blob>): AXDownloadTask {\n let request: HttpRequest<Blob>;\n\n if (typeof arg === 'string') {\n request = new HttpRequest('GET', arg, {\n reportProgress: true,\n responseType: 'blob',\n });\n } else {\n request = new HttpRequest(arg.method, arg.url, arg.body, {\n ...arg,\n reportProgress: true,\n responseType: 'blob',\n });\n }\n\n const events = this.http.request<Blob>(request);\n return new AXDownloadTask(events);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["map"],"mappings":"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"}
@@ -30,10 +30,10 @@ class AXSafePipe {
30
30
  throw new Error(`Invalid safe type specified: ${type}`);
31
31
  }
32
32
  }
33
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXSafePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
34
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.9", ngImport: i0, type: AXSafePipe, isStandalone: true, name: "safe" }); }
33
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXSafePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
34
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.0.8", ngImport: i0, type: AXSafePipe, isStandalone: true, name: "safe" }); }
35
35
  }
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXSafePipe, decorators: [{
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXSafePipe, decorators: [{
37
37
  type: Pipe,
38
38
  args: [{
39
39
  name: 'safe',
@@ -240,7 +240,8 @@ class AXPlatform {
240
240
  this.click = new Subject();
241
241
  this.scroll = new Subject();
242
242
  this.themeMode$ = new BehaviorSubject('system');
243
- this.themeMode = signal('system', ...(ngDevMode ? [{ debugName: "themeMode" }] : /* istanbul ignore next */ []));
243
+ this.themeMode = signal('system', /* @ts-ignore */
244
+ ...(ngDevMode ? [{ debugName: "themeMode" }] : /* istanbul ignore next */ []));
244
245
  this.document = inject(DOCUMENT);
245
246
  this.platformID = inject(PLATFORM_ID);
246
247
  if (isPlatformBrowser(this.platformID)) {
@@ -316,10 +317,10 @@ class AXPlatform {
316
317
  });
317
318
  }
318
319
  }
319
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPlatform, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
320
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPlatform, providedIn: 'root' }); }
320
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXPlatform, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
321
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXPlatform, providedIn: 'root' }); }
321
322
  }
322
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPlatform, decorators: [{
323
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXPlatform, decorators: [{
323
324
  type: Injectable,
324
325
  args: [{
325
326
  providedIn: 'root',
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-core-platform.mjs","sources":["../../../../packages/core/platform/src/lib/platform.service.ts","../../../../packages/core/platform/src/acorex-core-platform.ts"],"sourcesContent":["import { isPlatformBrowser } from '@angular/common';\nimport { DOCUMENT, inject, Injectable, PLATFORM_ID, signal } from '@angular/core';\nimport { BehaviorSubject, fromEvent, Subject } from 'rxjs';\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators';\n\nexport type AXThemeMode = 'light' | 'dark' | 'system' | 'system-dark' | 'system-light';\nexport type AXPlatforms = 'Android' | 'Desktop' | 'iOS' | 'Mobile';\nexport type AXBrowsers = 'Chrome' | 'Safari' | 'Edge' | 'Firefox' | 'Opera' | 'MSIE';\nexport type AXTechnologies = 'PWA' | 'Hybrid' | 'Electron';\n\nexport type AXScreenSizes = 'SM' | 'MD' | 'LG' | 'XL' | '2XL' | '3XL' | '4XL' | '5XL';\n\nexport const isChrome = (win: Window): boolean => testUserAgent(win, /Chrome/i);\n\nexport const isFirefox = (win: Window): boolean => testUserAgent(win, /Firefox/i);\n\nexport const isEdge = (win: Window): boolean => testUserAgent(win, /Edge/i);\n\nexport const isSafari = (win: Window): boolean => testUserAgent(win, /Safari/i);\n\nexport const isOpera = (win: Window): boolean => testUserAgent(win, /Opera/i) || testUserAgent(win, /OPR/i);\n\nexport const isMSIE = (win: Window): boolean => testUserAgent(win, /MSIE/i) || testUserAgent(win, /Trident/i);\n\nexport const isMobileWeb = (win: Window): boolean => isMobile(win) && !isHybrid(win);\n\nexport const isIpad = (win: Window) => {\n // iOS 12 and below\n if (testUserAgent(win, /iPad/i)) {\n return true;\n }\n\n // iOS 13+\n if (testUserAgent(win, /Macintosh/i) && isMobile(win)) {\n return true;\n }\n\n return false;\n};\n\nexport const isIphone = (win: Window) => testUserAgent(win, /iPhone/i);\n\nexport const isIOS = (win: Window) => testUserAgent(win, /iPhone|iPod/i) || isIpad(win);\n\nexport const isAndroid = (win: Window) => testUserAgent(win, /android|sink/i);\n\nexport const isAndroidTablet = (win: Window) => {\n return isAndroid(win) && !testUserAgent(win, /mobile/i);\n};\n\nexport const isPhablet = (win: Window) => {\n const width = win.innerWidth;\n const height = win.innerHeight;\n const smallest = Math.min(width, height);\n const largest = Math.max(width, height);\n\n return smallest > 390 && smallest < 520 && largest > 620 && largest < 800;\n};\n\nexport const isTablet = (win: Window) => {\n const width = win.innerWidth;\n const height = win.innerHeight;\n const smallest = Math.min(width, height);\n const largest = Math.max(width, height);\n\n return isIpad(win) || isAndroidTablet(win) || (smallest > 460 && smallest < 820 && largest > 780 && largest < 1400);\n};\n\nexport const isMobile = (win: Window) => matchMedia(win, '(any-pointer:coarse)');\nexport const isTouch = (win: Window) => matchMedia(win, '(any-pointer:coarse)');\n\nexport const isDesktop = (win: Window) => !isMobile(win);\n\nexport const isHybrid = (win: Window) => isCordova(win) || isCapacitorNative(win);\n\nexport const isCordova = (win: any): boolean => !!(win['cordova'] || win['phonegap'] || win['PhoneGap']);\n\nexport const isCapacitorNative = (win: any): boolean => {\n const capacitor = win['Capacitor'];\n return !!(capacitor && capacitor.isNative);\n};\n\nexport const isElectron = (win: Window): boolean => testUserAgent(win, /electron/i);\n\nexport const isPWA = (win: Window): boolean =>\n !!(win.matchMedia('(display-mode: standalone)').matches || (win.navigator as any).standalone);\n\nexport const testUserAgent = (win: Window, expr: RegExp) => expr.test(win.navigator.userAgent);\n\nexport const isBrowser = new Function('try {return this===window;}catch(e){ return false;}');\nexport const isServer = new Function('try {return this===global;}catch(e){return false;}');\n\nexport const matchMedia = (win: Window, query: string): boolean => {\n return win.matchMedia(query).matches;\n};\n\nexport const isSMScreen = (win: Window) => matchMedia(win, '(max-width: 640px)');\nexport const isMDScreen = (win: Window) => matchMedia(win, '(max-width: 768px)');\nexport const isLGScreen = (win: Window) => matchMedia(win, '(max-width: 1024px)');\nexport const isXLScreen = (win: Window) => matchMedia(win, '(max-width: 1280px)');\nexport const is2XLScreen = (win: Window) => matchMedia(win, '(max-width: 1536px)');\nexport const is3XLScreen = (win: Window) => matchMedia(win, '(max-width: 1920px)');\nexport const is4XLScreen = (win: Window) => matchMedia(win, '(max-width: 2560px)');\n\nexport const PLATFORMS_MAP: any = {\n Android: isAndroid,\n iOS: isIOS,\n Desktop: isDesktop,\n Mobile: isMobile,\n Touch: isTouch,\n Chrome: isChrome,\n Firefox: isFirefox,\n Safari: isSafari,\n Edge: isEdge,\n Opera: isOpera,\n Hybrid: isHybrid,\n PWA: isPWA,\n Electron: isElectron,\n SM: isSMScreen,\n MD: isMDScreen,\n LG: isLGScreen,\n XL: isXLScreen,\n '2XL': is2XLScreen,\n '3XL': is3XLScreen,\n '4XL': is4XLScreen,\n};\n\nexport class AXPlatformEvent<T extends Event = Event> {\n nativeEvent!: T;\n source!: AXPlatform;\n data?: any;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AXPlatform {\n resize: Subject<AXPlatformEvent> = new Subject<AXPlatformEvent>();\n directionChange: Subject<AXPlatformEvent> = new Subject<AXPlatformEvent>();\n click: Subject<AXPlatformEvent> = new Subject<AXPlatformEvent>();\n scroll: Subject<AXPlatformEvent> = new Subject<AXPlatformEvent>();\n themeMode$: BehaviorSubject<AXThemeMode> = new BehaviorSubject<AXThemeMode>('system');\n themeMode = signal<AXThemeMode>('system');\n private document = inject(DOCUMENT);\n private platformID = inject(PLATFORM_ID);\n\n isDark(): boolean {\n if (isPlatformBrowser(this.platformID)) {\n return this.document.documentElement.classList.contains('ax-dark');\n }\n return false;\n }\n\n isRtl(): boolean {\n if (isPlatformBrowser(this.platformID)) {\n return (\n this.document.dir == 'rtl' || this.document.body.dir == 'rtl' || this.document.body.style.direction == 'rtl'\n );\n }\n return false;\n }\n\n isLandscape(): boolean {\n if (isPlatformBrowser(this.platformID)) {\n return window.innerHeight < window.innerWidth;\n }\n return true;\n }\n\n isPortrate(): boolean {\n return !this.isLandscape();\n }\n\n /**\n * Checks whether the current environment matches the given platform/browser/technology/screen size keyword.\n *\n * @param name - One of AXPlatforms | AXBrowsers | AXTechnologies | AXScreenSizes.\n */\n\n is(name: AXPlatforms | AXBrowsers | AXTechnologies | AXScreenSizes): boolean {\n if (isPlatformBrowser(this.platformID)) {\n return PLATFORMS_MAP[name](window) || false;\n } else {\n return false;\n }\n }\n\n get screenSize(): AXScreenSizes {\n return (['SM', 'MD', 'LG', 'XL', '2XL', '3XL', '4XL'].find((name) => PLATFORMS_MAP[name](window) == true) ||\n '5XL') as AXScreenSizes;\n }\n\n /**\n * Switches to light mode and persists it.\n * @returns 'light'\n */\n\n switchLightMode() {\n if (isPlatformBrowser(this.platformID)) {\n const _html = this.document.getElementsByTagName('html')[0];\n _html.classList.remove('ax-dark');\n }\n this.#setSystemTheme('light');\n return 'light';\n }\n\n /**\n * Switches to dark mode and persists it.\n * @returns 'dark'\n */\n\n switchDarkMode() {\n if (isPlatformBrowser(this.platformID)) {\n const _html = this.document.getElementsByTagName('html')[0];\n _html.classList.add('ax-dark');\n }\n this.#setSystemTheme('dark');\n return 'dark';\n }\n\n switchSystemMode() {\n if (isPlatformBrowser(this.platformID)) {\n if (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) {\n const _html = this.document.getElementsByTagName('html')[0];\n _html.classList.add('ax-dark');\n this.#setSystemTheme('system-dark');\n } else {\n const _html = this.document.getElementsByTagName('html')[0];\n _html.classList.remove('ax-dark');\n this.#setSystemTheme('system-light');\n }\n }\n }\n\n #setSystemTheme(themeMode: AXThemeMode) {\n this.themeMode$.next(themeMode);\n localStorage.setItem('AX_THEME_MODE', themeMode);\n this.themeMode.set(themeMode);\n }\n\n /**\n * Reads persisted theme preference and applies it (returns the effective mode).\n * @returns AXThemeMode\n */\n\n autoDetectThemeMode() {\n const mode = localStorage.getItem('AX_THEME_MODE') || 'system';\n switch (mode) {\n case 'light':\n this.switchLightMode();\n return 'light';\n\n case 'dark':\n this.switchDarkMode();\n return 'dark';\n\n default:\n this.switchSystemMode();\n return 'system';\n }\n }\n\n /**\n * Sets theme mode explicitly and persists it.\n * @param mode - Desired theme mode.\n */\n\n setThemeMode(mode: AXThemeMode) {\n switch (mode) {\n case 'light':\n this.switchLightMode();\n break;\n case 'dark':\n this.switchDarkMode();\n break;\n default:\n this.switchSystemMode();\n break;\n }\n }\n\n private setFullHeightRatio() {\n if (isPlatformBrowser(this.platformID)) {\n try {\n this.document\n .querySelector<HTMLElement>(':root')\n ?.style.setProperty('--ax-vh', window.innerHeight / 100 + 'px');\n } catch (error) {\n console.error(error);\n }\n }\n }\n\n private autoSystemModeDetection(event) {\n if (this.themeMode() === 'system') {\n const themeMode = event.matches ? 'dark' : 'light';\n\n if (isPlatformBrowser(this.platformID)) {\n if (themeMode === 'dark') {\n const _html = this.document.getElementsByTagName('html')[0];\n _html.classList.add('ax-dark');\n } else {\n const _html = this.document.getElementsByTagName('html')[0];\n _html.classList.remove('ax-dark');\n }\n }\n }\n }\n\n constructor() {\n if (isPlatformBrowser(this.platformID)) {\n this.detectDarkMode();\n this.detectOnResize();\n this.detectClickEvent();\n this.detectScrollEvent();\n this.setFullHeightRatio();\n this.detectDocumentDirectionChange();\n }\n }\n\n private detectDarkMode() {\n if (isPlatformBrowser(this.platformID)) {\n // fromEvent(UIEvent)(window,'')\n if (window?.matchMedia('(prefers-color-scheme: dark)').matches) {\n window?.matchMedia('(prefers-color-scheme: dark)')?.addEventListener('change', (event) => {\n // Detect System color mode\n this.autoSystemModeDetection(event);\n });\n }\n }\n }\n\n private detectOnResize() {\n if (isPlatformBrowser(this.platformID)) {\n fromEvent<UIEvent>(window, 'resize')\n .pipe(debounceTime(100))\n .pipe(distinctUntilChanged())\n .subscribe((e) => {\n this.resize.next({\n nativeEvent: e,\n source: this,\n });\n //\n this.setFullHeightRatio();\n });\n }\n }\n\n private detectClickEvent() {\n if (isPlatformBrowser(this.platformID)) {\n this.document.addEventListener(\n 'click',\n (e) => {\n this.click.next({\n nativeEvent: e,\n source: this,\n });\n },\n true,\n );\n }\n }\n\n private detectScrollEvent() {\n if (isPlatformBrowser(this.platformID)) {\n this.document.addEventListener(\n 'scroll',\n (e) => {\n this.scroll.next({\n nativeEvent: e,\n source: this,\n });\n },\n true,\n );\n }\n }\n\n private detectDocumentDirectionChange() {\n if (isPlatformBrowser(this.platformID)) {\n const observer = new MutationObserver((mutations) => {\n mutations.forEach((mutation) => {\n // Detect Direction Change\n if (mutation.attributeName === 'dir') {\n const dir = this.document.documentElement.getAttribute('dir');\n this.directionChange.next({ source: this, nativeEvent: null, data: dir });\n }\n });\n });\n observer.observe(document.documentElement, {\n attributes: true,\n childList: false,\n characterData: false,\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
+ {"version":3,"file":"acorex-core-platform.mjs","sources":["../../../../packages/core/platform/src/lib/platform.service.ts","../../../../packages/core/platform/src/acorex-core-platform.ts"],"sourcesContent":["import { isPlatformBrowser } from '@angular/common';\nimport { DOCUMENT, inject, Injectable, PLATFORM_ID, signal } from '@angular/core';\nimport { BehaviorSubject, fromEvent, Subject } from 'rxjs';\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators';\n\nexport type AXThemeMode = 'light' | 'dark' | 'system' | 'system-dark' | 'system-light';\nexport type AXPlatforms = 'Android' | 'Desktop' | 'iOS' | 'Mobile';\nexport type AXBrowsers = 'Chrome' | 'Safari' | 'Edge' | 'Firefox' | 'Opera' | 'MSIE';\nexport type AXTechnologies = 'PWA' | 'Hybrid' | 'Electron';\n\nexport type AXScreenSizes = 'SM' | 'MD' | 'LG' | 'XL' | '2XL' | '3XL' | '4XL' | '5XL';\n\nexport const isChrome = (win: Window): boolean => testUserAgent(win, /Chrome/i);\n\nexport const isFirefox = (win: Window): boolean => testUserAgent(win, /Firefox/i);\n\nexport const isEdge = (win: Window): boolean => testUserAgent(win, /Edge/i);\n\nexport const isSafari = (win: Window): boolean => testUserAgent(win, /Safari/i);\n\nexport const isOpera = (win: Window): boolean => testUserAgent(win, /Opera/i) || testUserAgent(win, /OPR/i);\n\nexport const isMSIE = (win: Window): boolean => testUserAgent(win, /MSIE/i) || testUserAgent(win, /Trident/i);\n\nexport const isMobileWeb = (win: Window): boolean => isMobile(win) && !isHybrid(win);\n\nexport const isIpad = (win: Window) => {\n // iOS 12 and below\n if (testUserAgent(win, /iPad/i)) {\n return true;\n }\n\n // iOS 13+\n if (testUserAgent(win, /Macintosh/i) && isMobile(win)) {\n return true;\n }\n\n return false;\n};\n\nexport const isIphone = (win: Window) => testUserAgent(win, /iPhone/i);\n\nexport const isIOS = (win: Window) => testUserAgent(win, /iPhone|iPod/i) || isIpad(win);\n\nexport const isAndroid = (win: Window) => testUserAgent(win, /android|sink/i);\n\nexport const isAndroidTablet = (win: Window) => {\n return isAndroid(win) && !testUserAgent(win, /mobile/i);\n};\n\nexport const isPhablet = (win: Window) => {\n const width = win.innerWidth;\n const height = win.innerHeight;\n const smallest = Math.min(width, height);\n const largest = Math.max(width, height);\n\n return smallest > 390 && smallest < 520 && largest > 620 && largest < 800;\n};\n\nexport const isTablet = (win: Window) => {\n const width = win.innerWidth;\n const height = win.innerHeight;\n const smallest = Math.min(width, height);\n const largest = Math.max(width, height);\n\n return isIpad(win) || isAndroidTablet(win) || (smallest > 460 && smallest < 820 && largest > 780 && largest < 1400);\n};\n\nexport const isMobile = (win: Window) => matchMedia(win, '(any-pointer:coarse)');\nexport const isTouch = (win: Window) => matchMedia(win, '(any-pointer:coarse)');\n\nexport const isDesktop = (win: Window) => !isMobile(win);\n\nexport const isHybrid = (win: Window) => isCordova(win) || isCapacitorNative(win);\n\nexport const isCordova = (win: any): boolean => !!(win['cordova'] || win['phonegap'] || win['PhoneGap']);\n\nexport const isCapacitorNative = (win: any): boolean => {\n const capacitor = win['Capacitor'];\n return !!(capacitor && capacitor.isNative);\n};\n\nexport const isElectron = (win: Window): boolean => testUserAgent(win, /electron/i);\n\nexport const isPWA = (win: Window): boolean =>\n !!(win.matchMedia('(display-mode: standalone)').matches || (win.navigator as any).standalone);\n\nexport const testUserAgent = (win: Window, expr: RegExp) => expr.test(win.navigator.userAgent);\n\nexport const isBrowser = new Function('try {return this===window;}catch(e){ return false;}');\nexport const isServer = new Function('try {return this===global;}catch(e){return false;}');\n\nexport const matchMedia = (win: Window, query: string): boolean => {\n return win.matchMedia(query).matches;\n};\n\nexport const isSMScreen = (win: Window) => matchMedia(win, '(max-width: 640px)');\nexport const isMDScreen = (win: Window) => matchMedia(win, '(max-width: 768px)');\nexport const isLGScreen = (win: Window) => matchMedia(win, '(max-width: 1024px)');\nexport const isXLScreen = (win: Window) => matchMedia(win, '(max-width: 1280px)');\nexport const is2XLScreen = (win: Window) => matchMedia(win, '(max-width: 1536px)');\nexport const is3XLScreen = (win: Window) => matchMedia(win, '(max-width: 1920px)');\nexport const is4XLScreen = (win: Window) => matchMedia(win, '(max-width: 2560px)');\n\nexport const PLATFORMS_MAP: any = {\n Android: isAndroid,\n iOS: isIOS,\n Desktop: isDesktop,\n Mobile: isMobile,\n Touch: isTouch,\n Chrome: isChrome,\n Firefox: isFirefox,\n Safari: isSafari,\n Edge: isEdge,\n Opera: isOpera,\n Hybrid: isHybrid,\n PWA: isPWA,\n Electron: isElectron,\n SM: isSMScreen,\n MD: isMDScreen,\n LG: isLGScreen,\n XL: isXLScreen,\n '2XL': is2XLScreen,\n '3XL': is3XLScreen,\n '4XL': is4XLScreen,\n};\n\nexport class AXPlatformEvent<T extends Event = Event> {\n nativeEvent!: T;\n source!: AXPlatform;\n data?: any;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AXPlatform {\n resize: Subject<AXPlatformEvent> = new Subject<AXPlatformEvent>();\n directionChange: Subject<AXPlatformEvent> = new Subject<AXPlatformEvent>();\n click: Subject<AXPlatformEvent> = new Subject<AXPlatformEvent>();\n scroll: Subject<AXPlatformEvent> = new Subject<AXPlatformEvent>();\n themeMode$: BehaviorSubject<AXThemeMode> = new BehaviorSubject<AXThemeMode>('system');\n themeMode = signal<AXThemeMode>('system');\n private document = inject(DOCUMENT);\n private platformID = inject(PLATFORM_ID);\n\n isDark(): boolean {\n if (isPlatformBrowser(this.platformID)) {\n return this.document.documentElement.classList.contains('ax-dark');\n }\n return false;\n }\n\n isRtl(): boolean {\n if (isPlatformBrowser(this.platformID)) {\n return (\n this.document.dir == 'rtl' || this.document.body.dir == 'rtl' || this.document.body.style.direction == 'rtl'\n );\n }\n return false;\n }\n\n isLandscape(): boolean {\n if (isPlatformBrowser(this.platformID)) {\n return window.innerHeight < window.innerWidth;\n }\n return true;\n }\n\n isPortrate(): boolean {\n return !this.isLandscape();\n }\n\n /**\n * Checks whether the current environment matches the given platform/browser/technology/screen size keyword.\n *\n * @param name - One of AXPlatforms | AXBrowsers | AXTechnologies | AXScreenSizes.\n */\n\n is(name: AXPlatforms | AXBrowsers | AXTechnologies | AXScreenSizes): boolean {\n if (isPlatformBrowser(this.platformID)) {\n return PLATFORMS_MAP[name](window) || false;\n } else {\n return false;\n }\n }\n\n get screenSize(): AXScreenSizes {\n return (['SM', 'MD', 'LG', 'XL', '2XL', '3XL', '4XL'].find((name) => PLATFORMS_MAP[name](window) == true) ||\n '5XL') as AXScreenSizes;\n }\n\n /**\n * Switches to light mode and persists it.\n * @returns 'light'\n */\n\n switchLightMode() {\n if (isPlatformBrowser(this.platformID)) {\n const _html = this.document.getElementsByTagName('html')[0];\n _html.classList.remove('ax-dark');\n }\n this.#setSystemTheme('light');\n return 'light';\n }\n\n /**\n * Switches to dark mode and persists it.\n * @returns 'dark'\n */\n\n switchDarkMode() {\n if (isPlatformBrowser(this.platformID)) {\n const _html = this.document.getElementsByTagName('html')[0];\n _html.classList.add('ax-dark');\n }\n this.#setSystemTheme('dark');\n return 'dark';\n }\n\n switchSystemMode() {\n if (isPlatformBrowser(this.platformID)) {\n if (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) {\n const _html = this.document.getElementsByTagName('html')[0];\n _html.classList.add('ax-dark');\n this.#setSystemTheme('system-dark');\n } else {\n const _html = this.document.getElementsByTagName('html')[0];\n _html.classList.remove('ax-dark');\n this.#setSystemTheme('system-light');\n }\n }\n }\n\n #setSystemTheme(themeMode: AXThemeMode) {\n this.themeMode$.next(themeMode);\n localStorage.setItem('AX_THEME_MODE', themeMode);\n this.themeMode.set(themeMode);\n }\n\n /**\n * Reads persisted theme preference and applies it (returns the effective mode).\n * @returns AXThemeMode\n */\n\n autoDetectThemeMode() {\n const mode = localStorage.getItem('AX_THEME_MODE') || 'system';\n switch (mode) {\n case 'light':\n this.switchLightMode();\n return 'light';\n\n case 'dark':\n this.switchDarkMode();\n return 'dark';\n\n default:\n this.switchSystemMode();\n return 'system';\n }\n }\n\n /**\n * Sets theme mode explicitly and persists it.\n * @param mode - Desired theme mode.\n */\n\n setThemeMode(mode: AXThemeMode) {\n switch (mode) {\n case 'light':\n this.switchLightMode();\n break;\n case 'dark':\n this.switchDarkMode();\n break;\n default:\n this.switchSystemMode();\n break;\n }\n }\n\n private setFullHeightRatio() {\n if (isPlatformBrowser(this.platformID)) {\n try {\n this.document\n .querySelector<HTMLElement>(':root')\n ?.style.setProperty('--ax-vh', window.innerHeight / 100 + 'px');\n } catch (error) {\n console.error(error);\n }\n }\n }\n\n private autoSystemModeDetection(event) {\n if (this.themeMode() === 'system') {\n const themeMode = event.matches ? 'dark' : 'light';\n\n if (isPlatformBrowser(this.platformID)) {\n if (themeMode === 'dark') {\n const _html = this.document.getElementsByTagName('html')[0];\n _html.classList.add('ax-dark');\n } else {\n const _html = this.document.getElementsByTagName('html')[0];\n _html.classList.remove('ax-dark');\n }\n }\n }\n }\n\n constructor() {\n if (isPlatformBrowser(this.platformID)) {\n this.detectDarkMode();\n this.detectOnResize();\n this.detectClickEvent();\n this.detectScrollEvent();\n this.setFullHeightRatio();\n this.detectDocumentDirectionChange();\n }\n }\n\n private detectDarkMode() {\n if (isPlatformBrowser(this.platformID)) {\n // fromEvent(UIEvent)(window,'')\n if (window?.matchMedia('(prefers-color-scheme: dark)').matches) {\n window?.matchMedia('(prefers-color-scheme: dark)')?.addEventListener('change', (event) => {\n // Detect System color mode\n this.autoSystemModeDetection(event);\n });\n }\n }\n }\n\n private detectOnResize() {\n if (isPlatformBrowser(this.platformID)) {\n fromEvent<UIEvent>(window, 'resize')\n .pipe(debounceTime(100))\n .pipe(distinctUntilChanged())\n .subscribe((e) => {\n this.resize.next({\n nativeEvent: e,\n source: this,\n });\n //\n this.setFullHeightRatio();\n });\n }\n }\n\n private detectClickEvent() {\n if (isPlatformBrowser(this.platformID)) {\n this.document.addEventListener(\n 'click',\n (e) => {\n this.click.next({\n nativeEvent: e,\n source: this,\n });\n },\n true,\n );\n }\n }\n\n private detectScrollEvent() {\n if (isPlatformBrowser(this.platformID)) {\n this.document.addEventListener(\n 'scroll',\n (e) => {\n this.scroll.next({\n nativeEvent: e,\n source: this,\n });\n },\n true,\n );\n }\n }\n\n private detectDocumentDirectionChange() {\n if (isPlatformBrowser(this.platformID)) {\n const observer = new MutationObserver((mutations) => {\n mutations.forEach((mutation) => {\n // Detect Direction Change\n if (mutation.attributeName === 'dir') {\n const dir = this.document.documentElement.getAttribute('dir');\n this.directionChange.next({ source: this, nativeEvent: null, data: dir });\n }\n });\n });\n observer.observe(document.documentElement, {\n attributes: true,\n childList: false,\n characterData: false,\n });\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -188,10 +188,10 @@ class AXCookieStorageService {
188
188
  }
189
189
  }
190
190
  }
191
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXCookieStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
192
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXCookieStorageService }); }
191
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXCookieStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
192
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXCookieStorageService }); }
193
193
  }
194
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXCookieStorageService, decorators: [{
194
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXCookieStorageService, decorators: [{
195
195
  type: Injectable
196
196
  }], ctorParameters: () => [] });
197
197
 
@@ -271,10 +271,10 @@ class AXLocalStorageService {
271
271
  return null;
272
272
  }
273
273
  }
274
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXLocalStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
275
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXLocalStorageService }); }
274
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXLocalStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
275
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXLocalStorageService }); }
276
276
  }
277
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXLocalStorageService, decorators: [{
277
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXLocalStorageService, decorators: [{
278
278
  type: Injectable
279
279
  }] });
280
280
 
@@ -303,10 +303,10 @@ class AXSessionStorageService {
303
303
  return sessionStorage.removeItem(key);
304
304
  }
305
305
  }
306
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXSessionStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
307
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXSessionStorageService }); }
306
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXSessionStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
307
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXSessionStorageService }); }
308
308
  }
309
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXSessionStorageService, decorators: [{
309
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXSessionStorageService, decorators: [{
310
310
  type: Injectable
311
311
  }] });
312
312