@o3r/components 10.0.0-next.9 → 11.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.
Files changed (134) hide show
  1. package/README.md +1 -1
  2. package/builders/component-extractor/helpers/component/component-class.extractor.d.ts +2 -0
  3. package/builders/component-extractor/helpers/component/component-class.extractor.d.ts.map +1 -1
  4. package/builders/component-extractor/helpers/component/component-class.extractor.js +14 -8
  5. package/builders/component-extractor/helpers/component/component-class.extractor.js.map +1 -1
  6. package/builders/component-extractor/helpers/component/component-config.extractor.d.ts.map +1 -1
  7. package/builders/component-extractor/helpers/component/component-config.extractor.js +6 -2
  8. package/builders/component-extractor/helpers/component/component-config.extractor.js.map +1 -1
  9. package/builders/component-extractor/helpers/component/component.extractor.d.ts +5 -5
  10. package/builders/component-extractor/helpers/component/component.extractor.d.ts.map +1 -1
  11. package/builders/component-extractor/helpers/component/component.extractor.js +4 -2
  12. package/builders/component-extractor/helpers/component/component.extractor.js.map +1 -1
  13. package/builders/component-extractor/helpers/component/component.parser.d.ts +9 -6
  14. package/builders/component-extractor/helpers/component/component.parser.d.ts.map +1 -1
  15. package/builders/component-extractor/helpers/component/component.parser.js +36 -10
  16. package/builders/component-extractor/helpers/component/component.parser.js.map +1 -1
  17. package/builders/component-extractor/index.d.ts +0 -1
  18. package/builders/component-extractor/index.d.ts.map +1 -1
  19. package/builders/component-extractor/index.js +8 -9
  20. package/builders/component-extractor/index.js.map +1 -1
  21. package/builders/component-extractor/schema.d.ts +5 -0
  22. package/builders/component-extractor/schema.d.ts.map +1 -1
  23. package/builders/component-extractor/schema.json +22 -1
  24. package/core/component.output.d.ts +8 -11
  25. package/core/component.output.d.ts.map +1 -1
  26. package/core/index.d.ts +0 -1
  27. package/core/index.d.ts.map +1 -1
  28. package/core/rendering/helpers.d.ts +0 -1
  29. package/core/rendering/helpers.d.ts.map +1 -1
  30. package/devkit/components-devkit.interface.d.ts +0 -1
  31. package/devkit/components-devkit.interface.d.ts.map +1 -1
  32. package/devkit/components-devtools.message.service.d.ts +4 -6
  33. package/devkit/components-devtools.message.service.d.ts.map +1 -1
  34. package/devkit/components-devtools.module.d.ts +0 -1
  35. package/devkit/components-devtools.module.d.ts.map +1 -1
  36. package/devkit/inspector/ng/ng.d.ts +0 -3
  37. package/devkit/inspector/ng/ng.d.ts.map +1 -1
  38. package/devkit/inspector/otter-inspector.helpers.d.ts +0 -7
  39. package/devkit/inspector/otter-inspector.helpers.d.ts.map +1 -1
  40. package/devkit/inspector/otter-inspector.service.d.ts +5 -6
  41. package/devkit/inspector/otter-inspector.service.d.ts.map +1 -1
  42. package/esm2022/core/component.output.mjs +1 -1
  43. package/esm2022/core/index.mjs +1 -2
  44. package/esm2022/core/rendering/helpers.mjs +1 -2
  45. package/esm2022/devkit/components-devkit.interface.mjs +1 -2
  46. package/esm2022/devkit/components-devtools.message.service.mjs +6 -8
  47. package/esm2022/devkit/components-devtools.module.mjs +5 -6
  48. package/esm2022/devkit/inspector/ng/ng.mjs +1 -1
  49. package/esm2022/devkit/inspector/otter-inspector.helpers.mjs +1 -8
  50. package/esm2022/devkit/inspector/otter-inspector.service.mjs +1 -2
  51. package/esm2022/public_api.mjs +1 -1
  52. package/esm2022/rules-engine/o3r-components-rules-engine.mjs +5 -0
  53. package/esm2022/rules-engine/placeholder.action-handler.mjs +154 -0
  54. package/esm2022/rules-engine/placeholder.interfaces.mjs +3 -0
  55. package/esm2022/rules-engine/placeholder.rules-engine.effect.mjs +124 -0
  56. package/esm2022/rules-engine/placeholder.rules-engine.module.mjs +31 -0
  57. package/esm2022/rules-engine/public_api.mjs +4 -0
  58. package/esm2022/stores/placeholder-request/placeholder-request.module.mjs +4 -4
  59. package/esm2022/stores/placeholder-request/placeholder-request.selectors.mjs +1 -2
  60. package/esm2022/stores/placeholder-template/placeholder-template.module.mjs +4 -4
  61. package/esm2022/stores/placeholder-template/placeholder-template.selectors.mjs +24 -10
  62. package/esm2022/tools/component-replacement/c11n.directive.mjs +17 -23
  63. package/esm2022/tools/component-replacement/c11n.helpers.mjs +1 -2
  64. package/esm2022/tools/component-replacement/c11n.mock.module.mjs +10 -10
  65. package/esm2022/tools/component-replacement/c11n.module.mjs +5 -6
  66. package/esm2022/tools/component-replacement/c11n.service.mjs +6 -8
  67. package/esm2022/tools/pipes/capitalize/capitalize.module.mjs +4 -4
  68. package/esm2022/tools/pipes/capitalize/capitalize.pipe.mjs +3 -3
  69. package/esm2022/tools/pipes/duration/duration.module.mjs +4 -4
  70. package/esm2022/tools/pipes/duration/duration.pipe.mjs +4 -5
  71. package/esm2022/tools/pipes/keep-white-space/keep-white-space.module.mjs +4 -4
  72. package/esm2022/tools/pipes/keep-white-space/keep-white-space.pipe.mjs +3 -3
  73. package/esm2022/tools/pipes/replace-with-bold/replace-with-bold.module.mjs +4 -4
  74. package/esm2022/tools/pipes/replace-with-bold/replace-with-bold.pipe.mjs +3 -3
  75. package/esm2022/tools/placeholder/placeholder.component.mjs +44 -23
  76. package/esm2022/tools/placeholder/placeholder.interface.mjs +2 -0
  77. package/esm2022/tools/placeholder/placeholder.module.mjs +4 -4
  78. package/fesm2022/o3r-components-rules-engine.mjs +302 -0
  79. package/fesm2022/o3r-components-rules-engine.mjs.map +1 -0
  80. package/fesm2022/o3r-components.mjs +150 -141
  81. package/fesm2022/o3r-components.mjs.map +1 -1
  82. package/package.json +62 -33
  83. package/public_api.d.ts +1 -1
  84. package/public_api.d.ts.map +1 -1
  85. package/rules-engine/index.d.ts +6 -0
  86. package/rules-engine/o3r-components-rules-engine.d.ts.map +1 -0
  87. package/rules-engine/placeholder.action-handler.d.ts +42 -0
  88. package/rules-engine/placeholder.action-handler.d.ts.map +1 -0
  89. package/rules-engine/placeholder.interfaces.d.ts +13 -0
  90. package/rules-engine/placeholder.interfaces.d.ts.map +1 -0
  91. package/rules-engine/placeholder.rules-engine.effect.d.ts +37 -0
  92. package/rules-engine/placeholder.rules-engine.effect.d.ts.map +1 -0
  93. package/rules-engine/placeholder.rules-engine.module.d.ts +9 -0
  94. package/rules-engine/placeholder.rules-engine.module.d.ts.map +1 -0
  95. package/rules-engine/public_api.d.ts +4 -0
  96. package/rules-engine/public_api.d.ts.map +1 -0
  97. package/schemas/component.metadata.schema.json +8 -1
  98. package/schemas/placeholder-template.schema.json +1 -1
  99. package/schemas/rules-engine.placeholder-action.schema.json +26 -0
  100. package/schematics/cms-adapter/index.d.ts +0 -1
  101. package/schematics/cms-adapter/index.d.ts.map +1 -1
  102. package/schematics/cms-adapter/index.js +5 -9
  103. package/schematics/cms-adapter/index.js.map +1 -1
  104. package/schematics/ng-add/helpers/devtools-registration.d.ts +10 -0
  105. package/schematics/ng-add/helpers/devtools-registration.d.ts.map +1 -0
  106. package/schematics/ng-add/helpers/devtools-registration.js +25 -0
  107. package/schematics/ng-add/helpers/devtools-registration.js.map +1 -0
  108. package/schematics/ng-add/index.d.ts +0 -1
  109. package/schematics/ng-add/index.d.ts.map +1 -1
  110. package/schematics/ng-add/index.js +7 -5
  111. package/schematics/ng-add/index.js.map +1 -1
  112. package/schematics/ng-add/schema.json +1 -1
  113. package/stores/placeholder-request/placeholder-request.selectors.d.ts +0 -1
  114. package/stores/placeholder-request/placeholder-request.selectors.d.ts.map +1 -1
  115. package/stores/placeholder-template/placeholder-template.selectors.d.ts +41 -8
  116. package/stores/placeholder-template/placeholder-template.selectors.d.ts.map +1 -1
  117. package/tools/component-replacement/c11n.directive.d.ts +5 -10
  118. package/tools/component-replacement/c11n.directive.d.ts.map +1 -1
  119. package/tools/component-replacement/c11n.helpers.d.ts +1 -3
  120. package/tools/component-replacement/c11n.helpers.d.ts.map +1 -1
  121. package/tools/component-replacement/c11n.module.d.ts +0 -1
  122. package/tools/component-replacement/c11n.module.d.ts.map +1 -1
  123. package/tools/component-replacement/c11n.service.d.ts +2 -5
  124. package/tools/component-replacement/c11n.service.d.ts.map +1 -1
  125. package/tools/pipes/duration/duration.pipe.d.ts.map +1 -1
  126. package/tools/placeholder/placeholder.component.d.ts +7 -5
  127. package/tools/placeholder/placeholder.component.d.ts.map +1 -1
  128. package/tools/placeholder/placeholder.interface.d.ts +22 -0
  129. package/tools/placeholder/placeholder.interface.d.ts.map +1 -0
  130. package/builders/package.json +0 -3
  131. package/core/focus.d.ts +0 -17
  132. package/core/focus.d.ts.map +0 -1
  133. package/esm2022/core/focus.mjs +0 -2
  134. package/schematics/package.json +0 -3
@@ -1,11 +1,11 @@
1
- import { of, from, observeOn, animationFrameScheduler, BehaviorSubject, Subscription, firstValueFrom, fromEvent, ReplaySubject } from 'rxjs';
2
- import { mergeMap, bufferCount, concatMap, delay, scan, tap, filter, distinctUntilChanged, map, mapTo, switchMap } from 'rxjs/operators';
1
+ import { of, from, animationFrameScheduler, observeOn, BehaviorSubject, Subscription, firstValueFrom, fromEvent, Subject, ReplaySubject, sample } from 'rxjs';
2
+ import { bufferCount, delay, concatMap, scan, tap, mergeMap, filter, distinctUntilChanged, map, mapTo, switchMap } from 'rxjs/operators';
3
3
  import * as i0 from '@angular/core';
4
- import { InjectionToken, Injectable, Optional, Inject, NgModule, SimpleChange, ChangeDetectorRef, forwardRef, Directive, Input, Pipe, Component, ChangeDetectionStrategy, ViewEncapsulation } from '@angular/core';
4
+ import { InjectionToken, Injectable, Optional, Inject, NgModule, SimpleChange, forwardRef, Directive, Input, Pipe, Component, ChangeDetectionStrategy, ViewEncapsulation } from '@angular/core';
5
5
  import { otterComponentInfoPropertyName, sendOtterMessage, filterMessageContent, asyncProps, createEntityAsyncRequestAdapter, asyncStoreItemAdapter, asyncEntitySerializer } from '@o3r/core';
6
6
  import * as i1 from '@o3r/logger';
7
7
  import * as i1$1 from '@ngrx/store';
8
- import { StoreModule, createAction, props, on, createReducer, createFeatureSelector, createSelector } from '@ngrx/store';
8
+ import { StoreModule, props, createAction, on, createReducer, createFeatureSelector, createSelector } from '@ngrx/store';
9
9
  import { createEntityAdapter } from '@ngrx/entity';
10
10
  import { NgControl, NG_VALUE_ACCESSOR, NG_VALIDATORS } from '@angular/forms';
11
11
  import * as i2 from '@angular/common';
@@ -15,7 +15,6 @@ import { CommonModule } from '@angular/common';
15
15
  * Buffers and emits data for lazy/progressive rendering of big lists
16
16
  * That could solve issues with long-running tasks when trying to render an array
17
17
  * of similar components.
18
- *
19
18
  * @param delayMs Delay between data emits
20
19
  * @param concurrency Amount of elements that should be emitted at once
21
20
  * @returns
@@ -44,7 +43,6 @@ function lazyArray(delayMs = 0, concurrency = 2) {
44
43
 
45
44
  /**
46
45
  * Determine if the given message is a Components message
47
- *
48
46
  * @param message message to check
49
47
  */
50
48
  const isComponentsMessage = (message) => {
@@ -65,7 +63,6 @@ const OTTER_COMPONENTS_DEVTOOLS_OPTIONS = new InjectionToken('Otter Components D
65
63
  const INSPECTOR_CLASS = 'otter-devtools-inspector';
66
64
  /**
67
65
  * Determine if a node is an Otter container
68
- *
69
66
  * @param node Element to check
70
67
  * @returns true if the node is an Otter container
71
68
  */
@@ -74,7 +71,6 @@ const isContainer = (node) => {
74
71
  };
75
72
  /**
76
73
  * Determine the config id of a component instance
77
- *
78
74
  * @param instance component instance
79
75
  * @returns the config id of the component instance
80
76
  */
@@ -83,7 +79,6 @@ const getConfigId = (instance) => {
83
79
  };
84
80
  /**
85
81
  * Recursive method to determin the translations of a node
86
- *
87
82
  * @param node HTMLElement to check
88
83
  * @param rec recursive method
89
84
  * @returns the trasnslations associated to their component name
@@ -115,14 +110,12 @@ function getTranslationsRec(node, rec) {
115
110
  }
116
111
  /**
117
112
  * Determine the translations of a node
118
- *
119
113
  * @param node HTMLElement to check
120
114
  * @returns the translations associated to their component name
121
115
  */
122
116
  const getTranslations = (node) => getTranslationsRec(node, getTranslations);
123
117
  /**
124
118
  * Recursive method to determine the analytics of a node
125
- *
126
119
  * @param node Element to check
127
120
  * @param rec recursive method
128
121
  * @returns the analytics associated to their component name
@@ -154,14 +147,12 @@ function getAnalyticEventsRec(node, rec) {
154
147
  }
155
148
  /**
156
149
  * Determine the analytics of a node
157
- *
158
150
  * @param node Element to check
159
151
  * @returns the analytics associated to their component name
160
152
  */
161
153
  const getAnalyticEvents = (node) => getAnalyticEventsRec(node, getAnalyticEvents);
162
154
  /**
163
155
  * Determine all info from an Otter component
164
- *
165
156
  * @param componentClassInstance component instance
166
157
  * @param host HTML element hosting the component
167
158
  * @returns all info from an Otter component
@@ -325,7 +316,6 @@ class OtterInspectorService {
325
316
  }
326
317
  /**
327
318
  * Toggle the inspector.
328
- *
329
319
  * @param isRunning true if the inspector is running
330
320
  */
331
321
  toggleInspector(isRunning) {
@@ -376,7 +366,6 @@ class ComponentsDevtoolsMessageService {
376
366
  }
377
367
  /**
378
368
  * Function to trigger a re-send a requested messages to the Otter Chrome DevTools extension
379
- *
380
369
  * @param only restricted list of messages to re-send
381
370
  */
382
371
  handleReEmitRequest(only) {
@@ -386,7 +375,6 @@ class ComponentsDevtoolsMessageService {
386
375
  }
387
376
  /**
388
377
  * Function to handle the incoming messages from Otter Chrome DevTools extension
389
- *
390
378
  * @param event Event coming from the Otter Chrome DevTools extension
391
379
  * @param message
392
380
  */
@@ -421,25 +409,24 @@ class ComponentsDevtoolsMessageService {
421
409
  ngOnDestroy() {
422
410
  this.subscriptions.unsubscribe();
423
411
  }
424
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: ComponentsDevtoolsMessageService, deps: [{ token: i1.LoggerService }, { token: OTTER_COMPONENTS_DEVTOOLS_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
425
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: ComponentsDevtoolsMessageService, providedIn: 'root' }); }
412
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ComponentsDevtoolsMessageService, deps: [{ token: i1.LoggerService }, { token: OTTER_COMPONENTS_DEVTOOLS_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
413
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ComponentsDevtoolsMessageService, providedIn: 'root' }); }
426
414
  }
427
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: ComponentsDevtoolsMessageService, decorators: [{
415
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ComponentsDevtoolsMessageService, decorators: [{
428
416
  type: Injectable,
429
417
  args: [{
430
418
  providedIn: 'root'
431
419
  }]
432
- }], ctorParameters: function () { return [{ type: i1.LoggerService }, { type: undefined, decorators: [{
420
+ }], ctorParameters: () => [{ type: i1.LoggerService }, { type: undefined, decorators: [{
433
421
  type: Optional
434
422
  }, {
435
423
  type: Inject,
436
424
  args: [OTTER_COMPONENTS_DEVTOOLS_OPTIONS]
437
- }] }]; } });
425
+ }] }] });
438
426
 
439
427
  class ComponentsDevtoolsModule {
440
428
  /**
441
429
  * Initialize Otter Devtools
442
- *
443
430
  * @param options
444
431
  */
445
432
  static instrument(options) {
@@ -451,14 +438,14 @@ class ComponentsDevtoolsModule {
451
438
  ]
452
439
  };
453
440
  }
454
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: ComponentsDevtoolsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
455
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.0", ngImport: i0, type: ComponentsDevtoolsModule, imports: [StoreModule] }); }
456
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: ComponentsDevtoolsModule, providers: [
441
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ComponentsDevtoolsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
442
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.8", ngImport: i0, type: ComponentsDevtoolsModule, imports: [StoreModule] }); }
443
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ComponentsDevtoolsModule, providers: [
457
444
  { provide: OTTER_COMPONENTS_DEVTOOLS_OPTIONS, useValue: OTTER_COMPONENTS_DEVTOOLS_DEFAULT_OPTIONS },
458
445
  ComponentsDevtoolsMessageService
459
446
  ], imports: [StoreModule] }); }
460
447
  }
461
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: ComponentsDevtoolsModule, decorators: [{
448
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ComponentsDevtoolsModule, decorators: [{
462
449
  type: NgModule,
463
450
  args: [{
464
451
  imports: [
@@ -526,13 +513,13 @@ class PlaceholderTemplateStoreModule {
526
513
  ]
527
514
  };
528
515
  }
529
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: PlaceholderTemplateStoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
530
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.0", ngImport: i0, type: PlaceholderTemplateStoreModule, imports: [i1$1.StoreFeatureModule] }); }
531
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: PlaceholderTemplateStoreModule, providers: [
516
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: PlaceholderTemplateStoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
517
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.8", ngImport: i0, type: PlaceholderTemplateStoreModule, imports: [i1$1.StoreFeatureModule] }); }
518
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: PlaceholderTemplateStoreModule, providers: [
532
519
  { provide: PLACEHOLDER_TEMPLATE_REDUCER_TOKEN, useFactory: getDefaultPlaceholderTemplateReducer }
533
520
  ], imports: [StoreModule.forFeature(PLACEHOLDER_TEMPLATE_STORE_NAME, PLACEHOLDER_TEMPLATE_REDUCER_TOKEN)] }); }
534
521
  }
535
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: PlaceholderTemplateStoreModule, decorators: [{
522
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: PlaceholderTemplateStoreModule, decorators: [{
536
523
  type: NgModule,
537
524
  args: [{
538
525
  imports: [
@@ -647,13 +634,13 @@ class PlaceholderRequestStoreModule {
647
634
  ]
648
635
  };
649
636
  }
650
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: PlaceholderRequestStoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
651
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.0", ngImport: i0, type: PlaceholderRequestStoreModule, imports: [i1$1.StoreFeatureModule] }); }
652
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: PlaceholderRequestStoreModule, providers: [
637
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: PlaceholderRequestStoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
638
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.8", ngImport: i0, type: PlaceholderRequestStoreModule, imports: [i1$1.StoreFeatureModule] }); }
639
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: PlaceholderRequestStoreModule, providers: [
653
640
  { provide: PLACEHOLDER_REQUEST_REDUCER_TOKEN, useFactory: getDefaultplaceholderRequestReducer }
654
641
  ], imports: [StoreModule.forFeature(PLACEHOLDER_REQUEST_STORE_NAME, PLACEHOLDER_REQUEST_REDUCER_TOKEN)] }); }
655
642
  }
656
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: PlaceholderRequestStoreModule, decorators: [{
643
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: PlaceholderRequestStoreModule, decorators: [{
657
644
  type: NgModule,
658
645
  args: [{
659
646
  imports: [
@@ -671,7 +658,6 @@ const { selectEntities: selectEntities$1 } = placeholderRequestAdapter.getSelect
671
658
  const selectPlaceholderRequestEntities = createSelector(selectPlaceholderRequestState, (state) => state && selectEntities$1(state));
672
659
  /**
673
660
  * Select a specific PlaceholderRequest entity using a raw url as id
674
- *
675
661
  * @param rawUrl
676
662
  */
677
663
  const selectPlaceholderRequestEntityUsage = (rawUrl) => createSelector(selectPlaceholderRequestState, (state) => {
@@ -700,18 +686,16 @@ const selectPlaceholderTemplateState = createFeatureSelector(PLACEHOLDER_TEMPLAT
700
686
  const selectPlaceholderTemplateEntities = createSelector(selectPlaceholderTemplateState, (state) => state && selectEntities(state));
701
687
  /**
702
688
  * Select a specific PlaceholderTemplate
703
- *
704
689
  * @param placeholderId
705
690
  */
706
691
  const selectPlaceholderTemplateEntity = (placeholderId) => createSelector(selectPlaceholderTemplateState, (state) => state?.entities[placeholderId]);
707
692
  /**
708
- * Select the ordered rendered templates for a given placeholderId
693
+ * Select the ordered rendered placeholder template full data (url, priority etc.) for a given placeholderId
709
694
  * Return undefined if the placeholder is not found
710
695
  * Returns {orderedRenderedTemplates: undefined, isPending: true} if any of the request is still pending
711
- *
712
696
  * @param placeholderId
713
697
  */
714
- const selectPlaceholderRenderedTemplates = (placeholderId) => createSelector(selectPlaceholderTemplateEntity(placeholderId), selectPlaceholderRequestState, (placeholderTemplate, placeholderRequestState) => {
698
+ const selectSortedTemplates = (placeholderId) => createSelector(selectPlaceholderTemplateEntity(placeholderId), selectPlaceholderRequestState, (placeholderTemplate, placeholderRequestState) => {
715
699
  if (!placeholderTemplate || !placeholderRequestState) {
716
700
  return;
717
701
  }
@@ -727,6 +711,7 @@ const selectPlaceholderRenderedTemplates = (placeholderId) => createSelector(sel
727
711
  if (!placeholderRequest.isFailure) {
728
712
  templates.push({
729
713
  rawUrl: urlWithPriority.rawUrl,
714
+ resolvedUrl: placeholderRequest.resolvedUrl,
730
715
  priority: urlWithPriority.priority,
731
716
  renderedTemplate: placeholderRequest.renderedTemplate
732
717
  });
@@ -735,14 +720,29 @@ const selectPlaceholderRenderedTemplates = (placeholderId) => createSelector(sel
735
720
  });
736
721
  // No need to perform sorting if still pending
737
722
  if (isPending) {
738
- return { orderedRenderedTemplates: undefined, isPending };
723
+ return { orderedTemplates: undefined, isPending };
739
724
  }
740
725
  // Sort templates by priority
741
- const orderedRenderedTemplates = templates.sort((template1, template2) => {
726
+ const orderedTemplates = templates.sort((template1, template2) => {
742
727
  return (template2.priority - template1.priority) || 1;
743
- }).map(template => template.renderedTemplate)
744
- .filter(renderedTemplate => !!renderedTemplate);
745
- return { orderedRenderedTemplates, isPending };
728
+ }).filter(templateData => !!templateData.renderedTemplate);
729
+ return { orderedTemplates, isPending };
730
+ });
731
+ /**
732
+ * Select the ordered rendered templates for a given placeholderId
733
+ * Return undefined if the placeholder is not found
734
+ * Returns {orderedRenderedTemplates: undefined, isPending: true} if any of the request is still pending
735
+ * @param placeholderId
736
+ * @deprecated Please use {@link selectSortedTemplates} instead
737
+ */
738
+ const selectPlaceholderRenderedTemplates = (placeholderId) => createSelector(selectSortedTemplates(placeholderId), (placeholderData) => {
739
+ if (!placeholderData) {
740
+ return;
741
+ }
742
+ return {
743
+ orderedRenderedTemplates: placeholderData.orderedTemplates?.map(placeholder => placeholder.renderedTemplate),
744
+ isPending: placeholderData.isPending
745
+ };
746
746
  });
747
747
 
748
748
  const placeholderTemplateStorageDeserializer = (rawObject) => {
@@ -771,9 +771,8 @@ class C11nDirective {
771
771
  get inputs() {
772
772
  return this._inputs;
773
773
  }
774
- constructor(viewContainerRef, componentFactoryResolver, differsService, injector) {
774
+ constructor(viewContainerRef, differsService, injector) {
775
775
  this.viewContainerRef = viewContainerRef;
776
- this.componentFactoryResolver = componentFactoryResolver;
777
776
  this.differsService = differsService;
778
777
  this.injector = injector;
779
778
  this.componentSubscriptions = [];
@@ -782,7 +781,6 @@ class C11nDirective {
782
781
  }
783
782
  /**
784
783
  * Type guard for component implementing CVA
785
- *
786
784
  * @param _cmp Component instance
787
785
  */
788
786
  componentImplementsCva(_cmp) {
@@ -792,12 +790,10 @@ class C11nDirective {
792
790
  const recordKey = record.key;
793
791
  const isFirstChange = this.uninitializedInputs.has(recordKey);
794
792
  this.uninitializedInputs.delete(recordKey);
795
- this.componentRef.instance[recordKey] = record.currentValue;
796
793
  inputChanges[recordKey] = new SimpleChange(record.previousValue, record.currentValue, isFirstChange);
797
794
  }
798
795
  /**
799
796
  * called when data-bound property change
800
- *
801
797
  * @param changes The changes that occur
802
798
  */
803
799
  ngOnChanges(changes) {
@@ -809,12 +805,13 @@ class C11nDirective {
809
805
  this.componentRef.destroy();
810
806
  }
811
807
  const ngControl = !!this.formControl && this.injector.get(NgControl);
812
- const componentFactory = this.componentFactoryResolver.resolveComponentFactory(changes.component.currentValue);
813
- componentFactory.inputs.forEach((prop) => {
814
- this.uninitializedInputs.add(prop.propName);
815
- });
816
808
  this.viewContainerRef.clear();
817
- this.componentRef = this.viewContainerRef.createComponent(componentFactory);
809
+ this.componentRef = this.viewContainerRef.createComponent(changes.component.currentValue);
810
+ Object.keys(this.componentRef.instance)
811
+ .filter(prop => !(this.outputs && Object.keys(this.outputs).some(o => o === prop)))
812
+ .forEach((prop) => {
813
+ this.uninitializedInputs.add(prop);
814
+ });
818
815
  if (ngControl && this.componentImplementsCva(this.componentRef.instance)) {
819
816
  ngControl.valueAccessor = this.componentRef.instance;
820
817
  }
@@ -828,13 +825,11 @@ class C11nDirective {
828
825
  Object.keys(this.inputs).forEach((inputName) => {
829
826
  const currentInputValue = this.inputs[inputName];
830
827
  inputChanges[inputName] = new SimpleChange(undefined, currentInputValue, true);
831
- this.componentRef.instance[inputName] = currentInputValue;
832
828
  this.uninitializedInputs.delete(inputName);
833
829
  });
834
830
  }
835
831
  // In case of lazy loaded component keep the config
836
832
  if (!changes.config && this.config) {
837
- this.componentRef.instance.config = { ...this.componentRef.instance.config, ...this.config };
838
833
  inputChanges.config = new SimpleChange(this.componentRef.instance.config, this.config, true);
839
834
  this.uninitializedInputs.delete('config');
840
835
  }
@@ -848,18 +843,17 @@ class C11nDirective {
848
843
  }
849
844
  }
850
845
  if (this.componentRef && changes.config) {
851
- this.componentRef.instance.config = { ...this.componentRef.instance.config, ...changes.config.currentValue };
852
846
  inputChanges.config = new SimpleChange(this.componentRef.instance.config, changes.config.currentValue, this.uninitializedInputs.has('config'));
853
847
  this.uninitializedInputs.delete('config');
854
848
  }
855
- if (this.componentRef && this.componentRef.instance.ngOnChanges && Object.keys(inputChanges).length) {
856
- this.componentRef.instance.ngOnChanges(inputChanges);
857
- this.componentRef.injector.get(ChangeDetectorRef).markForCheck();
849
+ if (this.componentRef && Object.keys(inputChanges).length) {
850
+ Object.entries(inputChanges).forEach(([inputName, value]) => {
851
+ this.componentRef.setInput(inputName, value.currentValue);
852
+ });
858
853
  }
859
854
  }
860
855
  /**
861
856
  * returns validation errors from component instance if validate method exists else returns null
862
- *
863
857
  * @param control Form control
864
858
  */
865
859
  validate(control) {
@@ -875,8 +869,8 @@ class C11nDirective {
875
869
  this.componentSubscriptions.forEach((s) => s.unsubscribe());
876
870
  this.componentRef.destroy();
877
871
  }
878
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: C11nDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.ComponentFactoryResolver }, { token: i0.KeyValueDiffers }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive }); }
879
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.0", type: C11nDirective, selector: "[c11n]", inputs: { component: "component", config: "config", formControl: "formControl", inputs: "inputs", outputs: "outputs" }, providers: [
872
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: C11nDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.KeyValueDiffers }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive }); }
873
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.8", type: C11nDirective, selector: "[c11n]", inputs: { component: "component", config: "config", formControl: "formControl", inputs: "inputs", outputs: "outputs" }, providers: [
880
874
  {
881
875
  provide: NG_VALUE_ACCESSOR,
882
876
  useExisting: forwardRef((() => C11nDirective)),
@@ -889,7 +883,7 @@ class C11nDirective {
889
883
  }
890
884
  ], usesOnChanges: true, ngImport: i0 }); }
891
885
  }
892
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: C11nDirective, decorators: [{
886
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: C11nDirective, decorators: [{
893
887
  type: Directive,
894
888
  args: [{
895
889
  selector: '[c11n]',
@@ -906,7 +900,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImpor
906
900
  }
907
901
  ]
908
902
  }]
909
- }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.ComponentFactoryResolver }, { type: i0.KeyValueDiffers }, { type: i0.Injector }]; }, propDecorators: { component: [{
903
+ }], ctorParameters: () => [{ type: i0.ViewContainerRef }, { type: i0.KeyValueDiffers }, { type: i0.Injector }], propDecorators: { component: [{
910
904
  type: Input
911
905
  }], config: [{
912
906
  type: Input
@@ -929,7 +923,6 @@ class C11nService {
929
923
  }
930
924
  /**
931
925
  * Add a presenter
932
- *
933
926
  * @param presKey The presenter key to set
934
927
  * @param presenter The new presenter
935
928
  */
@@ -938,7 +931,6 @@ class C11nService {
938
931
  }
939
932
  /**
940
933
  * Operator to retrieve the presenter based on a given presKey
941
- *
942
934
  * @param defaultPres The default presenter
943
935
  * @param presKey The presenter key to retrieve
944
936
  */
@@ -948,19 +940,18 @@ class C11nService {
948
940
  return typeof presenterConfig === 'string' && presenterConfig !== '' ? (this.presentersMap.get(presenterConfig) || defaultPres) : defaultPres;
949
941
  }));
950
942
  }
951
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: C11nService, deps: [{ token: C11N_PRESENTERS_MAP_TOKEN }], target: i0.ɵɵFactoryTarget.Injectable }); }
952
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: C11nService }); }
943
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: C11nService, deps: [{ token: C11N_PRESENTERS_MAP_TOKEN }], target: i0.ɵɵFactoryTarget.Injectable }); }
944
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: C11nService }); }
953
945
  }
954
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: C11nService, decorators: [{
946
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: C11nService, decorators: [{
955
947
  type: Injectable
956
- }], ctorParameters: function () { return [{ type: Map, decorators: [{
948
+ }], ctorParameters: () => [{ type: Map, decorators: [{
957
949
  type: Inject,
958
950
  args: [C11N_PRESENTERS_MAP_TOKEN]
959
- }] }]; } });
951
+ }] }] });
960
952
 
961
953
  /**
962
954
  * Customization service factory
963
- *
964
955
  * @param config -> registerCompFunc - a function which returns the map of custom components which will be injected in c11n service
965
956
  * @param config.registerCompFunc
966
957
  */
@@ -988,11 +979,11 @@ class C11nModule {
988
979
  }]
989
980
  };
990
981
  }
991
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: C11nModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
992
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.0", ngImport: i0, type: C11nModule, declarations: [C11nDirective], exports: [C11nDirective] }); }
993
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: C11nModule }); }
982
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: C11nModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
983
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.8", ngImport: i0, type: C11nModule, declarations: [C11nDirective], exports: [C11nDirective] }); }
984
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: C11nModule }); }
994
985
  }
995
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: C11nModule, decorators: [{
986
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: C11nModule, decorators: [{
996
987
  type: NgModule,
997
988
  args: [{
998
989
  declarations: [C11nDirective],
@@ -1002,7 +993,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImpor
1002
993
 
1003
994
  /**
1004
995
  * Register a custom component
1005
- *
1006
996
  * @param customComponentsMap an object containing the already registered custom component
1007
997
  * @param customComponentKey
1008
998
  * @param customComponent
@@ -1014,10 +1004,10 @@ function registerCustomComponent(customComponentsMap, customComponentKey, custom
1014
1004
 
1015
1005
  /** C11n directive mock */
1016
1006
  class MockC11nDirective {
1017
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: MockC11nDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1018
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.0", type: MockC11nDirective, selector: "[c11n]", inputs: { config: "config", component: "component", inputs: "inputs", outputs: "outputs" }, ngImport: i0 }); }
1007
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: MockC11nDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1008
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.8", type: MockC11nDirective, selector: "[c11n]", inputs: { config: "config", component: "component", inputs: "inputs", outputs: "outputs" }, ngImport: i0 }); }
1019
1009
  }
1020
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: MockC11nDirective, decorators: [{
1010
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: MockC11nDirective, decorators: [{
1021
1011
  type: Directive,
1022
1012
  args: [{
1023
1013
  selector: '[c11n]',
@@ -1031,21 +1021,21 @@ class C11nMockService {
1031
1021
  getPresenter(_defaultPres, _presKey) {
1032
1022
  return (source) => source.pipe(mapTo(null));
1033
1023
  }
1034
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: C11nMockService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1035
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: C11nMockService }); }
1024
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: C11nMockService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1025
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: C11nMockService }); }
1036
1026
  }
1037
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: C11nMockService, decorators: [{
1027
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: C11nMockService, decorators: [{
1038
1028
  type: Injectable
1039
1029
  }] });
1040
1030
  /**
1041
1031
  * The purpose of this module is to be imported in the unit tests of the components which are using c11n directive
1042
1032
  */
1043
1033
  class C11nMockModule {
1044
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: C11nMockModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1045
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.0", ngImport: i0, type: C11nMockModule, declarations: [MockC11nDirective], exports: [MockC11nDirective] }); }
1046
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: C11nMockModule, providers: [{ provide: C11nService, useClass: C11nMockService }] }); }
1034
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: C11nMockModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1035
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.8", ngImport: i0, type: C11nMockModule, declarations: [MockC11nDirective], exports: [MockC11nDirective] }); }
1036
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: C11nMockModule, providers: [{ provide: C11nService, useClass: C11nMockService }] }); }
1047
1037
  }
1048
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: C11nMockModule, decorators: [{
1038
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: C11nMockModule, decorators: [{
1049
1039
  type: NgModule,
1050
1040
  args: [{
1051
1041
  declarations: [MockC11nDirective],
@@ -1060,20 +1050,20 @@ class CapitalizePipe {
1060
1050
  const firstLetter = val && val.charAt(0);
1061
1051
  return firstLetter ? firstLetter.toUpperCase() + val.slice(1) : value;
1062
1052
  }
1063
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: CapitalizePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
1064
- /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.0", ngImport: i0, type: CapitalizePipe, name: "capitalize" }); }
1053
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: CapitalizePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
1054
+ /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.8", ngImport: i0, type: CapitalizePipe, name: "capitalize" }); }
1065
1055
  }
1066
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: CapitalizePipe, decorators: [{
1056
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: CapitalizePipe, decorators: [{
1067
1057
  type: Pipe,
1068
1058
  args: [{ name: 'capitalize' }]
1069
1059
  }] });
1070
1060
 
1071
1061
  class CapitalizePipeModule {
1072
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: CapitalizePipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1073
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.0", ngImport: i0, type: CapitalizePipeModule, declarations: [CapitalizePipe], exports: [CapitalizePipe] }); }
1074
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: CapitalizePipeModule }); }
1062
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: CapitalizePipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1063
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.8", ngImport: i0, type: CapitalizePipeModule, declarations: [CapitalizePipe], exports: [CapitalizePipe] }); }
1064
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: CapitalizePipeModule }); }
1075
1065
  }
1076
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: CapitalizePipeModule, decorators: [{
1066
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: CapitalizePipeModule, decorators: [{
1077
1067
  type: NgModule,
1078
1068
  args: [{
1079
1069
  declarations: [CapitalizePipe],
@@ -1103,7 +1093,6 @@ const defaultTimeUnits = [
1103
1093
 
1104
1094
  /**
1105
1095
  * Pad a number with zeroes
1106
- *
1107
1096
  * @param num
1108
1097
  * @param digits
1109
1098
  */
@@ -1156,20 +1145,20 @@ class DurationPipe {
1156
1145
  return result.replace(matchedPatternToReplace, padded);
1157
1146
  }, pattern);
1158
1147
  }
1159
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: DurationPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
1160
- /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.0", ngImport: i0, type: DurationPipe, name: "duration" }); }
1148
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: DurationPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
1149
+ /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.8", ngImport: i0, type: DurationPipe, name: "duration" }); }
1161
1150
  }
1162
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: DurationPipe, decorators: [{
1151
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: DurationPipe, decorators: [{
1163
1152
  type: Pipe,
1164
1153
  args: [{ name: 'duration' }]
1165
1154
  }] });
1166
1155
 
1167
1156
  class DurationPipeModule {
1168
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: DurationPipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1169
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.0", ngImport: i0, type: DurationPipeModule, declarations: [DurationPipe], exports: [DurationPipe] }); }
1170
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: DurationPipeModule }); }
1157
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: DurationPipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1158
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.8", ngImport: i0, type: DurationPipeModule, declarations: [DurationPipe], exports: [DurationPipe] }); }
1159
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: DurationPipeModule }); }
1171
1160
  }
1172
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: DurationPipeModule, decorators: [{
1161
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: DurationPipeModule, decorators: [{
1173
1162
  type: NgModule,
1174
1163
  args: [{
1175
1164
  declarations: [DurationPipe],
@@ -1181,10 +1170,10 @@ class KeepWhiteSpacePipe {
1181
1170
  transform(value) {
1182
1171
  return value.replace(/\s/g, ' ');
1183
1172
  }
1184
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: KeepWhiteSpacePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
1185
- /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.0", ngImport: i0, type: KeepWhiteSpacePipe, name: "keepWhiteSpace" }); }
1173
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: KeepWhiteSpacePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
1174
+ /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.8", ngImport: i0, type: KeepWhiteSpacePipe, name: "keepWhiteSpace" }); }
1186
1175
  }
1187
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: KeepWhiteSpacePipe, decorators: [{
1176
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: KeepWhiteSpacePipe, decorators: [{
1188
1177
  type: Pipe,
1189
1178
  args: [{
1190
1179
  name: 'keepWhiteSpace',
@@ -1193,11 +1182,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImpor
1193
1182
  }] });
1194
1183
 
1195
1184
  class KeepWhiteSpacePipeModule {
1196
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: KeepWhiteSpacePipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1197
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.0", ngImport: i0, type: KeepWhiteSpacePipeModule, declarations: [KeepWhiteSpacePipe], exports: [KeepWhiteSpacePipe] }); }
1198
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: KeepWhiteSpacePipeModule }); }
1185
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: KeepWhiteSpacePipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1186
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.8", ngImport: i0, type: KeepWhiteSpacePipeModule, declarations: [KeepWhiteSpacePipe], exports: [KeepWhiteSpacePipe] }); }
1187
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: KeepWhiteSpacePipeModule }); }
1199
1188
  }
1200
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: KeepWhiteSpacePipeModule, decorators: [{
1189
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: KeepWhiteSpacePipeModule, decorators: [{
1201
1190
  type: NgModule,
1202
1191
  args: [{
1203
1192
  declarations: [KeepWhiteSpacePipe],
@@ -1218,10 +1207,10 @@ class ReplaceWithBoldPipe {
1218
1207
  escapeRegExp(str) {
1219
1208
  return str.replace(/[-[\]/{}()*+?.\\^$|]/g, '\\$&');
1220
1209
  }
1221
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: ReplaceWithBoldPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
1222
- /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.0", ngImport: i0, type: ReplaceWithBoldPipe, name: "replaceWithBold" }); }
1210
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ReplaceWithBoldPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
1211
+ /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.8", ngImport: i0, type: ReplaceWithBoldPipe, name: "replaceWithBold" }); }
1223
1212
  }
1224
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: ReplaceWithBoldPipe, decorators: [{
1213
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ReplaceWithBoldPipe, decorators: [{
1225
1214
  type: Pipe,
1226
1215
  args: [{
1227
1216
  name: 'replaceWithBold',
@@ -1230,11 +1219,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImpor
1230
1219
  }] });
1231
1220
 
1232
1221
  class ReplaceWithBoldPipeModule {
1233
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: ReplaceWithBoldPipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1234
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.0", ngImport: i0, type: ReplaceWithBoldPipeModule, declarations: [ReplaceWithBoldPipe], exports: [ReplaceWithBoldPipe] }); }
1235
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: ReplaceWithBoldPipeModule }); }
1222
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ReplaceWithBoldPipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1223
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.8", ngImport: i0, type: ReplaceWithBoldPipeModule, declarations: [ReplaceWithBoldPipe], exports: [ReplaceWithBoldPipe] }); }
1224
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ReplaceWithBoldPipeModule }); }
1236
1225
  }
1237
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: ReplaceWithBoldPipeModule, decorators: [{
1226
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ReplaceWithBoldPipeModule, decorators: [{
1238
1227
  type: NgModule,
1239
1228
  args: [{
1240
1229
  declarations: [ReplaceWithBoldPipe],
@@ -1245,7 +1234,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImpor
1245
1234
  /**
1246
1235
  * Placeholder component that is bind to the PlaceholderTemplateStore to display a template based on its ID
1247
1236
  * A loading indication can be provided via projection
1248
- *
1249
1237
  * @example
1250
1238
  * <o3r-placeholder id="my-template-id">Is loading ...</o3r-placeholder>
1251
1239
  */
@@ -1258,37 +1246,58 @@ class PlaceholderComponent {
1258
1246
  this.store = store;
1259
1247
  this.cd = cd;
1260
1248
  this.subscription = new Subscription();
1261
- this.id$ = new ReplaySubject(1);
1249
+ this.id$ = new BehaviorSubject(undefined);
1250
+ this.afterViewInit$ = new Subject();
1251
+ this.messages$ = new ReplaySubject(1);
1262
1252
  }
1263
1253
  /** @inheritdoc */
1264
1254
  ngOnInit() {
1265
- this.subscription.add(this.id$.pipe(distinctUntilChanged(), switchMap((id) => this.store.select(selectPlaceholderRenderedTemplates(id)))).subscribe((templates) => {
1266
- if (templates) {
1267
- this.isPending = templates.isPending;
1268
- const orderedRenderedTemplates = templates.orderedRenderedTemplates;
1269
- if (!orderedRenderedTemplates || !orderedRenderedTemplates.length) {
1270
- this.template = undefined;
1271
- }
1272
- else {
1273
- // Concatenates the list of templates
1274
- this.template = orderedRenderedTemplates.join('');
1275
- }
1255
+ this.subscription.add(this.id$.pipe(filter((id) => !!id), distinctUntilChanged(), switchMap((id) => this.store.select(selectSortedTemplates(id)).pipe(map((placeholders) => ({
1256
+ id,
1257
+ orderedTemplates: placeholders?.orderedTemplates,
1258
+ isPending: placeholders?.isPending
1259
+ })), distinctUntilChanged((previous, current) => previous.id === current.id &&
1260
+ previous.isPending === current.isPending &&
1261
+ previous.orderedTemplates?.map(placeholder => placeholder.renderedTemplate).join('') ===
1262
+ current.orderedTemplates?.map(placeholder => placeholder.renderedTemplate).join(''))))).subscribe(({ id, orderedTemplates, isPending }) => {
1263
+ this.isPending = isPending;
1264
+ if (!orderedTemplates?.length) {
1265
+ this.template = undefined;
1276
1266
  }
1277
1267
  else {
1278
- this.isPending = false;
1279
- this.template = undefined;
1268
+ // Concatenates the list of templates
1269
+ this.template = orderedTemplates.map(placeholder => placeholder.renderedTemplate).join('');
1270
+ }
1271
+ if (this.isPending === false) {
1272
+ this.messages$.next({
1273
+ templateIds: !this.isPending ? (orderedTemplates || []).map(placeholder => placeholder.resolvedUrl) : [],
1274
+ placeholderId: id
1275
+ });
1280
1276
  }
1281
1277
  this.cd.markForCheck();
1282
1278
  }));
1279
+ this.messages$.pipe(sample(this.afterViewInit$), distinctUntilChanged((previous, current) => JSON.stringify(current) === JSON.stringify(previous))).subscribe({
1280
+ next: (data) => sendOtterMessage('placeholder-loading-status', data, false),
1281
+ complete: () => sendOtterMessage('placeholder-loading-status', {
1282
+ placeholderId: this.id$.value,
1283
+ templateIds: []
1284
+ }, false)
1285
+ });
1286
+ }
1287
+ ngAfterViewChecked() {
1288
+ // Make sure the view is rendered before posting the status
1289
+ this.afterViewInit$.next();
1283
1290
  }
1284
1291
  /** @inheritdoc */
1285
1292
  ngOnDestroy() {
1293
+ this.messages$.complete();
1294
+ this.afterViewInit$.complete();
1286
1295
  this.subscription.unsubscribe();
1287
1296
  }
1288
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: PlaceholderComponent, deps: [{ token: i1$1.Store }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
1289
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: PlaceholderComponent, selector: "o3r-placeholder", inputs: { id: "id" }, ngImport: i0, template: "<ng-content *ngIf=\"isPending; else displayTemplate\"></ng-content><ng-template #displayTemplate><div [innerHTML]=\"template\"></div></ng-template>", isInline: true, dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1297
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: PlaceholderComponent, deps: [{ token: i1$1.Store }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
1298
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: PlaceholderComponent, selector: "o3r-placeholder", inputs: { id: "id" }, ngImport: i0, template: "<ng-content *ngIf=\"isPending; else displayTemplate\"></ng-content><ng-template #displayTemplate><div [innerHTML]=\"template\"></div></ng-template>", isInline: true, dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1290
1299
  }
1291
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: PlaceholderComponent, decorators: [{
1300
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: PlaceholderComponent, decorators: [{
1292
1301
  type: Component,
1293
1302
  args: [{
1294
1303
  selector: 'o3r-placeholder',
@@ -1297,22 +1306,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImpor
1297
1306
  changeDetection: ChangeDetectionStrategy.OnPush,
1298
1307
  encapsulation: ViewEncapsulation.None
1299
1308
  }]
1300
- }], ctorParameters: function () { return [{ type: i1$1.Store }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { id: [{
1309
+ }], ctorParameters: () => [{ type: i1$1.Store }, { type: i0.ChangeDetectorRef }], propDecorators: { id: [{
1301
1310
  type: Input
1302
1311
  }] } });
1303
1312
 
1304
1313
  class PlaceholderModule {
1305
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: PlaceholderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1306
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.0", ngImport: i0, type: PlaceholderModule, declarations: [PlaceholderComponent], imports: [CommonModule,
1314
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: PlaceholderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1315
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.8", ngImport: i0, type: PlaceholderModule, declarations: [PlaceholderComponent], imports: [CommonModule,
1307
1316
  StoreModule,
1308
1317
  PlaceholderTemplateStoreModule,
1309
1318
  PlaceholderRequestStoreModule], exports: [PlaceholderComponent] }); }
1310
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: PlaceholderModule, imports: [CommonModule,
1319
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: PlaceholderModule, imports: [CommonModule,
1311
1320
  StoreModule,
1312
1321
  PlaceholderTemplateStoreModule,
1313
1322
  PlaceholderRequestStoreModule] }); }
1314
1323
  }
1315
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: PlaceholderModule, decorators: [{
1324
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: PlaceholderModule, decorators: [{
1316
1325
  type: NgModule,
1317
1326
  args: [{
1318
1327
  imports: [
@@ -1330,5 +1339,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImpor
1330
1339
  * Generated bundle index. Do not edit.
1331
1340
  */
1332
1341
 
1333
- export { C11N_PRESENTERS_MAP_TOKEN, C11N_REGISTER_FUNC_TOKEN, C11nDirective, C11nMockModule, C11nMockService, C11nModule, C11nService, CapitalizePipe, CapitalizePipeModule, ComponentsDevtoolsMessageService, ComponentsDevtoolsModule, DurationPipe, DurationPipeModule, INSPECTOR_CLASS, KeepWhiteSpacePipe, KeepWhiteSpacePipeModule, MockC11nDirective, OTTER_COMPONENTS_DEVTOOLS_DEFAULT_OPTIONS, OTTER_COMPONENTS_DEVTOOLS_OPTIONS, OtterInspectorService, PLACEHOLDER_REQUEST_REDUCER_TOKEN, PLACEHOLDER_REQUEST_STORE_NAME, PLACEHOLDER_TEMPLATE_REDUCER_TOKEN, PLACEHOLDER_TEMPLATE_STORE_NAME, PlaceholderComponent, PlaceholderModule, PlaceholderRequestStoreModule, PlaceholderTemplateStoreModule, ReplaceWithBoldPipe, ReplaceWithBoldPipeModule, cancelPlaceholderRequest, createC11nService, deletePlaceholderTemplateEntity, failPlaceholderRequestEntity, getAnalyticEvents, getAnalyticEventsRec, getConfigId, getDefaultPlaceholderTemplateReducer, getDefaultplaceholderRequestReducer, getOtterLikeComponentInfo, getTranslations, getTranslationsRec, isComponentsMessage, isContainer, lazyArray, placeholderRequestAdapter, placeholderRequestInitialState, placeholderRequestReducer, placeholderRequestReducerFeatures, placeholderRequestStorageDeserializer, placeholderRequestStorageSerializer, placeholderRequestStorageSync, placeholderTemplateAdapter, placeholderTemplateInitialState, placeholderTemplateReducer, placeholderTemplateReducerFeatures, placeholderTemplateStorageDeserializer, placeholderTemplateStorageSync, registerCustomComponent, selectPlaceholderRenderedTemplates, selectPlaceholderRequestEntities, selectPlaceholderRequestEntityUsage, selectPlaceholderRequestState, selectPlaceholderTemplateEntities, selectPlaceholderTemplateEntity, selectPlaceholderTemplateState, setPlaceholderRequestEntityFromUrl, setPlaceholderTemplateEntity, updatePlaceholderRequestEntity, updatePlaceholderRequestEntitySync };
1342
+ export { C11N_PRESENTERS_MAP_TOKEN, C11N_REGISTER_FUNC_TOKEN, C11nDirective, C11nMockModule, C11nMockService, C11nModule, C11nService, CapitalizePipe, CapitalizePipeModule, ComponentsDevtoolsMessageService, ComponentsDevtoolsModule, DurationPipe, DurationPipeModule, INSPECTOR_CLASS, KeepWhiteSpacePipe, KeepWhiteSpacePipeModule, MockC11nDirective, OTTER_COMPONENTS_DEVTOOLS_DEFAULT_OPTIONS, OTTER_COMPONENTS_DEVTOOLS_OPTIONS, OtterInspectorService, PLACEHOLDER_REQUEST_REDUCER_TOKEN, PLACEHOLDER_REQUEST_STORE_NAME, PLACEHOLDER_TEMPLATE_REDUCER_TOKEN, PLACEHOLDER_TEMPLATE_STORE_NAME, PlaceholderComponent, PlaceholderModule, PlaceholderRequestStoreModule, PlaceholderTemplateStoreModule, ReplaceWithBoldPipe, ReplaceWithBoldPipeModule, cancelPlaceholderRequest, createC11nService, deletePlaceholderTemplateEntity, failPlaceholderRequestEntity, getAnalyticEvents, getAnalyticEventsRec, getConfigId, getDefaultPlaceholderTemplateReducer, getDefaultplaceholderRequestReducer, getOtterLikeComponentInfo, getTranslations, getTranslationsRec, isComponentsMessage, isContainer, lazyArray, placeholderRequestAdapter, placeholderRequestInitialState, placeholderRequestReducer, placeholderRequestReducerFeatures, placeholderRequestStorageDeserializer, placeholderRequestStorageSerializer, placeholderRequestStorageSync, placeholderTemplateAdapter, placeholderTemplateInitialState, placeholderTemplateReducer, placeholderTemplateReducerFeatures, placeholderTemplateStorageDeserializer, placeholderTemplateStorageSync, registerCustomComponent, selectPlaceholderRenderedTemplates, selectPlaceholderRequestEntities, selectPlaceholderRequestEntityUsage, selectPlaceholderRequestState, selectPlaceholderTemplateEntities, selectPlaceholderTemplateEntity, selectPlaceholderTemplateState, selectSortedTemplates, setPlaceholderRequestEntityFromUrl, setPlaceholderTemplateEntity, updatePlaceholderRequestEntity, updatePlaceholderRequestEntitySync };
1334
1343
  //# sourceMappingURL=o3r-components.mjs.map