@o3r/configuration 11.0.0-next.0 → 11.0.0-next.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/README.md +9 -4
  2. package/collection.json +6 -0
  3. package/core/configurable.d.ts +1 -1
  4. package/core/configurable.d.ts.map +1 -1
  5. package/core/configuration.d.ts.map +1 -1
  6. package/devkit/configuration-devtools.console.service.d.ts +3 -3
  7. package/devkit/configuration-devtools.service.d.ts +5 -5
  8. package/esm2022/core/configurable.mjs +1 -1
  9. package/esm2022/core/configuration.mjs +1 -1
  10. package/esm2022/devkit/configuration-devtools.console.service.mjs +7 -7
  11. package/esm2022/devkit/configuration-devtools.message.service.mjs +4 -4
  12. package/esm2022/devkit/configuration-devtools.module.mjs +4 -4
  13. package/esm2022/devkit/configuration-devtools.service.mjs +9 -9
  14. package/esm2022/rules-engine/configuration.handler-action.mjs +3 -3
  15. package/esm2022/rules-engine/configuration.rules-engine.module.mjs +4 -4
  16. package/esm2022/services/configuration/configuration.base.module.mjs +4 -4
  17. package/esm2022/services/configuration/configuration.base.service.mjs +4 -4
  18. package/esm2022/stores/config-override/config-override.module.mjs +4 -4
  19. package/esm2022/stores/config-override/config-override.sync.mjs +1 -1
  20. package/esm2022/stores/configuration/configuration.module.mjs +4 -4
  21. package/esm2022/stores/configuration/configuration.sync.mjs +1 -1
  22. package/esm2022/tools/configuration.decorators.mjs +35 -0
  23. package/esm2022/tools/configuration.observer.mjs +1 -1
  24. package/esm2022/tools/configuration.signal.mjs +19 -0
  25. package/esm2022/tools/index.mjs +3 -2
  26. package/fesm2022/o3r-configuration-rules-engine.mjs +7 -7
  27. package/fesm2022/o3r-configuration.mjs +83 -57
  28. package/fesm2022/o3r-configuration.mjs.map +1 -1
  29. package/migration.json +10 -0
  30. package/package.json +15 -12
  31. package/schematics/configuration-to-component/index.d.ts +6 -2
  32. package/schematics/configuration-to-component/index.d.ts.map +1 -1
  33. package/schematics/configuration-to-component/index.js +102 -18
  34. package/schematics/configuration-to-component/index.js.map +1 -1
  35. package/schematics/configuration-to-component/schema.d.ts +2 -0
  36. package/schematics/configuration-to-component/schema.d.ts.map +1 -1
  37. package/schematics/configuration-to-component/schema.json +5 -0
  38. package/schematics/ng-add/index.d.ts +2 -2
  39. package/schematics/ng-add/index.d.ts.map +1 -1
  40. package/schematics/ng-add/index.js +55 -45
  41. package/schematics/ng-add/index.js.map +1 -1
  42. package/schematics/ng-add/schema.d.ts +2 -0
  43. package/schematics/ng-add/schema.d.ts.map +1 -1
  44. package/schematics/ng-add/schema.json +5 -0
  45. package/schematics/ng-update/v10-3/index.d.ts +6 -0
  46. package/schematics/ng-update/v10-3/index.d.ts.map +1 -0
  47. package/schematics/ng-update/v10-3/index.js +21 -0
  48. package/schematics/ng-update/v10-3/index.js.map +1 -0
  49. package/schematics/use-config-signal/index.d.ts +8 -0
  50. package/schematics/use-config-signal/index.d.ts.map +1 -0
  51. package/schematics/use-config-signal/index.js +95 -0
  52. package/schematics/use-config-signal/index.js.map +1 -0
  53. package/schematics/use-config-signal/schema.d.ts +8 -0
  54. package/schematics/use-config-signal/schema.d.ts.map +1 -0
  55. package/schematics/use-config-signal/schema.js +3 -0
  56. package/schematics/use-config-signal/schema.js.map +1 -0
  57. package/schematics/use-config-signal/schema.json +21 -0
  58. package/tools/configuration.decorators.d.ts +10 -0
  59. package/tools/configuration.decorators.d.ts.map +1 -0
  60. package/tools/configuration.signal.d.ts +16 -0
  61. package/tools/configuration.signal.d.ts.map +1 -0
  62. package/tools/index.d.ts +2 -1
  63. package/tools/index.d.ts.map +1 -1
  64. package/esm2022/tools/configuration.decorator.mjs +0 -26
  65. package/tools/configuration.decorator.d.ts +0 -5
  66. package/tools/configuration.decorator.d.ts.map +0 -1
@@ -19,13 +19,13 @@ export class ConfigOverrideStoreModule {
19
19
  ]
20
20
  };
21
21
  }
22
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ConfigOverrideStoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
23
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.8", ngImport: i0, type: ConfigOverrideStoreModule, imports: [i1.StoreFeatureModule] }); }
24
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ConfigOverrideStoreModule, providers: [
22
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ConfigOverrideStoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
23
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.6", ngImport: i0, type: ConfigOverrideStoreModule, imports: [i1.StoreFeatureModule] }); }
24
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ConfigOverrideStoreModule, providers: [
25
25
  { provide: CONFIG_OVERRIDE_REDUCER_TOKEN, useFactory: getDefaultConfigOverrideReducer }
26
26
  ], imports: [StoreModule.forFeature(CONFIG_OVERRIDE_STORE_NAME, CONFIG_OVERRIDE_REDUCER_TOKEN)] }); }
27
27
  }
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ConfigOverrideStoreModule, decorators: [{
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ConfigOverrideStoreModule, decorators: [{
29
29
  type: NgModule,
30
30
  args: [{
31
31
  imports: [
@@ -12,4 +12,4 @@ export const configOverrideStorageDeserializer = (rawObject) => {
12
12
  export const configOverrideStorageSync = {
13
13
  deserialize: configOverrideStorageDeserializer
14
14
  };
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLW92ZXJyaWRlLnN5bmMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc3RvcmVzL2NvbmZpZy1vdmVycmlkZS9jb25maWctb3ZlcnJpZGUuc3luYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUd2RTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxpQ0FBaUMsR0FBRyxDQUFDLFNBQWMsRUFBRSxFQUFFO0lBQ2xFLElBQUksQ0FBQyxTQUFTLEVBQUU7UUFDZCxPQUFPLDBCQUEwQixDQUFDO0tBQ25DO0lBQ0QsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQW9DO0lBQ3hFLFdBQVcsRUFBRSxpQ0FBaUM7Q0FDL0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNlcmlhbGl6ZXIgfSBmcm9tICdAbzNyL2NvcmUnO1xuaW1wb3J0IHsgY29uZmlnT3ZlcnJpZGVJbml0aWFsU3RhdGUgfSBmcm9tICcuL2NvbmZpZy1vdmVycmlkZS5yZWR1Y2VyJztcbmltcG9ydCB7IENvbmZpZ092ZXJyaWRlU3RhdGUgfSBmcm9tICcuL2NvbmZpZy1vdmVycmlkZS5zdGF0ZSc7XG5cbi8qKlxuICogRGVzZXJpYWxpemVyXG4gKiBAcGFyYW0gcmF3T2JqZWN0XG4gKi9cbmV4cG9ydCBjb25zdCBjb25maWdPdmVycmlkZVN0b3JhZ2VEZXNlcmlhbGl6ZXIgPSAocmF3T2JqZWN0OiBhbnkpID0+IHtcbiAgaWYgKCFyYXdPYmplY3QpIHtcbiAgICByZXR1cm4gY29uZmlnT3ZlcnJpZGVJbml0aWFsU3RhdGU7XG4gIH1cbiAgcmV0dXJuIHJhd09iamVjdDtcbn07XG5cbmV4cG9ydCBjb25zdCBjb25maWdPdmVycmlkZVN0b3JhZ2VTeW5jOiBTZXJpYWxpemVyPENvbmZpZ092ZXJyaWRlU3RhdGU+ID0ge1xuICBkZXNlcmlhbGl6ZTogY29uZmlnT3ZlcnJpZGVTdG9yYWdlRGVzZXJpYWxpemVyXG59O1xuIl19
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLW92ZXJyaWRlLnN5bmMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc3RvcmVzL2NvbmZpZy1vdmVycmlkZS9jb25maWctb3ZlcnJpZGUuc3luYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUd2RTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxpQ0FBaUMsR0FBRyxDQUFDLFNBQWMsRUFBRSxFQUFFO0lBQ2xFLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNmLE9BQU8sMEJBQTBCLENBQUM7SUFDcEMsQ0FBQztJQUNELE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFvQztJQUN4RSxXQUFXLEVBQUUsaUNBQWlDO0NBQy9DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZXJpYWxpemVyIH0gZnJvbSAnQG8zci9jb3JlJztcbmltcG9ydCB7IGNvbmZpZ092ZXJyaWRlSW5pdGlhbFN0YXRlIH0gZnJvbSAnLi9jb25maWctb3ZlcnJpZGUucmVkdWNlcic7XG5pbXBvcnQgeyBDb25maWdPdmVycmlkZVN0YXRlIH0gZnJvbSAnLi9jb25maWctb3ZlcnJpZGUuc3RhdGUnO1xuXG4vKipcbiAqIERlc2VyaWFsaXplclxuICogQHBhcmFtIHJhd09iamVjdFxuICovXG5leHBvcnQgY29uc3QgY29uZmlnT3ZlcnJpZGVTdG9yYWdlRGVzZXJpYWxpemVyID0gKHJhd09iamVjdDogYW55KSA9PiB7XG4gIGlmICghcmF3T2JqZWN0KSB7XG4gICAgcmV0dXJuIGNvbmZpZ092ZXJyaWRlSW5pdGlhbFN0YXRlO1xuICB9XG4gIHJldHVybiByYXdPYmplY3Q7XG59O1xuXG5leHBvcnQgY29uc3QgY29uZmlnT3ZlcnJpZGVTdG9yYWdlU3luYzogU2VyaWFsaXplcjxDb25maWdPdmVycmlkZVN0YXRlPiA9IHtcbiAgZGVzZXJpYWxpemU6IGNvbmZpZ092ZXJyaWRlU3RvcmFnZURlc2VyaWFsaXplclxufTtcbiJdfQ==
@@ -19,13 +19,13 @@ export class ConfigurationStoreModule {
19
19
  ]
20
20
  };
21
21
  }
22
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ConfigurationStoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
23
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.8", ngImport: i0, type: ConfigurationStoreModule, imports: [i1.StoreFeatureModule] }); }
24
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ConfigurationStoreModule, providers: [
22
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ConfigurationStoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
23
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.6", ngImport: i0, type: ConfigurationStoreModule, imports: [i1.StoreFeatureModule] }); }
24
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ConfigurationStoreModule, providers: [
25
25
  { provide: CONFIGURATION_REDUCER_TOKEN, useFactory: getDefaultConfigurationReducer }
26
26
  ], imports: [StoreModule.forFeature(CONFIGURATION_STORE_NAME, CONFIGURATION_REDUCER_TOKEN)] }); }
27
27
  }
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ConfigurationStoreModule, decorators: [{
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ConfigurationStoreModule, decorators: [{
29
29
  type: NgModule,
30
30
  args: [{
31
31
  imports: [
@@ -8,4 +8,4 @@ export const configurationStorageSync = {
8
8
  return storeObject;
9
9
  }
10
10
  };
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5zeW5jLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3N0b3Jlcy9jb25maWd1cmF0aW9uL2NvbmZpZ3VyYXRpb24uc3luYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsb0JBQW9CLEVBQUUseUJBQXlCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUd4RixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRztJQUN0QyxXQUFXLEVBQUUsQ0FBQyxTQUFjLEVBQUUsRUFBRTtRQUM5QixJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNoQyxPQUFPLHlCQUF5QixDQUFDO1NBQ2xDO1FBQ0QsTUFBTSxXQUFXLEdBQUcsb0JBQW9CLENBQUMsZUFBZSxDQUFxQixTQUFTLENBQUMsQ0FBQztRQUN4RixPQUFPLFdBQWlDLENBQUM7SUFDM0MsQ0FBQztDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2NvbmZpZ3VyYXRpb25BZGFwdGVyLCBjb25maWd1cmF0aW9uSW5pdGlhbFN0YXRlfSBmcm9tICcuL2NvbmZpZ3VyYXRpb24ucmVkdWNlcic7XG5pbXBvcnQge0NvbmZpZ3VyYXRpb25TdGF0ZX0gZnJvbSAnLi9jb25maWd1cmF0aW9uLnN0YXRlJztcblxuZXhwb3J0IGNvbnN0IGNvbmZpZ3VyYXRpb25TdG9yYWdlU3luYyA9IHtcbiAgZGVzZXJpYWxpemU6IChyYXdPYmplY3Q6IGFueSkgPT4ge1xuICAgIGlmICghcmF3T2JqZWN0IHx8ICFyYXdPYmplY3QuaWRzKSB7XG4gICAgICByZXR1cm4gY29uZmlndXJhdGlvbkluaXRpYWxTdGF0ZTtcbiAgICB9XG4gICAgY29uc3Qgc3RvcmVPYmplY3QgPSBjb25maWd1cmF0aW9uQWRhcHRlci5nZXRJbml0aWFsU3RhdGU8Q29uZmlndXJhdGlvblN0YXRlPihyYXdPYmplY3QpO1xuICAgIHJldHVybiBzdG9yZU9iamVjdCBhcyBDb25maWd1cmF0aW9uU3RhdGU7XG4gIH1cbn07XG4iXX0=
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5zeW5jLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3N0b3Jlcy9jb25maWd1cmF0aW9uL2NvbmZpZ3VyYXRpb24uc3luYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsb0JBQW9CLEVBQUUseUJBQXlCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUd4RixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRztJQUN0QyxXQUFXLEVBQUUsQ0FBQyxTQUFjLEVBQUUsRUFBRTtRQUM5QixJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ2pDLE9BQU8seUJBQXlCLENBQUM7UUFDbkMsQ0FBQztRQUNELE1BQU0sV0FBVyxHQUFHLG9CQUFvQixDQUFDLGVBQWUsQ0FBcUIsU0FBUyxDQUFDLENBQUM7UUFDeEYsT0FBTyxXQUFpQyxDQUFDO0lBQzNDLENBQUM7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtjb25maWd1cmF0aW9uQWRhcHRlciwgY29uZmlndXJhdGlvbkluaXRpYWxTdGF0ZX0gZnJvbSAnLi9jb25maWd1cmF0aW9uLnJlZHVjZXInO1xuaW1wb3J0IHtDb25maWd1cmF0aW9uU3RhdGV9IGZyb20gJy4vY29uZmlndXJhdGlvbi5zdGF0ZSc7XG5cbmV4cG9ydCBjb25zdCBjb25maWd1cmF0aW9uU3RvcmFnZVN5bmMgPSB7XG4gIGRlc2VyaWFsaXplOiAocmF3T2JqZWN0OiBhbnkpID0+IHtcbiAgICBpZiAoIXJhd09iamVjdCB8fCAhcmF3T2JqZWN0Lmlkcykge1xuICAgICAgcmV0dXJuIGNvbmZpZ3VyYXRpb25Jbml0aWFsU3RhdGU7XG4gICAgfVxuICAgIGNvbnN0IHN0b3JlT2JqZWN0ID0gY29uZmlndXJhdGlvbkFkYXB0ZXIuZ2V0SW5pdGlhbFN0YXRlPENvbmZpZ3VyYXRpb25TdGF0ZT4ocmF3T2JqZWN0KTtcbiAgICByZXR1cm4gc3RvcmVPYmplY3QgYXMgQ29uZmlndXJhdGlvblN0YXRlO1xuICB9XG59O1xuIl19
@@ -0,0 +1,35 @@
1
+ import { otterComponentInfoPropertyName } from '@o3r/core';
2
+ const decorator = (target, key) => {
3
+ const privateField = `_${key}`;
4
+ if (delete target[key]) {
5
+ Object.defineProperty(target, key, {
6
+ get: function () {
7
+ return this[privateField];
8
+ },
9
+ set: function (value) {
10
+ this[privateField] = value;
11
+ if (this[otterComponentInfoPropertyName]) {
12
+ this[otterComponentInfoPropertyName].configId = this[privateField].configId;
13
+ }
14
+ },
15
+ enumerable: true,
16
+ configurable: true
17
+ });
18
+ }
19
+ };
20
+ /**
21
+ * Decorator to identify the configuration observer
22
+ * @deprecated please use O3rConfig, will be removed in v12
23
+ */
24
+ // eslint-disable-next-line @typescript-eslint/naming-convention
25
+ export function ConfigObserver() {
26
+ return decorator;
27
+ }
28
+ /**
29
+ * Decorator to identify the component's configuration
30
+ */
31
+ // eslint-disable-next-line @typescript-eslint/naming-convention
32
+ export function O3rConfig() {
33
+ return decorator;
34
+ }
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5kZWNvcmF0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Rvb2xzL2NvbmZpZ3VyYXRpb24uZGVjb3JhdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLDhCQUE4QixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBSTFFLE1BQU0sU0FBUyxHQUFHLENBQUMsTUFBVyxFQUFFLEdBQVcsRUFBRSxFQUFFO0lBQzdDLE1BQU0sWUFBWSxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7SUFFL0IsSUFBSSxPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ3ZCLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRTtZQUNqQyxHQUFHLEVBQUU7Z0JBQ0gsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDNUIsQ0FBQztZQUNELEdBQUcsRUFBRSxVQUFxQixLQUFnRjtnQkFDeEcsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLEtBQUssQ0FBQztnQkFDM0IsSUFBSSxJQUFJLENBQUMsOEJBQThCLENBQUMsRUFBRSxDQUFDO29CQUN6QyxJQUFJLENBQUMsOEJBQThCLENBQUMsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLFFBQVEsQ0FBQztnQkFDOUUsQ0FBQztZQUNILENBQUM7WUFDRCxVQUFVLEVBQUUsSUFBSTtZQUNoQixZQUFZLEVBQUUsSUFBSTtTQUNuQixDQUFDLENBQUM7SUFDTCxDQUFDO0FBQ0gsQ0FBQyxDQUFDO0FBRUY7OztHQUdHO0FBQ0gsZ0VBQWdFO0FBQ2hFLE1BQU0sVUFBVSxjQUFjO0lBQzVCLE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUM7QUFFRDs7R0FFRztBQUNILGdFQUFnRTtBQUNoRSxNQUFNLFVBQVUsU0FBUztJQUN2QixPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uZmlndXJhdGlvbiwgb3R0ZXJDb21wb25lbnRJbmZvUHJvcGVydHlOYW1lIH0gZnJvbSAnQG8zci9jb3JlJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25PYnNlcnZlciB9IGZyb20gJy4vY29uZmlndXJhdGlvbi5vYnNlcnZlcic7XG5pbXBvcnQgdHlwZSB7IENvbmZpZ3VyYXRpb25TaWduYWwgfSBmcm9tICcuL2NvbmZpZ3VyYXRpb24uc2lnbmFsJztcblxuY29uc3QgZGVjb3JhdG9yID0gKHRhcmdldDogYW55LCBrZXk6IHN0cmluZykgPT4ge1xuICBjb25zdCBwcml2YXRlRmllbGQgPSBgXyR7a2V5fWA7XG5cbiAgaWYgKGRlbGV0ZSB0YXJnZXRba2V5XSkge1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwge1xuICAgICAgZ2V0OiBmdW5jdGlvbiAodGhpczogYW55KSB7XG4gICAgICAgIHJldHVybiB0aGlzW3ByaXZhdGVGaWVsZF07XG4gICAgICB9LFxuICAgICAgc2V0OiBmdW5jdGlvbiAodGhpczogYW55LCB2YWx1ZTogQ29uZmlndXJhdGlvbk9ic2VydmVyPENvbmZpZ3VyYXRpb24+IHwgQ29uZmlndXJhdGlvblNpZ25hbDxDb25maWd1cmF0aW9uPikge1xuICAgICAgICB0aGlzW3ByaXZhdGVGaWVsZF0gPSB2YWx1ZTtcbiAgICAgICAgaWYgKHRoaXNbb3R0ZXJDb21wb25lbnRJbmZvUHJvcGVydHlOYW1lXSkge1xuICAgICAgICAgIHRoaXNbb3R0ZXJDb21wb25lbnRJbmZvUHJvcGVydHlOYW1lXS5jb25maWdJZCA9IHRoaXNbcHJpdmF0ZUZpZWxkXS5jb25maWdJZDtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICBjb25maWd1cmFibGU6IHRydWVcbiAgICB9KTtcbiAgfVxufTtcblxuLyoqXG4gKiBEZWNvcmF0b3IgdG8gaWRlbnRpZnkgdGhlIGNvbmZpZ3VyYXRpb24gb2JzZXJ2ZXJcbiAqIEBkZXByZWNhdGVkIHBsZWFzZSB1c2UgTzNyQ29uZmlnLCB3aWxsIGJlIHJlbW92ZWQgaW4gdjEyXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBmdW5jdGlvbiBDb25maWdPYnNlcnZlcigpIHtcbiAgcmV0dXJuIGRlY29yYXRvcjtcbn1cblxuLyoqXG4gKiBEZWNvcmF0b3IgdG8gaWRlbnRpZnkgdGhlIGNvbXBvbmVudCdzIGNvbmZpZ3VyYXRpb25cbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuZXhwb3J0IGZ1bmN0aW9uIE8zckNvbmZpZygpIHtcbiAgcmV0dXJuIGRlY29yYXRvcjtcbn1cbiJdfQ==
@@ -33,4 +33,4 @@ export class ConfigurationObserver {
33
33
  return this.observable;
34
34
  }
35
35
  }
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5vYnNlcnZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90b29scy9jb25maWd1cmF0aW9uLm9ic2VydmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxlQUFlLEVBQXdCLE1BQU0sTUFBTSxDQUFDO0FBQzdELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFHM0MsTUFBTSxPQUFPLHFCQUFxQjtJQVdoQztJQUNFLHVCQUF1QjtJQUNoQixRQUFnQixFQUN2QixhQUFnQixFQUNoQixvQkFBK0M7UUFGeEMsYUFBUSxHQUFSLFFBQVEsQ0FBUTtRQVJ6Qix1QkFBdUI7UUFDTixlQUFVLEdBQWdDLElBQUksZUFBZSxDQUFhLEVBQUUsQ0FBQyxDQUFDO1FBVzdGLElBQUksb0JBQW9CLEVBQUU7WUFDeEIsb0JBQW9CLENBQUMsbUJBQW1CLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1NBQ25FO1FBRUQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVTthQUM5QixJQUFJLENBQ0gsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLEVBQ3pILFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDZixDQUFDO0lBQ04sQ0FBQztJQUVELGtCQUFrQjtJQUNYLElBQUksQ0FBQyxLQUFrQjtRQUM1QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELGtCQUFrQjtJQUNYLEtBQUssQ0FBQyxHQUFRO1FBQ25CLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxrQkFBa0I7SUFDWCxRQUFRO1FBQ2IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztJQUNyQixDQUFDO0lBRUQsZ0NBQWdDO0lBQ3pCLFlBQVk7UUFDakIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbmZpZ3VyYXRpb24gfSBmcm9tICdAbzNyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBPYnNlcnZlciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc2hhcmVSZXBsYXkgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBnZXRDb25maWd1cmF0aW9uIH0gZnJvbSAnLi4vY29yZSc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uQmFzZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9jb25maWd1cmF0aW9uL2NvbmZpZ3VyYXRpb24uYmFzZS5zZXJ2aWNlJztcblxuZXhwb3J0IGNsYXNzIENvbmZpZ3VyYXRpb25PYnNlcnZlcjxUIGV4dGVuZHMgQ29uZmlndXJhdGlvbj4gaW1wbGVtZW50cyBPYnNlcnZlcjxQYXJ0aWFsPFQ+IHwgdW5kZWZpbmVkPiB7XG5cbiAgLyoqIElubmVyIG9ic2VydmFibGUgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBvYnNlcnZhYmxlOiBPYnNlcnZhYmxlPFQ+O1xuXG4gIC8qKiBJbm5lciBzdWJzY3JpYmVyICovXG4gIHByaXZhdGUgcmVhZG9ubHkgc3Vic2NyaWJlcjogQmVoYXZpb3JTdWJqZWN0PFBhcnRpYWw8VD4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxQYXJ0aWFsPFQ+Pih7fSk7XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHB1YmxpYyBjbG9zZWQ/OiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIC8qKiBDb25maWd1cmF0aW9uIElEICovXG4gICAgcHVibGljIGNvbmZpZ0lkOiBzdHJpbmcsXG4gICAgZGVmYXVsdENvbmZpZzogVCxcbiAgICBjb25maWd1cmF0aW9uU2VydmljZT86IENvbmZpZ3VyYXRpb25CYXNlU2VydmljZVxuICApIHtcbiAgICBpZiAoY29uZmlndXJhdGlvblNlcnZpY2UpIHtcbiAgICAgIGNvbmZpZ3VyYXRpb25TZXJ2aWNlLmV4dGVuZENvbmZpZ3VyYXRpb24oZGVmYXVsdENvbmZpZywgY29uZmlnSWQpO1xuICAgIH1cblxuICAgIHRoaXMub2JzZXJ2YWJsZSA9IHRoaXMuc3Vic2NyaWJlclxuICAgICAgLnBpcGUoXG4gICAgICAgIGNvbmZpZ3VyYXRpb25TZXJ2aWNlID8gY29uZmlndXJhdGlvblNlcnZpY2UuZ2V0Q29tcG9uZW50Q29uZmlnKGNvbmZpZ0lkLCBkZWZhdWx0Q29uZmlnKSA6IGdldENvbmZpZ3VyYXRpb24oZGVmYXVsdENvbmZpZyksXG4gICAgICAgIHNoYXJlUmVwbGF5KDEpXG4gICAgICApO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHB1YmxpYyBuZXh0KHZhbHVlPzogUGFydGlhbDxUPik6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaWJlci5uZXh0KHZhbHVlIHx8IHt9KTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwdWJsaWMgZXJyb3IoZXJyOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmliZXIuZXJyb3IoZXJyKTtcbiAgICB0aGlzLmNsb3NlZCA9IHRydWU7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHVibGljIGNvbXBsZXRlKCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaWJlci5jb21wbGV0ZSgpO1xuICAgIHRoaXMuY2xvc2VkID0gdHJ1ZTtcbiAgfVxuXG4gIC8qKiBAc2VlIFN1YmplY3QuYXNPYnNlcnZhYmxlICovXG4gIHB1YmxpYyBhc09ic2VydmFibGUoKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgcmV0dXJuIHRoaXMub2JzZXJ2YWJsZTtcbiAgfVxufVxuIl19
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5vYnNlcnZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90b29scy9jb25maWd1cmF0aW9uLm9ic2VydmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxlQUFlLEVBQXdCLE1BQU0sTUFBTSxDQUFDO0FBQzdELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFHM0MsTUFBTSxPQUFPLHFCQUFxQjtJQVdoQztJQUNFLHVCQUF1QjtJQUNoQixRQUFnQixFQUN2QixhQUFnQixFQUNoQixvQkFBK0M7UUFGeEMsYUFBUSxHQUFSLFFBQVEsQ0FBUTtRQVJ6Qix1QkFBdUI7UUFDTixlQUFVLEdBQWdDLElBQUksZUFBZSxDQUFhLEVBQUUsQ0FBQyxDQUFDO1FBVzdGLElBQUksb0JBQW9CLEVBQUUsQ0FBQztZQUN6QixvQkFBb0IsQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDcEUsQ0FBQztRQUVELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVU7YUFDOUIsSUFBSSxDQUNILG9CQUFvQixDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxFQUN6SCxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQztJQUNOLENBQUM7SUFFRCxrQkFBa0I7SUFDWCxJQUFJLENBQUMsS0FBa0I7UUFDNUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxrQkFBa0I7SUFDWCxLQUFLLENBQUMsR0FBUTtRQUNuQixJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztJQUNyQixDQUFDO0lBRUQsa0JBQWtCO0lBQ1gsUUFBUTtRQUNiLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7SUFDckIsQ0FBQztJQUVELGdDQUFnQztJQUN6QixZQUFZO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25maWd1cmF0aW9uIH0gZnJvbSAnQG8zci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgT2JzZXJ2ZXIgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHNoYXJlUmVwbGF5IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgZ2V0Q29uZmlndXJhdGlvbiB9IGZyb20gJy4uL2NvcmUnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvbkJhc2VTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvY29uZmlndXJhdGlvbi9jb25maWd1cmF0aW9uLmJhc2Uuc2VydmljZSc7XG5cbmV4cG9ydCBjbGFzcyBDb25maWd1cmF0aW9uT2JzZXJ2ZXI8VCBleHRlbmRzIENvbmZpZ3VyYXRpb24+IGltcGxlbWVudHMgT2JzZXJ2ZXI8UGFydGlhbDxUPiB8IHVuZGVmaW5lZD4ge1xuXG4gIC8qKiBJbm5lciBvYnNlcnZhYmxlICovXG4gIHByaXZhdGUgcmVhZG9ubHkgb2JzZXJ2YWJsZTogT2JzZXJ2YWJsZTxUPjtcblxuICAvKiogSW5uZXIgc3Vic2NyaWJlciAqL1xuICBwcml2YXRlIHJlYWRvbmx5IHN1YnNjcmliZXI6IEJlaGF2aW9yU3ViamVjdDxQYXJ0aWFsPFQ+PiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UGFydGlhbDxUPj4oe30pO1xuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwdWJsaWMgY2xvc2VkPzogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICAvKiogQ29uZmlndXJhdGlvbiBJRCAqL1xuICAgIHB1YmxpYyBjb25maWdJZDogc3RyaW5nLFxuICAgIGRlZmF1bHRDb25maWc6IFQsXG4gICAgY29uZmlndXJhdGlvblNlcnZpY2U/OiBDb25maWd1cmF0aW9uQmFzZVNlcnZpY2VcbiAgKSB7XG4gICAgaWYgKGNvbmZpZ3VyYXRpb25TZXJ2aWNlKSB7XG4gICAgICBjb25maWd1cmF0aW9uU2VydmljZS5leHRlbmRDb25maWd1cmF0aW9uKGRlZmF1bHRDb25maWcsIGNvbmZpZ0lkKTtcbiAgICB9XG5cbiAgICB0aGlzLm9ic2VydmFibGUgPSB0aGlzLnN1YnNjcmliZXJcbiAgICAgIC5waXBlKFxuICAgICAgICBjb25maWd1cmF0aW9uU2VydmljZSA/IGNvbmZpZ3VyYXRpb25TZXJ2aWNlLmdldENvbXBvbmVudENvbmZpZyhjb25maWdJZCwgZGVmYXVsdENvbmZpZykgOiBnZXRDb25maWd1cmF0aW9uKGRlZmF1bHRDb25maWcpLFxuICAgICAgICBzaGFyZVJlcGxheSgxKVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwdWJsaWMgbmV4dCh2YWx1ZT86IFBhcnRpYWw8VD4pOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmliZXIubmV4dCh2YWx1ZSB8fCB7fSk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHVibGljIGVycm9yKGVycjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpYmVyLmVycm9yKGVycik7XG4gICAgdGhpcy5jbG9zZWQgPSB0cnVlO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHB1YmxpYyBjb21wbGV0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmliZXIuY29tcGxldGUoKTtcbiAgICB0aGlzLmNsb3NlZCA9IHRydWU7XG4gIH1cblxuICAvKiogQHNlZSBTdWJqZWN0LmFzT2JzZXJ2YWJsZSAqL1xuICBwdWJsaWMgYXNPYnNlcnZhYmxlKCk6IE9ic2VydmFibGU8VD4ge1xuICAgIHJldHVybiB0aGlzLm9ic2VydmFibGU7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,19 @@
1
+ import { toObservable, toSignal } from '@angular/core/rxjs-interop';
2
+ import { shareReplay } from 'rxjs';
3
+ import { getConfiguration } from '../core';
4
+ /**
5
+ * Get a configuration signal
6
+ * @param configInput
7
+ * @param configId
8
+ * @param defaultConfig
9
+ * @param configurationService
10
+ */
11
+ export const configSignal = (configInput, configId, defaultConfig, configurationService) => {
12
+ if (configurationService) {
13
+ configurationService.extendConfiguration(defaultConfig, configId);
14
+ }
15
+ const signal = toSignal(toObservable(configInput).pipe(configurationService ? configurationService.getComponentConfig(configId, defaultConfig) : getConfiguration(defaultConfig), shareReplay({ bufferSize: 1, refCount: true })), { initialValue: defaultConfig });
16
+ signal.configId = configId;
17
+ return signal;
18
+ };
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5zaWduYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdG9vbHMvY29uZmlndXJhdGlvbi5zaWduYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVwRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ25DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQU0zQzs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsQ0FDMUIsV0FBZ0QsRUFDaEQsUUFBZ0IsRUFDaEIsYUFBZ0IsRUFDaEIsb0JBQXNELEVBQzlCLEVBQUU7SUFDMUIsSUFBSSxvQkFBb0IsRUFBRSxDQUFDO1FBQ3pCLG9CQUFvQixDQUFDLG1CQUFtQixDQUFDLGFBQWEsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsTUFBTSxNQUFNLEdBQTJCLFFBQVEsQ0FDN0MsWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FDNUIsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLEVBQ3pILFdBQVcsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQy9DLEVBQ0QsRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLENBQ04sQ0FBQztJQUM1QixNQUFNLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUMzQixPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IElucHV0U2lnbmFsLCBTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRvT2JzZXJ2YWJsZSwgdG9TaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgdHlwZSB7IENvbmZpZ3VyYXRpb24gfSBmcm9tICdAbzNyL2NvcmUnO1xuaW1wb3J0IHsgc2hhcmVSZXBsYXkgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGdldENvbmZpZ3VyYXRpb24gfSBmcm9tICcuLi9jb3JlJztcbmltcG9ydCB0eXBlIHsgQ29uZmlndXJhdGlvbkJhc2VTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMnO1xuXG4vKiogQ29uZmlndXJhdGlvbiBzaWduYWwgKi9cbmV4cG9ydCB0eXBlIENvbmZpZ3VyYXRpb25TaWduYWw8VD4gPSBTaWduYWw8VD4gJiB7IGNvbmZpZ0lkOiBzdHJpbmcgfTtcblxuLyoqXG4gKiBHZXQgYSBjb25maWd1cmF0aW9uIHNpZ25hbFxuICogQHBhcmFtIGNvbmZpZ0lucHV0XG4gKiBAcGFyYW0gY29uZmlnSWRcbiAqIEBwYXJhbSBkZWZhdWx0Q29uZmlnXG4gKiBAcGFyYW0gY29uZmlndXJhdGlvblNlcnZpY2VcbiAqL1xuZXhwb3J0IGNvbnN0IGNvbmZpZ1NpZ25hbCA9IDxUIGV4dGVuZHMgQ29uZmlndXJhdGlvbj4oXG4gIGNvbmZpZ0lucHV0OiBJbnB1dFNpZ25hbDxQYXJ0aWFsPFQ+IHwgdW5kZWZpbmVkPixcbiAgY29uZmlnSWQ6IHN0cmluZyxcbiAgZGVmYXVsdENvbmZpZzogVCxcbiAgY29uZmlndXJhdGlvblNlcnZpY2U/OiBDb25maWd1cmF0aW9uQmFzZVNlcnZpY2UgfCBudWxsXG4pOiBDb25maWd1cmF0aW9uU2lnbmFsPFQ+ID0+IHtcbiAgaWYgKGNvbmZpZ3VyYXRpb25TZXJ2aWNlKSB7XG4gICAgY29uZmlndXJhdGlvblNlcnZpY2UuZXh0ZW5kQ29uZmlndXJhdGlvbihkZWZhdWx0Q29uZmlnLCBjb25maWdJZCk7XG4gIH1cblxuICBjb25zdCBzaWduYWw6IENvbmZpZ3VyYXRpb25TaWduYWw8VD4gPSB0b1NpZ25hbChcbiAgICB0b09ic2VydmFibGUoY29uZmlnSW5wdXQpLnBpcGUoXG4gICAgICBjb25maWd1cmF0aW9uU2VydmljZSA/IGNvbmZpZ3VyYXRpb25TZXJ2aWNlLmdldENvbXBvbmVudENvbmZpZyhjb25maWdJZCwgZGVmYXVsdENvbmZpZykgOiBnZXRDb25maWd1cmF0aW9uKGRlZmF1bHRDb25maWcpLFxuICAgICAgc2hhcmVSZXBsYXkoeyBidWZmZXJTaXplOiAxLCByZWZDb3VudDogdHJ1ZSB9KVxuICAgICksXG4gICAgeyBpbml0aWFsVmFsdWU6IGRlZmF1bHRDb25maWcgfVxuICApIGFzIENvbmZpZ3VyYXRpb25TaWduYWw8VD47XG4gIHNpZ25hbC5jb25maWdJZCA9IGNvbmZpZ0lkO1xuICByZXR1cm4gc2lnbmFsO1xufTtcbiJdfQ==
@@ -1,3 +1,4 @@
1
- export * from './configuration.decorator';
1
+ export * from './configuration.decorators';
2
2
  export * from './configuration.observer';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdG9vbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDBCQUEwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jb25maWd1cmF0aW9uLmRlY29yYXRvcic7XG5leHBvcnQgKiBmcm9tICcuL2NvbmZpZ3VyYXRpb24ub2JzZXJ2ZXInO1xuIl19
3
+ export * from './configuration.signal';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdG9vbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbmZpZ3VyYXRpb24uZGVjb3JhdG9ycyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbmZpZ3VyYXRpb24ub2JzZXJ2ZXInO1xuZXhwb3J0ICogZnJvbSAnLi9jb25maWd1cmF0aW9uLnNpZ25hbCc7XG4iXX0=
@@ -33,21 +33,21 @@ class ConfigurationRulesEngineActionHandler {
33
33
  }, {});
34
34
  this.store.dispatch(setConfigOverride({ state: { configOverrides } }));
35
35
  }
36
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ConfigurationRulesEngineActionHandler, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Injectable }); }
37
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ConfigurationRulesEngineActionHandler }); }
36
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ConfigurationRulesEngineActionHandler, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Injectable }); }
37
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ConfigurationRulesEngineActionHandler }); }
38
38
  }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ConfigurationRulesEngineActionHandler, decorators: [{
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ConfigurationRulesEngineActionHandler, decorators: [{
40
40
  type: Injectable
41
41
  }], ctorParameters: () => [{ type: i1.Store }] });
42
42
 
43
43
  class ConfigurationRulesEngineActionModule {
44
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ConfigurationRulesEngineActionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
45
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.8", ngImport: i0, type: ConfigurationRulesEngineActionModule, imports: [ConfigurationStoreModule] }); }
46
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ConfigurationRulesEngineActionModule, providers: [
44
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ConfigurationRulesEngineActionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
45
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.6", ngImport: i0, type: ConfigurationRulesEngineActionModule, imports: [ConfigurationStoreModule] }); }
46
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ConfigurationRulesEngineActionModule, providers: [
47
47
  ConfigurationRulesEngineActionHandler
48
48
  ], imports: [ConfigurationStoreModule] }); }
49
49
  }
50
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ConfigurationRulesEngineActionModule, decorators: [{
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ConfigurationRulesEngineActionModule, decorators: [{
51
51
  type: NgModule,
52
52
  args: [{
53
53
  imports: [
@@ -2,12 +2,13 @@ import { computeItemIdentifier, deepFill, sendOtterMessage, filterMessageContent
2
2
  import { map, distinctUntilChanged, shareReplay, filter, take, switchMap } from 'rxjs/operators';
3
3
  import * as i0 from '@angular/core';
4
4
  import { InjectionToken, NgModule, Injectable, Optional, Inject } from '@angular/core';
5
- import { firstValueFrom, Subscription, fromEvent, of, combineLatest, BehaviorSubject } from 'rxjs';
5
+ import { firstValueFrom, Subscription, fromEvent, of, combineLatest, BehaviorSubject, shareReplay as shareReplay$1 } from 'rxjs';
6
6
  import * as i1 from '@ngrx/store';
7
- import { props, createAction, on, createReducer, StoreModule, createFeatureSelector, createSelector, select } from '@ngrx/store';
7
+ import { createAction, props, on, createReducer, StoreModule, createFeatureSelector, createSelector, select } from '@ngrx/store';
8
8
  import { createEntityAdapter } from '@ngrx/entity';
9
9
  import * as i2 from '@o3r/logger';
10
10
  import { LoggerModule } from '@o3r/logger';
11
+ import { toSignal, toObservable } from '@angular/core/rxjs-interop';
11
12
 
12
13
  /**
13
14
  * Get the configuration name
@@ -95,13 +96,13 @@ class ConfigOverrideStoreModule {
95
96
  ]
96
97
  };
97
98
  }
98
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ConfigOverrideStoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
99
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.8", ngImport: i0, type: ConfigOverrideStoreModule, imports: [i1.StoreFeatureModule] }); }
100
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ConfigOverrideStoreModule, providers: [
99
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ConfigOverrideStoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
100
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.6", ngImport: i0, type: ConfigOverrideStoreModule, imports: [i1.StoreFeatureModule] }); }
101
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ConfigOverrideStoreModule, providers: [
101
102
  { provide: CONFIG_OVERRIDE_REDUCER_TOKEN, useFactory: getDefaultConfigOverrideReducer }
102
103
  ], imports: [StoreModule.forFeature(CONFIG_OVERRIDE_STORE_NAME, CONFIG_OVERRIDE_REDUCER_TOKEN)] }); }
103
104
  }
104
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ConfigOverrideStoreModule, decorators: [{
105
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ConfigOverrideStoreModule, decorators: [{
105
106
  type: NgModule,
106
107
  args: [{
107
108
  imports: [
@@ -233,13 +234,13 @@ class ConfigurationStoreModule {
233
234
  ]
234
235
  };
235
236
  }
236
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ConfigurationStoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
237
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.8", ngImport: i0, type: ConfigurationStoreModule, imports: [i1.StoreFeatureModule] }); }
238
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ConfigurationStoreModule, providers: [
237
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ConfigurationStoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
238
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.6", ngImport: i0, type: ConfigurationStoreModule, imports: [i1.StoreFeatureModule] }); }
239
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ConfigurationStoreModule, providers: [
239
240
  { provide: CONFIGURATION_REDUCER_TOKEN, useFactory: getDefaultConfigurationReducer }
240
241
  ], imports: [StoreModule.forFeature(CONFIGURATION_STORE_NAME, CONFIGURATION_REDUCER_TOKEN)] }); }
241
242
  }
242
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ConfigurationStoreModule, decorators: [{
243
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ConfigurationStoreModule, decorators: [{
243
244
  type: NgModule,
244
245
  args: [{
245
246
  imports: [
@@ -316,10 +317,10 @@ class OtterConfigurationDevtools {
316
317
  }
317
318
  /**
318
319
  * Get configuration name based on input information
319
- * @param selector Selector for a component configuration. It can be a string in the form library#componentName (i.e: @refx/shared-components#HeaderContComponent)
320
- * or an object with the component and library names (i.e: {library:"@refx/shared-components", componentName:'HeaderContComponent'})
320
+ * @param selector Selector for a component configuration. It can be a string in the form library#componentName (i.e: @my-lib/shared-components#HeaderContComponent)
321
+ * or an object with the component and library names (i.e: {library:"@my-lib/shared-components", componentName:'HeaderContComponent'})
321
322
  * @param isFallbackName Determine if the name requested is a fallback name
322
- * @returns string in the format library#componentName (i.e: "@refx/shared-components#HeaderContComponent")
323
+ * @returns string in the format library#componentName (i.e: "@my-lib/shared-components#HeaderContComponent")
323
324
  */
324
325
  getComponentConfigName(selector, isFallbackName = false) {
325
326
  if (!isFallbackName) {
@@ -353,8 +354,8 @@ class OtterConfigurationDevtools {
353
354
  }
354
355
  /**
355
356
  * Get the configuration for a specific component
356
- * @param selector Selector for a component configuration. It can be a string in the form library#configurationName (i.e: @refx/shared-components#HeaderPresConfig)
357
- * or an object with the configuration and library names (i.e: {library:"@refx/shared-components", componentName:'HeaderPresConfig'})
357
+ * @param selector Selector for a component configuration. It can be a string in the form library#configurationName (i.e: @my-lib/shared-components#HeaderPresConfig)
358
+ * or an object with the configuration and library names (i.e: {library:"@my-lib/shared-components", componentName:'HeaderPresConfig'})
358
359
  */
359
360
  getCurrentConfigurationFor(selector) {
360
361
  return firstValueFrom(this.store.pipe(select(selectConfigurationEntities), map((entities) => entities[this.getComponentConfigName(selector)] || entities[this.getComponentConfigName(selector, true)]), filter((entity) => !!entity), map((entity) => {
@@ -377,10 +378,10 @@ class OtterConfigurationDevtools {
377
378
  this.store.dispatch(upsertConfigurationEntities(computeConfiguration(typeof configurations === 'string' ? JSON.parse(configurations) : configurations)));
378
379
  this.appRef.tick();
379
380
  }
380
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: OtterConfigurationDevtools, deps: [{ token: i1.Store }, { token: i0.ApplicationRef }, { token: OTTER_CONFIGURATION_DEVTOOLS_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
381
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: OtterConfigurationDevtools, providedIn: 'root' }); }
381
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: OtterConfigurationDevtools, deps: [{ token: i1.Store }, { token: i0.ApplicationRef }, { token: OTTER_CONFIGURATION_DEVTOOLS_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
382
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: OtterConfigurationDevtools, providedIn: 'root' }); }
382
383
  }
383
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: OtterConfigurationDevtools, decorators: [{
384
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: OtterConfigurationDevtools, decorators: [{
384
385
  type: Injectable,
385
386
  args: [{ providedIn: 'root' }]
386
387
  }], ctorParameters: () => [{ type: i1.Store }, { type: i0.ApplicationRef }, { type: undefined, decorators: [{
@@ -439,7 +440,7 @@ class ConfigurationDevtoolsConsoleService {
439
440
  }
440
441
  /**
441
442
  * Display the list of configurations loaded in the store and the library they originate from
442
- * @returns array with the configurations and libraries for example: ["RefxComponentsCommonRuntimeConfig from @refx/shared-common"]
443
+ * @returns array with the configurations and libraries for example: ["LibComponentsCommonRuntimeConfig from @my-lib/shared-common"]
443
444
  */
444
445
  async displayComponentsWithConfiguration() {
445
446
  const selectors = await this.configurationDevtools.getComponentsWithConfiguration();
@@ -447,8 +448,8 @@ class ConfigurationDevtoolsConsoleService {
447
448
  }
448
449
  /**
449
450
  * Display the configuration for a specific component
450
- * @param selector Selector for a component configuration. It can be a string in the form library#configurationName (i.e: '@refx/shared-components#HeaderContConfig')
451
- * or an object with the configuration and library names (i.e: {library:"@refx/shared-components", componentName:'HeaderContConfig'}).
451
+ * @param selector Selector for a component configuration. It can be a string in the form library#configurationName (i.e: '@my-lib/shared-components#HeaderContConfig')
452
+ * or an object with the configuration and library names (i.e: {library:"@my-lib/shared-components", componentName:'HeaderContConfig'}).
452
453
  * Note the object input componentName expects a configuration name not a component name.
453
454
  * @returns Configuration object (i.e: {airlineLogoPath: "img/airlines/icon-BH.svg", displayLanguageSelector: false})
454
455
  */
@@ -501,10 +502,10 @@ class ConfigurationDevtoolsConsoleService {
501
502
  updateConfigurations(configurations) {
502
503
  this.configurationDevtools.loadConfiguration(configurations);
503
504
  }
504
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ConfigurationDevtoolsConsoleService, deps: [{ token: OtterConfigurationDevtools }, { token: OTTER_CONFIGURATION_DEVTOOLS_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
505
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ConfigurationDevtoolsConsoleService, providedIn: 'root' }); }
505
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ConfigurationDevtoolsConsoleService, deps: [{ token: OtterConfigurationDevtools }, { token: OTTER_CONFIGURATION_DEVTOOLS_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
506
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ConfigurationDevtoolsConsoleService, providedIn: 'root' }); }
506
507
  }
507
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ConfigurationDevtoolsConsoleService, decorators: [{
508
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ConfigurationDevtoolsConsoleService, decorators: [{
508
509
  type: Injectable,
509
510
  args: [{
510
511
  providedIn: 'root'
@@ -591,10 +592,10 @@ class ConfigurationDevtoolsMessageService {
591
592
  ngOnDestroy() {
592
593
  this.subscriptions.unsubscribe();
593
594
  }
594
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ConfigurationDevtoolsMessageService, deps: [{ token: i1.Store }, { token: i2.LoggerService }, { token: OtterConfigurationDevtools }, { token: OTTER_CONFIGURATION_DEVTOOLS_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
595
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ConfigurationDevtoolsMessageService, providedIn: 'root' }); }
595
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ConfigurationDevtoolsMessageService, deps: [{ token: i1.Store }, { token: i2.LoggerService }, { token: OtterConfigurationDevtools }, { token: OTTER_CONFIGURATION_DEVTOOLS_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
596
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ConfigurationDevtoolsMessageService, providedIn: 'root' }); }
596
597
  }
597
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ConfigurationDevtoolsMessageService, decorators: [{
598
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ConfigurationDevtoolsMessageService, decorators: [{
598
599
  type: Injectable,
599
600
  args: [{
600
601
  providedIn: 'root'
@@ -622,10 +623,10 @@ class ConfigurationDevtoolsModule {
622
623
  ]
623
624
  };
624
625
  }
625
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ConfigurationDevtoolsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
626
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.8", ngImport: i0, type: ConfigurationDevtoolsModule, imports: [StoreModule,
626
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ConfigurationDevtoolsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
627
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.6", ngImport: i0, type: ConfigurationDevtoolsModule, imports: [StoreModule,
627
628
  ConfigurationStoreModule] }); }
628
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ConfigurationDevtoolsModule, providers: [
629
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ConfigurationDevtoolsModule, providers: [
629
630
  { provide: OTTER_CONFIGURATION_DEVTOOLS_OPTIONS, useValue: OTTER_CONFIGURATION_DEVTOOLS_DEFAULT_OPTIONS },
630
631
  ConfigurationDevtoolsMessageService,
631
632
  ConfigurationDevtoolsConsoleService,
@@ -633,7 +634,7 @@ class ConfigurationDevtoolsModule {
633
634
  ], imports: [StoreModule,
634
635
  ConfigurationStoreModule] }); }
635
636
  }
636
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ConfigurationDevtoolsModule, decorators: [{
637
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ConfigurationDevtoolsModule, decorators: [{
637
638
  type: NgModule,
638
639
  args: [{
639
640
  imports: [
@@ -650,11 +651,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
650
651
  }] });
651
652
 
652
653
  class ConfigurationBaseServiceModule {
653
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ConfigurationBaseServiceModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
654
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.8", ngImport: i0, type: ConfigurationBaseServiceModule, imports: [ConfigurationStoreModule, LoggerModule] }); }
655
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ConfigurationBaseServiceModule, imports: [ConfigurationStoreModule, LoggerModule] }); }
654
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ConfigurationBaseServiceModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
655
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.6", ngImport: i0, type: ConfigurationBaseServiceModule, imports: [ConfigurationStoreModule, LoggerModule] }); }
656
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ConfigurationBaseServiceModule, imports: [ConfigurationStoreModule, LoggerModule] }); }
656
657
  }
657
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ConfigurationBaseServiceModule, decorators: [{
658
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ConfigurationBaseServiceModule, decorators: [{
658
659
  type: NgModule,
659
660
  args: [{
660
661
  imports: [ConfigurationStoreModule, LoggerModule]
@@ -741,39 +742,48 @@ class ConfigurationBaseService {
741
742
  const overrideConfig$ = this.store.pipe(select(selectComponentOverrideConfig(id)));
742
743
  return combineLatest([globalConfig$, componentConfig$, overrideConfig$]).pipe(map(([globalConfig, componentConfig, overrideConfig]) => ({ ...globalConfig, ...componentConfig, ...overrideConfig })), distinctUntilChanged(jsonStringifyDiff));
743
744
  }
744
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ConfigurationBaseService, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Injectable }); }
745
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ConfigurationBaseService, providedIn: ConfigurationBaseServiceModule }); }
745
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ConfigurationBaseService, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Injectable }); }
746
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ConfigurationBaseService, providedIn: ConfigurationBaseServiceModule }); }
746
747
  }
747
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ConfigurationBaseService, decorators: [{
748
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ConfigurationBaseService, decorators: [{
748
749
  type: Injectable,
749
750
  args: [{
750
751
  providedIn: ConfigurationBaseServiceModule
751
752
  }]
752
753
  }], ctorParameters: () => [{ type: i1.Store }] });
753
754
 
755
+ const decorator = (target, key) => {
756
+ const privateField = `_${key}`;
757
+ if (delete target[key]) {
758
+ Object.defineProperty(target, key, {
759
+ get: function () {
760
+ return this[privateField];
761
+ },
762
+ set: function (value) {
763
+ this[privateField] = value;
764
+ if (this[otterComponentInfoPropertyName]) {
765
+ this[otterComponentInfoPropertyName].configId = this[privateField].configId;
766
+ }
767
+ },
768
+ enumerable: true,
769
+ configurable: true
770
+ });
771
+ }
772
+ };
754
773
  /**
755
774
  * Decorator to identify the configuration observer
775
+ * @deprecated please use O3rConfig, will be removed in v12
756
776
  */
757
777
  // eslint-disable-next-line @typescript-eslint/naming-convention
758
778
  function ConfigObserver() {
759
- return (target, key) => {
760
- const privateField = `_${key}`;
761
- if (delete target[key]) {
762
- Object.defineProperty(target, key, {
763
- get: function () {
764
- return this[privateField];
765
- },
766
- set: function (value) {
767
- this[privateField] = value;
768
- if (this[otterComponentInfoPropertyName]) {
769
- this[otterComponentInfoPropertyName].configId = this[privateField].configId;
770
- }
771
- },
772
- enumerable: true,
773
- configurable: true
774
- });
775
- }
776
- };
779
+ return decorator;
780
+ }
781
+ /**
782
+ * Decorator to identify the component's configuration
783
+ */
784
+ // eslint-disable-next-line @typescript-eslint/naming-convention
785
+ function O3rConfig() {
786
+ return decorator;
777
787
  }
778
788
 
779
789
  class ConfigurationObserver {
@@ -809,9 +819,25 @@ class ConfigurationObserver {
809
819
  }
810
820
  }
811
821
 
822
+ /**
823
+ * Get a configuration signal
824
+ * @param configInput
825
+ * @param configId
826
+ * @param defaultConfig
827
+ * @param configurationService
828
+ */
829
+ const configSignal = (configInput, configId, defaultConfig, configurationService) => {
830
+ if (configurationService) {
831
+ configurationService.extendConfiguration(defaultConfig, configId);
832
+ }
833
+ const signal = toSignal(toObservable(configInput).pipe(configurationService ? configurationService.getComponentConfig(configId, defaultConfig) : getConfiguration(defaultConfig), shareReplay$1({ bufferSize: 1, refCount: true })), { initialValue: defaultConfig });
834
+ signal.configId = configId;
835
+ return signal;
836
+ };
837
+
812
838
  /**
813
839
  * Generated bundle index. Do not edit.
814
840
  */
815
841
 
816
- export { CONFIGURATION_REDUCER_TOKEN, CONFIGURATION_STORE_NAME, CONFIG_OVERRIDE_REDUCER_TOKEN, CONFIG_OVERRIDE_STORE_NAME, ConfigObserver, ConfigOverrideStoreModule, ConfigurationBaseService, ConfigurationBaseServiceModule, ConfigurationDevtoolsConsoleService, ConfigurationDevtoolsMessageService, ConfigurationDevtoolsModule, ConfigurationObserver, ConfigurationStoreModule, OTTER_CONFIGURATION_DEVTOOLS_DEFAULT_OPTIONS, OTTER_CONFIGURATION_DEVTOOLS_OPTIONS, OtterConfigurationDevtools, clearConfigurationEntities, computeConfiguration, computeConfigurationName, configOverrideInitialState, configOverrideReducer, configOverrideReducerFeatures, configOverrideStorageDeserializer, configOverrideStorageSync, configurationAdapter, configurationInitialState, configurationReducer, configurationReducerFeatures, configurationStorageSync, getConfiguration, getDefaultConfigOverrideReducer, getDefaultConfigurationReducer, globalConfigurationId, isConfigurationMessage, parseConfigurationName, selectAllConfiguration, selectComponentOverrideConfig, selectConfigOverride, selectConfigOverrideState, selectConfigurationEntities, selectConfigurationForComponent, selectConfigurationIds, selectConfigurationState, selectConfigurationTotal, selectGlobalConfiguration, setConfigOverride, setConfigurationEntities, updateConfigurationEntities, updateConfigurationEntity, upsertConfigurationEntities, upsertConfigurationEntity };
842
+ export { CONFIGURATION_REDUCER_TOKEN, CONFIGURATION_STORE_NAME, CONFIG_OVERRIDE_REDUCER_TOKEN, CONFIG_OVERRIDE_STORE_NAME, ConfigObserver, ConfigOverrideStoreModule, ConfigurationBaseService, ConfigurationBaseServiceModule, ConfigurationDevtoolsConsoleService, ConfigurationDevtoolsMessageService, ConfigurationDevtoolsModule, ConfigurationObserver, ConfigurationStoreModule, O3rConfig, OTTER_CONFIGURATION_DEVTOOLS_DEFAULT_OPTIONS, OTTER_CONFIGURATION_DEVTOOLS_OPTIONS, OtterConfigurationDevtools, clearConfigurationEntities, computeConfiguration, computeConfigurationName, configOverrideInitialState, configOverrideReducer, configOverrideReducerFeatures, configOverrideStorageDeserializer, configOverrideStorageSync, configSignal, configurationAdapter, configurationInitialState, configurationReducer, configurationReducerFeatures, configurationStorageSync, getConfiguration, getDefaultConfigOverrideReducer, getDefaultConfigurationReducer, globalConfigurationId, isConfigurationMessage, parseConfigurationName, selectAllConfiguration, selectComponentOverrideConfig, selectConfigOverride, selectConfigOverrideState, selectConfigurationEntities, selectConfigurationForComponent, selectConfigurationIds, selectConfigurationState, selectConfigurationTotal, selectGlobalConfiguration, setConfigOverride, setConfigurationEntities, updateConfigurationEntities, updateConfigurationEntity, upsertConfigurationEntities, upsertConfigurationEntity };
817
843
  //# sourceMappingURL=o3r-configuration.mjs.map