@fundamental-ngx/i18n 0.44.1-rc.3 → 0.45.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.
@@ -4,7 +4,7 @@ import { map } from 'rxjs/operators';
4
4
  import { FD_LANGUAGE } from './tokens';
5
5
  /**
6
6
  * DI utility function, that allows to override `FD_LANGUAGE` injection token with part of the language object, that is used globally
7
- * @param languagePatch part of the language object to be overriden
7
+ * @param languagePatch part of the language object to be overriden, or a function that returns such object and receives existing language as a parameter
8
8
  *
9
9
  * @example
10
10
  * ```typescript
@@ -36,8 +36,8 @@ import { FD_LANGUAGE } from './tokens';
36
36
  export function patchLanguage(languagePatch) {
37
37
  return {
38
38
  provide: FD_LANGUAGE,
39
- useFactory: (lang$) => lang$.pipe(map((lang) => merge(cloneDeep(lang), languagePatch))),
39
+ useFactory: (lang$) => lang$.pipe(map((lang) => merge(cloneDeep(lang), typeof languagePatch === 'function' ? languagePatch(lang) : languagePatch))),
40
40
  deps: [[new SkipSelf(), FD_LANGUAGE]]
41
41
  };
42
42
  }
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0Y2gtbGFuZ3VhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2kxOG4vc3JjL2xpYi91dGlscy9wYXRjaC1sYW5ndWFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVksUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRTdDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRXZDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E4Qkc7QUFDSCxNQUFNLFVBQVUsYUFBYSxDQUFDLGFBQThCO0lBQ3hELE9BQU87UUFDSCxPQUFPLEVBQUUsV0FBVztRQUNwQixVQUFVLEVBQUUsQ0FBQyxLQUE2QixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDO1FBQy9HLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxRQUFRLEVBQUUsRUFBRSxXQUFXLENBQUMsQ0FBQztLQUN4QyxDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb3ZpZGVyLCBTa2lwU2VsZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY2xvbmVEZWVwLCBtZXJnZSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBGZExhbmd1YWdlLCBGZExhbmd1YWdlUGF0Y2ggfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHsgRkRfTEFOR1VBR0UgfSBmcm9tICcuL3Rva2Vucyc7XG5cbi8qKlxuICogREkgdXRpbGl0eSBmdW5jdGlvbiwgdGhhdCBhbGxvd3MgdG8gb3ZlcnJpZGUgYEZEX0xBTkdVQUdFYCBpbmplY3Rpb24gdG9rZW4gd2l0aCBwYXJ0IG9mIHRoZSBsYW5ndWFnZSBvYmplY3QsIHRoYXQgaXMgdXNlZCBnbG9iYWxseVxuICogQHBhcmFtIGxhbmd1YWdlUGF0Y2ggcGFydCBvZiB0aGUgbGFuZ3VhZ2Ugb2JqZWN0IHRvIGJlIG92ZXJyaWRlblxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBpbXBvcnQgeyBwYXRjaExhbmd1YWdlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9pMThuJztcbiAqXG4gKiBAQ29tcG9uZW50KHtcbiAqICAgIC4uLlxuICogICAgcHJvdmlkZXJzOiBbXG4gKiAgICAgICAgIHBhdGNoTGFuZ3VhZ2Uoe1xuICogICAgICAgICAgICAgLy8gaXQncyBwb3NzaWJsZSB0byBwYXJ0aWFsbHkgb3ZlcnJpZGUgdHJhbnNsYXRpb25zIGZvciBjb21wb25lbnRcbiAqICAgICAgICAgICAgIC8vIG92ZXJyaWRpbmcgb25seSAzIG91dCBvZiBhbGwgdHJhbnNsYXRpb24gc3RyaW5ncyBmb3IgdGV4dGFyZWEgaGVyZVxuICogICAgICAgICAgICAgLy8gYWxzbyBmdW5jdGlvbiBjYW4gYmUgdXNlZCB0byBwcm92aWRlIGNvbXBsZXggdHJhbnNsYXRpb24gbG9naWNcbiAqICAgICAgICAgICAgIHBsYXRmb3JtVGV4dGFyZWE6IHtcbiAqICAgICAgICAgICAgICAgICBjb3VudGVyTWVzc2FnZUNoYXJhY3RlcnNSZW1haW5pbmdTaW5ndWxhcjogJ1lvdSBjYW4gdHlwZSAxIG1vcmUgY2hhcmFjdGVyJyxcbiAqICAgICAgICAgICAgICAgICBjb3VudGVyTWVzc2FnZUNoYXJhY3RlcnNSZW1haW5pbmdQbHVyYWw6ICdZb3UgY2FuIHR5cGUge3sgY291bnQgfX0gbW9yZSBjaGFyYWN0ZXJzJyxcbiAqICAgICAgICAgICAgICAgICBjb3VudGVyTWVzc2FnZUNoYXJhY3RlcnNPdmVyVGhlTGltaXRQbHVyYWw6IChwYXJhbXMpID0+IHtcbiAqICAgICAgICAgICAgICAgICAgICAgIGlmIChwYXJhbXMuY291bnQgPT09IDMpIHtcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYFlvdSBjYW4gdHlwZSB0aHJlZSBtb3JlIGNoYXJhY3RlcnNgO1xuICogICAgICAgICAgICAgICAgICAgICAgfVxuICogICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGBZb3UgY2FuIHR5cGUgJHtwYXJhbXMuY291bnR9IG1vcmUgY2hhcmFjdGVyc2A7XG4gKiAgICAgICAgICAgICAgICAgfVxuICogICAgICAgICAgICAgfVxuICogICAgICAgICB9KVxuICogICAgIF1cbiAqIH0pXG4gKiBleHBvcnQgY2xhc3MgU29tZUNvbXBvbmVudCB7fVxuICogYGBgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXRjaExhbmd1YWdlKGxhbmd1YWdlUGF0Y2g6IEZkTGFuZ3VhZ2VQYXRjaCk6IFByb3ZpZGVyIHtcbiAgICByZXR1cm4ge1xuICAgICAgICBwcm92aWRlOiBGRF9MQU5HVUFHRSxcbiAgICAgICAgdXNlRmFjdG9yeTogKGxhbmckOiBPYnNlcnZhYmxlPEZkTGFuZ3VhZ2U+KSA9PiBsYW5nJC5waXBlKG1hcCgobGFuZykgPT4gbWVyZ2UoY2xvbmVEZWVwKGxhbmcpLCBsYW5ndWFnZVBhdGNoKSkpLFxuICAgICAgICBkZXBzOiBbW25ldyBTa2lwU2VsZigpLCBGRF9MQU5HVUFHRV1dXG4gICAgfTtcbn1cbiJdfQ==
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0Y2gtbGFuZ3VhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2kxOG4vc3JjL2xpYi91dGlscy9wYXRjaC1sYW5ndWFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW1CLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUU3QyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUV2Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBOEJHO0FBQ0gsTUFBTSxVQUFVLGFBQWEsQ0FDekIsYUFBd0U7SUFFeEUsT0FBTztRQUNILE9BQU8sRUFBRSxXQUFXO1FBQ3BCLFVBQVUsRUFBRSxDQUFDLEtBQTZCLEVBQUUsRUFBRSxDQUMxQyxLQUFLLENBQUMsSUFBSSxDQUNOLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQ1QsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLGFBQWEsS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQ3BHLENBQ0o7UUFDTCxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksUUFBUSxFQUFFLEVBQUUsV0FBVyxDQUFDLENBQUM7S0FDeEMsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGYWN0b3J5UHJvdmlkZXIsIFNraXBTZWxmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjbG9uZURlZXAsIG1lcmdlIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEZkTGFuZ3VhZ2UsIEZkTGFuZ3VhZ2VQYXRjaCB9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQgeyBGRF9MQU5HVUFHRSB9IGZyb20gJy4vdG9rZW5zJztcblxuLyoqXG4gKiBESSB1dGlsaXR5IGZ1bmN0aW9uLCB0aGF0IGFsbG93cyB0byBvdmVycmlkZSBgRkRfTEFOR1VBR0VgIGluamVjdGlvbiB0b2tlbiB3aXRoIHBhcnQgb2YgdGhlIGxhbmd1YWdlIG9iamVjdCwgdGhhdCBpcyB1c2VkIGdsb2JhbGx5XG4gKiBAcGFyYW0gbGFuZ3VhZ2VQYXRjaCBwYXJ0IG9mIHRoZSBsYW5ndWFnZSBvYmplY3QgdG8gYmUgb3ZlcnJpZGVuLCBvciBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBzdWNoIG9iamVjdCBhbmQgcmVjZWl2ZXMgZXhpc3RpbmcgbGFuZ3VhZ2UgYXMgYSBwYXJhbWV0ZXJcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogaW1wb3J0IHsgcGF0Y2hMYW5ndWFnZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvaTE4bic7XG4gKlxuICogQENvbXBvbmVudCh7XG4gKiAgICAuLi5cbiAqICAgIHByb3ZpZGVyczogW1xuICogICAgICAgICBwYXRjaExhbmd1YWdlKHtcbiAqICAgICAgICAgICAgIC8vIGl0J3MgcG9zc2libGUgdG8gcGFydGlhbGx5IG92ZXJyaWRlIHRyYW5zbGF0aW9ucyBmb3IgY29tcG9uZW50XG4gKiAgICAgICAgICAgICAvLyBvdmVycmlkaW5nIG9ubHkgMyBvdXQgb2YgYWxsIHRyYW5zbGF0aW9uIHN0cmluZ3MgZm9yIHRleHRhcmVhIGhlcmVcbiAqICAgICAgICAgICAgIC8vIGFsc28gZnVuY3Rpb24gY2FuIGJlIHVzZWQgdG8gcHJvdmlkZSBjb21wbGV4IHRyYW5zbGF0aW9uIGxvZ2ljXG4gKiAgICAgICAgICAgICBwbGF0Zm9ybVRleHRhcmVhOiB7XG4gKiAgICAgICAgICAgICAgICAgY291bnRlck1lc3NhZ2VDaGFyYWN0ZXJzUmVtYWluaW5nU2luZ3VsYXI6ICdZb3UgY2FuIHR5cGUgMSBtb3JlIGNoYXJhY3RlcicsXG4gKiAgICAgICAgICAgICAgICAgY291bnRlck1lc3NhZ2VDaGFyYWN0ZXJzUmVtYWluaW5nUGx1cmFsOiAnWW91IGNhbiB0eXBlIHt7IGNvdW50IH19IG1vcmUgY2hhcmFjdGVycycsXG4gKiAgICAgICAgICAgICAgICAgY291bnRlck1lc3NhZ2VDaGFyYWN0ZXJzT3ZlclRoZUxpbWl0UGx1cmFsOiAocGFyYW1zKSA9PiB7XG4gKiAgICAgICAgICAgICAgICAgICAgICBpZiAocGFyYW1zLmNvdW50ID09PSAzKSB7XG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGBZb3UgY2FuIHR5cGUgdGhyZWUgbW9yZSBjaGFyYWN0ZXJzYDtcbiAqICAgICAgICAgICAgICAgICAgICAgIH1cbiAqICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBgWW91IGNhbiB0eXBlICR7cGFyYW1zLmNvdW50fSBtb3JlIGNoYXJhY3RlcnNgO1xuICogICAgICAgICAgICAgICAgIH1cbiAqICAgICAgICAgICAgIH1cbiAqICAgICAgICAgfSlcbiAqICAgICBdXG4gKiB9KVxuICogZXhwb3J0IGNsYXNzIFNvbWVDb21wb25lbnQge31cbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gcGF0Y2hMYW5ndWFnZShcbiAgICBsYW5ndWFnZVBhdGNoOiBGZExhbmd1YWdlUGF0Y2ggfCAoKGxhbmc6IEZkTGFuZ3VhZ2UpID0+IEZkTGFuZ3VhZ2VQYXRjaClcbik6IEZhY3RvcnlQcm92aWRlciB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgcHJvdmlkZTogRkRfTEFOR1VBR0UsXG4gICAgICAgIHVzZUZhY3Rvcnk6IChsYW5nJDogT2JzZXJ2YWJsZTxGZExhbmd1YWdlPikgPT5cbiAgICAgICAgICAgIGxhbmckLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKChsYW5nKSA9PlxuICAgICAgICAgICAgICAgICAgICBtZXJnZShjbG9uZURlZXAobGFuZyksIHR5cGVvZiBsYW5ndWFnZVBhdGNoID09PSAnZnVuY3Rpb24nID8gbGFuZ3VhZ2VQYXRjaChsYW5nKSA6IGxhbmd1YWdlUGF0Y2gpXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKSxcbiAgICAgICAgZGVwczogW1tuZXcgU2tpcFNlbGYoKSwgRkRfTEFOR1VBR0VdXVxuICAgIH07XG59XG4iXX0=
@@ -1,7 +1,7 @@
1
1
  import { InjectionToken } from '@angular/core';
2
- import { of } from 'rxjs';
2
+ import { BehaviorSubject } from 'rxjs';
3
3
  import { FD_LANGUAGE_ENGLISH } from '../languages/english';
4
4
  export const FD_LANGUAGE = new InjectionToken('Language for @fundamental-ngx packages', {
5
- factory: () => of(FD_LANGUAGE_ENGLISH)
5
+ factory: () => new BehaviorSubject(FD_LANGUAGE_ENGLISH)
6
6
  });
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9pMThuL3NyYy9saWIvdXRpbHMvdG9rZW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0MsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUczRCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsSUFBSSxjQUFjLENBQXlCLHdDQUF3QyxFQUFFO0lBQzVHLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsbUJBQW1CLENBQUM7Q0FDekMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGRF9MQU5HVUFHRV9FTkdMSVNIIH0gZnJvbSAnLi4vbGFuZ3VhZ2VzL2VuZ2xpc2gnO1xuaW1wb3J0IHsgRmRMYW5ndWFnZSB9IGZyb20gJy4uL21vZGVscy9sYW5nJztcblxuZXhwb3J0IGNvbnN0IEZEX0xBTkdVQUdFID0gbmV3IEluamVjdGlvblRva2VuPE9ic2VydmFibGU8RmRMYW5ndWFnZT4+KCdMYW5ndWFnZSBmb3IgQGZ1bmRhbWVudGFsLW5neCBwYWNrYWdlcycsIHtcbiAgICBmYWN0b3J5OiAoKSA9PiBvZihGRF9MQU5HVUFHRV9FTkdMSVNIKVxufSk7XG4iXX0=
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9pMThuL3NyYy9saWIvdXRpbHMvdG9rZW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNuRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUczRCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsSUFBSSxjQUFjLENBQXlCLHdDQUF3QyxFQUFFO0lBQzVHLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLGVBQWUsQ0FBQyxtQkFBbUIsQ0FBQztDQUMxRCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGRF9MQU5HVUFHRV9FTkdMSVNIIH0gZnJvbSAnLi4vbGFuZ3VhZ2VzL2VuZ2xpc2gnO1xuaW1wb3J0IHsgRmRMYW5ndWFnZSB9IGZyb20gJy4uL21vZGVscy9sYW5nJztcblxuZXhwb3J0IGNvbnN0IEZEX0xBTkdVQUdFID0gbmV3IEluamVjdGlvblRva2VuPE9ic2VydmFibGU8RmRMYW5ndWFnZT4+KCdMYW5ndWFnZSBmb3IgQGZ1bmRhbWVudGFsLW5neCBwYWNrYWdlcycsIHtcbiAgICBmYWN0b3J5OiAoKSA9PiBuZXcgQmVoYXZpb3JTdWJqZWN0KEZEX0xBTkdVQUdFX0VOR0xJU0gpXG59KTtcbiJdfQ==
@@ -1,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { InjectionToken, isDevMode, Pipe, Inject, Directive, SkipSelf, Self, Input, NgModule } from '@angular/core';
3
3
  import * as i1 from 'rxjs';
4
- import { of, BehaviorSubject, combineLatest, skip, filter, distinctUntilChanged, map, Subject } from 'rxjs';
4
+ import { BehaviorSubject, combineLatest, skip, filter, distinctUntilChanged, map, Subject } from 'rxjs';
5
5
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
6
6
  import { get, merge, cloneDeep } from 'lodash-es';
7
7
  import { map as map$1, takeUntil } from 'rxjs/operators';
@@ -615,7 +615,7 @@ const FD_LANGUAGE_ENGLISH = {
615
615
  };
616
616
 
617
617
  const FD_LANGUAGE = new InjectionToken('Language for @fundamental-ngx packages', {
618
- factory: () => of(FD_LANGUAGE_ENGLISH)
618
+ factory: () => new BehaviorSubject(FD_LANGUAGE_ENGLISH)
619
619
  });
620
620
 
621
621
  /**
@@ -8694,7 +8694,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImpor
8694
8694
 
8695
8695
  /**
8696
8696
  * DI utility function, that allows to override `FD_LANGUAGE` injection token with part of the language object, that is used globally
8697
- * @param languagePatch part of the language object to be overriden
8697
+ * @param languagePatch part of the language object to be overriden, or a function that returns such object and receives existing language as a parameter
8698
8698
  *
8699
8699
  * @example
8700
8700
  * ```typescript
@@ -8726,7 +8726,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImpor
8726
8726
  function patchLanguage(languagePatch) {
8727
8727
  return {
8728
8728
  provide: FD_LANGUAGE,
8729
- useFactory: (lang$) => lang$.pipe(map$1((lang) => merge(cloneDeep(lang), languagePatch))),
8729
+ useFactory: (lang$) => lang$.pipe(map$1((lang) => merge(cloneDeep(lang), typeof languagePatch === 'function' ? languagePatch(lang) : languagePatch))),
8730
8730
  deps: [[new SkipSelf(), FD_LANGUAGE]]
8731
8731
  };
8732
8732
  }