@reforgium/presentia 2.0.0 → 2.1.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.
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "2.0.0",
2
+ "version": "2.1.1",
3
3
  "name": "@reforgium/presentia",
4
4
  "description": "Angular infrastructure library for i18n, route-aware namespace preload, theming, adaptive breakpoints, route state, and SEO",
5
5
  "author": "rtommievich",
@@ -65,7 +65,7 @@
65
65
  "@angular/core": ">=18.0.0",
66
66
  "@angular/platform-browser": ">=18.0.0",
67
67
  "@angular/router": ">=18.0.0",
68
- "@reforgium/internal": ">=1.2.0",
68
+ "@reforgium/internal": ">=2.0.0",
69
69
  "rxjs": ">=7.0.0"
70
70
  },
71
71
  "module": "fesm2022/reforgium-presentia.mjs",
@@ -1,7 +1,7 @@
1
1
  import * as _angular_core from '@angular/core';
2
2
  import { InjectionToken, Signal, PipeTransform, EnvironmentProviders } from '@angular/core';
3
3
  import * as _reforgium_internal from '@reforgium/internal';
4
- import { Devices, Langs, Themes as Themes$1 } from '@reforgium/internal';
4
+ import { Devices, Langs, StorageInterface, Themes as Themes$1, StorageStrategy } from '@reforgium/internal';
5
5
  import { HttpHeaders, HttpParams, HttpContext } from '@angular/common/http';
6
6
 
7
7
  /** Breakpoints for different device types */
@@ -250,10 +250,7 @@ type LangRouteNamespacePreloadConfig = {
250
250
  * Adapter for custom persistence of language/theme selection.
251
251
  * Implement this interface to replace the default `localStorage` storage.
252
252
  */
253
- type PersistenceAdapter = {
254
- getItem(key: string): string | null;
255
- setItem(key: string, value: string): void;
256
- };
253
+ type PersistenceAdapter = StorageInterface<string, string>;
257
254
  /**
258
255
  * Describes a failed namespace load attempt.
259
256
  * Exposed via `LangService.errors()` signal.
@@ -328,6 +325,7 @@ declare const LANG_MISSING_KEY_HANDLER: InjectionToken<LangMissingKeyHandler>;
328
325
  * { provide: LANG_PERSISTENCE_ADAPTER, useValue: sessionStorageAdapter }
329
326
  * ```
330
327
  */
328
+ declare const defaultLangPersistenceAdapter: StorageInterface<string, string>;
331
329
  declare const LANG_PERSISTENCE_ADAPTER: InjectionToken<PersistenceAdapter>;
332
330
 
333
331
  /**
@@ -378,6 +376,7 @@ declare class LangService {
378
376
  private readonly config;
379
377
  private readonly http;
380
378
  private readonly isBrowser;
379
+ private readonly persistence;
381
380
  private readonly missingKeyHandler;
382
381
  private readonly routeNamespaceDiagnostics;
383
382
  private readonly supportedLangSet;
@@ -389,7 +388,7 @@ declare class LangService {
389
388
  * - If `config.kgValue` is not defined, the property will return the default value 'kg'.
390
389
  * - For other languages (e.g. `ru`, `en`) returns source language as-is.
391
390
  */
392
- readonly currentLang: Signal<(string & {}) | "ru" | "kg" | "en" | "ky">;
391
+ readonly currentLang: Signal<"ru" | "kg" | "en" | (string & {}) | "ky">;
393
392
  /**
394
393
  * Extracts readonly value from private property `#lang` and assigns it to `innerLangVal`.
395
394
  * Expected that property `#lang` has `asReadonly` method that returns immutable representation.
@@ -718,7 +717,7 @@ declare const THEME_CONFIG: InjectionToken<ThemeConfig>;
718
717
  /**
719
718
  * @deprecated Prefer configuring theme persistence through `providePresentia({ theme: { persistence... } })`.
720
719
  */
721
- declare const defaultThemePersistenceAdapter: PersistenceAdapter;
720
+ declare const defaultThemePersistenceAdapter: StorageInterface<string, string>;
722
721
  /**
723
722
  * DI token for the persistence adapter used by `ThemeService`
724
723
  * to store and retrieve the selected theme (default key: `'theme'`).
@@ -841,6 +840,12 @@ type PresentiaLangConfig = {
841
840
  maxBatchSize?: number;
842
841
  };
843
842
  cache?: LangNamespaceCacheConfig;
843
+ persistence?: StorageStrategy | 'none';
844
+ storage?: StorageInterface<string, string>;
845
+ /**
846
+ * @deprecated Prefer `storage`.
847
+ */
848
+ persistenceAdapter?: PersistenceAdapter;
844
849
  diagnostics?: {
845
850
  lateNamespaceLoads?: boolean;
846
851
  };
@@ -849,7 +854,11 @@ type PresentiaLangConfig = {
849
854
  type PresentiaThemeConfig = {
850
855
  registry?: readonly Theme[];
851
856
  defaultTheme?: ThemeConfig['defaultTheme'];
852
- persistence?: 'localStorage' | 'none';
857
+ persistence?: StorageStrategy | 'none';
858
+ storage?: StorageInterface<string, string>;
859
+ /**
860
+ * @deprecated Prefer `storage`.
861
+ */
853
862
  persistenceAdapter?: PersistenceAdapter;
854
863
  dom?: {
855
864
  strategy?: 'root-class' | 'data-attribute';
@@ -1067,6 +1076,6 @@ declare class RouteNamespaceDiagnosticsService {
1067
1076
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<RouteNamespaceDiagnosticsService>;
1068
1077
  }
1069
1078
 
1070
- export { AdaptiveService, DEVICE_BREAKPOINTS, IfDeviceDirective, LANG_CONFIG, LANG_MISSING_KEY_HANDLER, LANG_PERSISTENCE_ADAPTER, LANG_PIPE_CONFIG, LangDirective, LangPipe, LangService, PRESENTIA_ROUTE_NAMESPACES_DATA_KEY, RouteNamespaceDiagnosticsService, RouteWatcher, SeoRouteListener, SeoService, THEME_CONFIG, THEME_PERSISTENCE_ADAPTER, ThemeService, darkThemePrefix, defaultBreakpoints, defaultThemeConfig, defaultThemePersistenceAdapter, innerLangVal, providePresentia, providePresentiaRouteNamespacePreload, provideReInit, themes };
1079
+ export { AdaptiveService, DEVICE_BREAKPOINTS, IfDeviceDirective, LANG_CONFIG, LANG_MISSING_KEY_HANDLER, LANG_PERSISTENCE_ADAPTER, LANG_PIPE_CONFIG, LangDirective, LangPipe, LangService, PRESENTIA_ROUTE_NAMESPACES_DATA_KEY, RouteNamespaceDiagnosticsService, RouteWatcher, SeoRouteListener, SeoService, THEME_CONFIG, THEME_PERSISTENCE_ADAPTER, ThemeService, darkThemePrefix, defaultBreakpoints, defaultLangPersistenceAdapter, defaultThemeConfig, defaultThemePersistenceAdapter, innerLangVal, providePresentia, providePresentiaRouteNamespacePreload, provideReInit, themes };
1071
1080
  export type { AppConfig, BaseTheme, DeviceBreakpoints, LangBatchRequestBuilder, LangBatchRequestContext, LangBatchResponseAdapter, LangBatchResponseContext, LangDirectiveConfig, LangDirectiveMode, LangDto, LangHttpRequestOptions, LangKey, LangKeyRegistry, LangMissingKeyHandler, LangModel, LangNamespaceCacheConfig, LangParamValue, LangParams, LangPipeConfig, LangRequestBuilder, LangRequestContext, LangRequestOptionsFactory, LangResponseAdapter, LangResponseContext, LangRouteNamespaceManifest, LangRouteNamespacePreloadConfig, LangRouteNamespacePreloadMergeStrategy, LangRouteNamespacePreloadMode, LoadNamespaceError, LocaleConfig, OgType, PersistenceAdapter, PresentiaAdaptiveConfig, PresentiaConfig, PresentiaLangConfig, PresentiaThemeConfig, RouteWatcherReadStrategy, RouteWatcherState, Theme, ThemeConfig, Themes, TwitterCardType };
1072
1081
  //# sourceMappingURL=reforgium-presentia.d.ts.map