@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/CHANGELOG.md +169 -144
- package/README.md +1 -1
- package/bin/presentia-gen-namespaces.mjs +1248 -1248
- package/fesm2022/reforgium-presentia.mjs +571 -525
- package/package.json +2 -2
- package/types/reforgium-presentia.d.ts +18 -9
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "2.
|
|
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": ">=
|
|
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<
|
|
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:
|
|
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?:
|
|
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
|