@hmcts/rpx-xui-common-lib 2.0.28 → 2.0.29

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.
@@ -1,7 +1,14 @@
1
1
  import { Component, EventEmitter, Input, Output } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/router";
4
- import * as i2 from "rpx-xui-translation";
3
+ import * as i1 from "@angular/common";
4
+ import * as i2 from "@angular/router";
5
+ import * as i3 from "rpx-xui-translation";
6
+ function ServiceMessageComponent_h2_8_Template(rf, ctx) { if (rf & 1) {
7
+ i0.ɵɵelement(0, "h2", 5);
8
+ } if (rf & 2) {
9
+ const ctx_r0 = i0.ɵɵnextContext();
10
+ i0.ɵɵproperty("innerHTML", ctx_r0.message_cy, i0.ɵɵsanitizeHtml);
11
+ } }
5
12
  export class ServiceMessageComponent {
6
13
  constructor() {
7
14
  this.hideMessage = new EventEmitter();
@@ -10,7 +17,7 @@ export class ServiceMessageComponent {
10
17
  this.hideMessage.emit(key);
11
18
  }
12
19
  static { this.ɵfac = function ServiceMessageComponent_Factory(t) { return new (t || ServiceMessageComponent)(); }; }
13
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ServiceMessageComponent, selectors: [["xuilib-service-message"]], inputs: { message: "message", key: "key" }, outputs: { hideMessage: "hideMessage" }, decls: 12, vars: 9, consts: [[1, "hmcts-banner", "hmcts-banner--warning"], ["fill", "currentColor", "role", "presentation", "focusable", "false", "xmlns", "http://www.w3.org/2000/svg", "viewBox", "0 0 25 25", "height", "25", "width", "25", 1, "hmcts-banner__icon"], ["d", "M13.6,15.4h-2.3v-4.5h2.3V15.4z M13.6,19.8h-2.3v-2.2h2.3V19.8z M0,23.2h25L12.5,2L0,23.2z"], [1, "hmcts-banner__message"], [1, "hmcts-banner__assistive"], [1, "govuk-heading-s", 3, "innerHTML"], [1, "govuk-link--no-visited-state", 3, "click", "routerLink"]], template: function ServiceMessageComponent_Template(rf, ctx) { if (rf & 1) {
20
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ServiceMessageComponent, selectors: [["xuilib-service-message"]], inputs: { message_en: "message_en", message_cy: "message_cy", key: "key" }, outputs: { hideMessage: "hideMessage" }, decls: 12, vars: 8, consts: [[1, "hmcts-banner", "hmcts-banner--warning"], ["fill", "currentColor", "role", "presentation", "focusable", "false", "xmlns", "http://www.w3.org/2000/svg", "viewBox", "0 0 25 25", "height", "25", "width", "25", 1, "hmcts-banner__icon"], ["d", "M13.6,15.4h-2.3v-4.5h2.3V15.4z M13.6,19.8h-2.3v-2.2h2.3V19.8z M0,23.2h25L12.5,2L0,23.2z"], [1, "hmcts-banner__message"], [1, "hmcts-banner__assistive"], [1, "govuk-heading-s", 3, "innerHTML"], ["class", "govuk-heading-s", 3, "innerHTML", 4, "ngIf"], [1, "govuk-link--no-visited-state", 3, "click", "routerLink"]], template: function ServiceMessageComponent_Template(rf, ctx) { if (rf & 1) {
14
21
  i0.ɵɵelementStart(0, "div", 0);
15
22
  i0.ɵɵnamespaceSVG();
16
23
  i0.ɵɵelementStart(1, "svg", 1);
@@ -22,30 +29,34 @@ export class ServiceMessageComponent {
22
29
  i0.ɵɵpipe(6, "rpxTranslate");
23
30
  i0.ɵɵelementEnd();
24
31
  i0.ɵɵelement(7, "h2", 5);
25
- i0.ɵɵpipe(8, "rpxTranslate");
26
- i0.ɵɵelementStart(9, "a", 6);
32
+ i0.ɵɵtemplate(8, ServiceMessageComponent_h2_8_Template, 1, 1, "h2", 6);
33
+ i0.ɵɵelementStart(9, "a", 7);
27
34
  i0.ɵɵlistener("click", function ServiceMessageComponent_Template_a_click_9_listener() { return ctx.onHideMessageEvent(ctx.key); });
28
35
  i0.ɵɵtext(10);
29
36
  i0.ɵɵpipe(11, "rpxTranslate");
30
37
  i0.ɵɵelementEnd()()();
31
38
  } if (rf & 2) {
32
39
  i0.ɵɵadvance(5);
33
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(6, 3, "Warning"));
40
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(6, 4, "Warning"));
34
41
  i0.ɵɵadvance(2);
35
- i0.ɵɵproperty("innerHTML", i0.ɵɵpipeBind1(8, 5, ctx.message), i0.ɵɵsanitizeHtml);
36
- i0.ɵɵadvance(3);
37
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(11, 7, "Hide message"));
38
- } }, dependencies: [i1.RouterLink, i2.RpxTranslatePipe], encapsulation: 2 }); }
42
+ i0.ɵɵproperty("innerHTML", ctx.message_en, i0.ɵɵsanitizeHtml);
43
+ i0.ɵɵadvance();
44
+ i0.ɵɵproperty("ngIf", ctx.message_cy);
45
+ i0.ɵɵadvance(2);
46
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(11, 6, "Hide message"));
47
+ } }, dependencies: [i1.NgIf, i2.RouterLink, i3.RpxTranslatePipe], styles: [".govuk-link--no-visited-state[_ngcontent-%COMP%]{cursor:pointer}"] }); }
39
48
  }
40
49
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ServiceMessageComponent, [{
41
50
  type: Component,
42
- args: [{ selector: 'xuilib-service-message', template: "<div class=\"hmcts-banner hmcts-banner--warning\">\n\n <svg class=\"hmcts-banner__icon\" fill=\"currentColor\" role=\"presentation\" focusable=\"false\"\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 25 25\" height=\"25\" width=\"25\">\n <path d=\"M13.6,15.4h-2.3v-4.5h2.3V15.4z M13.6,19.8h-2.3v-2.2h2.3V19.8z M0,23.2h25L12.5,2L0,23.2z\" />\n </svg>\n\n <div class=\"hmcts-banner__message\">\n <span class=\"hmcts-banner__assistive\">{{'Warning' | rpxTranslate}}</span>\n <h2 class=\"govuk-heading-s\" [innerHTML]=\"message | rpxTranslate\"></h2>\n <a [routerLink]=\"\" class=\"govuk-link--no-visited-state\" (click)=\"onHideMessageEvent(key)\">{{'Hide message' | rpxTranslate}}</a>\n </div>\n\n</div>" }]
43
- }], () => [], { message: [{
51
+ args: [{ selector: 'xuilib-service-message', template: "<div class=\"hmcts-banner hmcts-banner--warning\">\n\n <svg class=\"hmcts-banner__icon\" fill=\"currentColor\" role=\"presentation\" focusable=\"false\"\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 25 25\" height=\"25\" width=\"25\">\n <path d=\"M13.6,15.4h-2.3v-4.5h2.3V15.4z M13.6,19.8h-2.3v-2.2h2.3V19.8z M0,23.2h25L12.5,2L0,23.2z\" />\n </svg>\n\n <div class=\"hmcts-banner__message\">\n <span class=\"hmcts-banner__assistive\">{{'Warning' | rpxTranslate}}</span>\n <h2 class=\"govuk-heading-s\" [innerHTML]=\"message_en\"></h2>\n <h2 *ngIf=\"message_cy\" class=\"govuk-heading-s\" [innerHTML]=\"message_cy\"></h2>\n <a [routerLink]=\"\" class=\"govuk-link--no-visited-state\" (click)=\"onHideMessageEvent(key)\">{{'Hide message' | rpxTranslate}}</a>\n </div>\n\n</div>", styles: [".govuk-link--no-visited-state{cursor:pointer}\n"] }]
52
+ }], () => [], { message_en: [{
53
+ type: Input
54
+ }], message_cy: [{
44
55
  type: Input
45
56
  }], key: [{
46
57
  type: Input
47
58
  }], hideMessage: [{
48
59
  type: Output
49
60
  }] }); })();
50
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ServiceMessageComponent, { className: "ServiceMessageComponent", filePath: "lib/components/service-message/service-message.component.ts", lineNumber: 7 }); })();
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1tZXNzYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4dWktY29tbW9uLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvc2VydmljZS1tZXNzYWdlL3NlcnZpY2UtbWVzc2FnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL3NlcnZpY2UtbWVzc2FnZS9zZXJ2aWNlLW1lc3NhZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQU12RSxNQUFNLE9BQU8sdUJBQXVCO0lBSWxDO1FBRGlCLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQUMxQyxDQUFDO0lBRVYsa0JBQWtCLENBQUMsR0FBVztRQUNuQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM3QixDQUFDO3dGQVJVLHVCQUF1QjtvRUFBdkIsdUJBQXVCO1lDTnBDLDhCQUFnRDs7WUFFNUMsOEJBQ2tGO1lBQzlFLDBCQUFvRztZQUN4RyxpQkFBTTs7WUFHRixBQURKLDhCQUFtQyxjQUNPO1lBQUEsWUFBNEI7O1lBQUEsaUJBQU87WUFDekUsd0JBQXNFOztZQUN0RSw0QkFBMEY7WUFBbEMsK0ZBQVMsK0JBQXVCLElBQUM7WUFBQyxhQUFpQzs7WUFHbkksQUFGSSxBQUQrSCxpQkFBSSxFQUM3SCxFQUVKOztZQUx3QyxlQUE0QjtZQUE1QixxREFBNEI7WUFDdEMsZUFBb0M7WUFBcEMsZ0ZBQW9DO1lBQzBCLGVBQWlDO1lBQWpDLDJEQUFpQzs7O2lGREp0SCx1QkFBdUI7Y0FKbkMsU0FBUzsyQkFDRSx3QkFBd0I7b0JBSWxCLE9BQU87a0JBQXRCLEtBQUs7WUFDVSxHQUFHO2tCQUFsQixLQUFLO1lBQ1csV0FBVztrQkFBM0IsTUFBTTs7a0ZBSEksdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAneHVpbGliLXNlcnZpY2UtbWVzc2FnZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZXJ2aWNlLW1lc3NhZ2UuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFNlcnZpY2VNZXNzYWdlQ29tcG9uZW50IHtcbiAgQElucHV0KCkgcHVibGljIG1lc3NhZ2U6IHN0cmluZztcbiAgQElucHV0KCkgcHVibGljIGtleTogc3RyaW5nO1xuICBAT3V0cHV0KCkgcHVibGljIGhpZGVNZXNzYWdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgcHVibGljIG9uSGlkZU1lc3NhZ2VFdmVudChrZXk6IHN0cmluZykge1xuICAgIHRoaXMuaGlkZU1lc3NhZ2UuZW1pdChrZXkpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiaG1jdHMtYmFubmVyIGhtY3RzLWJhbm5lci0td2FybmluZ1wiPlxuXG4gICAgPHN2ZyBjbGFzcz1cImhtY3RzLWJhbm5lcl9faWNvblwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIiByb2xlPVwicHJlc2VudGF0aW9uXCIgZm9jdXNhYmxlPVwiZmFsc2VcIlxuICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNSAyNVwiIGhlaWdodD1cIjI1XCIgd2lkdGg9XCIyNVwiPlxuICAgICAgICA8cGF0aCBkPVwiTTEzLjYsMTUuNGgtMi4zdi00LjVoMi4zVjE1LjR6IE0xMy42LDE5LjhoLTIuM3YtMi4yaDIuM1YxOS44eiBNMCwyMy4yaDI1TDEyLjUsMkwwLDIzLjJ6XCIgLz5cbiAgICA8L3N2Zz5cblxuICAgIDxkaXYgY2xhc3M9XCJobWN0cy1iYW5uZXJfX21lc3NhZ2VcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJobWN0cy1iYW5uZXJfX2Fzc2lzdGl2ZVwiPnt7J1dhcm5pbmcnIHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+XG4gICAgICAgIDxoMiBjbGFzcz1cImdvdnVrLWhlYWRpbmctc1wiIFtpbm5lckhUTUxdPVwibWVzc2FnZSB8IHJweFRyYW5zbGF0ZVwiPjwvaDI+XG4gICAgICAgIDxhIFtyb3V0ZXJMaW5rXT1cIlwiIGNsYXNzPVwiZ292dWstbGluay0tbm8tdmlzaXRlZC1zdGF0ZVwiIChjbGljayk9XCJvbkhpZGVNZXNzYWdlRXZlbnQoa2V5KVwiPnt7J0hpZGUgbWVzc2FnZScgfCBycHhUcmFuc2xhdGV9fTwvYT5cbiAgICA8L2Rpdj5cblxuPC9kaXY+Il19
61
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ServiceMessageComponent, { className: "ServiceMessageComponent", filePath: "lib/components/service-message/service-message.component.ts", lineNumber: 9 }); })();
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1tZXNzYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4dWktY29tbW9uLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvc2VydmljZS1tZXNzYWdlL3NlcnZpY2UtbWVzc2FnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL3NlcnZpY2UtbWVzc2FnZS9zZXJ2aWNlLW1lc3NhZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0lDVS9ELHdCQUE2RTs7O0lBQTlCLGdFQUF3Qjs7QURGL0UsTUFBTSxPQUFPLHVCQUF1QjtJQUtsQztRQURpQixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFtQixDQUFDO0lBQ25ELENBQUM7SUFFVixrQkFBa0IsQ0FBQyxHQUFvQjtRQUM1QyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM3QixDQUFDO3dGQVRVLHVCQUF1QjtvRUFBdkIsdUJBQXVCO1lDUnBDLDhCQUFnRDs7WUFFNUMsOEJBQ2tGO1lBQzlFLDBCQUFvRztZQUN4RyxpQkFBTTs7WUFHRixBQURKLDhCQUFtQyxjQUNPO1lBQUEsWUFBNEI7O1lBQUEsaUJBQU87WUFDekUsd0JBQTBEO1lBQzFELHNFQUF3RTtZQUN4RSw0QkFBMEY7WUFBbEMsK0ZBQVMsK0JBQXVCLElBQUM7WUFBQyxhQUFpQzs7WUFHbkksQUFGSSxBQUQrSCxpQkFBSSxFQUM3SCxFQUVKOztZQU53QyxlQUE0QjtZQUE1QixxREFBNEI7WUFDdEMsZUFBd0I7WUFBeEIsNkRBQXdCO1lBQy9DLGNBQWdCO1lBQWhCLHFDQUFnQjtZQUNxRSxlQUFpQztZQUFqQywyREFBaUM7OztpRkRIdEgsdUJBQXVCO2NBTG5DLFNBQVM7MkJBQ0Usd0JBQXdCO29CQUtsQixVQUFVO2tCQUF6QixLQUFLO1lBQ1UsVUFBVTtrQkFBekIsS0FBSztZQUNVLEdBQUc7a0JBQWxCLEtBQUs7WUFDVyxXQUFXO2tCQUEzQixNQUFNOztrRkFKSSx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2VydmljZU1lc3NhZ2VzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3NlcnZpY2UtbWVzc2FnZS5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3h1aWxpYi1zZXJ2aWNlLW1lc3NhZ2UnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VydmljZS1tZXNzYWdlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VydmljZS1tZXNzYWdlLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgU2VydmljZU1lc3NhZ2VDb21wb25lbnQge1xuICBASW5wdXQoKSBwdWJsaWMgbWVzc2FnZV9lbjogc3RyaW5nO1xuICBASW5wdXQoKSBwdWJsaWMgbWVzc2FnZV9jeT86IHN0cmluZztcbiAgQElucHV0KCkgcHVibGljIGtleTogU2VydmljZU1lc3NhZ2VzO1xuICBAT3V0cHV0KCkgcHVibGljIGhpZGVNZXNzYWdlID0gbmV3IEV2ZW50RW1pdHRlcjxTZXJ2aWNlTWVzc2FnZXM+KCk7XG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgcHVibGljIG9uSGlkZU1lc3NhZ2VFdmVudChrZXk6IFNlcnZpY2VNZXNzYWdlcykge1xuICAgIHRoaXMuaGlkZU1lc3NhZ2UuZW1pdChrZXkpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiaG1jdHMtYmFubmVyIGhtY3RzLWJhbm5lci0td2FybmluZ1wiPlxuXG4gICAgPHN2ZyBjbGFzcz1cImhtY3RzLWJhbm5lcl9faWNvblwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIiByb2xlPVwicHJlc2VudGF0aW9uXCIgZm9jdXNhYmxlPVwiZmFsc2VcIlxuICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNSAyNVwiIGhlaWdodD1cIjI1XCIgd2lkdGg9XCIyNVwiPlxuICAgICAgICA8cGF0aCBkPVwiTTEzLjYsMTUuNGgtMi4zdi00LjVoMi4zVjE1LjR6IE0xMy42LDE5LjhoLTIuM3YtMi4yaDIuM1YxOS44eiBNMCwyMy4yaDI1TDEyLjUsMkwwLDIzLjJ6XCIgLz5cbiAgICA8L3N2Zz5cblxuICAgIDxkaXYgY2xhc3M9XCJobWN0cy1iYW5uZXJfX21lc3NhZ2VcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJobWN0cy1iYW5uZXJfX2Fzc2lzdGl2ZVwiPnt7J1dhcm5pbmcnIHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+XG4gICAgICAgIDxoMiBjbGFzcz1cImdvdnVrLWhlYWRpbmctc1wiIFtpbm5lckhUTUxdPVwibWVzc2FnZV9lblwiPjwvaDI+XG4gICAgICAgIDxoMiAqbmdJZj1cIm1lc3NhZ2VfY3lcIiBjbGFzcz1cImdvdnVrLWhlYWRpbmctc1wiIFtpbm5lckhUTUxdPVwibWVzc2FnZV9jeVwiPjwvaDI+XG4gICAgICAgIDxhIFtyb3V0ZXJMaW5rXT1cIlwiIGNsYXNzPVwiZ292dWstbGluay0tbm8tdmlzaXRlZC1zdGF0ZVwiIChjbGljayk9XCJvbkhpZGVNZXNzYWdlRXZlbnQoa2V5KVwiPnt7J0hpZGUgbWVzc2FnZScgfCBycHhUcmFuc2xhdGV9fTwvYT5cbiAgICA8L2Rpdj5cblxuPC9kaXY+Il19
@@ -5,30 +5,64 @@ import * as i1 from "../../services/feature-toggle/feature-toggle.service";
5
5
  import * as i2 from "@angular/common";
6
6
  import * as i3 from "../service-message/service-message.component";
7
7
  import * as i4 from "rpx-xui-translation";
8
- function ServiceMessagesComponent_div_0_xuilib_service_message_1_Template(rf, ctx) { if (rf & 1) {
9
- const _r1 = i0.ɵɵgetCurrentView();
10
- i0.ɵɵelementStart(0, "xuilib-service-message", 3);
11
- i0.ɵɵpipe(1, "rpxTranslate");
12
- i0.ɵɵlistener("hideMessage", function ServiceMessagesComponent_div_0_xuilib_service_message_1_Template_xuilib_service_message_hideMessage_0_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.hideMessage($event)); });
8
+ function ServiceMessagesComponent_div_0_div_1_Template(rf, ctx) { if (rf & 1) {
9
+ i0.ɵɵelementStart(0, "div", 3);
10
+ i0.ɵɵnamespaceSVG();
11
+ i0.ɵɵelementStart(1, "svg", 4);
12
+ i0.ɵɵelement(2, "path", 5);
13
+ i0.ɵɵelementEnd();
14
+ i0.ɵɵnamespaceHTML();
15
+ i0.ɵɵelementStart(3, "div", 6)(4, "span", 7);
16
+ i0.ɵɵtext(5);
17
+ i0.ɵɵpipe(6, "rpxTranslate");
18
+ i0.ɵɵelementEnd();
19
+ i0.ɵɵelementStart(7, "h2", 8);
20
+ i0.ɵɵtext(8, "Error:");
13
21
  i0.ɵɵelementEnd();
22
+ i0.ɵɵelement(9, "p", 9);
23
+ i0.ɵɵelementEnd()();
14
24
  } if (rf & 2) {
15
- const message_r3 = ctx.$implicit;
16
- i0.ɵɵproperty("key", message_r3.key)("message", i0.ɵɵpipeBind1(1, 2, message_r3.value));
25
+ const errMsg_r1 = ctx.$implicit;
26
+ i0.ɵɵadvance(5);
27
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(6, 2, "Warning"));
28
+ i0.ɵɵadvance(4);
29
+ i0.ɵɵproperty("innerHTML", errMsg_r1.message, i0.ɵɵsanitizeHtml);
17
30
  } }
18
31
  function ServiceMessagesComponent_div_0_Template(rf, ctx) { if (rf & 1) {
19
32
  i0.ɵɵelementStart(0, "div", 1);
20
- i0.ɵɵtemplate(1, ServiceMessagesComponent_div_0_xuilib_service_message_1_Template, 2, 4, "xuilib-service-message", 2);
21
- i0.ɵɵpipe(2, "keyvalue");
33
+ i0.ɵɵtemplate(1, ServiceMessagesComponent_div_0_div_1_Template, 10, 4, "div", 2);
34
+ i0.ɵɵelementEnd();
35
+ } if (rf & 2) {
36
+ const ctx_r1 = i0.ɵɵnextContext();
37
+ i0.ɵɵadvance();
38
+ i0.ɵɵproperty("ngForOf", ctx_r1.bannerErrorMsgs);
39
+ } }
40
+ function ServiceMessagesComponent_div_1_xuilib_service_message_1_Template(rf, ctx) { if (rf & 1) {
41
+ const _r3 = i0.ɵɵgetCurrentView();
42
+ i0.ɵɵelementStart(0, "xuilib-service-message", 11);
43
+ i0.ɵɵpipe(1, "rpxTranslate");
44
+ i0.ɵɵpipe(2, "rpxTranslate");
45
+ i0.ɵɵlistener("hideMessage", function ServiceMessagesComponent_div_1_xuilib_service_message_1_Template_xuilib_service_message_hideMessage_0_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.hideMessage($event)); });
46
+ i0.ɵɵelementEnd();
47
+ } if (rf & 2) {
48
+ const message_r4 = ctx.$implicit;
49
+ i0.ɵɵproperty("key", message_r4)("message_en", i0.ɵɵpipeBind1(1, 3, message_r4 == null ? null : message_r4.message_en))("message_cy", i0.ɵɵpipeBind1(2, 5, message_r4 == null ? null : message_r4.message_cy));
50
+ } }
51
+ function ServiceMessagesComponent_div_1_Template(rf, ctx) { if (rf & 1) {
52
+ i0.ɵɵelementStart(0, "div", 1);
53
+ i0.ɵɵtemplate(1, ServiceMessagesComponent_div_1_xuilib_service_message_1_Template, 3, 7, "xuilib-service-message", 10);
22
54
  i0.ɵɵelementEnd();
23
55
  } if (rf & 2) {
24
56
  const ctx_r1 = i0.ɵɵnextContext();
25
57
  i0.ɵɵadvance();
26
- i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(2, 1, ctx_r1.filteredMessages));
58
+ i0.ɵɵproperty("ngForOf", ctx_r1.filteredMessages);
27
59
  } }
28
60
  export class ServiceMessagesComponent {
29
61
  constructor(featureToggleService) {
30
62
  this.featureToggleService = featureToggleService;
31
- this.filteredMessages = new Map();
63
+ this.filteredMessages = [];
64
+ this.bannerErrorMsgs = [];
65
+ this.originalMessages = [];
32
66
  }
33
67
  ngOnInit() {
34
68
  this.getServiceMessages();
@@ -36,6 +70,7 @@ export class ServiceMessagesComponent {
36
70
  getServiceMessages() {
37
71
  this.featureToggleService.getValue(this.featureToggleKey, null)
38
72
  .subscribe(messages => {
73
+ this.originalMessages = messages;
39
74
  if (!!messages) {
40
75
  this.createFilteredMessages(messages);
41
76
  }
@@ -43,28 +78,72 @@ export class ServiceMessagesComponent {
43
78
  }
44
79
  createFilteredMessages(messages) {
45
80
  this.hiddenBanners = JSON.parse(window.sessionStorage.getItem(this.serviceMessageCookie)) || [];
46
- Object.keys(messages).forEach(key => {
47
- const regEx = new RegExp(key);
48
- if (this.userRoles.some(e => regEx.test(e)) && this.hiddenBanners.indexOf(key) === -1) {
49
- this.filteredMessages.set(key, messages[key]);
81
+ messages.forEach(key => {
82
+ const regEx = new RegExp(key.roles);
83
+ if (this.userRoles.some(e => regEx.test(e))) {
84
+ this.filteredMessages = messages.filter(msg => !this.hiddenBanners.includes(msg.message_en)
85
+ && this.compareDates(msg));
86
+ }
87
+ });
88
+ }
89
+ compareDates(msg) {
90
+ let currentDateTime = new Date();
91
+ let beginDate = null;
92
+ let endDate = null;
93
+ this.bannerErrorMsgs = [];
94
+ // Parse beginDate if msg.begin is present and valid
95
+ if (msg.begin && !isNaN(Date.parse(msg.begin))) {
96
+ beginDate = new Date(msg.begin);
97
+ }
98
+ if (msg.end && !isNaN(Date.parse(msg.end))) {
99
+ endDate = new Date(msg.end);
100
+ }
101
+ this.originalMessages.forEach(msg => {
102
+ // Only check for errors if both beginDate and endDate are present and valid
103
+ if ((msg.begin && !isNaN(Date.parse(msg.end))) && (msg.end && !isNaN(Date.parse(msg.end))) && new Date(msg.begin) > new Date(msg.end)) {
104
+ this.isBannerError = true;
105
+ this.bannerErrorMsgs.push({
106
+ message: `The start date is greater than the end date. Message index: ${msg.index}`,
107
+ index: msg.index
108
+ });
109
+ }
110
+ // Check for invalid beginDate or endDate separately, if they are present
111
+ if (msg.begin && isNaN(Date.parse(msg.begin))) {
112
+ this.isBannerError = true;
113
+ this.bannerErrorMsgs.push({
114
+ message: `Invalid start date. Message index: ${msg.index}`,
115
+ index: msg.index
116
+ });
117
+ }
118
+ if (msg.end && isNaN(Date.parse(msg.end))) {
119
+ this.isBannerError = true;
120
+ this.bannerErrorMsgs.push({
121
+ message: `Invalid end date. Message index: ${msg.index}`,
122
+ index: msg.index
123
+ });
50
124
  }
51
125
  });
126
+ const beginDateOK = !msg.begin || (beginDate && beginDate < currentDateTime);
127
+ const endDateOK = !msg.end || (endDate && endDate >= currentDateTime);
128
+ return beginDateOK && endDateOK;
52
129
  }
53
- hideMessage(key) {
54
- this.filteredMessages.delete(key);
55
- this.hiddenBanners.push(key);
130
+ hideMessage(msg) {
131
+ this.filteredMessages = this.filteredMessages.filter(f => f.index !== msg.index);
132
+ this.hiddenBanners.push(msg.message_en);
56
133
  window.sessionStorage.setItem(this.serviceMessageCookie, JSON.stringify(this.hiddenBanners));
57
134
  }
58
135
  static { this.ɵfac = function ServiceMessagesComponent_Factory(t) { return new (t || ServiceMessagesComponent)(i0.ɵɵdirectiveInject(i1.FeatureToggleService)); }; }
59
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ServiceMessagesComponent, selectors: [["xuilib-service-messages"]], inputs: { userRoles: "userRoles", featureToggleKey: "featureToggleKey", serviceMessageCookie: "serviceMessageCookie" }, decls: 1, vars: 1, consts: [["class", "govuk-width-container govuk-!-margin-top-6", 4, "ngIf"], [1, "govuk-width-container", "govuk-!-margin-top-6"], [3, "key", "message", "hideMessage", 4, "ngFor", "ngForOf"], [3, "hideMessage", "key", "message"]], template: function ServiceMessagesComponent_Template(rf, ctx) { if (rf & 1) {
60
- i0.ɵɵtemplate(0, ServiceMessagesComponent_div_0_Template, 3, 3, "div", 0);
136
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ServiceMessagesComponent, selectors: [["xuilib-service-messages"]], inputs: { userRoles: "userRoles", featureToggleKey: "featureToggleKey", serviceMessageCookie: "serviceMessageCookie" }, decls: 2, vars: 2, consts: [["class", "govuk-width-container govuk-!-margin-top-6", 4, "ngIf"], [1, "govuk-width-container", "govuk-!-margin-top-6"], ["class", "hmcts-banner hmcts-banner--warning", 4, "ngFor", "ngForOf"], [1, "hmcts-banner", "hmcts-banner--warning"], ["fill", "currentColor", "role", "presentation", "focusable", "false", "xmlns", "http://www.w3.org/2000/svg", "viewBox", "0 0 25 25", "height", "25", "width", "25", 1, "hmcts-banner__icon"], ["d", "M13.6,15.4h-2.3v-4.5h2.3V15.4z M13.6,19.8h-2.3v-2.2h2.3V19.8z M0,23.2h25L12.5,2L0,23.2z"], [1, "hmcts-banner__message"], [1, "hmcts-banner__assistive"], [1, "govuk-heading-s"], [3, "innerHTML"], [3, "key", "message_en", "message_cy", "hideMessage", 4, "ngFor", "ngForOf"], [3, "hideMessage", "key", "message_en", "message_cy"]], template: function ServiceMessagesComponent_Template(rf, ctx) { if (rf & 1) {
137
+ i0.ɵɵtemplate(0, ServiceMessagesComponent_div_0_Template, 2, 1, "div", 0)(1, ServiceMessagesComponent_div_1_Template, 2, 1, "div", 0);
61
138
  } if (rf & 2) {
62
- i0.ɵɵproperty("ngIf", (ctx.filteredMessages == null ? null : ctx.filteredMessages.size) > 0);
63
- } }, dependencies: [i2.NgForOf, i2.NgIf, i3.ServiceMessageComponent, i2.KeyValuePipe, i4.RpxTranslatePipe], encapsulation: 2 }); }
139
+ i0.ɵɵproperty("ngIf", ctx.isBannerError);
140
+ i0.ɵɵadvance();
141
+ i0.ɵɵproperty("ngIf", (ctx.filteredMessages == null ? null : ctx.filteredMessages.length) > 0);
142
+ } }, dependencies: [i2.NgForOf, i2.NgIf, i3.ServiceMessageComponent, i4.RpxTranslatePipe], encapsulation: 2 }); }
64
143
  }
65
144
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ServiceMessagesComponent, [{
66
145
  type: Component,
67
- args: [{ selector: 'xuilib-service-messages', template: "<div *ngIf=\"filteredMessages?.size > 0\" class=\"govuk-width-container govuk-!-margin-top-6\">\n <xuilib-service-message *ngFor=\"let message of filteredMessages | keyvalue\" [key]=\"message.key\"\n [message]=\"message.value | rpxTranslate\" (hideMessage)=\"hideMessage($event)\"></xuilib-service-message>\n</div>" }]
146
+ args: [{ selector: 'xuilib-service-messages', template: "<div *ngIf=\"isBannerError\" class=\"govuk-width-container govuk-!-margin-top-6\">\n <div class=\"hmcts-banner hmcts-banner--warning\" *ngFor=\"let errMsg of bannerErrorMsgs\">\n <svg class=\"hmcts-banner__icon\" fill=\"currentColor\" role=\"presentation\" focusable=\"false\"\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 25 25\" height=\"25\" width=\"25\">\n <path d=\"M13.6,15.4h-2.3v-4.5h2.3V15.4z M13.6,19.8h-2.3v-2.2h2.3V19.8z M0,23.2h25L12.5,2L0,23.2z\" />\n </svg>\n <div class=\"hmcts-banner__message\">\n <span class=\"hmcts-banner__assistive\">{{'Warning' | rpxTranslate}}</span>\n <h2 class=\"govuk-heading-s\">Error:</h2>\n <p [innerHTML]=\"errMsg.message\"></p>\n </div>\n </div>\n</div>\n<div *ngIf=\"filteredMessages?.length > 0\" class=\"govuk-width-container govuk-!-margin-top-6\">\n <xuilib-service-message *ngFor=\"let message of filteredMessages\" [key]=\"message\"\n [message_en]=\"message?.message_en | rpxTranslate\" \n [message_cy]=\"message?.message_cy | rpxTranslate\"\n (hideMessage)=\"hideMessage($event)\">\n </xuilib-service-message>\n</div>" }]
68
147
  }], () => [{ type: i1.FeatureToggleService }], { userRoles: [{
69
148
  type: Input
70
149
  }], featureToggleKey: [{
@@ -72,5 +151,5 @@ export class ServiceMessagesComponent {
72
151
  }], serviceMessageCookie: [{
73
152
  type: Input
74
153
  }] }); })();
75
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ServiceMessagesComponent, { className: "ServiceMessagesComponent", filePath: "lib/components/service-messages/service-messages.component.ts", lineNumber: 12 }); })();
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1tZXNzYWdlcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL3NlcnZpY2UtbWVzc2FnZXMvc2VydmljZS1tZXNzYWdlcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL3NlcnZpY2UtbWVzc2FnZXMvc2VydmljZS1tZXNzYWdlcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzREFBc0QsQ0FBQzs7Ozs7Ozs7SUNBeEYsaURBQ2lGOztJQUFwQyxnUEFBZSwwQkFBbUIsS0FBQztJQUFDLGlCQUF5Qjs7O0lBQXRHLEFBRHdFLG9DQUFtQixtREFDbkQ7OztJQUZoRCw4QkFBMkY7SUFDdkYscUhBQ2lGOztJQUNyRixpQkFBTTs7O0lBRjBDLGNBQThCO0lBQTlCLHVFQUE4Qjs7QURVOUUsTUFBTSxPQUFPLHdCQUF3QjtJQVFuQyxZQUE2QixvQkFBMEM7UUFBMUMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQU5oRSxxQkFBZ0IsR0FBRyxJQUFJLEdBQUcsRUFBa0IsQ0FBQztJQU11QixDQUFDO0lBRXJFLFFBQVE7UUFDYixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRU0sa0JBQWtCO1FBQ3ZCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLENBQWtCLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUM7YUFDN0UsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ3BCLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUNmLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN4QyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sc0JBQXNCLENBQUMsUUFBeUI7UUFDdEQsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2hHLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ2xDLE1BQU0sS0FBSyxHQUFHLElBQUksTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzlCLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDdEYsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDaEQsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLFdBQVcsQ0FBQyxHQUFXO1FBQzVCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDN0IsTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7SUFDL0YsQ0FBQzt5RkFyQ1Usd0JBQXdCO29FQUF4Qix3QkFBd0I7WUNYckMseUVBQTJGOztZQUFyRiw0RkFBZ0M7OztpRkRXekIsd0JBQXdCO2NBSnBDLFNBQVM7MkJBQ0UseUJBQXlCO3FEQU9uQixTQUFTO2tCQUF4QixLQUFLO1lBQ1UsZ0JBQWdCO2tCQUEvQixLQUFLO1lBQ1Usb0JBQW9CO2tCQUFuQyxLQUFLOztrRkFOSyx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZlYXR1cmVUb2dnbGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZmVhdHVyZS10b2dnbGUvZmVhdHVyZS10b2dnbGUuc2VydmljZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VydmljZU1lc3NhZ2VzIHtcbiAgW2tleTogc3RyaW5nXTogc3RyaW5nO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd4dWlsaWItc2VydmljZS1tZXNzYWdlcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZXJ2aWNlLW1lc3NhZ2VzLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBTZXJ2aWNlTWVzc2FnZXNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwdWJsaWMgaGlkZGVuQmFubmVyczogc3RyaW5nW107XG4gIHB1YmxpYyBmaWx0ZXJlZE1lc3NhZ2VzID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oKTtcblxuICBASW5wdXQoKSBwdWJsaWMgdXNlclJvbGVzOiBzdHJpbmdbXTtcbiAgQElucHV0KCkgcHVibGljIGZlYXR1cmVUb2dnbGVLZXk6IHN0cmluZztcbiAgQElucHV0KCkgcHVibGljIHNlcnZpY2VNZXNzYWdlQ29va2llOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBmZWF0dXJlVG9nZ2xlU2VydmljZTogRmVhdHVyZVRvZ2dsZVNlcnZpY2UpIHsgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmdldFNlcnZpY2VNZXNzYWdlcygpO1xuICB9XG5cbiAgcHVibGljIGdldFNlcnZpY2VNZXNzYWdlcygpOiB2b2lkIHtcbiAgICB0aGlzLmZlYXR1cmVUb2dnbGVTZXJ2aWNlLmdldFZhbHVlPFNlcnZpY2VNZXNzYWdlcz4odGhpcy5mZWF0dXJlVG9nZ2xlS2V5LCBudWxsKVxuICAgICAgLnN1YnNjcmliZShtZXNzYWdlcyA9PiB7XG4gICAgICAgIGlmICghIW1lc3NhZ2VzKSB7XG4gICAgICAgICAgdGhpcy5jcmVhdGVGaWx0ZXJlZE1lc3NhZ2VzKG1lc3NhZ2VzKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUZpbHRlcmVkTWVzc2FnZXMobWVzc2FnZXM6IFNlcnZpY2VNZXNzYWdlcyk6IHZvaWQge1xuICAgIHRoaXMuaGlkZGVuQmFubmVycyA9IEpTT04ucGFyc2Uod2luZG93LnNlc3Npb25TdG9yYWdlLmdldEl0ZW0odGhpcy5zZXJ2aWNlTWVzc2FnZUNvb2tpZSkpIHx8IFtdO1xuICAgIE9iamVjdC5rZXlzKG1lc3NhZ2VzKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICBjb25zdCByZWdFeCA9IG5ldyBSZWdFeHAoa2V5KTtcbiAgICAgIGlmICh0aGlzLnVzZXJSb2xlcy5zb21lKGUgPT4gcmVnRXgudGVzdChlKSkgJiYgdGhpcy5oaWRkZW5CYW5uZXJzLmluZGV4T2Yoa2V5KSA9PT0gLTEpIHtcbiAgICAgICAgdGhpcy5maWx0ZXJlZE1lc3NhZ2VzLnNldChrZXksIG1lc3NhZ2VzW2tleV0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGhpZGVNZXNzYWdlKGtleTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5maWx0ZXJlZE1lc3NhZ2VzLmRlbGV0ZShrZXkpO1xuICAgIHRoaXMuaGlkZGVuQmFubmVycy5wdXNoKGtleSk7XG4gICAgd2luZG93LnNlc3Npb25TdG9yYWdlLnNldEl0ZW0odGhpcy5zZXJ2aWNlTWVzc2FnZUNvb2tpZSwgSlNPTi5zdHJpbmdpZnkodGhpcy5oaWRkZW5CYW5uZXJzKSk7XG4gIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJmaWx0ZXJlZE1lc3NhZ2VzPy5zaXplID4gMFwiIGNsYXNzPVwiZ292dWstd2lkdGgtY29udGFpbmVyIGdvdnVrLSEtbWFyZ2luLXRvcC02XCI+XG4gICAgPHh1aWxpYi1zZXJ2aWNlLW1lc3NhZ2UgKm5nRm9yPVwibGV0IG1lc3NhZ2Ugb2YgZmlsdGVyZWRNZXNzYWdlcyB8IGtleXZhbHVlXCIgW2tleV09XCJtZXNzYWdlLmtleVwiXG4gICAgICAgIFttZXNzYWdlXT1cIm1lc3NhZ2UudmFsdWUgfCBycHhUcmFuc2xhdGVcIiAoaGlkZU1lc3NhZ2UpPVwiaGlkZU1lc3NhZ2UoJGV2ZW50KVwiPjwveHVpbGliLXNlcnZpY2UtbWVzc2FnZT5cbjwvZGl2PiJdfQ==
154
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ServiceMessagesComponent, { className: "ServiceMessagesComponent", filePath: "lib/components/service-messages/service-messages.component.ts", lineNumber: 10 }); })();
155
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1tZXNzYWdlcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL3NlcnZpY2UtbWVzc2FnZXMvc2VydmljZS1tZXNzYWdlcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL3NlcnZpY2UtbWVzc2FnZXMvc2VydmljZS1tZXNzYWdlcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzREFBc0QsQ0FBQzs7Ozs7OztJQ0F4Riw4QkFBdUY7O0lBQ25GLDhCQUM4RTtJQUM5RSwwQkFBb0c7SUFDeEcsaUJBQU07O0lBRUUsQUFESiw4QkFBbUMsY0FDTztJQUFBLFlBQTRCOztJQUFBLGlCQUFPO0lBQ3pFLDZCQUE0QjtJQUFBLHNCQUFNO0lBQUEsaUJBQUs7SUFDdkMsdUJBQW9DO0lBRTVDLEFBREksaUJBQU0sRUFDSjs7O0lBSndDLGVBQTRCO0lBQTVCLHFEQUE0QjtJQUUvRCxlQUE0QjtJQUE1QixnRUFBNEI7OztJQVQzQyw4QkFBOEU7SUFDMUUsZ0ZBQXVGO0lBVzNGLGlCQUFNOzs7SUFYaUUsY0FBa0I7SUFBbEIsZ0RBQWtCOzs7O0lBYXJGLGtEQUd3Qzs7O0lBQXBDLGdQQUFlLDBCQUFtQixLQUFDO0lBQ3ZDLGlCQUF5Qjs7O0lBRnJCLEFBREEsQUFENkQsZ0NBQWUsdUZBQzNCLHVGQUNBOzs7SUFIekQsOEJBQTZGO0lBQ3pGLHNIQUd3QztJQUU1QyxpQkFBTTs7O0lBTDBDLGNBQW1CO0lBQW5CLGlEQUFtQjs7QURMbkUsTUFBTSxPQUFPLHdCQUF3QjtJ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QUFTLElBQUksU0FBUyxHQUFHLGVBQWUsQ0FBQyxDQUFDO1FBQzdFLE1BQU0sU0FBUyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sSUFBSSxPQUFPLElBQUksZUFBZSxDQUFDLENBQUM7UUFFdEUsT0FBTyxXQUFXLElBQUksU0FBUyxDQUFDO0lBQ2xDLENBQUM7SUFFTSxXQUFXLENBQUMsR0FBb0I7UUFDckMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUNoRixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDeEMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7SUFDL0YsQ0FBQzt5RkExRlUsd0JBQXdCO29FQUF4Qix3QkFBd0I7WUNJckMsQUFiQSx5RUFBOEUsNERBYWU7O1lBYnZGLHdDQUFtQjtZQWFuQixjQUFrQztZQUFsQyw4RkFBa0M7OztpRkRKM0Isd0JBQXdCO2NBSnBDLFNBQVM7MkJBQ0UseUJBQXlCO3FEQVVuQixTQUFTO2tCQUF4QixLQUFLO1lBQ1UsZ0JBQWdCO2tCQUEvQixLQUFLO1lBQ1Usb0JBQW9CO2tCQUFuQyxLQUFLOztrRkFUSyx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZlYXR1cmVUb2dnbGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZmVhdHVyZS10b2dnbGUvZmVhdHVyZS10b2dnbGUuc2VydmljZSc7XG5pbXBvcnQgeyBTZXJ2aWNlTWVzc2FnZXMgfSBmcm9tICcuLi8uLi9tb2RlbHMvc2VydmljZS1tZXNzYWdlLm1vZGVsJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd4dWlsaWItc2VydmljZS1tZXNzYWdlcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZXJ2aWNlLW1lc3NhZ2VzLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBTZXJ2aWNlTWVzc2FnZXNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwdWJsaWMgaGlkZGVuQmFubmVyczogc3RyaW5nW107XG4gIHB1YmxpYyBmaWx0ZXJlZE1lc3NhZ2VzOiBTZXJ2aWNlTWVzc2FnZXNbXSA9IFtdO1xuICBwdWJsaWMgaXNCYW5uZXJFcnJvcjogYm9vbGVhbjtcbiAgcHVibGljIGJhbm5lckVycm9yTXNnczogeyBtZXNzYWdlOiBzdHJpbmcsIGluZGV4OiBudW1iZXIgfVtdID0gW107XG4gIHB1YmxpYyBvcmlnaW5hbE1lc3NhZ2VzOiBTZXJ2aWNlTWVzc2FnZXNbXSA9IFtdO1xuXG4gIEBJbnB1dCgpIHB1YmxpYyB1c2VyUm9sZXM6IHN0cmluZ1tdO1xuICBASW5wdXQoKSBwdWJsaWMgZmVhdHVyZVRvZ2dsZUtleTogc3RyaW5nO1xuICBASW5wdXQoKSBwdWJsaWMgc2VydmljZU1lc3NhZ2VDb29raWU6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGZlYXR1cmVUb2dnbGVTZXJ2aWNlOiBGZWF0dXJlVG9nZ2xlU2VydmljZSkgeyB9XG5cbiAgcHVibGljIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZ2V0U2VydmljZU1lc3NhZ2VzKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0U2VydmljZU1lc3NhZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuZmVhdHVyZVRvZ2dsZVNlcnZpY2UuZ2V0VmFsdWU8U2VydmljZU1lc3NhZ2VzW10+KHRoaXMuZmVhdHVyZVRvZ2dsZUtleSwgbnVsbClcbiAgICAgIC5zdWJzY3JpYmUobWVzc2FnZXMgPT4ge1xuICAgICAgICB0aGlzLm9yaWdpbmFsTWVzc2FnZXMgPSBtZXNzYWdlcztcbiAgICAgICAgaWYgKCEhbWVzc2FnZXMpIHtcbiAgICAgICAgICB0aGlzLmNyZWF0ZUZpbHRlcmVkTWVzc2FnZXMobWVzc2FnZXMpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlRmlsdGVyZWRNZXNzYWdlcyhtZXNzYWdlczogU2VydmljZU1lc3NhZ2VzW10pOiB2b2lkIHtcbiAgICB0aGlzLmhpZGRlbkJhbm5lcnMgPSBKU09OLnBhcnNlKHdpbmRvdy5zZXNzaW9uU3RvcmFnZS5nZXRJdGVtKHRoaXMuc2VydmljZU1lc3NhZ2VDb29raWUpKSB8fCBbXTtcblxuICAgIG1lc3NhZ2VzLmZvckVhY2goa2V5ID0+IHtcbiAgICAgIGNvbnN0IHJlZ0V4ID0gbmV3IFJlZ0V4cChrZXkucm9sZXMpO1xuICAgICAgaWYgKHRoaXMudXNlclJvbGVzLnNvbWUoZSA9PiByZWdFeC50ZXN0KGUpKSkge1xuICAgICAgICB0aGlzLmZpbHRlcmVkTWVzc2FnZXMgPSBtZXNzYWdlcy5maWx0ZXIobXNnID0+ICF0aGlzLmhpZGRlbkJhbm5lcnMuaW5jbHVkZXMobXNnLm1lc3NhZ2VfZW4pXG4gICAgICAgICAgJiYgdGhpcy5jb21wYXJlRGF0ZXMobXNnKSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNvbXBhcmVEYXRlcyhtc2c6IFNlcnZpY2VNZXNzYWdlcyk6IGJvb2xlYW4ge1xuICAgIGxldCBjdXJyZW50RGF0ZVRpbWUgPSBuZXcgRGF0ZSgpO1xuICAgIGxldCBiZWdpbkRhdGU6IERhdGUgfCBudWxsID0gbnVsbDtcbiAgICBsZXQgZW5kRGF0ZTogRGF0ZSB8IG51bGwgPSBudWxsO1xuICAgIHRoaXMuYmFubmVyRXJyb3JNc2dzID0gW107XG5cbiAgICAvLyBQYXJzZSBiZWdpbkRhdGUgaWYgbXNnLmJlZ2luIGlzIHByZXNlbnQgYW5kIHZhbGlkXG4gICAgaWYgKG1zZy5iZWdpbiAmJiAhaXNOYU4oRGF0ZS5wYXJzZShtc2cuYmVnaW4pKSkge1xuICAgICAgYmVnaW5EYXRlID0gbmV3IERhdGUobXNnLmJlZ2luKTtcbiAgICB9XG5cbiAgICBpZiAobXNnLmVuZCAmJiAhaXNOYU4oRGF0ZS5wYXJzZShtc2cuZW5kKSkpIHtcbiAgICAgIGVuZERhdGUgPSBuZXcgRGF0ZShtc2cuZW5kKTtcbiAgICB9XG4gICAgdGhpcy5vcmlnaW5hbE1lc3NhZ2VzLmZvckVhY2gobXNnID0+IHtcbiAgICAgIC8vIE9ubHkgY2hlY2sgZm9yIGVycm9ycyBpZiBib3RoIGJlZ2luRGF0ZSBhbmQgZW5kRGF0ZSBhcmUgcHJlc2VudCBhbmQgdmFsaWRcbiAgICAgIGlmICgobXNnLmJlZ2luICYmICFpc05hTihEYXRlLnBhcnNlKG1zZy5lbmQpKSkgJiYgKG1zZy5lbmQgJiYgIWlzTmFOKERhdGUucGFyc2UobXNnLmVuZCkpKSAmJiBuZXcgRGF0ZShtc2cuYmVnaW4pID4gbmV3IERhdGUobXNnLmVuZCkpIHtcbiAgICAgICAgdGhpcy5pc0Jhbm5lckVycm9yID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5iYW5uZXJFcnJvck1zZ3MucHVzaCh7XG4gICAgICAgICAgbWVzc2FnZTogYFRoZSBzdGFydCBkYXRlIGlzIGdyZWF0ZXIgdGhhbiB0aGUgZW5kIGRhdGUuIE1lc3NhZ2UgaW5kZXg6ICR7bXNnLmluZGV4fWAsXG4gICAgICAgICAgaW5kZXg6IG1zZy5pbmRleFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgLy8gQ2hlY2sgZm9yIGludmFsaWQgYmVnaW5EYXRlIG9yIGVuZERhdGUgc2VwYXJhdGVseSwgaWYgdGhleSBhcmUgcHJlc2VudFxuICAgICAgaWYgKG1zZy5iZWdpbiAmJiBpc05hTihEYXRlLnBhcnNlKG1zZy5iZWdpbikpKSB7XG4gICAgICAgIHRoaXMuaXNCYW5uZXJFcnJvciA9IHRydWU7XG4gICAgICAgIHRoaXMuYmFubmVyRXJyb3JNc2dzLnB1c2goe1xuICAgICAgICAgIG1lc3NhZ2U6IGBJbnZhbGlkIHN0YXJ0IGRhdGUuIE1lc3NhZ2UgaW5kZXg6ICR7bXNnLmluZGV4fWAsXG4gICAgICAgICAgaW5kZXg6IG1zZy5pbmRleFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGlmIChtc2cuZW5kICYmIGlzTmFOKERhdGUucGFyc2UobXNnLmVuZCkpKSB7XG4gICAgICAgIHRoaXMuaXNCYW5uZXJFcnJvciA9IHRydWU7XG4gICAgICAgIHRoaXMuYmFubmVyRXJyb3JNc2dzLnB1c2goe1xuICAgICAgICAgIG1lc3NhZ2U6IGBJbnZhbGlkIGVuZCBkYXRlLiBNZXNzYWdlIGluZGV4OiAke21zZy5pbmRleH1gLFxuICAgICAgICAgIGluZGV4OiBtc2cuaW5kZXhcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBjb25zdCBiZWdpbkRhdGVPSyA9ICFtc2cuYmVnaW4gfHwgKGJlZ2luRGF0ZSAmJiBiZWdpbkRhdGUgPCBjdXJyZW50RGF0ZVRpbWUpO1xuICAgIGNvbnN0IGVuZERhdGVPSyA9ICFtc2cuZW5kIHx8IChlbmREYXRlICYmIGVuZERhdGUgPj0gY3VycmVudERhdGVUaW1lKTtcblxuICAgIHJldHVybiBiZWdpbkRhdGVPSyAmJiBlbmREYXRlT0s7XG4gIH1cblxuICBwdWJsaWMgaGlkZU1lc3NhZ2UobXNnOiBTZXJ2aWNlTWVzc2FnZXMpOiB2b2lkIHtcbiAgICB0aGlzLmZpbHRlcmVkTWVzc2FnZXMgPSB0aGlzLmZpbHRlcmVkTWVzc2FnZXMuZmlsdGVyKGYgPT4gZi5pbmRleCAhPT0gbXNnLmluZGV4KVxuICAgIHRoaXMuaGlkZGVuQmFubmVycy5wdXNoKG1zZy5tZXNzYWdlX2VuKTtcbiAgICB3aW5kb3cuc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSh0aGlzLnNlcnZpY2VNZXNzYWdlQ29va2llLCBKU09OLnN0cmluZ2lmeSh0aGlzLmhpZGRlbkJhbm5lcnMpKTtcbiAgfVxufVxuIiwiPGRpdiAqbmdJZj1cImlzQmFubmVyRXJyb3JcIiBjbGFzcz1cImdvdnVrLXdpZHRoLWNvbnRhaW5lciBnb3Z1ay0hLW1hcmdpbi10b3AtNlwiPlxuICAgIDxkaXYgY2xhc3M9XCJobWN0cy1iYW5uZXIgaG1jdHMtYmFubmVyLS13YXJuaW5nXCIgKm5nRm9yPVwibGV0IGVyck1zZyBvZiBiYW5uZXJFcnJvck1zZ3NcIj5cbiAgICAgICAgPHN2ZyBjbGFzcz1cImhtY3RzLWJhbm5lcl9faWNvblwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIiByb2xlPVwicHJlc2VudGF0aW9uXCIgZm9jdXNhYmxlPVwiZmFsc2VcIlxuICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNSAyNVwiIGhlaWdodD1cIjI1XCIgd2lkdGg9XCIyNVwiPlxuICAgICAgICA8cGF0aCBkPVwiTTEzLjYsMTUuNGgtMi4zdi00LjVoMi4zVjE1LjR6IE0xMy42LDE5LjhoLTIuM3YtMi4yaDIuM1YxOS44eiBNMCwyMy4yaDI1TDEyLjUsMkwwLDIzLjJ6XCIgLz5cbiAgICA8L3N2Zz5cbiAgICAgICAgPGRpdiBjbGFzcz1cImhtY3RzLWJhbm5lcl9fbWVzc2FnZVwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJobWN0cy1iYW5uZXJfX2Fzc2lzdGl2ZVwiPnt7J1dhcm5pbmcnIHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+XG4gICAgICAgICAgICA8aDIgY2xhc3M9XCJnb3Z1ay1oZWFkaW5nLXNcIj5FcnJvcjo8L2gyPlxuICAgICAgICAgICAgPHAgW2lubmVySFRNTF09XCJlcnJNc2cubWVzc2FnZVwiPjwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgKm5nSWY9XCJmaWx0ZXJlZE1lc3NhZ2VzPy5sZW5ndGggPiAwXCIgY2xhc3M9XCJnb3Z1ay13aWR0aC1jb250YWluZXIgZ292dWstIS1tYXJnaW4tdG9wLTZcIj5cbiAgICA8eHVpbGliLXNlcnZpY2UtbWVzc2FnZSAqbmdGb3I9XCJsZXQgbWVzc2FnZSBvZiBmaWx0ZXJlZE1lc3NhZ2VzXCIgW2tleV09XCJtZXNzYWdlXCJcbiAgICAgICAgW21lc3NhZ2VfZW5dPVwibWVzc2FnZT8ubWVzc2FnZV9lbiB8IHJweFRyYW5zbGF0ZVwiIFxuICAgICAgICBbbWVzc2FnZV9jeV09XCJtZXNzYWdlPy5tZXNzYWdlX2N5IHwgcnB4VHJhbnNsYXRlXCJcbiAgICAgICAgKGhpZGVNZXNzYWdlKT1cImhpZGVNZXNzYWdlKCRldmVudClcIj5cbiAgICA8L3h1aWxpYi1zZXJ2aWNlLW1lc3NhZ2U+XG48L2Rpdj4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1tZXNzYWdlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXh1aS1jb21tb24tbGliL3NyYy9saWIvbW9kZWxzL3NlcnZpY2UtbWVzc2FnZS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBTZXJ2aWNlTWVzc2FnZXMge1xuICAgIGluZGV4OiBudW1iZXI7XG4gICAgcm9sZXM6IHN0cmluZztcbiAgICBtZXNzYWdlX2VuOiBzdHJpbmc7XG4gICAgbWVzc2FnZV9jeTogc3RyaW5nO1xuICAgIGJlZ2luPzogc3RyaW5nO1xuICAgIGVuZD86IHN0cmluZztcbiAgfSJdfQ==
@@ -5947,6 +5947,12 @@ class SelectedCaseListComponent {
5947
5947
  }] }); })();
5948
5948
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SelectedCaseListComponent, { className: "SelectedCaseListComponent", filePath: "lib/components/selected-case-list/selected-case-list.component.ts", lineNumber: 11 }); })();
5949
5949
 
5950
+ function ServiceMessageComponent_h2_8_Template(rf, ctx) { if (rf & 1) {
5951
+ i0.ɵɵelement(0, "h2", 5);
5952
+ } if (rf & 2) {
5953
+ const ctx_r0 = i0.ɵɵnextContext();
5954
+ i0.ɵɵproperty("innerHTML", ctx_r0.message_cy, i0.ɵɵsanitizeHtml);
5955
+ } }
5950
5956
  class ServiceMessageComponent {
5951
5957
  constructor() {
5952
5958
  this.hideMessage = new EventEmitter();
@@ -5955,7 +5961,7 @@ class ServiceMessageComponent {
5955
5961
  this.hideMessage.emit(key);
5956
5962
  }
5957
5963
  static { this.ɵfac = function ServiceMessageComponent_Factory(t) { return new (t || ServiceMessageComponent)(); }; }
5958
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ServiceMessageComponent, selectors: [["xuilib-service-message"]], inputs: { message: "message", key: "key" }, outputs: { hideMessage: "hideMessage" }, decls: 12, vars: 9, consts: [[1, "hmcts-banner", "hmcts-banner--warning"], ["fill", "currentColor", "role", "presentation", "focusable", "false", "xmlns", "http://www.w3.org/2000/svg", "viewBox", "0 0 25 25", "height", "25", "width", "25", 1, "hmcts-banner__icon"], ["d", "M13.6,15.4h-2.3v-4.5h2.3V15.4z M13.6,19.8h-2.3v-2.2h2.3V19.8z M0,23.2h25L12.5,2L0,23.2z"], [1, "hmcts-banner__message"], [1, "hmcts-banner__assistive"], [1, "govuk-heading-s", 3, "innerHTML"], [1, "govuk-link--no-visited-state", 3, "click", "routerLink"]], template: function ServiceMessageComponent_Template(rf, ctx) { if (rf & 1) {
5964
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ServiceMessageComponent, selectors: [["xuilib-service-message"]], inputs: { message_en: "message_en", message_cy: "message_cy", key: "key" }, outputs: { hideMessage: "hideMessage" }, decls: 12, vars: 8, consts: [[1, "hmcts-banner", "hmcts-banner--warning"], ["fill", "currentColor", "role", "presentation", "focusable", "false", "xmlns", "http://www.w3.org/2000/svg", "viewBox", "0 0 25 25", "height", "25", "width", "25", 1, "hmcts-banner__icon"], ["d", "M13.6,15.4h-2.3v-4.5h2.3V15.4z M13.6,19.8h-2.3v-2.2h2.3V19.8z M0,23.2h25L12.5,2L0,23.2z"], [1, "hmcts-banner__message"], [1, "hmcts-banner__assistive"], [1, "govuk-heading-s", 3, "innerHTML"], ["class", "govuk-heading-s", 3, "innerHTML", 4, "ngIf"], [1, "govuk-link--no-visited-state", 3, "click", "routerLink"]], template: function ServiceMessageComponent_Template(rf, ctx) { if (rf & 1) {
5959
5965
  i0.ɵɵelementStart(0, "div", 0);
5960
5966
  i0.ɵɵnamespaceSVG();
5961
5967
  i0.ɵɵelementStart(1, "svg", 1);
@@ -5967,57 +5973,95 @@ class ServiceMessageComponent {
5967
5973
  i0.ɵɵpipe(6, "rpxTranslate");
5968
5974
  i0.ɵɵelementEnd();
5969
5975
  i0.ɵɵelement(7, "h2", 5);
5970
- i0.ɵɵpipe(8, "rpxTranslate");
5971
- i0.ɵɵelementStart(9, "a", 6);
5976
+ i0.ɵɵtemplate(8, ServiceMessageComponent_h2_8_Template, 1, 1, "h2", 6);
5977
+ i0.ɵɵelementStart(9, "a", 7);
5972
5978
  i0.ɵɵlistener("click", function ServiceMessageComponent_Template_a_click_9_listener() { return ctx.onHideMessageEvent(ctx.key); });
5973
5979
  i0.ɵɵtext(10);
5974
5980
  i0.ɵɵpipe(11, "rpxTranslate");
5975
5981
  i0.ɵɵelementEnd()()();
5976
5982
  } if (rf & 2) {
5977
5983
  i0.ɵɵadvance(5);
5978
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(6, 3, "Warning"));
5984
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(6, 4, "Warning"));
5979
5985
  i0.ɵɵadvance(2);
5980
- i0.ɵɵproperty("innerHTML", i0.ɵɵpipeBind1(8, 5, ctx.message), i0.ɵɵsanitizeHtml);
5981
- i0.ɵɵadvance(3);
5982
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(11, 7, "Hide message"));
5983
- } }, dependencies: [i2$1.RouterLink, i2.RpxTranslatePipe], encapsulation: 2 }); }
5986
+ i0.ɵɵproperty("innerHTML", ctx.message_en, i0.ɵɵsanitizeHtml);
5987
+ i0.ɵɵadvance();
5988
+ i0.ɵɵproperty("ngIf", ctx.message_cy);
5989
+ i0.ɵɵadvance(2);
5990
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(11, 6, "Hide message"));
5991
+ } }, dependencies: [i1.NgIf, i2$1.RouterLink, i2.RpxTranslatePipe], styles: [".govuk-link--no-visited-state[_ngcontent-%COMP%]{cursor:pointer}"] }); }
5984
5992
  }
5985
5993
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ServiceMessageComponent, [{
5986
5994
  type: Component,
5987
- args: [{ selector: 'xuilib-service-message', template: "<div class=\"hmcts-banner hmcts-banner--warning\">\n\n <svg class=\"hmcts-banner__icon\" fill=\"currentColor\" role=\"presentation\" focusable=\"false\"\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 25 25\" height=\"25\" width=\"25\">\n <path d=\"M13.6,15.4h-2.3v-4.5h2.3V15.4z M13.6,19.8h-2.3v-2.2h2.3V19.8z M0,23.2h25L12.5,2L0,23.2z\" />\n </svg>\n\n <div class=\"hmcts-banner__message\">\n <span class=\"hmcts-banner__assistive\">{{'Warning' | rpxTranslate}}</span>\n <h2 class=\"govuk-heading-s\" [innerHTML]=\"message | rpxTranslate\"></h2>\n <a [routerLink]=\"\" class=\"govuk-link--no-visited-state\" (click)=\"onHideMessageEvent(key)\">{{'Hide message' | rpxTranslate}}</a>\n </div>\n\n</div>" }]
5988
- }], () => [], { message: [{
5995
+ args: [{ selector: 'xuilib-service-message', template: "<div class=\"hmcts-banner hmcts-banner--warning\">\n\n <svg class=\"hmcts-banner__icon\" fill=\"currentColor\" role=\"presentation\" focusable=\"false\"\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 25 25\" height=\"25\" width=\"25\">\n <path d=\"M13.6,15.4h-2.3v-4.5h2.3V15.4z M13.6,19.8h-2.3v-2.2h2.3V19.8z M0,23.2h25L12.5,2L0,23.2z\" />\n </svg>\n\n <div class=\"hmcts-banner__message\">\n <span class=\"hmcts-banner__assistive\">{{'Warning' | rpxTranslate}}</span>\n <h2 class=\"govuk-heading-s\" [innerHTML]=\"message_en\"></h2>\n <h2 *ngIf=\"message_cy\" class=\"govuk-heading-s\" [innerHTML]=\"message_cy\"></h2>\n <a [routerLink]=\"\" class=\"govuk-link--no-visited-state\" (click)=\"onHideMessageEvent(key)\">{{'Hide message' | rpxTranslate}}</a>\n </div>\n\n</div>", styles: [".govuk-link--no-visited-state{cursor:pointer}\n"] }]
5996
+ }], () => [], { message_en: [{
5997
+ type: Input
5998
+ }], message_cy: [{
5989
5999
  type: Input
5990
6000
  }], key: [{
5991
6001
  type: Input
5992
6002
  }], hideMessage: [{
5993
6003
  type: Output
5994
6004
  }] }); })();
5995
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ServiceMessageComponent, { className: "ServiceMessageComponent", filePath: "lib/components/service-message/service-message.component.ts", lineNumber: 7 }); })();
6005
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ServiceMessageComponent, { className: "ServiceMessageComponent", filePath: "lib/components/service-message/service-message.component.ts", lineNumber: 9 }); })();
5996
6006
 
5997
- function ServiceMessagesComponent_div_0_xuilib_service_message_1_Template(rf, ctx) { if (rf & 1) {
5998
- const _r1 = i0.ɵɵgetCurrentView();
5999
- i0.ɵɵelementStart(0, "xuilib-service-message", 3);
6000
- i0.ɵɵpipe(1, "rpxTranslate");
6001
- i0.ɵɵlistener("hideMessage", function ServiceMessagesComponent_div_0_xuilib_service_message_1_Template_xuilib_service_message_hideMessage_0_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.hideMessage($event)); });
6007
+ function ServiceMessagesComponent_div_0_div_1_Template(rf, ctx) { if (rf & 1) {
6008
+ i0.ɵɵelementStart(0, "div", 3);
6009
+ i0.ɵɵnamespaceSVG();
6010
+ i0.ɵɵelementStart(1, "svg", 4);
6011
+ i0.ɵɵelement(2, "path", 5);
6002
6012
  i0.ɵɵelementEnd();
6013
+ i0.ɵɵnamespaceHTML();
6014
+ i0.ɵɵelementStart(3, "div", 6)(4, "span", 7);
6015
+ i0.ɵɵtext(5);
6016
+ i0.ɵɵpipe(6, "rpxTranslate");
6017
+ i0.ɵɵelementEnd();
6018
+ i0.ɵɵelementStart(7, "h2", 8);
6019
+ i0.ɵɵtext(8, "Error:");
6020
+ i0.ɵɵelementEnd();
6021
+ i0.ɵɵelement(9, "p", 9);
6022
+ i0.ɵɵelementEnd()();
6003
6023
  } if (rf & 2) {
6004
- const message_r3 = ctx.$implicit;
6005
- i0.ɵɵproperty("key", message_r3.key)("message", i0.ɵɵpipeBind1(1, 2, message_r3.value));
6024
+ const errMsg_r1 = ctx.$implicit;
6025
+ i0.ɵɵadvance(5);
6026
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(6, 2, "Warning"));
6027
+ i0.ɵɵadvance(4);
6028
+ i0.ɵɵproperty("innerHTML", errMsg_r1.message, i0.ɵɵsanitizeHtml);
6006
6029
  } }
6007
6030
  function ServiceMessagesComponent_div_0_Template(rf, ctx) { if (rf & 1) {
6008
6031
  i0.ɵɵelementStart(0, "div", 1);
6009
- i0.ɵɵtemplate(1, ServiceMessagesComponent_div_0_xuilib_service_message_1_Template, 2, 4, "xuilib-service-message", 2);
6010
- i0.ɵɵpipe(2, "keyvalue");
6032
+ i0.ɵɵtemplate(1, ServiceMessagesComponent_div_0_div_1_Template, 10, 4, "div", 2);
6033
+ i0.ɵɵelementEnd();
6034
+ } if (rf & 2) {
6035
+ const ctx_r1 = i0.ɵɵnextContext();
6036
+ i0.ɵɵadvance();
6037
+ i0.ɵɵproperty("ngForOf", ctx_r1.bannerErrorMsgs);
6038
+ } }
6039
+ function ServiceMessagesComponent_div_1_xuilib_service_message_1_Template(rf, ctx) { if (rf & 1) {
6040
+ const _r3 = i0.ɵɵgetCurrentView();
6041
+ i0.ɵɵelementStart(0, "xuilib-service-message", 11);
6042
+ i0.ɵɵpipe(1, "rpxTranslate");
6043
+ i0.ɵɵpipe(2, "rpxTranslate");
6044
+ i0.ɵɵlistener("hideMessage", function ServiceMessagesComponent_div_1_xuilib_service_message_1_Template_xuilib_service_message_hideMessage_0_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.hideMessage($event)); });
6045
+ i0.ɵɵelementEnd();
6046
+ } if (rf & 2) {
6047
+ const message_r4 = ctx.$implicit;
6048
+ i0.ɵɵproperty("key", message_r4)("message_en", i0.ɵɵpipeBind1(1, 3, message_r4 == null ? null : message_r4.message_en))("message_cy", i0.ɵɵpipeBind1(2, 5, message_r4 == null ? null : message_r4.message_cy));
6049
+ } }
6050
+ function ServiceMessagesComponent_div_1_Template(rf, ctx) { if (rf & 1) {
6051
+ i0.ɵɵelementStart(0, "div", 1);
6052
+ i0.ɵɵtemplate(1, ServiceMessagesComponent_div_1_xuilib_service_message_1_Template, 3, 7, "xuilib-service-message", 10);
6011
6053
  i0.ɵɵelementEnd();
6012
6054
  } if (rf & 2) {
6013
6055
  const ctx_r1 = i0.ɵɵnextContext();
6014
6056
  i0.ɵɵadvance();
6015
- i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(2, 1, ctx_r1.filteredMessages));
6057
+ i0.ɵɵproperty("ngForOf", ctx_r1.filteredMessages);
6016
6058
  } }
6017
6059
  class ServiceMessagesComponent {
6018
6060
  constructor(featureToggleService) {
6019
6061
  this.featureToggleService = featureToggleService;
6020
- this.filteredMessages = new Map();
6062
+ this.filteredMessages = [];
6063
+ this.bannerErrorMsgs = [];
6064
+ this.originalMessages = [];
6021
6065
  }
6022
6066
  ngOnInit() {
6023
6067
  this.getServiceMessages();
@@ -6025,6 +6069,7 @@ class ServiceMessagesComponent {
6025
6069
  getServiceMessages() {
6026
6070
  this.featureToggleService.getValue(this.featureToggleKey, null)
6027
6071
  .subscribe(messages => {
6072
+ this.originalMessages = messages;
6028
6073
  if (!!messages) {
6029
6074
  this.createFilteredMessages(messages);
6030
6075
  }
@@ -6032,28 +6077,72 @@ class ServiceMessagesComponent {
6032
6077
  }
6033
6078
  createFilteredMessages(messages) {
6034
6079
  this.hiddenBanners = JSON.parse(window.sessionStorage.getItem(this.serviceMessageCookie)) || [];
6035
- Object.keys(messages).forEach(key => {
6036
- const regEx = new RegExp(key);
6037
- if (this.userRoles.some(e => regEx.test(e)) && this.hiddenBanners.indexOf(key) === -1) {
6038
- this.filteredMessages.set(key, messages[key]);
6080
+ messages.forEach(key => {
6081
+ const regEx = new RegExp(key.roles);
6082
+ if (this.userRoles.some(e => regEx.test(e))) {
6083
+ this.filteredMessages = messages.filter(msg => !this.hiddenBanners.includes(msg.message_en)
6084
+ && this.compareDates(msg));
6085
+ }
6086
+ });
6087
+ }
6088
+ compareDates(msg) {
6089
+ let currentDateTime = new Date();
6090
+ let beginDate = null;
6091
+ let endDate = null;
6092
+ this.bannerErrorMsgs = [];
6093
+ // Parse beginDate if msg.begin is present and valid
6094
+ if (msg.begin && !isNaN(Date.parse(msg.begin))) {
6095
+ beginDate = new Date(msg.begin);
6096
+ }
6097
+ if (msg.end && !isNaN(Date.parse(msg.end))) {
6098
+ endDate = new Date(msg.end);
6099
+ }
6100
+ this.originalMessages.forEach(msg => {
6101
+ // Only check for errors if both beginDate and endDate are present and valid
6102
+ if ((msg.begin && !isNaN(Date.parse(msg.end))) && (msg.end && !isNaN(Date.parse(msg.end))) && new Date(msg.begin) > new Date(msg.end)) {
6103
+ this.isBannerError = true;
6104
+ this.bannerErrorMsgs.push({
6105
+ message: `The start date is greater than the end date. Message index: ${msg.index}`,
6106
+ index: msg.index
6107
+ });
6108
+ }
6109
+ // Check for invalid beginDate or endDate separately, if they are present
6110
+ if (msg.begin && isNaN(Date.parse(msg.begin))) {
6111
+ this.isBannerError = true;
6112
+ this.bannerErrorMsgs.push({
6113
+ message: `Invalid start date. Message index: ${msg.index}`,
6114
+ index: msg.index
6115
+ });
6116
+ }
6117
+ if (msg.end && isNaN(Date.parse(msg.end))) {
6118
+ this.isBannerError = true;
6119
+ this.bannerErrorMsgs.push({
6120
+ message: `Invalid end date. Message index: ${msg.index}`,
6121
+ index: msg.index
6122
+ });
6039
6123
  }
6040
6124
  });
6125
+ const beginDateOK = !msg.begin || (beginDate && beginDate < currentDateTime);
6126
+ const endDateOK = !msg.end || (endDate && endDate >= currentDateTime);
6127
+ return beginDateOK && endDateOK;
6041
6128
  }
6042
- hideMessage(key) {
6043
- this.filteredMessages.delete(key);
6044
- this.hiddenBanners.push(key);
6129
+ hideMessage(msg) {
6130
+ this.filteredMessages = this.filteredMessages.filter(f => f.index !== msg.index);
6131
+ this.hiddenBanners.push(msg.message_en);
6045
6132
  window.sessionStorage.setItem(this.serviceMessageCookie, JSON.stringify(this.hiddenBanners));
6046
6133
  }
6047
6134
  static { this.ɵfac = function ServiceMessagesComponent_Factory(t) { return new (t || ServiceMessagesComponent)(i0.ɵɵdirectiveInject(FeatureToggleService)); }; }
6048
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ServiceMessagesComponent, selectors: [["xuilib-service-messages"]], inputs: { userRoles: "userRoles", featureToggleKey: "featureToggleKey", serviceMessageCookie: "serviceMessageCookie" }, decls: 1, vars: 1, consts: [["class", "govuk-width-container govuk-!-margin-top-6", 4, "ngIf"], [1, "govuk-width-container", "govuk-!-margin-top-6"], [3, "key", "message", "hideMessage", 4, "ngFor", "ngForOf"], [3, "hideMessage", "key", "message"]], template: function ServiceMessagesComponent_Template(rf, ctx) { if (rf & 1) {
6049
- i0.ɵɵtemplate(0, ServiceMessagesComponent_div_0_Template, 3, 3, "div", 0);
6135
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ServiceMessagesComponent, selectors: [["xuilib-service-messages"]], inputs: { userRoles: "userRoles", featureToggleKey: "featureToggleKey", serviceMessageCookie: "serviceMessageCookie" }, decls: 2, vars: 2, consts: [["class", "govuk-width-container govuk-!-margin-top-6", 4, "ngIf"], [1, "govuk-width-container", "govuk-!-margin-top-6"], ["class", "hmcts-banner hmcts-banner--warning", 4, "ngFor", "ngForOf"], [1, "hmcts-banner", "hmcts-banner--warning"], ["fill", "currentColor", "role", "presentation", "focusable", "false", "xmlns", "http://www.w3.org/2000/svg", "viewBox", "0 0 25 25", "height", "25", "width", "25", 1, "hmcts-banner__icon"], ["d", "M13.6,15.4h-2.3v-4.5h2.3V15.4z M13.6,19.8h-2.3v-2.2h2.3V19.8z M0,23.2h25L12.5,2L0,23.2z"], [1, "hmcts-banner__message"], [1, "hmcts-banner__assistive"], [1, "govuk-heading-s"], [3, "innerHTML"], [3, "key", "message_en", "message_cy", "hideMessage", 4, "ngFor", "ngForOf"], [3, "hideMessage", "key", "message_en", "message_cy"]], template: function ServiceMessagesComponent_Template(rf, ctx) { if (rf & 1) {
6136
+ i0.ɵɵtemplate(0, ServiceMessagesComponent_div_0_Template, 2, 1, "div", 0)(1, ServiceMessagesComponent_div_1_Template, 2, 1, "div", 0);
6050
6137
  } if (rf & 2) {
6051
- i0.ɵɵproperty("ngIf", (ctx.filteredMessages == null ? null : ctx.filteredMessages.size) > 0);
6052
- } }, dependencies: [i1.NgForOf, i1.NgIf, ServiceMessageComponent, i1.KeyValuePipe, i2.RpxTranslatePipe], encapsulation: 2 }); }
6138
+ i0.ɵɵproperty("ngIf", ctx.isBannerError);
6139
+ i0.ɵɵadvance();
6140
+ i0.ɵɵproperty("ngIf", (ctx.filteredMessages == null ? null : ctx.filteredMessages.length) > 0);
6141
+ } }, dependencies: [i1.NgForOf, i1.NgIf, ServiceMessageComponent, i2.RpxTranslatePipe], encapsulation: 2 }); }
6053
6142
  }
6054
6143
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ServiceMessagesComponent, [{
6055
6144
  type: Component,
6056
- args: [{ selector: 'xuilib-service-messages', template: "<div *ngIf=\"filteredMessages?.size > 0\" class=\"govuk-width-container govuk-!-margin-top-6\">\n <xuilib-service-message *ngFor=\"let message of filteredMessages | keyvalue\" [key]=\"message.key\"\n [message]=\"message.value | rpxTranslate\" (hideMessage)=\"hideMessage($event)\"></xuilib-service-message>\n</div>" }]
6145
+ args: [{ selector: 'xuilib-service-messages', template: "<div *ngIf=\"isBannerError\" class=\"govuk-width-container govuk-!-margin-top-6\">\n <div class=\"hmcts-banner hmcts-banner--warning\" *ngFor=\"let errMsg of bannerErrorMsgs\">\n <svg class=\"hmcts-banner__icon\" fill=\"currentColor\" role=\"presentation\" focusable=\"false\"\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 25 25\" height=\"25\" width=\"25\">\n <path d=\"M13.6,15.4h-2.3v-4.5h2.3V15.4z M13.6,19.8h-2.3v-2.2h2.3V19.8z M0,23.2h25L12.5,2L0,23.2z\" />\n </svg>\n <div class=\"hmcts-banner__message\">\n <span class=\"hmcts-banner__assistive\">{{'Warning' | rpxTranslate}}</span>\n <h2 class=\"govuk-heading-s\">Error:</h2>\n <p [innerHTML]=\"errMsg.message\"></p>\n </div>\n </div>\n</div>\n<div *ngIf=\"filteredMessages?.length > 0\" class=\"govuk-width-container govuk-!-margin-top-6\">\n <xuilib-service-message *ngFor=\"let message of filteredMessages\" [key]=\"message\"\n [message_en]=\"message?.message_en | rpxTranslate\" \n [message_cy]=\"message?.message_cy | rpxTranslate\"\n (hideMessage)=\"hideMessage($event)\">\n </xuilib-service-message>\n</div>" }]
6057
6146
  }], () => [{ type: FeatureToggleService }], { userRoles: [{
6058
6147
  type: Input
6059
6148
  }], featureToggleKey: [{
@@ -6061,7 +6150,7 @@ class ServiceMessagesComponent {
6061
6150
  }], serviceMessageCookie: [{
6062
6151
  type: Input
6063
6152
  }] }); })();
6064
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ServiceMessagesComponent, { className: "ServiceMessagesComponent", filePath: "lib/components/service-messages/service-messages.component.ts", lineNumber: 12 }); })();
6153
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ServiceMessagesComponent, { className: "ServiceMessagesComponent", filePath: "lib/components/service-messages/service-messages.component.ts", lineNumber: 10 }); })();
6065
6154
 
6066
6155
  function ShareCaseConfirmComponent_div_4_Template(rf, ctx) { if (rf & 1) {
6067
6156
  i0.ɵɵelementStart(0, "div", 5);