@hmcts/rpx-xui-common-lib 2.1.7-angular-upgrade-11 → 2.1.8-angular-upgrade-11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/hmcts-rpx-xui-common-lib.umd.js +5 -3
- package/bundles/hmcts-rpx-xui-common-lib.umd.js.map +1 -1
- package/bundles/hmcts-rpx-xui-common-lib.umd.min.js +1 -1
- package/bundles/hmcts-rpx-xui-common-lib.umd.min.js.map +1 -1
- package/esm2015/lib/services/timeout-notifications/timeout-notifications.service.js +6 -4
- package/fesm2015/hmcts-rpx-xui-common-lib.js +5 -3
- package/fesm2015/hmcts-rpx-xui-common-lib.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/common"),require("@angular/forms"),require("rxjs"),require("rxjs/operators"),require("@angular/router"),require("@angular/common/http"),require("@angular/material/autocomplete"),require("@angular/material/input"),require("@angular/material/tabs"),require("ngx-pagination"),require("launchdarkly-js-client-sdk"),require("@angular/platform-browser"),require("@ng-idle/core"),require("@ng-idle/keepalive")):"function"==typeof define&&define.amd?define("@hmcts/rpx-xui-common-lib",["exports","@angular/core","@angular/common","@angular/forms","rxjs","rxjs/operators","@angular/router","@angular/common/http","@angular/material/autocomplete","@angular/material/input","@angular/material/tabs","ngx-pagination","launchdarkly-js-client-sdk","@angular/platform-browser","@ng-idle/core","@ng-idle/keepalive"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).hmcts=e.hmcts||{},e.hmcts["rpx-xui-common-lib"]={}),e.ng.core,e.ng.common,e.ng.forms,e.rxjs,e.rxjs.operators,e.ng.router,e.ng.common.http,e.ng.material.autocomplete,e.ng.material.input,e.ng.material.tabs,e.ngxPagination,e.LDClient,e.ng.platformBrowser,e.i1$2,e.i2$1)}(this,(function(e,t,n,o,i,s,r,a,l,c,u,d,p,g,h,m){"use strict";function f(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var o=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,o.get?o:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var v=f(t),b=f(n),y=f(r),k=f(a),C=f(p),I=f(g),w=f(h),_=f(m),x=function(){};x.decorators=[{type:t.Component,args:[{selector:"xuilib-accessibility",template:'<h1 class="govuk-heading-xl" id="Accessibility-statement-for-Expert-UI">Accessibility statement for Expert UI</h1>\n\n<ul class="govuk-list">\n <li><a href="accessibility#immigration">Immigration and Asylum</a></li>\n <li><a href="accessibility#family">Family Public Law </a></li>\n</ul>\n\n<p class="govuk-body">This website is run by HM Courts & Tribunals Service. We want as many people as possible to be\n able to use this website. For example, you should be able to:</p>\n\n<ul class="govuk-list govuk-list--bullet">\n <li>change colours, contrast levels and fonts</li>\n <li>zoom in up to 300% without the text spilling off the screen</li>\n <li>navigate most of the website using just a keyboard</li>\n <li>navigate most of the website using speech recognition software</li>\n <li>listen to most of the website using a screen reader (including the most recent versions of JAWS, NVDA and\n VoiceOver)\n </li>\n</ul>\n\n<p class="govuk-body">We’ve also made the website text as simple as possible to understand.</p>\n\n<p class="govuk-body"><a rel="noopener noreferrer" target="_blank" href="https://mcmw.abilitynet.org.uk/">AbilityNet</a>\n has advice on making your device easier to use if you have a disability.</p>\n\n<h2 class="govuk-heading-l" id="How-accessible-this-website-is">How accessible this website is</h2>\n\n<p class="govuk-body">We know some parts of the website are not fully accessible:</p>\n\n<ul class="govuk-list govuk-list--bullet">\n <li>some pages are difficult to navigate using just a keyboard</li>\n <li>some pages can’t be listened to in full using a screen reader</li>\n <li>some pages have problems with colour contrasts between text and background</li>\n <li>some PDFs may not be fully accessible to a screen reader</li>\n</ul>\n\n<h2 class="govuk-heading-l" id="What-to-do-if-you-cannot-access-parts-of-this-website">Feedback and contact\n information</h2>\n\n<p class="govuk-body">If you need information on this website in a different format like accessible PDF, large print,\n easy read, audio recording or braille, you can:</p>\n\n<ul class="govuk-list govuk-list--bullet">\n <li>email: <a href="mailto:HMCTSforms@justice.gov.uk"> HMCTSforms@justice.gov.uk</a></li>\n <li>call: +44 (0) 300 123 1711</li>\n <li>contact your service representative</li>\n</ul>\n\n<p class="govuk-body">We’ll consider your request and get back to you in 10 working days.</p>\n\n<h2 class="govuk-heading-l" id="Reporting-accessibility-problems-with-this-website">Reporting accessibility problems\n with this website</h2>\n\n<p class="govuk-body">We’re always looking to improve the accessibility of this website. If you find any problems not\n listed on this page or think we’re not meeting accessibility requirements, contact:</p>\n\n<ul class="govuk-list govuk-list--bullet">\n <li>email: <a href="mailto:customer.service@justice.gov.uk"> customer.service@justice.gov.uk</a></li>\n <li>telephone: +44 (0) 300 123 1711</li>\n</ul>\n\n<h2 class="govuk-heading-l" id="Enforcement-procedure ">Enforcement procedure</h2>\n\n<p class="govuk-body">The Equality and Human Rights Commission (EHRC) is responsible for enforcing the Public Sector\n Bodies (Websites and Mobile Applications) (No. 2) Accessibility Regulations 2018 (the ‘accessibility\n regulations’). </p>\n\n<p class="govuk-body">If you’re not happy with how we respond to your complaint, <a rel="noopener noreferrer"\n target="_blank"\n href="https://www.equalityadvisoryservice.com/">contact\n the Equality Advisory and Support Service (EASS).</a></p>\n\n<h1 class="govuk-heading-l" id="Contacting-us-by-phone-or-visiting-us-in-person">Contacting us by phone or visiting us\n in person</h1>\n\n<p class="govuk-body">We provide a text relay service for people who are D/deaf, hearing impaired or have a speech\n impediment.</p>\n\n<p class="govuk-body">Our offices and tribunal venues have audio induction loops, or if you contact us before your visit\n we can arrange a British Sign Language (BSL) interpreter. You can also request step-free access or a foreign language\n interpreter.</p>\n\n<p class="govuk-body">If you have a question about accessibility in our Tribunal venues, you can contact the First-tier\n Tribunal enquiry line: +44 (0) 300 123 1711. You can <a target="_blank"\n href="https://courttribunalfinder.service.gov.uk/search/">find\n the contact details for court and tribunal venues</a>. </p>\n\n<p class="govuk-body">You can also contact your service representative for more information.</p>\n\n<h1 class="govuk-heading-l" id="Technical-information-about-this-website’s-accessibility">Technical information about\n this website’s accessibility</h1>\n\n<p class="govuk-body">HMCTS is committed to making its website accessible, in accordance with the Public Sector Bodies\n (Websites and Mobile Applications) (No.2) Accessibility Regulations 2018.</p>\n\n<p class="govuk-body">This website is partially compliant with the <a rel="noopener noreferrer" target="_blank"\n href="https://www.w3.org/TR/WCAG21/">Web Content\n Accessibility Guidelines version 2.1</a>, due to the non-compliances listed below.</p>\n\n<h1 class="govuk-heading-l" id="Non-accessible-content">Non-accessible content </h1>\n\n<p class="govuk-body">The content listed below is non-compliant for the following reasons.</p>\n\n<h2 class="govuk-heading-l" id="Non-compliance-with-the-accessibility-regulations">Non-compliance with the accessibility\n regulations</h2>\n\n<p class="govuk-body">Some pages cannot be navigated completely using just a keyboard, so some people won’t be able to\n tab through the pages. This fails WCAG 2.1 success criterion 2.1 (keyboard accessible).</p>\n\n<p class="govuk-body">Some pages can’t be listened to in full using a screen reader, so some people won’t be able to\n access the information. This fails WCAG 2.1 success criterion 1.2.5 (audio description – prerecorded).</p>\n\n<p class="govuk-body">Some of the contrast ratios don’t meet the current accessibility requirements. This fails WCAG 2.1\n success criterion 1.4.3 (contrast – minimum).</p>\n\n<h3 class="govuk-heading-m" id="immigration">Immigration and Asylum</h3>\n\n<p class="govuk-body">Some of the images on the service include text and are not accessible for some low vision users.\n We have identified a solution for this issue that we will implement as soon as possible.</p>\n\n<h3 class="govuk-heading-m" id="family">Family Public Law </h3>\n\n<ol class="govuk-list govuk-list--alpha">\n <li>The navigation system used in family public law cannot be rendered well by screen readers, so features can’t be\n listened to in full\n </li>\n <li>Some essential functions within the family public law digital service cannot be accessed properly using screen\n readers\n </li>\n <li>Some complex forms within the service will not be rendered correctly or cannot be listened to by screen readers\n </li>\n</ol>\n\n<h2 class="govuk-heading-m" id="Disproportionate burden ">Disproportionate burden </h2>\n\n<p class="govuk-body">For Manage organisation, Register organisation, Approve organisations and Manage cases, we found\n the following issues that are currently being triaged to find out if there is a disproportionate burden:</p>\n\n<ol class="govuk-list govuk-list--alpha">\n <li>Screen readers can’t switch between headers, read content in tabs and buttons</li>\n <li>Screen readers can’t tab between radio buttons, read links or content</li>\n <li>Colour contrast ratios uneven between page background and content</li>\n <li>Some labels, fields, error messages and other content can’t be clearly identified by screen readers and voice\n activation software\n </li>\n <li>Some page headings and titles don’t follow a logical structure for screen readers</li>\n <li>The navigation of some pages isn’t clear</li>\n <li>Some headings, links and button labels aren’t clearly descriptive</li>\n</ol>\n\n<h2 class="govuk-heading-m" id="Content-that’s-not-within-the-scope-of-the-accessibility-regulations">Content that’s not\n within the scope of the accessibility regulations </h2>\n\n<p class="govuk-body">PDFs, documents and attachments to email notifications published before 23 September 2018 may not\n meet accessibility standards. For example, they may not be structured so they’re accessible to a screen reader.</p>\n\n<p class="govuk-body">Any new PDFs or Word documents we publish will meet accessibility standards.</p>\n\n<h1 class="govuk-heading-l" id="what-to-improve-accessibility">What we’re doing to improve accessibility</h1>\n\n<p class="govuk-body">We’re committed to ensuring our services are accessible to all our users and that they comply with\n level AA of the Web Content Accessibility Guidelines – WCAG 2.1.</p>\n\n<p class="govuk-body">We’re actively working to improve the identified issues and make them AA-compliant by 23 September\n 2020. We’re also continuing to improve all other AAA-level accessibility issues as we iterate the service.</p>\n\n<h1 class="govuk-heading-l" id="preparation-of-this-accessibility-statement">Preparation of this accessibility\n statement</h1>\n\n<p class="govuk-body">This statement was prepared on 16 September 2019. It was last reviewed on 16 September 2020.</p>\n\n<p class="govuk-body">This website was last tested on 19 May 2020. The test was carried out by the <a target="_blank"\n href="https://digitalaccessibilitycentre.org/">Digital\n Accessibility Centre (DAC)</a>.</p>\n\n<h3 class="govuk-heading-m">Family Private Law:</h3>\n\n<p class="govuk-body">This service has not yet been tested for accessibility issues. In the future, we will conduct an\n accessibility audit in order to find out if there are any accessibility issues. The accessibility statement will be\n updated with any relevant changes that we find.</p>\n\n<p class="govuk-body">If there are any issues with accessing information or using this website please contact:</p>\n\n<ol class="govuk-list govuk-list--bullet">\n <li>Nicola Whitcher - 02380 384324</li>\n <li>Hannah Townley - 02380 384313</li>\n</ol>',styles:[".govuk-list--alpha{padding-left:20px;list-style-type:lower-alpha}"]}]}],x.ctorParameters=function(){return[]};Object.create;function S(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],o=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&o>=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function L(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var o,i,s=n.call(e),r=[];try{for(;(void 0===t||t-- >0)&&!(o=s.next()).done;)r.push(o.value)}catch(e){i={error:e}}finally{try{o&&!o.done&&(n=s.return)&&n.call(s)}finally{if(i)throw i.error}}return r}function E(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(L(arguments[t]));return e}Object.create;var F=function(){function e(){this.options=[],this.selectionChange=new t.EventEmitter}return Object.defineProperty(e.prototype,"selection",{get:function(){return this.pSelection?E(this.pSelection):[]},set:function(e){this.pSelection=this.getSelection(e)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"allSelected",{get:function(){return this.selection.length===this.options.length},enumerable:!1,configurable:!0}),e.prototype.ngOnChanges=function(){this.setupPreselection(),this.checkSelection()},Object.defineProperty(e.prototype,"hasOptions",{get:function(){return this.options&&this.options.length>0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isFunctional",{get:function(){return this.labelFunction&&this.hasOptions},enumerable:!1,configurable:!0}),e.prototype.isSelected=function(e){return this.selection.includes(e)},e.prototype.toggleItemSelection=function(e){void 0===this.pSelection?this.pSelection=[e]:this.isSelected(e)?this.pSelection.splice(this.pSelection.indexOf(e),1):this.pSelection.push(e),this.pSelectionMade=!0,this.selectionChange.emit(this.selection)},e.prototype.toggleSelectAll=function(){this.allSelected?this.pSelection=[]:this.pSelection=E(this.options),this.pSelectionMade=!0,this.selectionChange.emit(this.pSelection)},e.prototype.containsItem=function(e,t){var n=this;if(this.isFunctional){var o=this.labelFunction(t);return e.some((function(e){return n.labelFunction(e)===o}))}return!1},Object.defineProperty(e.prototype,"hasPreselection",{get:function(){return this.preselection&&this.preselection.length>0},enumerable:!1,configurable:!0}),e.prototype.setupPreselection=function(){var e=this;if(this.isFunctional&&!this.pSelectionMade&&this.hasPreselection){var t=!0;this.pSelection&&(t=this.pSelection.filter((function(t){return!e.containsItem(e.preselection,t)})).length>0),t&&(this.pSelection=this.getSelection(this.preselection),this.selectionChange.emit(this.selection))}},e.prototype.getSelection=function(e){var t=this;return E(this.options.filter((function(n){return t.containsItem(e,n)})))},e.prototype.checkSelection=function(){var e=this;if(this.isFunctional){var t=this.selection.filter((function(t){return e.containsItem(e.options,t)}));t.length!==this.selection.length&&(this.pSelection=E(t),this.selectionChange.emit(this.selection))}},e}();F.decorators=[{type:t.Component,args:[{selector:"xuilib-checkbox-list",template:'<div class="xui-checkbox-list govuk-checkboxes govuk-checkboxes--small" *ngIf="isFunctional">\n <div class="select-all govuk-checkboxes__item">\n <input type="checkbox" id="select_all" class="govuk-checkboxes__input" [checked]="allSelected"\n (change)="toggleSelectAll()" />\n <label for="select_all" class="govuk-label govuk-checkboxes__label">Select all / Deselect all</label>\n </div>\n <div class="checkbox-items">\n <div *ngFor="let item of options; let i = index" class="govuk-checkboxes__item">\n <input type="checkbox" [id]="\'select_\' + i" class="govuk-checkboxes__input" [checked]="isSelected(item)"\n (change)="toggleItemSelection(item)" />\n <label [for]="\'select_\' + i" class="govuk-label govuk-checkboxes__label">{{labelFunction(item)}}</label>\n </div>\n </div>\n</div>\n',encapsulation:t.ViewEncapsulation.None,styles:[".xui-checkbox-list .select-all{margin-bottom:10px}.xui-checkbox-list .checkbox-items{display:flex;flex-direction:column;flex-wrap:wrap;height:100%;max-height:100%;align-items:flex-start;align-content:flex-start;width:100%;max-width:100%;overflow-x:scroll}"]}]}],F.propDecorators={options:[{type:t.Input}],preselection:[{type:t.Input}],labelFunction:[{type:t.Input}],selectionChange:[{type:t.Output}],selection:[{type:t.Input}]};var A,M=function(){};M.decorators=[{type:t.Component,args:[{selector:"xuilib-contact-details",template:'<div class="contact-details" *ngIf="data">\n <h3 class="govuk-heading-m" *ngIf="data.title">{{ data.title }}</h3>\n <p *ngIf="data.badgeText"><span [className]="\'hmcts-badge \' + data.badgeColour">{{ data.badgeText }}</span></p>\n <div class="email" *ngIf="data.email"><span class="govuk-!-font-weight-bold">Email: </span> <a href="mailto:{{ data.email }}">{{ data.email }}</a></div>\n <div class="phone" *ngIf="data.phone"><span class="govuk-!-font-weight-bold">Phone: </span>{{ data.phone }}</div>\n <div class="opening-times" *ngIf="data.openingTimes"><span class="govuk-!-font-weight-bold">Opening times: </span>{{ data.openingTimes}}</div>\n</div>\n\n',styles:[".contact-details{margin-top:30px}.contact-details h3,.contact-details p{margin-bottom:10px}"]}]}],M.ctorParameters=function(){return[]},M.propDecorators={data:[{type:t.Input}]},e.DateBadgeColour=void 0,(A=e.DateBadgeColour||(e.DateBadgeColour={})).RED="hmcts-badge--red",A.ORANGE="hmcts-badge--orange",A.GREEN="hmcts-badge--green";var T=function(){function t(){this.highUrgencyCutoff=0,this.mediumUrgencyCutoff=2}return Object.defineProperty(t.prototype,"badge",{get:function(){return this.pBadge},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"label",{get:function(){return this.pLabel},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"accessibleLabel",{get:function(){return this.pAccessibleLabel},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"daysDiff",{get:function(){return this.pDaysDiff},enumerable:!1,configurable:!0}),t.prototype.ngOnChanges=function(){this.handleInputChanges()},t.prototype.handleInputChanges=function(){if(this.dueDate)if(this.pDaysDiff=this.getDaysDifference(this.dueDate,new Date),this.daysDiff>0){this.pBadge=e.DateBadgeColour.RED;var t=1===this.daysDiff?"day":"days";this.pLabel="+"+this.daysDiff+" "+t,this.pAccessibleLabel="This task is "+this.daysDiff+" "+t+" past its due date"}else 0===this.daysDiff?(this.pLabel="TODAY",this.pAccessibleLabel="This task is due to be completed today"):(this.pLabel=""+n.formatDate(this.dueDate,"d MMM","en-GB"),this.pAccessibleLabel="This task is due to be completed by "+n.formatDate(this.dueDate,"d MMMM y","en-GB")),this.daysDiff+this.highUrgencyCutoff>0?this.pBadge=e.DateBadgeColour.RED:this.daysDiff+this.mediumUrgencyCutoff>0?this.pBadge=e.DateBadgeColour.ORANGE:this.pBadge=e.DateBadgeColour.GREEN},t.prototype.getDaysDifference=function(e,t){var n=e.getTime(),o=t.getTime(),i=Math.floor((o-n)/1e3);return Math.floor(i/86400)},t}();T.decorators=[{type:t.Component,args:[{selector:"xuilib-due-date",template:'<span *ngIf="dueDate" class="due-date hmcts-badge" [ngClass]="badge"\n [title]="accessibleLabel" [attr.aria-label]="accessibleLabel">\n {{label}}\n</span>',encapsulation:t.ViewEncapsulation.None,styles:[".due-date{white-space:nowrap}.due-date.hmcts-badge--orange{color:#f47738;border-color:#f47738}"]}]}],T.propDecorators={dueDate:[{type:t.Input}],highUrgencyCutoff:[{type:t.Input}],mediumUrgencyCutoff:[{type:t.Input}]};var P=function(){function e(){this.givenErrors=new i.BehaviorSubject(null),this.isInitialSetting=!1,this.filterSettings={},this.streams={}}return e.prototype.persist=function(e,t){switch(t){case"local":this.persistLocal(e);break;case"session":this.persistSession(e)}this.persistMemory(e),this.updateStreams(e)},e.prototype.get=function(e){return this.filterSettings[e]?this.filterSettings[e]:sessionStorage.getItem(e)?JSON.parse(window.sessionStorage.getItem(e)):localStorage.getItem(e)?JSON.parse(window.localStorage.getItem(e)):null},e.prototype.getStream=function(e){return this.streams[e]||(this.streams[e]=new i.BehaviorSubject(this.get(e))),this.streams[e].asObservable()},e.prototype.persistLocal=function(e){window.localStorage.setItem(e.id,JSON.stringify(e))},e.prototype.persistSession=function(e){window.sessionStorage.setItem(e.id,JSON.stringify(e))},e.prototype.persistMemory=function(e){this.filterSettings[e.id]=e},e.prototype.updateStreams=function(e){this.streams[e.id]&&this.streams[e.id].next(e)},e}();function O(e,t){return e.reduce((function(e,n,o){return t[o]?E(e,[n.key]):e}),[])}P.ɵprov=v.ɵɵdefineInjectable({factory:function(){return new P},token:P,providedIn:"root"}),P.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}];var D=function(){function e(e,t){this.filterService=e,this.fb=t,this.submitted=!1}return Object.defineProperty(e.prototype,"config",{get:function(){return this._config},set:function(e){this._config=Object.assign(Object.assign({},e),{fields:e.fields.map((function(e){return Object.assign(Object.assign({},e),{displayMinSelectedError:!1,displayMaxSelectedError:!1})}))}),this._config=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"settings",{get:function(){return this._settings},set:function(e){e||this.getSettings(),e&&e.fields&&this.mergeDefaultFields(e),this._settings=e},enumerable:!1,configurable:!0}),e.addFormValidators=function(e){var t,n,o=[];return e&&e.minSelected&&o.push((t=e.minSelected,function(e){var n=e.value;return n.length&&n.filter((function(e){return e})).length>=t?null:{minLength:!0}})),e&&e.maxSelected&&o.push((n=e.maxSelected,function(e){var t=e.value;return t.length&&t.filter((function(e){return e})).length<=n?null:{maxLength:!0}})),o},e.prototype.ngOnInit=function(){var e=this;this.settings||this.getSettings(),this.mergeDefaultFields(this.settings),this.buildForm(this.config,this.settings),this.formSub=this.form.valueChanges.subscribe((function(){return e.submitted=!1}))},e.prototype.ngOnDestroy=function(){this.formSub&&this.formSub.unsubscribe()},e.prototype.hidden=function(e,t){if(!e.showCondition)return!1;if("string"==typeof e.showCondition){var n=t.get(e.name),i=L(e.showCondition.split("="),2),s=i[0],r=i[1];if(t.value&&t.value[s]===r)return"find-person"===e.type?(n.get("email").setValidators(o.Validators.required),n.get("email").updateValueAndValidity()):(n.setValidators(o.Validators.required),n.updateValueAndValidity()),!1;"find-person"===e.type?(n.get("email").clearValidators(),n.get("email").updateValueAndValidity()):(n.clearValidators(),n.updateValueAndValidity())}return!0},e.prototype.disabled=function(e,t){if(!e.enableCondition)return null;if("string"==typeof e.enableCondition){var n=t.get(e.name),i=L(e.enableCondition.split("="),2),s=i[0],r=i[1];if(t.value&&t.value[s]===r)return"find-person"===e.type?(n.get("email").setValidators(o.Validators.required),n.get("email").updateValueAndValidity()):(n.setValidators(o.Validators.required),n.updateValueAndValidity()),null;"find-person"===e.type?(n.get("email").clearValidators(),n.get("email").updateValueAndValidity()):(n.clearValidators(),n.updateValueAndValidity())}return"find-location"===e.type||(e.disable?e.disable:null)},e.prototype.applyFilter=function(e){if(this.submitted=!0,e.markAsTouched(),e.valid){this._settings={id:this.config.id,fields:this.getSelectedValues(e.value,this.config)},this.filterService.givenErrors.next(null);var t=Object.assign(Object.assign({},this.settings),{reset:!1});this.filterService.persist(t,this.config.persistence)}else this.emitFormErrors(e)},e.prototype.fieldChanged=function(e,t){var n,o;if(e.changeResetFields&&e.changeResetFields.length)try{for(var i=S(e.changeResetFields),s=i.next();!s.done;s=i.next()){var r=s.value;this.resetField(r,t)}}catch(e){n={error:e}}finally{try{s&&!s.done&&(o=i.return)&&o.call(i)}finally{if(n)throw n.error}}},e.prototype.inputChanged=function(e){if(e.radioSelectionChange&&"string"==typeof e.radioSelectionChange){var t=L(e.enableCondition.split("="),2),n=t[0],o=t[1];this.form.get(n).patchValue(o)}},e.prototype.cancelFilter=function(){this.buildForm(this.config,this.settings,!0),this.config&&this.config.cancelSetting&&(this._settings.fields=JSON.parse(JSON.stringify(this.config.cancelSetting.fields)));var e=Object.assign(Object.assign({},this.settings),{reset:!0});this.filterService.persist(e,this.config.persistence),this.filterService.givenErrors.next(null),this.submitted=!1},e.prototype.updatePersonControls=function(e,t){var n,o,i;i=e?Object.keys(e):Object.keys(this.form.get(t.name).value);try{for(var s=S(i),r=s.next();!r.done;r=s.next()){var a=r.value;if(this.form.get(t.name)&&this.form.get(t.name).get(a)){var l=e&&e[a]?e[a]:null;this.form.get(t.name).get(a).patchValue(l)}}}catch(e){n={error:e}}finally{try{r&&!r.done&&(o=s.return)&&o.call(s)}finally{if(n)throw n.error}}},e.prototype.toggleSelectAll=function(e,t,n,o){var i,s,r=e.target.checked,a=t.get(o.name);if(n.selectAll)a.controls.forEach((function(e){r?e.patchValue(!0):e.patchValue(!1)}));else{var l=a.controls.every((function(e){return e.value})),c=null,u=o.options.find((function(e,t){return!!e.hasOwnProperty("selectAll")&&(c=t,!0)})),d=a.controls.filter((function(e,t){return t!==c})).every((function(e){return e.value}));l||!u||r?u&&!l&&r&&d&&a.controls[c].patchValue(!0):a.controls.forEach((function(e,t){c!==t||e.patchValue(!1)}))}if(o.changeResetFields&&o.changeResetFields.length)try{for(var p=S(o.changeResetFields),g=p.next();!g.done;g=p.next()){var h=g.value;this.resetField(h,t)}}catch(e){i={error:e}}finally{try{g&&!g.done&&(s=p.return)&&s.call(p)}finally{if(i)throw i.error}}},e.prototype.resetField=function(e,t){var n,i,s=t.get(e),r=this.config.cancelSetting.fields.find((function(t){return t.name===e}));if(s instanceof o.FormArray)for(var a=0;a<s.length;a++)s.removeAt(a);else if(s instanceof o.FormGroup){var l=Object.keys(s.value);try{for(var c=S(l),u=c.next();!u.done;u=c.next()){var d=u.value;this.resetField(d,s)}}catch(e){n={error:e}}finally{try{u&&!u.done&&(i=c.return)&&i.call(c)}finally{if(n)throw n.error}}}else if(s instanceof o.FormControl){var p=r&&r.value&&r.value.length?r.value[0]:null;s.setValue(p)}},e.prototype.mergeDefaultFields=function(e){e?e.fields=this.filterService.get(this.config.id)?this.filterService.get(this.config.id).fields:e.fields:this.config&&this.config.cancelSetting&&(this._settings={id:this.config.id,fields:JSON.parse(JSON.stringify(this.config.cancelSetting.fields))})},e.prototype.getSettings=function(){this._settings=this.filterService.get(this.config.id)},e.prototype.buildForm=function(e,t,n){var i,s,r=this.form?this.form.get("findPersonControl"):null;this.form=this.fb.group({}),r&&this.form.addControl("findPersonControl",r);var a=function(i){if("checkbox"===i.type||"checkbox-large"===i.type){var s=l.buildCheckBoxFormArray(i,t);l.form.addControl(i.name,s)}else if("find-location"===i.type){s=l.buildFindLocationFormArray(i,t);l.form.addControl(i.name,s)}else{var r=[];i.minSelected&&i.minSelected>0&&r.push(o.Validators.required);var a=null;if(n&&e.cancelSetting){var c=e.cancelSetting.fields.find((function(e){return e.name===i.name}));a=c&&c.value?c.value[0]:""}else if(t&&t.fields){var u=t.fields.find((function(e){return e.name===i.name}));a=u&&u?u.value[0]:""}if("find-person"===i.type){var d=new o.FormGroup({domain:new o.FormControl(""),email:new o.FormControl(a&&a.hasOwnProperty("email")?a.email:"",r),id:new o.FormControl(""),name:new o.FormControl(""),knownAs:new o.FormControl("")});l.form.addControl(i.name,d)}else{var p=new o.FormControl(a,r);l.form.addControl(i.name,p)}i.findPersonField&&l.fieldChanged(i,l.form)}},l=this;try{for(var c=S(e.fields),u=c.next();!u.done;u=c.next()){a(u.value)}}catch(e){i={error:e}}finally{try{u&&!u.done&&(s=c.return)&&s.call(c)}finally{if(i)throw i.error}}},e.prototype.buildCheckBoxFormArray=function(t,n){var i,s,r,a=e.addFormValidators(t),l=this.fb.array([],a);n&&n.fields&&(r=n.fields.find((function(e){return e.name===t.name})));var c=function(e){var t=!1;r&&Array.isArray(r.value)&&(t=!!r.value.find((function(t){return t===e.key}))),l.push(new o.FormControl(t))};try{for(var u=S(t.options),d=u.next();!d.done;d=u.next()){c(d.value)}}catch(e){i={error:e}}finally{try{d&&!d.done&&(s=u.return)&&s.call(u)}finally{if(i)throw i.error}}return l},e.prototype.buildFindLocationFormArray=function(t,n){var i,s,r,a=e.addFormValidators(t),l=this.fb.array([],a);if(n&&n.fields&&(r=n.fields.find((function(e){return e.name===t.name})))&&r.value&&r.value.length>0)try{for(var c=S(r.value),u=c.next();!u.done;u=c.next()){var d=u.value;l.push(new o.FormControl(d))}}catch(e){i={error:e}}finally{try{u&&!u.done&&(s=c.return)&&s.call(c)}finally{if(i)throw i.error}}return l},e.prototype.getSelectedValues=function(e,t){return Object.keys(e).map((function(n){var o=e[n];if(Array.isArray(o)){var i=t.fields.find((function(e){return e.name===n}));return"find-location"===i.type?{value:o,name:n}:{value:O(i.options,o),name:n}}return{value:[o],name:n}}))},e.prototype.emitFormErrors=function(e){var t,n,o=[];try{for(var i=S(this.config.fields),s=i.next();!s.done;s=i.next()){var r=s.value,a=e.get(r.name);a&&a.errors&&a.errors.minLength&&o.push({name:r.name,error:r.minSelectedError}),a&&a.errors&&a.errors.maxLength&&o.push({name:r.name,error:r.minSelectedError})}}catch(e){t={error:e}}finally{try{s&&!s.done&&(n=i.return)&&n.call(i)}finally{if(t)throw t.error}}o.length&&this.filterService.givenErrors.next(o)},e}();D.decorators=[{type:t.Component,args:[{selector:"xuilib-generic-filter",template:'<form [formGroup]="form" (ngSubmit)="applyFilter(form)">\n <div class="contain-classes" *ngFor="let field of config.fields">\n <hr *ngIf="field.lineBreakBefore" class="govuk-section-break govuk-section-break--visible elevated-break">\n <div class="govuk-form-group xui-generic-filter"\n [hidden]="hidden(field, form)"\n [id]="field.name"\n [ngClass]="{\'form-group-error\': submitted && (form.get(field.name).errors?.minLength || form.get(field.name).errors?.maxLength)}">\n <h3 *ngIf="field.title" class="govuk-heading-s">{{field.title}}</h3>\n <p class="govuk-body" *ngIf="field.subTitle">{{field.subTitle}}</p>\n <span [id]="field.name + \'-error\'" class="govuk-error-message" *ngIf="field.displayMinSelectedError && submitted && form.get(field.name).errors?.minLength">\n <span class="govuk-visually-hidden">Error:</span> {{field.minSelectedError}}\n </span>\n <span [id]="field.name + \'-error\'" class="govuk-error-message" *ngIf="field.displayMaxSelectedError && submitted && form.get(field.name).errors?.maxLength">\n <span class="govuk-visually-hidden">Error:</span> {{field.maxSelectedError}}\n </span>\n <div class="govuk-body" [ngSwitch]="field.type">\n <ng-container *ngSwitchCase="\'select\'">\n <select class="govuk-select" (change)="fieldChanged(field, form)" [attr.disabled]="disabled(field, form)" [name]="\'select_\' + field.name" [id]="\'select_\' + field.name" [formControlName]="field.name">\n <option disabled selected hidden value="">{{field.disabledText}}</option>\n <option class="govuk-radios__item" *ngFor="let item of field.options" [value]="item.key">{{item.label}}</option>\n </select>\n </ng-container>\n <ng-container *ngSwitchCase="\'checkbox\'">\n <div class="govuk-checkboxes govuk-checkboxes--small" [formGroupName]="field.name" [attr.field]="field.name" [id]="\'checkbox_\' + field.name">\n <div *ngFor="let item of field.options; let i = index" class="govuk-checkboxes__item">\n <input type="checkbox" class="govuk-checkboxes__input"\n [attr.disabled]="disabled(field, form)"\n [formControlName]="i"\n (change)="toggleSelectAll($event, form, item, field)"\n [value]="item.key" [id]="\'checkbox_\' + item.key"\n [name]="\'checkbox_\' + item.key"\n />\n <label\n [for]="\'checkbox_\' + item.key"\n class="govuk-label govuk-checkboxes__label"\n [ngClass]="{\'govuk-!-font-weight-bold\': item.selectAll}"\n >{{item.label}}</label>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase="\'checkbox-large\'">\n <div class="govuk-checkboxes" [formGroupName]="field.name" [attr.field]="field.name" [id]="\'checkbox_\' + field.name">\n <div *ngFor="let item of field.options; let i = index" class="govuk-checkboxes__item">\n <input type="checkbox" class="govuk-checkboxes__input"\n [attr.disabled]="disabled(field, form)"\n [formControlName]="i"\n (change)="toggleSelectAll($event, form, item, field)"\n [value]="item.key" [id]="\'checkbox_\' + item.key"\n [name]="\'checkbox_\' + item.key"\n />\n <label\n [for]="\'checkbox_\' + item.key"\n class="govuk-label govuk-checkboxes__label"\n [ngClass]="{\'govuk-!-font-weight-bold\': item.selectAll}"\n >{{item.label}}</label>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase="\'radio\'">\n <div class="govuk-radios">\n <div *ngFor="let item of field.options" class="govuk-radios__item">\n <input type="radio"\n [formControlName]="field.name"\n [id]="\'radio_\' + item.key"\n [attr.disabled]="disabled(field, form)"\n [checked]="item.key === form.get(field.name).value"\n class="govuk-radios__input"\n [value]="item.key"\n (change)="fieldChanged(field, form)"\n />\n <label [for]="\'radio_\' + item.key" class="govuk-label govuk-radios__label">{{item.label}}</label>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase="\'find-person\'">\n <xuilib-find-person subTitle="" (personSelected)="updatePersonControls($event, field)"\n (personFieldChanged)="inputChanged(field)"\n [submitted]="submitted"\n [disabled]="disabled(field, form)"\n [domain]="form.get(field.domainField)?.value"\n [findPersonGroup]="form"\n [selectedPerson]="form.get(field.name)?.value?.email"\n [userIncluded]="false"\n ></xuilib-find-person>\n </ng-container>\n <ng-container *ngSwitchCase="\'find-location\'">\n <xuilib-find-location (locationFieldChanged)="inputChanged(field)"\n [form]="form"\n [fields]="config.fields"\n [locationTitle]="field.locationTitle"\n [enableAddLocationButton]="field.enableAddButton"\n [disabled]="disabled(field, form)"\n [disableInputField]="field.disable"\n [selectedLocations]="form.get(field.name)?.value"\n [submitted]="submitted"\n [services]="form.get(field.findLocationField)?.value"\n [field]="field"\n ></xuilib-find-location>\n </ng-container>\n <ng-container *ngSwitchCase="\'find-service\'">\n <xuilib-find-service (serviceFieldChanged)="inputChanged(field)"\n [form]="form"\n [fields]="config.fields"\n [title]="field.title"\n [enableAddServiceButton]="field.enableAddButton"\n [disabled]="disabled(field, form)"\n [disableInputField]="field.disable"\n [selectedServices]="form.get(field.name)?.value" \n [field]="field"\n ></xuilib-find-service>\n </ng-container>\n </div>\n </div>\n </div>\n <hr class="govuk-section-break govuk-section-break--m govuk-section-break--visible"/>\n <div class="govuk-grid-row">\n <div class="govuk-grid-column-full">\n <button\n class="govuk-button govuk-!-margin-right-1 govuk-!-margin-bottom-0"\n type="submit"\n id="applyFilter"\n [disabled]="config.enableDisabledButton && form.invalid"\n >{{config.applyButtonText || \'Apply\'}}</button>\n <button *ngIf="config.showCancelFilterButton"\n class="govuk-button govuk-button--secondary govuk-!-margin-bottom-0"\n type="button"\n id="cancelFilter"\n (click)="cancelFilter()">{{ config.cancelButtonText || \'Cancel\'}}</button>\n </div>\n </div>\n</form>\n',changeDetection:t.ChangeDetectionStrategy.OnPush,encapsulation:t.ViewEncapsulation.None,styles:[".contain-classes .elevated-break{position:relative;top:-10px}.contain-classes .xui-generic-filter .select-all{margin-bottom:10px}.contain-classes .xui-generic-filter .govuk-checkboxes{display:flex;flex-wrap:wrap}.contain-classes .xui-generic-filter .govuk-checkboxes>div{flex-grow:1;flex-shrink:0}"]}]}],D.ctorParameters=function(){return[{type:P},{type:o.FormBuilder}]},D.propDecorators={config:[{type:t.Input}],settings:[{type:t.Input}]};var U=function(){function e(){this.close=new t.EventEmitter}return e.prototype.onClose=function(){this.close.emit()},e}();U.decorators=[{type:t.Component,args:[{selector:"xuilib-session-dialog",template:'<div class="gem-c-modal-dialogue" data-module="modal-dialogue" id="modal-default" style="display: block;">\n <div class="gem-c-modal-dialogue__overlay"></div>\n <dialog class="gem-c-modal-dialogue__box" aria-modal="true" role="dialog" tabindex="0" [ngStyle]="{\'margin-top\': positionTop}">\n <div class="gem-c-modal-dialogue__header">\n <svg role="presentation" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 38 38" height="33" width="33">\n <style type="text/css">\n .st0{fill:#FFFFFF;}\n </style>\n <g id="_4_-_granular_components_warning_icon" transform="translate(0.5 0.5)">\n <g id="Warning_icon" transform="translate(0)">\n <path id="Exclusion_1" class="st0" d="M18.5,37.5c-5.04,0.01-9.88-1.99-13.44-5.57C1.49,28.38-0.51,23.54-0.5,18.5\n c-0.01-5.04,1.99-9.88,5.56-13.43C8.62,1.49,13.46-0.51,18.5-0.5c5.04-0.01,9.88,1.99,13.44,5.56c3.57,3.56,5.58,8.39,5.56,13.44\n c0.01,5.04-1.99,9.88-5.56,13.44C28.38,35.51,23.54,37.51,18.5,37.5z M18.52,24.29c-0.4,0-0.8,0.08-1.17,0.23\n c-0.36,0.15-0.69,0.37-0.97,0.64c-0.28,0.27-0.5,0.59-0.65,0.95c-0.16,0.36-0.24,0.76-0.23,1.15c0,0.4,0.08,0.8,0.23,1.17\n c0.15,0.36,0.37,0.68,0.65,0.96c0.28,0.27,0.61,0.49,0.97,0.64c0.37,0.16,0.77,0.24,1.17,0.24c0.4,0,0.79-0.08,1.15-0.24\n c0.35-0.15,0.67-0.37,0.95-0.64c0.27-0.27,0.49-0.6,0.64-0.96c0.16-0.37,0.24-0.77,0.23-1.17c0-0.4-0.08-0.79-0.23-1.15\n c-0.15-0.35-0.37-0.67-0.64-0.95c-0.27-0.27-0.6-0.49-0.95-0.64C19.31,24.37,18.92,24.29,18.52,24.29L18.52,24.29z M16.11,7.5\n l0.42,14.87h3.91L20.86,7.5H16.11z"/>\n </g>\n </g>\n </svg>\n <div class="gem-c-modal-dialogue__title">We are about to sign you out</div>\n </div>\n <div class="gem-c-modal-dialogue__content">\n <ng-content></ng-content>\n </div>\n </dialog>\n</div>\n',styles:[".gem-c-modal-dialogue{display:none;z-index:1000;overflow-x:hidden;overflow-y:scroll;outline:0}.gem-c-modal-dialogue,.gem-c-modal-dialogue__box{position:fixed;top:0;left:0;width:100%;height:100%}.gem-c-modal-dialogue__box{display:block;background:#fff;right:0;bottom:0;margin:0;padding:0;overflow-y:auto;border:0;font-family:GDS Transport,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-size:16px;font-size:1rem;line-height:1.25;color:#0b0c0c}.gem-c-modal-dialogue__box:focus{outline:3px solid #fd0}@media print{.gem-c-modal-dialogue__box{font-family:sans-serif}}@media (min-width:40.0625em){.gem-c-modal-dialogue__box{font-size:1.1875rem;line-height:1.3157894737}}@media print{.gem-c-modal-dialogue__box{font-size:14pt;line-height:1.15;color:#000}}@media (min-width:40.0625em){.gem-c-modal-dialogue__box{position:relative;top:inherit;right:inherit;bottom:inherit;left:inherit;width:auto;max-width:640px;height:auto;margin:30px auto;border:2px solid #0b0c0c}}@media (min-width:40.0625em){.gem-c-modal-dialogue__box--wide{max-width:960px}}@media (min-width:40.0625em) and (max-width:64em){.gem-c-modal-dialogue__box--wide{margin:30px}}.gem-c-modal-dialogue__overlay{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:.8;background:#0b0c0c;pointer-events:none;touch-action:none}@media screen{.gem-o-template--modal{overflow-y:inherit}}.gem-o-template__body--modal{overflow:hidden}.gem-o-template__body--blur .govuk-footer,.gem-o-template__body--blur .govuk-header,.gem-o-template__body--blur .govuk-main-wrapper,.gem-o-template__body--blur .govuk-phase-banner,.gem-o-template__body--blur .govuk-skip-link,.gem-o-template__body--blur .govuk-width-container .govuk-back-link{filter:blur(2px)}.govuk-warning-text__icon{margin:0 0 0 12px}.gem-c-modal-dialogue__header{padding:9px 15px 10px;color:#fff;background:#d4351d;display:flex}.gem-c-modal-dialogue__title{margin:5px 0 4px 12px}.gem-c-modal-dialogue__logotype-crown{fill:currentColor;vertical-align:middle}.gem-c-modal-dialogue__logotype-crown-fallback-image{width:30px;height:26px;border:0;vertical-align:middle}.gem-c-modal-dialogue__content{padding:15px;background:#fff}.gem-c-modal-dialogue__close-button{position:absolute;top:0;right:0;width:44px;height:44px;border:0;color:#fff;background:none;cursor:pointer;font-family:GDS Transport,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:700;font-size:1.5rem;line-height:1.3}@media print{.gem-c-modal-dialogue__close-button{font-family:sans-serif}}@media (min-width:40.0625em){.gem-c-modal-dialogue__close-button{font-size:2.25rem;line-height:1.3}}@media print{.gem-c-modal-dialogue__close-button{font-size:24pt;line-height:1.3}}@media (max-width:40.0525em){.gem-c-modal-dialogue__close-button{font-size:36px;line-height:1.3}}.gem-c-modal-dialogue__close-button:focus,.gem-c-modal-dialogue__close-button:hover{color:#0b0c0c;box-shadow:0 -2px #fd0,0 4px #0b0c0c;text-decoration:none;outline:none;background:#fd0}"]}]}],U.ctorParameters=function(){return[]},U.propDecorators={positionTop:[{type:t.Input}],close:[{type:t.Output}]};var N=function(){function e(){this.submitForm=new t.EventEmitter}return Object.defineProperty(e.prototype,"errorMessages",{set:function(e){this.isInvalid=e||{}},enumerable:!1,configurable:!0}),e.prototype.onSubmit=function(){this.submitForm.emit()},e}();N.decorators=[{type:t.Component,args:[{selector:"xuilib-invite-user-form",template:'\n<form [formGroup]="inviteUserForm" (ngSubmit)="onSubmit()" >\n\n <xuilib-gov-uk-input\n [config]="{label: \'First name\', hint: \'Include all middle names.\', name: \'firstName\', id: \'firstName\', type: \'text\', classes: \'testClass\'}"\n [errorMessage]="isInvalid.firstName"\n [group]="inviteUserForm">\n </xuilib-gov-uk-input>\n\n <xuilib-gov-uk-input\n [config]="{label: \'Last name\', name: \'lastName\', id: \'lastName\', type: \'text\'}"\n [errorMessage]="isInvalid.lastName"\n [group]="inviteUserForm">\n </xuilib-gov-uk-input>\n\n <xuilib-gov-uk-input\n [config]="{label: \'Email address\', name: \'email\', id: \'email\', type: \'email\'}"\n [errorMessage]="isInvalid.email"\n [group]="inviteUserForm">\n </xuilib-gov-uk-input>\n\n <xuilib-invite-permission-form [inviteUserForm]="inviteUserForm" [errorMessages]="isInvalid.roles">\n </xuilib-invite-permission-form>\n\n <button type="submit" class="govuk-button">\n Send invitation\n </button>\n</form>\n'}]}],N.propDecorators={submitForm:[{type:t.Output}],inviteUserForm:[{type:t.Input}],errorMessages:[{type:t.Input}]};var j=function(){this.isPuiCaseManager=!1,this.isPuiUserManager=!1,this.isPuiOrganisationManager=!1,this.isPuiFinanceManager=!1};j.decorators=[{type:t.Component,args:[{selector:"xuilib-invite-permission-form",template:" \x3c!--permissions --\x3e\n <ng-container [formGroup]=\"inviteUserForm\">\n <xuilib-gov-uk-form-group-wrapper\n [config]=\"{hint: 'Choose what the user will be able to do. You can change this later.', legend: 'Permissions', key: 'roles'}\"\n [formGroupName]=\"'roles'\"\n [error]=\"errorMessages\">\n\n <div class=\"govuk-checkboxes\">\n <xuilib-gov-checkbox\n [group]=\"inviteUserForm.controls['roles']\"\n [isChecked]=\"isPuiCaseManager\"\n [config]=\"{value: 'pui-case-manager', label: 'Manage Cases', name: 'roles', hint: 'View, create and progress cases.', focusOn: 'roles'}\">\n </xuilib-gov-checkbox>\n\n <xuilib-gov-checkbox\n [group]=\"inviteUserForm.controls['roles']\"\n [isChecked]=\"isPuiUserManager\"\n [config]=\"{value: 'pui-user-manager', label: 'Manage Users', name: 'roles',\n hint: 'Invite users.'}\">\n </xuilib-gov-checkbox>\n\n <xuilib-gov-checkbox\n [group]=\"inviteUserForm.controls['roles']\"\n [isChecked]=\"isPuiOrganisationManager\"\n [config]=\"{value: 'pui-organisation-manager', label: 'Manage Organisation', name: 'roles',\n hint: 'View organisation name and addresses.'}\">\n </xuilib-gov-checkbox>\n\n \x3c!-- <xuilib-gov-checkbox\n [group]=\"inviteUserForm.controls['roles']\"\n [isChecked]=\"isPuiFinanceManager\"\n [config]=\"{value: 'pui-finance-manager', label: 'Manage Payments', name: 'roles',\n hint: 'View account balances, available credit and transactions.'}\">\n </xuilib-gov-checkbox> --\x3e\n </div>\n\n </xuilib-gov-uk-form-group-wrapper>\n</ng-container>"}]}],j.propDecorators={inviteUserForm:[{type:t.Input}],isPuiCaseManager:[{type:t.Input}],isPuiUserManager:[{type:t.Input}],isPuiOrganisationManager:[{type:t.Input}],isPuiFinanceManager:[{type:t.Input}],errorMessages:[{type:t.Input}]};var R=function(){this.loadingText="Loading"};R.decorators=[{type:t.Component,args:[{selector:"xuilib-loading-spinner",template:'<div class="spinner-container">\n <div class="spinner-inner-container">\n <p>{{loadingText}}</p>\n <div class="spinner" style="margin: auto;"></div>\n </div>\n</div>\n',encapsulation:t.ViewEncapsulation.None,styles:[".spinner-container{position:fixed;top:0;left:0;height:100%;width:100%;display:flex;justify-content:center;align-items:center;background:hsla(0,0%,100%,.5);z-index:99}.spinner-container .spinner-inner-container p{text-align:center}.spinner-container .spinner-inner-container .spinner{border:10px solid #ddd;border-top-color:#000;border-radius:50%;width:40px;height:40px;-webkit-animation:spin 1s linear infinite;animation:spin 1s linear infinite}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}"]}]}],R.propDecorators={loadingText:[{type:t.Input}]};var B=function(){function e(){this.caseState=[],this.subject=new i.BehaviorSubject(this.caseState)}return Object.defineProperty(e.prototype,"state",{get:function(){return this.subject.asObservable().pipe(s.distinctUntilChanged())},enumerable:!1,configurable:!0}),e.prototype.setCases=function(e){var t=this;this.caseState=[],e.forEach((function(e){t.caseState.push({caseId:e.caseId,caseTitle:e.caseTitle,caseTypeId:e.caseTypeId,roles:e.roles,sharedWith:e.sharedWith,pendingShares:e.pendingShares,pendingUnshares:e.pendingUnshares})})),this.subject.next(this.caseState)},e.prototype.getCases=function(){return this.caseState},e.prototype.requestShare=function(e){var t,n,o=this.caseState.slice(),i=[];try{for(var s=S(o),r=s.next();!r.done;r=s.next()){var a=r.value;a.pendingShares||(a.pendingShares=[]);var l=a.pendingShares.slice();a.pendingUnshares||(a.pendingUnshares=[]);var c=a.pendingUnshares.slice();if(this.userHasAccess(a,e)){for(var u=0,d=c.length;u<d;u++)if(c[u].email===e.email){c.splice(u,1);break}}else l.some((function(t){return t.email===e.email}))||l.push(e);var p=Object.assign(Object.assign({},a),{pendingUnshares:c,pendingShares:l});i.push(p)}}catch(e){t={error:e}}finally{try{r&&!r.done&&(n=s.return)&&n.call(s)}finally{if(t)throw t.error}}return this.subject.next(i),i},e.prototype.requestUnshare=function(e,t){var n,o,i=[];try{for(var s=S(this.caseState),r=s.next();!r.done;r=s.next()){var a=r.value;if(void 0===t||a.caseId===t){a.pendingUnshares||(a.pendingUnshares=[]);var l=a.pendingUnshares.slice(),c=void 0,u=-1;a.pendingShares&&(u=a.pendingShares.findIndex((function(t){return t.idamId===e.idamId})))>-1&&(c=a.pendingShares.slice()).splice(u,1),-1===u&&a.sharedWith&&a.sharedWith.findIndex((function(t){return t.idamId===e.idamId}))>-1&&(l.some((function(t){return t.email===e.email}))||l.push(e));var d=Object.assign(Object.assign(Object.assign({},a),{pendingUnshares:l}),c&&{pendingShares:c});i.push(d)}else i.push(a)}}catch(e){n={error:e}}finally{try{r&&!r.done&&(o=s.return)&&o.call(s)}finally{if(n)throw n.error}}return this.subject.next(i),i},e.prototype.requestCancel=function(e,t){var n,o,i=[];try{for(var s=S(this.caseState),r=s.next();!r.done;r=s.next()){var a=r.value;if(a.caseId===e){a.pendingUnshares||(a.pendingUnshares=[]);for(var l=a.pendingUnshares.slice(),c=0;c<l.length;c++)if(l[c].email===t.email){l.splice(c,1);break}a.pendingShares||(a.pendingShares=[]);for(var u=a.pendingShares.slice(),d=0;d<u.length;d++)if(u[d].email===t.email){u.splice(d,1);break}var p=Object.assign(Object.assign({},a),{pendingUnshares:l,pendingShares:u});i.push(p)}else i.push(a)}}catch(e){n={error:e}}finally{try{r&&!r.done&&(o=s.return)&&o.call(s)}finally{if(n)throw n.error}}this.subject.next(i)},e.prototype.removeCase=function(e){if(this.caseState.length>1)for(var t=0,n=this.caseState.length;t<n;t++)if(this.caseState[t].caseId===e)return this.caseState.splice(t,1),void this.subject.next(this.caseState)},e.prototype.userHasAccess=function(e,t){if(!e.sharedWith)return!1;for(var n=0,o=e.sharedWith.length;n<o;n++)if(e.sharedWith[n].email===t.email)return!0;return!1},e}();B.ɵprov=v.ɵɵdefineInjectable({factory:function(){return new B},token:B,providedIn:"root"}),B.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],B.ctorParameters=function(){return[]};var G=function(){function e(e){this.stateService=e,this.changeLink=""}return e.prototype.ngOnInit=function(){var e=this;this.shareCases$=this.stateService.state,this.shareCases$.subscribe((function(t){return e.shareCases=t}))},e.prototype.trackByUserId=function(e){return e.idamId},e.prototype.showUserAccessBlock=function(){return!!(this.sharedCase.pendingShares&&this.sharedCase.pendingShares.length>0)||this.sharedCase.pendingUnshares&&this.sharedCase.pendingUnshares.length>0},e}();G.decorators=[{type:t.Component,args:[{selector:"xuilib-selected-case-confirm",template:'<div id="user-access-block-{{ sharedCase.caseId }}" *ngIf="showUserAccessBlock()">\n <h2 class="govuk-heading-m case-share-confirm__title">{{ sharedCase.caseTitle }}</h2>\n <div class="case-share-confirm__caption-area">\n <div class="govuk-caption-m case-share-confirm__caption">\n {{ sharedCase.caseId }}\n </div>\n <a [routerLink]="changeLink" class="case-share-confirm__change-link govuk-link govuk-!-font-size-19">Change</a>\n </div>\n <table class="govuk-table">\n <thead class="govuk-table__head">\n <tr class="govuk-table__row">\n <th class="govuk-table__header govuk-table-column-header" scope="col">Name</th>\n <th class="govuk-table__header govuk-table-column-header" scope="col">Email address</th>\n <th class="govuk-table__header govuk-table-column-actions" scope="col">Actions</th>\n </tr>\n </thead>\n <tbody class="govuk-table__body">\n <tr class="govuk-table__row" *ngFor="let user of sharedCase.pendingShares; trackBy: trackByUserId">\n <td class="govuk-table__cell">{{ user.firstName + \' \' + user.lastName }}</td>\n <td class="govuk-table__cell">{{ user.email }}</td>\n <td class="govuk-table__cell">\n <span class="hmcts-badge">To be added</span>\n </td>\n </tr>\n <tr class="govuk-table__row" *ngFor="let user of sharedCase.pendingUnshares; trackBy: trackByUserId">\n <td class="govuk-table__cell">{{ user.firstName + \' \' + user.lastName }}</td>\n <td class="govuk-table__cell">{{ user.email }}</td>\n <td class="govuk-table__cell">\n <span class="hmcts-badge hmcts-badge--red">To be removed</span>\n </td>\n </tr>\n </tbody>\n </table>\n</div>\n',styles:[".case-share-confirm__title{margin-bottom:0}.case-share-confirm__caption-area{border-bottom:1px solid #b1b4b6;padding-bottom:10px;display:inline-block;width:100%;clear:both}.case-share-confirm__caption{float:left}.case-share-confirm__change-link{float:right}.govuk-table-column-header{width:45%}.govuk-table-column-actions{width:10%}"]}]}],G.ctorParameters=function(){return[{type:B}]},G.propDecorators={sharedCase:[{type:t.Input}],changeLink:[{type:t.Input}]};var V=function(){function e(e){this.stateService=e,this.shareCases=[],this.toConfirm=!1,this.changeLink="",this.unselect=new t.EventEmitter,this.synchronizeStore=new t.EventEmitter}return e.prototype.ngOnInit=function(){var e=this;this.shareCases$=this.stateService.state,this.shareCases$.subscribe((function(t){e.shareCases=t,e.caseCount=e.shareCases.length}))},e.prototype.onUnselect=function(e){this.unselect.emit(e),this.caseCount=this.shareCases.length},e.prototype.onSynchronizeStore=function(e){this.synchronizeStore.emit(e)},e.prototype.trackByCaseId=function(e){return e.caseId},e}();V.decorators=[{type:t.Component,args:[{selector:"xuilib-selected-case-list",template:'<ng-container *ngIf="!toConfirm">\n <xuilib-selected-case\n *ngFor="let sharedCase of (shareCases$ | async); trackBy: trackByCaseId"\n [sharedCase]="sharedCase"\n [caseCount]="caseCount"\n [removeUserFromCaseToggleOn]="removeUserFromCaseToggleOn"\n (unselect)="onUnselect($event)"\n (synchronizeStore)="onSynchronizeStore($event)"\n >\n </xuilib-selected-case>\n</ng-container>\n\n<ng-container *ngIf="toConfirm">\n <xuilib-selected-case-confirm\n *ngFor="let sharedCase of (shareCases$ | async); trackBy: trackByCaseId"\n [sharedCase]="sharedCase"\n [changeLink]="changeLink">\n </xuilib-selected-case-confirm>\n</ng-container>\n',styles:[""]}]}],V.ctorParameters=function(){return[{type:B}]},V.propDecorators={shareCases$:[{type:t.Input}],removeUserFromCaseToggleOn:[{type:t.Input}],toConfirm:[{type:t.Input}],changeLink:[{type:t.Input}],unselect:[{type:t.Output}],synchronizeStore:[{type:t.Output}]};var z=function(){function e(e){this.stateService=e,this.opened=!1,this.unselect=new t.EventEmitter,this.synchronizeStore=new t.EventEmitter}return e.prototype.ngOnInit=function(){var e=this;this.shareCases$=this.stateService.state,this.shareCases$.subscribe((function(t){return e.shareCases=t}))},e.prototype.ngOnChanges=function(e){if(e.sharedCase){var t=this.sharedCase.sharedWith?this.sharedCase.sharedWith:[],n=this.sharedCase.pendingShares?this.sharedCase.pendingShares:[];this.combinedSortedShares=this.combineAndSortShares(t,n)}},e.prototype.onDeselect=function(e){this.unselect.emit(e)},e.prototype.trackByUserId=function(e){return e.idamId},e.prototype.canRemove=function(e,t){var n=this;return this.shareCases$.pipe(s.map((function(o){var i,s;if(n.removeUserFromCaseToggleOn)try{for(var r=S(o),a=r.next();!a.done;a=r.next()){var l=a.value;if(l.caseId===e){if(l.pendingUnshares&&l.pendingUnshares.some((function(e){return e.idamId===t.idamId})))return!1;if(l.sharedWith&&l.sharedWith.some((function(e){return e.idamId===t.idamId})))return!0}}}catch(e){i={error:e}}finally{try{a&&!a.done&&(s=r.return)&&s.call(r)}finally{if(i)throw i.error}}return!1})))},e.prototype.canCancel=function(e,t){return this.shareCases$.pipe(s.map((function(n){var o,i;try{for(var s=S(n),r=s.next();!r.done;r=s.next()){var a=r.value;if(a.caseId===e)return!(!a.pendingShares||!a.pendingShares.some((function(e){return e.idamId===t.idamId})))||!(!a.pendingUnshares||!a.pendingUnshares.some((function(e){return e.idamId===t.idamId})))}}catch(e){o={error:e}}finally{try{r&&!r.done&&(i=s.return)&&i.call(s)}finally{if(o)throw o.error}}})))},e.prototype.isToBeRemoved=function(e,t){return this.shareCases$.pipe(s.map((function(n){var o,i;try{for(var s=S(n),r=s.next();!r.done;r=s.next()){var a=r.value;if(a.caseId===e)return a.pendingUnshares&&a.pendingUnshares.some((function(e){return e.idamId===t.idamId}))}}catch(e){o={error:e}}finally{try{r&&!r.done&&(i=s.return)&&i.call(s)}finally{if(o)throw o.error}}})))},e.prototype.isToBeAdded=function(e,t){return this.shareCases$.pipe(s.map((function(n){var o,i;try{for(var s=S(n),r=s.next();!r.done;r=s.next()){var a=r.value;if(a.caseId===e)return a.pendingShares&&a.pendingShares.some((function(e){return e.idamId===t.idamId}))}}catch(e){o={error:e}}finally{try{r&&!r.done&&(i=s.return)&&i.call(s)}finally{if(o)throw o.error}}})))},e.prototype.onRemove=function(e,t){this.stateService.requestUnshare(e,t.caseId),this.synchronizeStore.emit(this.shareCases)},e.prototype.onCancel=function(e,t){this.stateService.requestCancel(t.caseId,e),this.synchronizeStore.emit(this.shareCases)},e.prototype.showNoUsersAccessInfo=function(){return!(this.sharedCase.pendingShares&&this.sharedCase.pendingShares.length>0)&&(!(!this.sharedCase.sharedWith||0!==this.sharedCase.sharedWith.length)||!!(this.sharedCase.sharedWith&&this.sharedCase.pendingUnshares&&this.sharedCase.pendingUnshares.length>0&&this.sharedCase.sharedWith.length===this.sharedCase.pendingUnshares.length))},e.prototype.showUserHasAccessInfo=function(){return!this.showNoUsersAccessInfo()},e.prototype.showUserAccessTable=function(){return!!(this.sharedCase.pendingShares&&this.sharedCase.pendingShares.length>0)||!!(this.sharedCase.sharedWith&&this.sharedCase.sharedWith.length>0)},e.prototype.combineAndSortShares=function(e,t){return E(e,t).sort((function(e,t){return e.firstName.toLowerCase()>t.firstName.toLowerCase()?1:t.firstName.toLowerCase()>e.firstName.toLowerCase()?-1:0}))},e.prototype.userIdSetter=function(e,t){return e?"pendingShares-"+t:""+t},e.prototype.buildElementId=function(e){return e+"-"+this.sharedCase.caseId},e}();z.decorators=[{type:t.Component,args:[{selector:"xuilib-selected-case",template:'<div id="{{buildElementId(\'govuk-accordion__section\')}}" class="govuk-accordion__section">\n <div class="govuk-grid-row govuk-case-header">\n <div class="govuk-grid-column-three-quarters">\n <h3 id="{{buildElementId(\'case-title\')}}" class="govuk-case-title">{{ sharedCase.caseTitle }}</h3>\n <h1 id="{{buildElementId(\'case-id\')}}" class="govuk-case-sub-title">{{ sharedCase.caseId }}</h1>\n </div>\n <div class="govuk-grid-column-twenty-percent">\n <button *ngIf="caseCount > 1"\n id="{{buildElementId(\'btn-deselect-case\')}}" \n class="govuk-button hmcts-button--secondary" \n (click)="onDeselect(sharedCase)" \n title="Deselect case">Deselect case\n </button>\n </div>\n <div class="govuk-accordion__section-header govuk-grid-column-five-percent">\n <div class="govuk-accordion__section-heading">\n <button type="button" id="{{buildElementId(\'accordion-with-summary-sections-heading\')}}"\n aria-controls="accordion-with-summary-sections-content-1" class="govuk-accordion__section-button"\n aria-describedby="accordion-with-summary-sections-summary-1" aria-expanded="false" title="Expand or Collapse">\n <span class="govuk-accordion__icon" aria-hidden="true"></span></button>\n </div>\n </div>\n </div>\n <div id="{{buildElementId(\'accordion-with-summary-sections-content\')}}" class="govuk-accordion__section-content"\n aria-labelledby="buildElementId(\'accordion-with-summary-sections-heading\')" >\n <div class="govuk-grid-row" *ngIf="showNoUsersAccessInfo()">\n <span id="{{buildElementId(\'access-info-no-user\')}}" class="govuk-div-align-left">No users from your organisation currently have access to this case.</span>\n </div>\n <div class="govuk-grid-row" *ngIf="showUserHasAccessInfo()">\n <span id="{{buildElementId(\'access-info-has-users\')}}" class="govuk-div-align-left">Users from your organisation with access to this case.</span>\n </div>\n <table class="govuk-table" *ngIf="showUserAccessTable()">\n <thead class="govuk-table__head">\n <tr class="govuk-table__row">\n <th id="{{buildElementId(\'name-heading\')}}" class="govuk-table__header govuk-table-column-header" scope="col">Name</th>\n <th id="{{buildElementId(\'email-heading\')}}" class="govuk-table__header govuk-table-column-header" scope="col">Email address</th>\n <th id="{{buildElementId(\'action-heading\')}}" class="govuk-table__header govuk-table-column-actions" scope="col">Actions</th>\n <th id="{{buildElementId(\'label-heading\')}}" class="govuk-table__header govuk-table-column-label" scope="col">Status</th>\n </tr>\n </thead>\n <tbody class="govuk-table__body">\n <tr class="govuk-table__row" *ngFor="let user of combinedSortedShares; index as idx; trackBy: trackByUserId">\n <td id="user-full-name-{{ userIdSetter(canCancel(sharedCase.caseId, user) | async, idx) }}" class="govuk-table__cell">{{ user.firstName + \' \' + user.lastName }}</td>\n <td id="user-email-{{ userIdSetter(canCancel(sharedCase.caseId, user) | async, idx) }}" class="govuk-table__cell">{{ user.email }}</td>\n <td class="govuk-table__cell">\n <a *ngIf="canRemove(sharedCase.caseId, user) | async" (click)="onRemove(user, sharedCase)" href="javascript:void(0);">Remove <span class="govuk-visually-hidden">{{ user.firstName + \' \' + user.lastName }} from case</span></a>\n <a *ngIf="canCancel(sharedCase.caseId, user) | async" (click)="onCancel(user, sharedCase)" href="javascript:void(0);">Cancel <span class="govuk-visually-hidden">adding {{ user.firstName + \' \' + user.lastName }} to case</span></a>\n </td>\n <td class="govuk-table__cell">\n <span *ngIf="isToBeRemoved(sharedCase.caseId, user) | async" class="hmcts-badge hmcts-badge--red">To be removed</span>\n <span *ngIf="isToBeAdded(sharedCase.caseId, user) | async" class="hmcts-badge">To be added</span>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n</div>\n',styles:[".govuk-case-header{border-top:1px solid #bfc1c3}.govuk-case-title{font-size:24px;color:#005ea5;font-weight:700}.govuk-case-sub-title,.govuk-case-title{font-family:nta,Arial,sans-serif;padding-left:0}.govuk-case-sub-title{font-size:1rem!important;color:#6f777b;font-weight:400}.govuk-grid-row{margin-left:0;margin-right:0}.govuk-grid-column-three-quarters{padding-top:5px;padding-left:0}.govuk-grid-column-twenty-percent{box-sizing:border-box;padding-top:10px;width:20%;float:left}.govuk-grid-column-five-percent{box-sizing:border-box;padding-top:15px;width:5%;float:left}.govuk-table-column-header{width:38%}.govuk-table-column-actions,.govuk-table-column-label{width:12%}.govuk-div-align-left{font-family:nta,Arial,sans-serif;font-size:1.1875rem!important;line-height:1.31579!important;text-align:left;margin-bottom:20px;padding-left:0;color:#0b0c0c}.govuk-accordion__section-header{border-top:0}.govuk-accordion__section-content{padding-top:0}"]}]}],z.ctorParameters=function(){return[{type:B}]},z.propDecorators={sharedCase:[{type:t.Input}],selectedUser:[{type:t.Input}],opened:[{type:t.Input}],removeUserFromCaseToggleOn:[{type:t.Input}],caseCount:[{type:t.Input}],unselect:[{type:t.Output}],synchronizeStore:[{type:t.Output}]};var W=function(){function e(){this.hideMessage=new t.EventEmitter}return e.prototype.onHideMessageEvent=function(e){this.hideMessage.emit(e)},e}();W.decorators=[{type:t.Component,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</span>\n <h2 class="govuk-heading-s" [innerHTML]="message"></h2>\n <a [routerLink]="" class="govuk-link--no-visited-state" (click)="onHideMessageEvent(key)">Hide message</a>\n </div>\n\n</div>'}]}],W.ctorParameters=function(){return[]},W.propDecorators={message:[{type:t.Input}],key:[{type:t.Input}],hideMessage:[{type:t.Output}]};var H=function(){function e(){}return e.prototype.initialize=function(e,t){throw new Error("Not implemented")},e.prototype.isEnabled=function(e){throw new Error("Not implemented")},e.prototype.getValue=function(e,t){throw new Error("Not implemented")},e.prototype.getValueOnce=function(e,t){throw new Error("Not implemented")},e}();H.ɵprov=v.ɵɵdefineInjectable({factory:function(){return new H},token:H,providedIn:"root"}),H.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}];var $=function(){function e(e){this.featureToggleService=e,this.filteredMessages=new Map}return e.prototype.ngOnInit=function(){this.getServiceMessages()},e.prototype.getServiceMessages=function(){var e=this;this.featureToggleService.getValue(this.featureToggleKey,null).subscribe((function(t){t&&e.createFilteredMessages(t)}))},e.prototype.createFilteredMessages=function(e){var t=this;this.hiddenBanners=JSON.parse(window.sessionStorage.getItem(this.serviceMessageCookie))||[],Object.keys(e).forEach((function(n){var o=new RegExp(n);t.userRoles.some((function(e){return o.test(e)}))&&-1===t.hiddenBanners.indexOf(n)&&t.filteredMessages.set(n,e[n])}))},e.prototype.hideMessage=function(e){this.filteredMessages.delete(e),this.hiddenBanners.push(e),window.sessionStorage.setItem(this.serviceMessageCookie,JSON.stringify(this.hiddenBanners))},e}();$.decorators=[{type:t.Component,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" (hideMessage)="hideMessage($event)"></xuilib-service-message>\n</div>'}]}],$.ctorParameters=function(){return[{type:H}]},$.propDecorators={userRoles:[{type:t.Input}],featureToggleKey:[{type:t.Input}],serviceMessageCookie:[{type:t.Input}]};var q,J=function(){function e(e){this.stateService=e,this.shareCases=[],this.changeLink="",this.completeLink=""}return e.prototype.ngOnInit=function(){var e=this;this.shareCases$.subscribe((function(t){e.shareCases=t,e.stateService.setCases(t)})),this.shareCases$=this.stateService.state},e}();J.decorators=[{type:t.Component,args:[{selector:"xuilib-share-case-confirm",template:'<div id="casesToConfirm">\n <h3 class="govuk-heading-l">Cases</h3>\n <div *ngIf="shareCases && shareCases.length > 0" id="summarySections">\n <xuilib-selected-case-list\n [shareCases$]="shareCases$"\n [toConfirm]="true"\n [changeLink]="changeLink">\n </xuilib-selected-case-list>\n </div>\n\n <div id="noCaseDisplay" *ngIf="shareCases && shareCases.length === 0" class="govuk-hint">\n No cases to display.\n </div>\n\n</div>\n\n<div id="share-case-nav" *ngIf="shareCases && shareCases.length > 0">\n <button class="govuk-button" title="Confirm" [routerLink]="completeLink">Confirm</button>\n</div>\n',styles:[""]}]}],J.ctorParameters=function(){return[{type:B}]},J.propDecorators={shareCases$:[{type:t.Input}],changeLink:[{type:t.Input}],completeLink:[{type:t.Input}]},e.SharedCaseErrorMessages=void 0,(q=e.SharedCaseErrorMessages||(e.SharedCaseErrorMessages={})).OneCaseMustBeSelected="At least one case must be selected",q.NoChangesRequested="You have not requested any changes to case sharing",q.OnePersonMustBeAssigned="At least one person must be assigned to each case";var K=function(){function e(){this.selected=new t.EventEmitter,this.control=new o.FormControl}return e.prototype.ngOnInit=function(){var e=this;this.filteredUsers=this.control.valueChanges.pipe(s.map((function(t){return"string"==typeof t?e.filterUsers(t):e.users}))),this.selected.emit(null)},e.prototype.displayValue=function(e){return e?e.firstName+" "+e.lastName+" - "+e.email:""},e.prototype.onSelected=function(e){this.selected.emit(e.option.value)},e.prototype.clear=function(){this.control.setValue(null)},e.prototype.onUserChange=function(e){e&&e.email||this.selected.emit(null)},e.prototype.filterUsers=function(e){return e?(e=e.toLowerCase(),this.users.filter((function(t){return!!t.firstName.toLowerCase().includes(e)||(!!t.lastName.toLowerCase().includes(e)||!!t.email.toLowerCase().includes(e))}))):[]},e}();K.decorators=[{type:t.Component,args:[{selector:"xuilib-user-select",template:'<input class="govuk-input" type="text" [matAutocomplete]="dropdown" [formControl]="control" (ngModelChange)="onUserChange($event)" aria-labelledby="add-user-hint">\n\n<mat-autocomplete #dropdown="matAutocomplete" [displayWith]="displayValue" autoActiveFirstOption (optionSelected)="onSelected($event)">\n <mat-option *ngFor="let user of filteredUsers | async" [value]="user">\n {{ user.firstName }} {{ user.lastName }} - {{ user.email }}\n </mat-option>\n</mat-autocomplete>',styles:[""]}]}],K.ctorParameters=function(){return[]},K.propDecorators={users:[{type:t.Input}],selected:[{type:t.Output}]};var Y=function(){function n(e,n){this.stateService=e,this.router=n,this.shareCases=[],this.continueAllowed=!1,this.selectedUserToRemove=null,this.removeUserFromCaseToggleOn=!1,this.users=[],this.confirmLink="",this.cancelLink="",this.showRemoveUsers=!1,this.fnTitle="",this.title="",this.unselect=new t.EventEmitter,this.synchronizeStore=new t.EventEmitter,this.validationErrors=[]}return n.prototype.ngOnInit=function(){var e=this;this.shareCases$.pipe(s.tap((function(t){e.getAssignedUsers(t.filter((function(e){return e.sharedWith&&e.sharedWith.length>0})))}))).subscribe((function(t){e.shareCases=t,e.stateService.setCases(t),t&&(e.selectedCasesErrorMessageConfig={id:t.length>0?"cases":"noCaseDisplay"})})),this.shareCases$=this.stateService.state,this.shareCaseErrorMessage={isInvalid:!1,messages:[]}},n.prototype.onUnselect=function(t){this.validationErrors=[],1===this.stateService.getCases().length?(this.validationErrors.push({id:"cases",message:e.SharedCaseErrorMessages.OneCaseMustBeSelected}),this.shareCaseErrorMessage={isInvalid:!0,messages:[e.SharedCaseErrorMessages.OneCaseMustBeSelected]},window.scrollTo({top:0,left:0,behavior:"smooth"})):(this.unselect.emit(t),this.stateService.removeCase(t.caseId))},n.prototype.onSynchronizeStore=function(e){this.synchronizeStore.emit(e)},n.prototype.onSelectedUser=function(e){this.selectedUser=e},n.prototype.addUser=function(){var e=this.stateService.requestShare(this.selectedUser);this.selectedUser=null,this.userSelect&&this.userSelect.clear(),this.synchronizeStore.emit(e),this.getAssignedUsers(e)},n.prototype.removeUser=function(){if(this.selectedUserToRemove){var e=this.stateService.requestUnshare(this.selectedUserToRemove);this.synchronizeStore.emit(e)}},n.prototype.isDisabledAdd=function(){return null===this.selectedUser||0===this.shareCases.length},n.prototype.setContinueAllowed=function(){var e=this;this.continueAllowed=!1,this.shareCases$.subscribe((function(t){var n,o;try{for(var i=S(t),s=i.next();!s.done;s=i.next()){var r=s.value;if(r.pendingShares&&r.pendingShares.length>0){e.continueAllowed=!0;break}if(r.pendingUnshares&&r.pendingUnshares.length>0){e.continueAllowed=!0;break}}}catch(e){n={error:e}}finally{try{s&&!s.done&&(o=i.return)&&o.call(i)}finally{if(n)throw n.error}}}))},n.prototype.onDeselect=function(e){var t,n;if(null!==e){var o=[];try{for(var i=S(this.shareCases),s=i.next();!s.done;s=i.next()){var r=s.value;r.caseId!==e.caseId&&o.push(r)}}catch(e){t={error:e}}finally{try{s&&!s.done&&(n=i.return)&&n.call(i)}finally{if(t)throw t.error}}this.shareCases=o}this.stateService.setCases(this.shareCases)},n.prototype.onContinue=function(){this.setContinueAllowed(),this.continueAllowed||(this.validationErrors=[],this.validationErrors.push({id:"cases",message:e.SharedCaseErrorMessages.NoChangesRequested}),this.shareCaseErrorMessage={isInvalid:!0,messages:[e.SharedCaseErrorMessages.NoChangesRequested]},window.scrollTo({top:0,left:0,behavior:"smooth"})),this.continueAllowed&&(this.hasCasesLeftUnassigned(this.shareCases)?(this.validationErrors=[],this.validationErrors.push({id:"cases",message:e.SharedCaseErrorMessages.OnePersonMustBeAssigned}),this.shareCaseErrorMessage={isInvalid:!0,messages:[e.SharedCaseErrorMessages.OnePersonMustBeAssigned]},window.scrollTo({top:0,left:0,behavior:"smooth"})):this.router.navigate([this.confirmLink]))},n.prototype.getAssignedUsers=function(e){var t=[];e.forEach((function(e){e.sharedWith&&e.sharedWith.forEach((function(e){t.some((function(t){return e.idamId===t.idamId}))||t.push(e)})),e.pendingShares&&e.pendingShares.forEach((function(e){t.some((function(t){return e.idamId===t.idamId}))||t.push(e)}))})),this.assignedUsers=t},n.prototype.hasCasesLeftUnassigned=function(e){return e.some((function(e){return e.pendingUnshares&&e.sharedWith&&e.pendingUnshares.length===e.sharedWith.length&&(!e.pendingShares||0===e.pendingShares.length)}))},n}();Y.decorators=[{type:t.Component,args:[{selector:"xuilib-share-case",template:'<xuilib-hmcts-error-summary\n [errorMessages]="validationErrors"\n [header]="\'There is a problem\'"\n></xuilib-hmcts-error-summary>\n<h1 *ngIf="title" class="govuk-heading-xl govuk-!-margin-top-2">\n <span *ngIf="fnTitle" class="govuk-caption-xl">{{fnTitle}}</span>\n {{title}}\n</h1>\n<div id="add-user">\n <div class="govuk-form-group">\n <label class="govuk-label govuk-!-font-weight-bold" for="add-user-input">{{addUserLabel}}</label>\n <span id="add-user-hint" class="govuk-hint">\n Search by name or email address. You can share access with as many people as you need.\n </span>\n <div class="govuk-grid-row">\n <div class="govuk-grid-column-two-thirds">\n <xuilib-user-select\n id="add-user-input"\n aria-describedby="add-user-hint"\n [users]="users"\n (selected)="onSelectedUser($event)">\n </xuilib-user-select>\n </div>\n <div class="govuk-grid-column-one-thirds">\n <button id="btn-add-user" (click)="addUser()" class="govuk-button govuk-button--secondary" [disabled]="isDisabledAdd()" title="Add user to selected cases">Add</button>\n </div>\n </div>\n <details id="add-user-help" class="govuk-details" data-module="govuk-details">\n <summary class="govuk-details__summary">\n <span id="content-why-can-not-find-email" class="govuk-details__summary-text">\n Can\'t find an email address?\n </span>\n </summary>\n <div id="content-reason-can-not-find-email" class="govuk-details__text">\n If you can\'t find your colleague\'s email address, they will need to complete their registration. Contact your\n administrator for help.\n </div>\n </details>\n </div>\n <div class="govuk-form-group" *ngIf="showRemoveUsers">\n <label class="govuk-label govuk-!-font-weight-bold" for="remove-user-input">Remove a person from all cases</label>\n <span id="remove-user-hint" class="govuk-hint">\n Select a person to remove them from all selected cases.\n </span>\n <div class="govuk-grid-row">\n <div class="govuk-grid-column-two-thirds">\n <select [(ngModel)]="selectedUserToRemove" class="govuk-select" id="remove-user-input" aria-describedby="remove-user-hint">\n <option [ngValue]="null" selected>Select a person</option>\n <option *ngFor="let user of assignedUsers" [ngValue]="user">{{user.firstName}} {{user.lastName}} - {{user.email}}</option>\n </select>\n </div>\n <div class="govuk-grid-column-one-thirds">\n <button id="btn-remove-user" (click)="removeUser()" class="govuk-button govuk-button--secondary" title="Remove user from selected cases">Remove</button>\n </div>\n </div>\n </div>\n</div>\n\n<div id="cases" [ngClass]="{\'govuk-form-group--error\': shareCaseErrorMessage.messages && shareCaseErrorMessage.messages.length > 0}">\n <h3 id="title-selected-cases" class="govuk-heading-m">Selected cases</h3>\n <xuilib-gov-uk-error-message [config]="selectedCasesErrorMessageConfig" [errorMessage]="shareCaseErrorMessage"></xuilib-gov-uk-error-message>\n <div *ngIf="shareCases && shareCases.length > 0" class="govuk-accordion" data-module="govuk-accordion" id="accordion-with-summary-sections">\n <xuilib-selected-case-list\n [shareCases$]="shareCases$"\n [removeUserFromCaseToggleOn]="removeUserFromCaseToggleOn"\n (unselect)="onUnselect($event)"\n (synchronizeStore)="onSynchronizeStore($event)"\n >\n </xuilib-selected-case-list>\n </div>\n\n <div id="noCaseDisplay" *ngIf="shareCases && shareCases.length === 0" class="govuk-hint"\n [ngClass]="{\'govuk-form-group--error\': shareCaseErrorMessage.messages && shareCaseErrorMessage.messages.length > 0}">\n No cases to display.\n </div>\n\n</div>\n\n<div id="share-case-nav" class="govuk-button-group">\n <button id="btn-continue" class="govuk-button" data-module="govuk-button" (click)="onContinue()" title="Continue">Continue</button>\n <button id="btn-cancel" class="govuk-button govuk-button--secondary" data-module="govuk-button" title="Cancel" [routerLink]="cancelLink">Cancel</button>\n</div>\n',styles:["select{width:100%}"]}]}],Y.ctorParameters=function(){return[{type:B},{type:r.Router}]},Y.propDecorators={removeUserFromCaseToggleOn:[{type:t.Input}],shareCases$:[{type:t.Input}],users:[{type:t.Input}],confirmLink:[{type:t.Input}],cancelLink:[{type:t.Input}],addUserLabel:[{type:t.Input}],showRemoveUsers:[{type:t.Input}],fnTitle:[{type:t.Input}],title:[{type:t.Input}],unselect:[{type:t.Output}],synchronizeStore:[{type:t.Output}],userSelect:[{type:t.ViewChild,args:[K,{static:!0}]}]};var Q=function(){function e(){this.tabChange=new t.EventEmitter}return e.prototype.tabChanged=function(e){this.tabChange.emit(e)},e}();Q.decorators=[{type:t.Component,args:[{selector:"xuilib-tab",template:'<mat-tab-group animationDuration="0ms" (selectedTabChange)="tabChanged($event)">\n <mat-tab *ngFor="let tabItem of tabItems; let last = last;" [label]="tabItem.text">\n </mat-tab>\n</mat-tab-group>'}]}],Q.ctorParameters=function(){return[]},Q.propDecorators={tabItems:[{type:t.Input}],tabChange:[{type:t.Output}]};var X=function(){function e(){this.confirm=new t.EventEmitter}return e.prototype.onClick=function(){this.confirm.emit()},e}();X.decorators=[{type:t.Component,args:[{selector:"xuilib-tc-confirm",template:'<div class="govuk-width-container">\n <main role="main" class="govuk-main-wrapper">\n <div class="govuk-grid-row">\n <div class="govuk-grid-column-two-thirds">\n <div class="column-two-thirds">\n <h1 class="govuk-heading-xl">Using this service</h1>\n <h2 class="govuk-heading-m">Terms and conditions</h2>\n <p>We\'ve recently updated the\n <a\n routerLink="/terms-and-conditions"\n rel="noopener noreferrer"\n target="_blank"\n >terms and conditions</a\n >.\n </p>\n <p>You must review and accept them.\n </p>\n <p>\n <button class="govuk-button" (click)="onClick()">\n {{ buttonText }}\n </button>\n </p>\n </div>\n </div>\n </div>\n <div class="govuk-grid-column-one-third"></div>\n </main>\n</div>\n',styles:[""]}]}],X.ctorParameters=function(){return[]},X.propDecorators={buttonText:[{type:t.Input}],confirm:[{type:t.Output}]};var Z=function(){};Z.decorators=[{type:t.Component,args:[{selector:"xuilib-tc-display-html",template:"<ng-content></ng-content>",styles:[":host{display:block;width:100%}"]}]}],Z.ctorParameters=function(){return[]};var ee=function(){};ee.decorators=[{type:t.Component,args:[{selector:"xuilib-tc-display-plain",template:"<ng-content></ng-content>",styles:[":host{display:block;width:100%}"]}]}],ee.ctorParameters=function(){return[]};var te=function(){};te.decorators=[{type:t.Component,args:[{selector:"xuilib-terms-and-conditions",template:'<ng-container [ngSwitch]="document.mimeType">\n <xuilib-tc-display-html *ngSwitchCase="\'text/html\'">\n <div [innerHTML]="document.content"></div>\n </xuilib-tc-display-html>\n <xuilib-tc-display-plain *ngSwitchCase="\'text/plain\'">\n {{ document.content }}\n </xuilib-tc-display-plain>\n <div *ngSwitchDefault>\n An error occured. Please try again.\n </div>\n</ng-container>\n',styles:[":host{display:block;width:100%}"]}]}],te.ctorParameters=function(){return[]},te.propDecorators={document:[{type:t.Input}]};var ne=function(){function e(){this.showEditLink=!1,this.showHelpLink=!1,this.suspendUserEvent=new t.EventEmitter,this.showSuspendUserButton=!1,this.reinvite=new t.EventEmitter}return e.prototype.reinviteClick=function(e){this.reinvite.emit(e)},e.prototype.suspendUser=function(e){this.suspendUserEvent.emit(e)},e.prototype.userHasRole=function(e){return!(!this.user||!this.user.roles)&&this.user.roles.includes(e)},e}();ne.decorators=[{type:t.Component,args:[{selector:"xuilib-user-details",template:'<div class="govuk-warning-text" *ngIf="warningTitle && warningTitle !== \'\'">\n<span class="govuk-warning-text__icon">!</span>\n<strong class="govuk-warning-text__text">\n {{ warningTitle }}\n</strong>\n</div>\n<table class="govuk-table" *ngIf="user">\n <tbody class="govuk-table__body">\n <tr class="govuk-table__row">\n <th class="govuk-table__header" scope="row">Name</th>\n <td class="govuk-table__cell">{{user.fullName}}</td>\n <td class="govuk-table__cell"></td>\n </tr>\n <tr class="govuk-table__row">\n <th class="govuk-table__header" scope="row">Email address</th>\n <td class="govuk-table__cell">{{user.email}}</td>\n <td class="govuk-table__cell"></td>\n </tr>\n <tr class="govuk-table__row" *ngIf="!user.resendInvite">\n <th class="govuk-table__header" scope="row">Permissions</th>\n <td class="govuk-table__cell">\n <div *ngIf="user.manageOrganisations === \'Yes\'">Manage organisations</div>\n <div *ngIf="user.manageUsers === \'Yes\'">Manage users</div>\n <div *ngIf="user.manageCases === \'Yes\'">Manage cases</div>\n <div *ngIf="userHasRole(\'pui-caa\')">Case access administrator</div>\n <div *ngIf="userHasRole(\'pui-finance-manager\')">Manage fee accounts</div>\n </td>\n <td class="govuk-table__cell"><a *ngIf="editPermissionRouterLink && showEditLink" [routerLink]="editPermissionRouterLink">Change <span class="govuk-visually-hidden">roles</span></a></td>\n </tr>\n </tbody>\n</table>\n<button *ngIf="showSuspendUserButton" class="govuk-button govuk-button--warning" (click)="suspendUser(user)">\n Suspend account\n</button>\n<div *ngIf="user && user.resendInvite">\n <div class="govuk-inset-text">\n <p>This user has already been invited but has not activated their account.</p>\n <p>If you resend an invitation, they\'ll receive an email from HM Courts and Tribunals to finish setting up their account.</p>\n <p>You can\'t invite the same user more than once an hour.</p>\n </div>\n <a role="button" draggable="false" class="govuk-button" (click)="reinviteClick(user)" id="resend-invite-button">\n Resend invitation\n </a>\n</div>\n<p class="govuk-body" *ngIf="showHelpLink && suspendHelpLink"><a [routerLink]="suspendHelpLink" target="_blank">Get help</a> to reactivate this account.</p>\n',styles:[":host{display:block}"]}]}],ne.propDecorators={user:[{type:t.Input}],editPermissionRouterLink:[{type:t.Input}],warningTitle:[{type:t.Input}],showEditLink:[{type:t.Input}],showHelpLink:[{type:t.Input}],suspendHelpLink:[{type:t.Input}],suspendUserEvent:[{type:t.Output}],showSuspendUserButton:[{type:t.Input}],reinvite:[{type:t.Output}]};var oe=function(){function e(){this.users=[],this.userClick=new t.EventEmitter,this.pageChange=new t.EventEmitter}return e.prototype.ngOnInit=function(){this.pagination={itemsPerPage:50,currentPage:this.currentPageNumber,totalItems:this.pageTotalSize}},e.prototype.onUserClick=function(e){this.userClick.emit(e)},e.prototype.emitPageClickEvent=function(e){this.currentPageNumber=e,this.pageChange.emit(e)},e}();oe.decorators=[{type:t.Component,args:[{selector:"xuilib-user-list",template:'<table class="govuk-table">\n\n <thead clas="govuk-table__head">\n <tr class="govuk-table__row">\n <th class="govuk-table__header" scope="col">Name</th>\n <th class="govuk-table__header" scope="col">Email</th>\n <th class="govuk-table__header" scope="col">Status</th>\n </tr>\n </thead>\n <tbody class="govuk-table__body">\n <ng-container *ngFor="let u of users | paginate: { itemsPerPage: pagination.itemsPerPage, currentPage: currentPageNumber, totalItems: pagination.totalItems }">\n <tr class="govuk-table__row" data-selector="table-row">\n <td class="govuk-table__cell" data-selector="table-cell">\n <a class="govuk-link" [attr.title]="u.routerLinkTitle" [routerLink]="u.routerLink" (click)="onUserClick(u)">{{ u.fullName }}</a>\n </td>\n <td class="govuk-table__cell" data-selector="table-cell">{{ u.email }}</td>\n <td class="govuk-table__cell" data-selector="table-cell">{{ u.status }}</td>\n </tr>\n </ng-container>\n </tbody>\n</table>\n<xuilib-hmcts-pagination (pageChange)="emitPageClickEvent($event)" [pageSize]="pagination.itemsPerPage"></xuilib-hmcts-pagination>\n',styles:[":host{display:block}"]}]}],oe.propDecorators={users:[{type:t.Input}],currentPageNumber:[{type:t.Input}],pageTotalSize:[{type:t.Input}],userClick:[{type:t.Output}],pageChange:[{type:t.Output}]};var ie=function(){function e(e){this.document=e}return e.prototype.setCookie=function(e,t,n){var o=e+"="+t+";"+(n?" expires="+n:"");this.document.cookie=o},e.prototype.getCookie=function(e){return this.document.cookie.split("; ").find((function(t){return t.startsWith(e+"=")})).split("=")[1]},e.prototype.deleteCookie=function(e,t,n){var o=t?"; path="+t:"",i=n?"; domain="+n:"";this.document.cookie=e+"="+o+i+"; expires=Thu, 01 Jan 1970 00:00:01 GMT; max-age=0"},e.prototype.deleteCookieByPartialMatch=function(e,t,n){var o=this;this.document.cookie.split("; ").filter((function(t){return t.startsWith(""+e)})).forEach((function(e){o.deleteCookie(e.split("=")[0],t,n)}))},e.prototype.checkCookie=function(e){return this.document.cookie.split("; ").some((function(t){return t.trim().startsWith(e+"=")}))},e}();ie.ɵprov=v.ɵɵdefineInjectable({factory:function(){return new ie(v.ɵɵinject(b.DOCUMENT))},token:ie,providedIn:"root"}),ie.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],ie.ctorParameters=function(){return[{type:void 0,decorators:[{type:t.Inject,args:[n.DOCUMENT]}]}]};var se=new t.InjectionToken("Window");function re(){return window}var ae,le=function(){function e(e,n){this.cookieService=e,this.rejectionNotifier=new t.EventEmitter,this.acceptanceNotifier=new t.EventEmitter,this.isCookieBannerVisible=!1,this.window=n}return e.prototype.ngOnInit=function(){this.setState()},e.prototype.acceptCookie=function(){this.cookieService.setCookie(this.identifier,"true",this.getExpiryDate()),this.setState(!0)},e.prototype.rejectCookie=function(){this.cookieService.setCookie(this.identifier,"false",this.getExpiryDate()),this.setState(!0)},e.prototype.setState=function(e){void 0===e&&(e=!1),this.isCookieBannerVisible=!this.cookieService.checkCookie(this.identifier),this.areCookiesAccepted()?this.notifyAcceptance():this.notifyRejection(),e&&this.window.location.reload()},e.prototype.areCookiesAccepted=function(){return this.cookieService.checkCookie(this.identifier)&&"true"===this.cookieService.getCookie(this.identifier)},e.prototype.notifyRejection=function(){this.rejectionNotifier.emit()},e.prototype.notifyAcceptance=function(){this.acceptanceNotifier.emit()},e.prototype.getExpiryDate=function(){var e=new Date,t=e.getTime()+31536e6;return e.setTime(t),e.toUTCString()},e}();le.decorators=[{type:t.Component,args:[{selector:"xuilib-cookie-banner",template:'<div class="govuk-cookie-banner " role="region" attr.aria-label="\'Cookies on {{appName}}\'" *ngIf="isCookieBannerVisible">\n <div class="govuk-cookie-banner__message govuk-width-container">\n\n <div class="govuk-grid-row">\n <div class="govuk-grid-column-two-thirds">\n <h2 class="govuk-cookie-banner__heading govuk-heading-m">Cookies on {{appName}}</h2>\n\n <div class="govuk-cookie-banner__content">\n <p>We use some essential cookies to make this service work.</p>\n <p>We’d also like to use analytics cookies so we can understand how you use the service and make improvements.</p>\n </div>\n </div>\n </div>\n\n <div class="govuk-button-group">\n <button value="accept" type="button" name="cookies" class="govuk-button" data-module="govuk-button" (click)="acceptCookie()">\n Accept analytics cookies\n </button>\n <button value="reject" type="button" name="cookies" class="govuk-button" data-module="govuk-button" (click)="rejectCookie()">\n Reject analytics cookies\n </button>\n <a class="govuk-link" routerLink="/cookies">View cookies</a>\n </div>\n </div>\n</div>'}]}],le.ctorParameters=function(){return[{type:ie},{type:void 0,decorators:[{type:t.Inject,args:[se]}]}]},le.propDecorators={identifier:[{type:t.Input}],appName:[{type:t.Input}],rejectionNotifier:[{type:t.Output}],acceptanceNotifier:[{type:t.Output}]},e.BadgeColour=void 0,(ae=e.BadgeColour||(e.BadgeColour={})).BADGE_RED="hmcts-badge--red",ae.BADGE_BLUE="hmcts-badge--blue",ae.BADGE_GREEN="hmcts-badge--green";var ce,ue,de,pe=function(){},ge=function(){};e.BookingCheckType=void 0,(ce=e.BookingCheckType||(e.BookingCheckType={})).NO_CHECK="NO_CHECK",ce.BOOKINGS_AND_BASE="BOOKINGS_AND_BASE",ce.POSSIBLE_BOOKINGS="POSSIBLE_BOOKINGS",e.PersonRole=void 0,(ue=e.PersonRole||(e.PersonRole={})).JUDICIAL="Judicial",ue.CASEWORKER="Legal Ops",ue.ADMIN="Admin",ue.CTSC="CTSC User",ue.ALL="All",e.RoleCategory=void 0,(de=e.RoleCategory||(e.RoleCategory={})).JUDICIAL="JUDICIAL",de.CASEWORKER="LEGAL_OPERATIONS",de.ADMIN="ADMIN",de.CTSC="CTSC",de.ALL="ALL";var he=function(){},me=function(){function e(e){this.http=e}return e.prototype.getAllLocations=function(e,t,n,o,i){return this.http.post("api/locations/getLocations",{serviceIds:e,locationType:t,searchTerm:n,userLocations:o,bookingLocations:i})},e.prototype.searchLocations=function(e,t,n){return this.http.get("api/prd/location/getLocations?serviceIds="+e+"&locationType="+t+"&searchTerm="+n)},e}();me.ɵprov=v.ɵɵdefineInjectable({factory:function(){return new me(v.ɵɵinject(k.HttpClient))},token:me,providedIn:"root"}),me.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],me.ctorParameters=function(){return[{type:a.HttpClient}]};var fe=function(){function e(){}return e.prototype.getItem=function(e,t){void 0===t&&(t=!1);var n=sessionStorage.getItem(e);return t&&this.removeItem(e),n},e.prototype.setItem=function(e,t){sessionStorage.setItem(e,t)},e.prototype.removeItem=function(e){sessionStorage.removeItem(e)},e.prototype.clear=function(){sessionStorage.clear()},e}();fe.ɵprov=v.ɵɵdefineInjectable({factory:function(){return new fe},token:fe,providedIn:"root"}),fe.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}];var ve=function(){function n(e,n,o,i){this.locationService=e,this.sessionStorageService=n,this.fb=o,this.cd=i,this.disabled=null,this.singleMode=!1,this.locationType="",this.serviceIds="",this.submitted=!0,this.delay=500,this.showAutocomplete=!1,this.locations=[],this.locationSelected=new t.EventEmitter,this.locationInputChanged=new t.EventEmitter,this.searchLocationChanged=new t.EventEmitter,this.minSearchCharacters=3,this.term="",this.pSelectedLocations=[],this.pReset=!0,this.form=this.fb.group({searchTerm:[""]})}return Object.defineProperty(n.prototype,"reset",{get:function(){return this.pReset},set:function(e){this.pReset=e,this.resetSearchTerm()},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"selectedLocations",{get:function(){return this.pSelectedLocations},set:function(e){this.pSelectedLocations=e},enumerable:!1,configurable:!0}),n.prototype.ngOnInit=function(){if(this.singleMode&&this.selectedLocations.length>0){var e=this.selectedLocations[0];this.form.controls.searchTerm.patchValue(e.site_name,{emitEvent:!1,onlySelf:!0})}this.search()},n.prototype.filter=function(e){var t=this;this.getLocations(e).pipe(s.map((function(e){return t.removeSelectedLocations(e)})))},n.prototype.onSelectionChange=function(e){this.form.controls.searchTerm.patchValue(e.site_name,{emitEvent:!1,onlySelf:!0}),this.locationSelected.emit(e)},n.prototype.search=function(){var e=this;this.form.controls.searchTerm.valueChanges.pipe(s.tap((function(t){return e.locationInputChanged.next(t)})),s.tap((function(){return e.locations=[]})),s.tap((function(t){return e.term=t})),s.filter((function(t){return!!t&&t.length>=e.minSearchCharacters})),s.debounceTime(this.delay),s.mergeMap((function(t){return e.getLocations(t)})),s.map((function(t){return e.removeSelectedLocations(t)}))).subscribe((function(t){if(e.locations=t,e.cd.markForCheck(),1===t.length&&e.term===t[0].site_name&&!e.singleMode)return e.locationSelected.emit(t[0]),void(e.showAutocomplete=!1);e.showAutocomplete=!0}))},n.prototype.onInput=function(){this.searchLocationChanged.emit()},n.prototype.getLocations=function(t){var n,o;return this.bookingCheck===e.BookingCheckType.BOOKINGS_AND_BASE?(n=JSON.parse(this.sessionStorageService.getItem("userLocations")),o=JSON.parse(this.sessionStorageService.getItem("bookingLocations"))):this.bookingCheck===e.BookingCheckType.POSSIBLE_BOOKINGS&&(n=JSON.parse(this.sessionStorageService.getItem("userLocations")),this.serviceIds=JSON.parse(this.sessionStorageService.getItem("bookableServices"))),this.locationService.getAllLocations(this.serviceIds,this.locationType,t,n,o)},n.prototype.resetSearchTerm=function(){this.form.controls.searchTerm.patchValue("",{emitEvent:!1,onlySelf:!0})},n.prototype.removeSelectedLocations=function(e){var t=this;return this.singleMode?e:e.filter((function(e){return!t.selectedLocations.map((function(e){return e.epimms_id})).includes(e.epimms_id)&&e.site_name}))},n}();ve.decorators=[{type:t.Component,args:[{selector:"exui-search-location",template:'<div class="auto-complete-container">\n <input\n id="inputLocationSearch"\n (input)="onInput()"\n [formControl]="form.controls.searchTerm"\n [matAutocomplete]="autoSearchLocation"\n class="govuk-input"\n [attr.disabled]="disabled">\n <mat-autocomplete class="mat-autocomplete-panel-extend" autoActiveFirstOption #autoSearchLocation="matAutocomplete">\n <mat-option *ngFor="let location of locations"\n (onSelectionChange)="onSelectionChange(location)">\n {{ location.site_name }}\n </mat-option>\n <mat-option *ngIf="!locations.length && showAutocomplete && term && term.length >= this.minSearchCharacters">No results found</mat-option>\n </mat-autocomplete>\n</div>\n',styles:[".autocomplete__input--show-all-values{padding:5px 34px 5px 5px;cursor:pointer}.autocomplete__dropdown-arrow-down{z-index:-1;display:inline-block;position:absolute;right:8px;width:24px;height:24px;top:10px}.autocomplete__menu{background-color:#fff;border:2px solid #0b0c0c;border-top:0;color:#0b0c0c;margin:0;max-height:342px;overflow-x:hidden;padding:0;width:100%;width:calc(100% - 4px)}.autocomplete__menu--visible{display:block}.autocomplete__menu--hidden{display:none}.autocomplete__menu--overlay{box-shadow:0 2px 6px rgba(0,0,0,.256863);left:0;position:absolute;top:100%;z-index:100}.autocomplete__menu--inline{position:relative}.autocomplete__option{border-left-width:0;border-bottom:1px solid #b1b4b6;border-right-width:0;border-top-width:1px;cursor:pointer;display:block;position:relative}.autocomplete__option>*{pointer-events:none}.autocomplete__option:first-of-type{border-top-width:0}.autocomplete__option:last-of-type{border-bottom-width:0}.autocomplete__option--odd{background-color:#fafafa}.autocomplete__option--focused,.autocomplete__option:hover{background-color:#1d70b8;border-color:#1d70b8;color:#fff;outline:0}.autocomplete__option--no-results{background-color:#fafafa;color:#646b6f;cursor:not-allowed}.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.25}.autocomplete__hint,.autocomplete__option{padding:5px}@media (min-width:641px){.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.31579}}.div-action{display:inline-block}.add-location{display:inline}.remove-location-button{margin:5px}.hide-autocomplete{display:none}.auto-complete-container{min-width:550px;display:inline-block;margin-right:4px}.autocomplete__input{line-height:24px;font-size:19px}"]}]}],ve.ctorParameters=function(){return[{type:me},{type:fe},{type:o.FormBuilder},{type:t.ChangeDetectorRef}]},ve.propDecorators={control:[{type:t.Input}],disabled:[{type:t.Input}],singleMode:[{type:t.Input}],locationType:[{type:t.Input}],serviceIds:[{type:t.Input}],submitted:[{type:t.Input}],delay:[{type:t.Input}],form:[{type:t.Input}],showAutocomplete:[{type:t.Input}],locations:[{type:t.Input}],bookingCheck:[{type:t.Input}],locationSelected:[{type:t.Output}],locationInputChanged:[{type:t.Output}],searchLocationChanged:[{type:t.Output}],reset:[{type:t.Input}],selectedLocations:[{type:t.Input}]};var be=function(){function e(){this.locationFieldChanged=new t.EventEmitter,this.selectedLocations=[],this.submitted=!0,this.enableAddLocationButton=!0,this.locationTitle="Search for a location by name",this.disableInputField=!1,this.locations=[],this.tempSelectedLocation=null,this.serviceIds="SSCS,IA",this.pServices=[],this.pDisabled=!1}return Object.defineProperty(e.prototype,"disabled",{get:function(){return this.pDisabled},set:function(e){e&&(this.searchLocationComponent.resetSearchTerm(),this.removeSelectedValues()),this.pDisabled=!0===this.disableInputField||null},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"services",{get:function(){return this.pServices},set:function(e){var t=this;this.pServices=e;var n=this.fields.find((function(e){return e.name===t.field.findLocationField}));n&&(this.serviceIds="string"==typeof e?e:O(n.options,e).filter((function(e){return"services_all"!==e})).join(","))},enumerable:!1,configurable:!0}),e.prototype.ngOnInit=function(){this.selectedLocations=this.selectedLocations.filter((function(e){return e.epimms_id}))},e.prototype.addLocation=function(){this.tempSelectedLocation&&(this.selectedLocations=E(this.selectedLocations,[this.tempSelectedLocation]),this.addSelectedLocationsToForm([this.tempSelectedLocation]),this.tempSelectedLocation=null,this.locations=[],this.searchLocationComponent.resetSearchTerm())},e.prototype.removeLocation=function(e){if(e.epimms_id){this.selectedLocations=this.selectedLocations.filter((function(t){return t.epimms_id!==e.epimms_id}));var t=this.form.get(this.field.name),n=t.value.findIndex((function(t){return t.epimms_id===e.epimms_id}));n>-1&&t.removeAt(n)}},e.prototype.onInputChanged=function(e){"string"==typeof e&&1===this.field.maxSelected&&this.removeSelectedValues()},e.prototype.onSearchInputChanged=function(){this.locationFieldChanged.emit()},e.prototype.onLocationSelected=function(e){1===this.field.maxSelected?(this.removeSelectedValues(),this.addSelectedLocationsToForm([e])):this.selectedLocations.find((function(t){return t.epimms_id===e.epimms_id}))||e.epimms_id&&(this.tempSelectedLocation=e)},e.prototype.removeSelectedValues=function(){for(var e=this.form.get(this.field.name),t=0;t<e.length;t++)e.removeAt(t);this.selectedLocations=[]},e.prototype.addSelectedLocationsToForm=function(e){var t,n,i=this.form.get(this.field.name);try{for(var s=S(e),r=s.next();!r.done;r=s.next()){var a=r.value;i.push(new o.FormControl(a))}}catch(e){t={error:e}}finally{try{r&&!r.done&&(n=s.return)&&n.call(s)}finally{if(t)throw t.error}}},e}();be.decorators=[{type:t.Component,args:[{selector:"xuilib-find-location",template:'<div class="location-picker-custom">\n <div class="search-location">\n <div>\n <label id="input-selected-location-label" *ngIf="locationTitle">{{locationTitle}}</label>\n </div>\n <exui-search-location class="search-location"\n [locations]="locations"\n [selectedLocations]="selectedLocations"\n [singleMode]="field.maxSelected === 1"\n [bookingCheck]="field.bookingCheckType"\n [delay]="300"\n [disabled]="disabled"\n [serviceIds]="serviceIds"\n (locationInputChanged)="onInputChanged($event)"\n (locationSelected)="onLocationSelected($event)"\n (searchLocationChanged)="onSearchInputChanged()"\n [locationType]="\'case-management\'"></exui-search-location>\n <a href="javascript:void(0)" (click)="addLocation()" class="govuk-button" data-module="govuk-button" *ngIf="enableAddLocationButton">\n Add location\n </a>\n </div>\n <ul class="hmcts-filter-tags selection-container" *ngIf="field.maxSelected != 1">\n <li class="location-selection" *ngFor="let selection of selectedLocations">\n <a class="hmcts-filter__tag" (click)="removeLocation(selection)" href="javascript:void(0)">\n {{ selection.site_name }}\n </a>\n </li>\n </ul>\n</div>\n',styles:[""]}]}],be.propDecorators={locationFieldChanged:[{type:t.Output}],selectedLocations:[{type:t.Input}],submitted:[{type:t.Input}],enableAddLocationButton:[{type:t.Input}],form:[{type:t.Input}],field:[{type:t.Input}],fields:[{type:t.Input}],locationTitle:[{type:t.Input}],disableInputField:[{type:t.Input}],searchLocationComponent:[{type:t.ViewChild,args:[ve,{static:!0}]}],disabled:[{type:t.Input}],services:[{type:t.Input}]};var ye=function(){function e(){this.previousPage=new t.EventEmitter,this.nextPage=new t.EventEmitter}return e.prototype.onPrevious=function(){this.previousPage.emit(null)},e.prototype.onNext=function(){this.nextPage.emit(null)},e}();ye.decorators=[{type:t.Component,args:[{selector:"xuilib-pagination",template:'<nav class="hmcts-pagination" id="pagination-label">\n\n <p class="govuk-visually-hidden" aria-labelledby="pagination-label">Pagination navigation</p>\n\n <ul class="hmcts-pagination__list">\n <li class="hmcts-pagination__item hmcts-pagination__item--prev">\n <a *ngIf="firstRecord > 1; else noPrevious" class="hmcts-pagination__link" (click)="onPrevious()" href="javascript:void(0)">\n Previous page\n </a>\n <ng-template #noPrevious>\n <span class="hmcts-pagination__link">Previous page</span>\n </ng-template>\n </li>\n\n <li class="hmcts-pagination__item hmcts-pagination__item--next">\n <a *ngIf="moreItems; else noNext" class="hmcts-pagination__link" (click)="onNext()" href="javascript:void(0)">Next page</a>\n <ng-template #noNext>\n <span class="hmcts-pagination__link">Next page</span>\n </ng-template>\n </li>\n </ul>\n</nav>\n',styles:["span.hmcts-pagination__link:hover{color:revert}"]}]}],ye.ctorParameters=function(){return[]},ye.propDecorators={moreItems:[{type:t.Input}],firstRecord:[{type:t.Input}],previousPage:[{type:t.Output}],nextPage:[{type:t.Output}]};var ke=function(){function e(e,n){this.locationService=e,this.disabled=null,this.locationType="",this.serviceIds="",this.submitted=!0,this.showAutocomplete=!1,this.locationChanged=new t.EventEmitter,this.minSearchCharacters=3,this.keyUpSubject$=new i.Subject,this.readyAfterContent=!1,this.searchInProgress=!1,this.findLocationFormGroup=n.group({findLocationFormControl:[null],locationSelectedFormControl:[null]}),this.selectedLocations=[]}return e.prototype.ngAfterContentInit=function(){this.readyAfterContent=!0},e.prototype.ngOnInit=function(){var e=this;this.displayedLocations=[],this.control&&this.findLocationFormGroup&&this.findLocationFormGroup.controls&&(this.findLocationFormGroup.controls.locationSelectedFormControl=this.control),this.keyUpSubject$.pipe(s.debounceTime(500)).subscribe((function(t){return e.search(t)}))},e.prototype.onKeyDown=function(){this.locationChanged.emit()},e.prototype.onKeyUp=function(e){this.showAutocomplete=!1,this.keyUpSubject$.next(e.target.value)},e.prototype.onFocus=function(){this.showAutocomplete=!1},Object.defineProperty(e.prototype,"displayedLocationsDuplicationFiltered",{get:function(){var e=this;return this.displayedLocations.filter((function(t){return!e.selectedLocations.map((function(e){return e.epimms_id})).includes(t.epimms_id)&&t.court_name}))},enumerable:!1,configurable:!0}),e.prototype.filter=function(e){var t=this;this.searchLocations(e).pipe(s.mergeMap((function(e){var n=e.filter((function(e){return!t.selectedLocations.map((function(e){return e.epimms_id})).includes(e.epimms_id)}));return t.displayedLocations=n,t.searchInProgress=!1,n}))).subscribe((function(n){e===n.court_name&&(t.findLocationFormGroup.controls.locationSelectedFormControl.setValue(n),t.displayedLocations=[],t.locationChanged.emit(n),t.showAutocomplete=!1),t.searchInProgress=!1}))},e.prototype.onSelectionChange=function(e){this.findLocationFormGroup.controls.findLocationFormControl instanceof o.FormArray?this.findLocationFormGroup.controls.locationSelectedFormControl.push(new o.FormControl(e.epimms_id)):this.findLocationFormGroup.controls.locationSelectedFormControl.setValue(e),this.locationChanged.emit(e)},e.prototype.search=function(e){this.searchInProgress=!0,this.showAutocomplete=!!e&&e.length>=this.minSearchCharacters,e&&e.length||(this.findLocationFormGroup.controls.locationSelectedFormControl.markAsPristine(),this.findLocationFormGroup.controls.locationSelectedFormControl.reset()),this.showAutocomplete?this.filter(e):this.searchInProgress=!1},e.prototype.getDisplayName=function(e){return e.court_name},e.prototype.searchLocations=function(e){return this.locationService.searchLocations(this.serviceIds,this.locationType,e)},e.prototype.getControlCourtNameValue=function(){return this.findLocationFormGroup&&this.findLocationFormGroup.controls&&this.findLocationFormGroup.controls.locationSelectedFormControl.value?this.findLocationFormGroup.controls.locationSelectedFormControl.value.court_name:""},e}();ke.decorators=[{type:t.Component,args:[{selector:"xuilib-search-venue",template:'<div class="auto-complete-container">\n <div *ngIf="readyAfterContent" class="autocomplete__wrapper">\n <input\n [formControl]="findLocationFormGroup.controls.findLocationFormControl"\n [matAutocomplete]="autoSearchLocation"\n (keydown)="onKeyDown()"\n (keyup)="onKeyUp($event)"\n (focus)="onFocus()"\n class="autocomplete__input autocomplete__input--default search-box"\n [attr.disabled]="!disabled ? null: disabled"\n [value]="getControlCourtNameValue()"\n #inputSelectedLocation>\n <mat-autocomplete class="mat-autocomplete-panel-extend" autoActiveFirstOption #autoSearchLocation="matAutocomplete">\n <mat-option *ngFor="let location of displayedLocationsDuplicationFiltered"\n [value]="getDisplayName(location)"\n (onSelectionChange)="onSelectionChange(location)"\n [ngClass]="{\'hide-autocomplete\': !showAutocomplete}">\n {{ getDisplayName(location) }}\n </mat-option>\n <mat-option *ngIf="!displayedLocationsDuplicationFiltered?.length && showAutocomplete && !searchInProgress">{{ \'No results found\' }}</mat-option>\n </mat-autocomplete>\n </div>\n</div>\n',styles:[".autocomplete__input{-webkit-appearance:none;border:2px solid #0b0c0c;border-radius:0;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;margin-bottom:0;width:100%;line-height:24px;font-size:19px;background-color:transparent;position:relative}.autocomplete__hint{color:#b1b4b6;position:absolute}.autocomplete__input--default{padding:5px}.autocomplete__input--focused{outline:3px solid #fd0;outline-offset:0;box-shadow:inset 0 0 0 2px}.autocomplete__input--show-all-values{padding:5px 34px 5px 5px;cursor:pointer}.autocomplete__dropdown-arrow-down{z-index:-1;display:inline-block;position:absolute;right:8px;width:24px;height:24px;top:10px}.autocomplete__menu{background-color:#fff;border:2px solid #0b0c0c;border-top:0;color:#0b0c0c;margin:0;max-height:342px;overflow-x:hidden;padding:0;width:100%;width:calc(100% - 4px)}.autocomplete__menu--visible{display:block}.autocomplete__menu--hidden{display:none}.autocomplete__menu--overlay{box-shadow:0 2px 6px rgba(0,0,0,.256863);left:0;position:absolute;top:100%;z-index:100}.autocomplete__menu--inline{position:relative}.autocomplete__option{border-left-width:0;border-bottom:1px solid #b1b4b6;border-right-width:0;border-top-width:1px;cursor:pointer;display:block;position:relative}.autocomplete__option>*{pointer-events:none}.autocomplete__option:first-of-type{border-top-width:0}.autocomplete__option:last-of-type{border-bottom-width:0}.autocomplete__option--odd{background-color:#fafafa}.autocomplete__option--focused,.autocomplete__option:hover{background-color:#1d70b8;border-color:#1d70b8;color:#fff;outline:0}.autocomplete__option--no-results{background-color:#fafafa;color:#646b6f;cursor:not-allowed}.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.25}.autocomplete__hint,.autocomplete__option{padding:5px}@media (min-width:641px){.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.31579}}.div-action{display:inline-block}.add-location{display:inline}.remove-location-button{margin:5px}.hide-autocomplete{display:none}.auto-complete-container{min-width:550px;display:inline-block;margin-right:4px}"]}]}],ke.ctorParameters=function(){return[{type:me},{type:o.FormBuilder}]},ke.propDecorators={control:[{type:t.Input}],disabled:[{type:t.Input}],locationType:[{type:t.Input}],selectedLocations:[{type:t.Input}],serviceIds:[{type:t.Input}],submitted:[{type:t.Input}],autoCompleteInputBox:[{type:t.ViewChild,args:["inputSelectedLocation",{read:t.ElementRef}]}],showAutocomplete:[{type:t.Input}],displayedLocations:[{type:t.Input}],locationChanged:[{type:t.Output}]};var Ce=function(e){var t=[];return e.forEach((function(e){t=t.concat(e.caseworkers)})),t},Ie=function(e){return e+"-caseworkers"},we=function(){function t(e,t){this.http=e,this.sessionStorageService=t}return t.prototype.find=function(e){var t=this,n=this.sessionStorageService.getItem("userDetails");if(n&&!e.userIncluded){var o=JSON.parse(n);this.userId=o.id?o.id:o.uid}return this.assignedUser=e.assignedUser?e.assignedUser:null,this.http.post("/workallocation/findPerson",{searchOptions:e}).pipe(s.map((function(e){return e.filter((function(e){return![t.assignedUser,t.userId].includes(e.id)}))})))},t.prototype.findCaseworkers=function(e){var t=this,n=this.sessionStorageService.getItem("userDetails");if(n){var o=JSON.parse(n);this.userId=o.id?o.id:o.uid}this.assignedUser=e.assignedUser?e.assignedUser:null;var r=e.services,a=[],l=[],c=[];if(r.forEach((function(e){var n=Ie(e);t.sessionStorageService.getItem(n)?(a.push(e),c.push({service:e,caseworkers:JSON.parse(t.sessionStorageService.getItem(n))})):l.push(e)})),a.length===r.length){var u=Ce(c);return i.of(this.searchInCaseworkers(u,e))}return this.http.post("/workallocation/retrieveCaseWorkersForServices",{fullServices:r}).pipe(s.tap((function(e){e.forEach((function(e){var n,o,i,s;l.includes(e.service)&&(n=e.service,o=e.caseworkers,i=t.sessionStorageService,s=Ie(n),i.setItem(s,JSON.stringify(o)))}))})),s.map((function(n){var o=Ce(n);return t.searchInCaseworkers(o,e)})))},t.prototype.mapCaseworkers=function(t,n){var o=[];return t.forEach((function(t){var i={email:t.email,name:t.firstName+" "+t.lastName,id:t.idamId,domain:t.roleCategory===e.RoleCategory.CASEWORKER?e.PersonRole.CASEWORKER:e.PersonRole.ADMIN};t.roleCategory!==n&&n!==e.RoleCategory.ALL||o.push(i)})),o},t.prototype.searchInCaseworkers=function(t,n){var o=this,i=e.RoleCategory.ALL;n.userRole!==e.PersonRole.ALL&&(i=n.userRole===e.PersonRole.CASEWORKER?e.RoleCategory.CASEWORKER:e.RoleCategory.ADMIN);var s=n&&n.searchTerm?n.searchTerm.toLowerCase():"",r=(t?this.mapCaseworkers(t,i):[]).filter((function(e){return e&&e.name&&e.name.toLowerCase().includes(s)}));return n.userIncluded?r.filter((function(e){return e&&e.id!==o.assignedUser})):r.filter((function(e){return e&&e.id!==o.userId&&e.id!==o.assignedUser}))},t.prototype.searchJudicial=function(e,t){return this.http.post("api/prd/judicial/getJudicialUsersSearch",{searchString:e,serviceCode:t})},t}();we.caseworkersKey="caseworkers",we.ɵprov=v.ɵɵdefineInjectable({factory:function(){return new we(v.ɵɵinject(k.HttpClient),v.ɵɵinject(fe))},token:we,providedIn:"root"}),we.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],we.ctorParameters=function(){return[{type:a.HttpClient},{type:fe}]};var _e=function(){function e(e,n){this.judicialService=e,this.disabled=null,this.selectedJudicials=[],this.submitted=!0,this.placeholderContent="",this.showAutocomplete=!1,this.judicialChanged=new t.EventEmitter,this.idValue="",this.errorMessage="You must select a name",this.serviceId="",this.minSearchCharacters=3,this.keyUpSubject$=new i.Subject,this.searchInProgress=!1,this.formGroup=n.group({formControl:[null],selectedFormControl:[null]})}return e.prototype.ngOnInit=function(){var e=this;this.displayedJudicials=[],this.control&&this.formGroup&&this.formGroup.controls&&(this.formGroup.controls.selectedFormControl=this.control,this.formGroup.controls.formControl.setValue(this.getControlValueDisplayText())),this.keyUpSubject$.pipe(s.debounceTime(500)).subscribe((function(t){return e.search(t)}))},e.prototype.onKeyDown=function(){this.judicialChanged.emit()},e.prototype.onKeyUp=function(e){this.showAutocomplete=!1,this.keyUpSubject$.next(e.target.value)},e.prototype.onFocus=function(){this.showAutocomplete=!1},Object.defineProperty(e.prototype,"displayedJudicialsDuplicationFiltered",{get:function(){var e=this;return this.displayedJudicials.filter((function(t){return!e.selectedJudicials.map((function(e){return e.idamId})).includes(t.idamId)}))},enumerable:!1,configurable:!0}),e.prototype.filter=function(e){var t=this;this.searchJudicials(e,this.serviceId).pipe(s.mergeMap((function(e){var n=e.filter((function(e){return!t.selectedJudicials.map((function(e){return e.idamId})).includes(e.idamId)}));return t.displayedJudicials=n,t.searchInProgress=!1,n}))).subscribe((function(n){e===n.fullName&&(t.formGroup.controls.selectedFormControl.setValue(n),t.displayedJudicials=[],t.judicialChanged.emit(n),t.showAutocomplete=!1),t.searchInProgress=!1}))},e.prototype.onSelectionChange=function(e){this.formGroup.controls.formControl instanceof o.FormArray?this.formGroup.controls.selectedFormControl.push(new o.FormControl(e.idamId)):this.formGroup.controls.selectedFormControl.setValue(e),this.judicialChanged.emit(e)},e.prototype.search=function(e){this.searchInProgress=!0,this.showAutocomplete=!!e&&e.length>=this.minSearchCharacters,e?this.formGroup.controls.selectedFormControl.markAsDirty():this.formGroup.controls.selectedFormControl.reset(),this.showAutocomplete?this.filter(e):this.searchInProgress=!1},e.prototype.getDisplayName=function(e){return e.fullName+" ("+e.emailId+")"},e.prototype.searchJudicials=function(e,t){return this.judicialService.searchJudicial(e,t)},e.prototype.getControlValueDisplayText=function(){return this.formGroup&&this.formGroup.controls&&this.formGroup.controls.selectedFormControl.value?this.getDisplayName(this.formGroup.controls.selectedFormControl.value):""},e}();_e.decorators=[{type:t.Component,args:[{selector:"xuilib-search-judicials",template:'<div class="govuk-form-group">\n <input id="inputSelectPerson{{idValue}}" [placeholder]="placeholderContent" [formControl]="formGroup.controls.formControl"\n [matAutocomplete]="autoComplete" (keydown)="onKeyDown()" (keyup)="onKeyUp($event)" (focus)="onFocus()"\n class="govuk-input" [attr.disabled]="!disabled ? null: disabled" [value]="getControlValueDisplayText()"\n #inputSelection>\n <mat-autocomplete autoActiveFirstOption #autoComplete="matAutocomplete">\n <mat-option *ngFor="let judicial of displayedJudicialsDuplicationFiltered" class="select-option"\n [value]="getDisplayName(judicial)" (onSelectionChange)="onSelectionChange(judicial)"\n [ngClass]="{\'hide-autocomplete\': !showAutocomplete}">\n {{ getDisplayName(judicial) }}\n </mat-option>\n <mat-option class="select-option"\n *ngIf="!displayedJudicialsDuplicationFiltered?.length && showAutocomplete && !searchInProgress">\n {{ \'No results found\' }}</mat-option>\n </mat-autocomplete>\n</div>\n',styles:[".hide-autocomplete{display:none}.mat-option:hover{background:#2596be}.mat-option.select-option:hover{background:#1d70b8;color:#fff}"]}]}],_e.ctorParameters=function(){return[{type:we},{type:o.FormBuilder}]},_e.propDecorators={control:[{type:t.Input}],disabled:[{type:t.Input}],selectedJudicials:[{type:t.Input}],submitted:[{type:t.Input}],placeholderContent:[{type:t.Input}],showAutocomplete:[{type:t.Input}],displayedJudicials:[{type:t.Input}],judicialChanged:[{type:t.Output}],idValue:[{type:t.Input}],errorMessage:[{type:t.Input}],serviceId:[{type:t.Input}],autoCompleteInputBox:[{type:t.ViewChild,args:["inputSelection",{read:t.ElementRef,static:!0}]}]};var xe=function(){function n(n,i){this.findPersonService=n,this.cd=i,this.personSelected=new t.EventEmitter,this.personFieldChanged=new t.EventEmitter,this.boldTitle="Find the person",this.subTitle="Type the name of the person and select them.",this.domain=e.PersonRole.ALL,this.findPersonGroup=new o.FormGroup({}),this.submitted=!0,this.userIncluded=!1,this.placeholderContent="",this.isNoResultsShown=!0,this.showUpdatedColor=!1,this.selectedPersons=[],this.errorMessage="You must select a name",this.idValue="",this.services=["IA"],this.disabled=null,this.showAutocomplete=!1,this.filteredOptions=[],this.minSearchCharacters=2}return n.prototype.ngOnDestroy=function(){this.sub&&this.sub.unsubscribe()},n.prototype.ngOnInit=function(){var e=this;this.findPersonControl=new o.FormControl(this.selectedPerson),this.findPersonGroup.addControl("findPersonControl",this.findPersonControl),this.sub=this.findPersonControl.valueChanges.pipe(s.tap((function(){return e.showAutocomplete=!1})),s.tap((function(){return e.filteredOptions=[]})),s.debounceTime(300),s.tap((function(t){return"string"==typeof t?e.personSelected.emit(null):void 0})),s.filter((function(t){return t&&t.length>e.minSearchCharacters})),s.switchMap((function(t){return e.filter(t).pipe(s.tap((function(){return e.showAutocomplete=!0})),s.catchError((function(){return e.filteredOptions=[]})))}))).subscribe((function(t){e.filteredOptions=t,e.cd.detectChanges()}))},n.prototype.filter=function(t){var n=this,o=this.findPersonService.find({searchTerm:t,userRole:this.domain,services:this.services,userIncluded:this.userIncluded,assignedUser:this.assignedUser}),r=this.findPersonService.findCaseworkers({searchTerm:t,userRole:this.domain,services:this.services,userIncluded:this.userIncluded,assignedUser:this.assignedUser});if(t&&t.length>this.minSearchCharacters)switch(this.domain){case e.PersonRole.JUDICIAL:return o.pipe(s.map((function(e){var t=n.selectedPersons.map((function(e){return e.id}));return e.filter((function(e){var n=e.id;return!t.includes(n)}))})));case e.PersonRole.ALL:return i.zip(o,r).pipe(s.map((function(e){return e[0].concat(e[1])})));case e.PersonRole.CASEWORKER:case e.PersonRole.ADMIN:return r;default:return i.of([])}return i.of([])},n.prototype.onSelectionChange=function(e){this.personSelected.emit(e),this.findPersonControl.setValue(this.getDisplayName(e),{emitEvent:!1,onlySelf:!0})},n.prototype.getDisplayName=function(t){return t?t.domain===e.PersonRole.JUDICIAL&&t.fullName?t.fullName+" ("+t.email+")":t.email?t.name+" ("+t.email+")":t.name:""},n.prototype.onInput=function(){this.personFieldChanged.emit()},n}();xe.decorators=[{type:t.Component,args:[{selector:"xuilib-find-person",template:'<h1 class="govuk-heading-l" *ngIf="title && title.length">\n <span class="govuk-caption-l">{{title}}</span>\n {{boldTitle}}\n</h1>\n<div class="govuk-form-group" [formGroup]="findPersonGroup"\n [ngClass]="{\'form-group-error\': findPersonGroup.get(\'findPersonControl\').invalid && submitted}">\n <fieldset class="govuk-fieldset" aria-describedby="sub-title-hint">\n <div id="sub-title-hint" class="govuk-hint" *ngIf="subTitle && subTitle.length">\n {{subTitle}}\n </div>\n <span id="validation-error" class="govuk-error-message" *ngIf="findPersonGroup && findPersonGroup.errors">\n <span class="govuk-visually-hidden">Error:</span>{{findPersonGroup.errors.error ? findPersonGroup.errors.error : errorMessage}}\n </span>\n <input id="inputSelectPerson{{idValue}}" type="text" aria-label="select a person"\n formControlName="findPersonControl"\n [matAutocomplete]="auto"\n class="govuk-input govuk-!-width-one-third"\n [placeholder]="placeholderContent"\n [attr.disabled]="disabled"\n (input)="onInput()">\n <mat-autocomplete autoActiveFirstOption #auto="matAutocomplete" (optionSelected)="onSelectionChange($event.option.value)">\n <mat-option *ngFor="let option of filteredOptions"\n [value]="option"\n [ngClass]="{\'hide-autocomplete\': !showAutocomplete, \'select-option\': showUpdatedColor}">\n {{getDisplayName(option)}}\n </mat-option>\n <mat-option [ngClass]="{\'select-option\': showUpdatedColor}" *ngIf="isNoResultsShown && !filteredOptions.length && showAutocomplete">No results found</mat-option>\n </mat-autocomplete>\n </fieldset>\n</div>\n',styles:[".mat-option:hover{background:#2596be}.mat-option.select-option:hover{background:#1d70b8;color:#fff}.hide-autocomplete{display:none}"]}]}],xe.ctorParameters=function(){return[{type:we},{type:t.ChangeDetectorRef}]},xe.propDecorators={personSelected:[{type:t.Output}],personFieldChanged:[{type:t.Output}],title:[{type:t.Input}],boldTitle:[{type:t.Input}],subTitle:[{type:t.Input}],domain:[{type:t.Input}],findPersonGroup:[{type:t.Input}],selectedPerson:[{type:t.Input}],submitted:[{type:t.Input}],userIncluded:[{type:t.Input}],assignedUser:[{type:t.Input}],placeholderContent:[{type:t.Input}],isNoResultsShown:[{type:t.Input}],showUpdatedColor:[{type:t.Input}],selectedPersons:[{type:t.Input}],errorMessage:[{type:t.Input}],idValue:[{type:t.Input}],services:[{type:t.Input}],disabled:[{type:t.Input}]};var Se=function(){};Se.decorators=[{type:t.Component,args:[{selector:"exui-page-wrapper",template:'<div class="page">\n <a *ngIf="backLink" [routerLink]="backLink" class="govuk-back-link">Back</a>\n <div class="govuk-width-container">\n <main id="content" role="main" class="govuk-main-wrapper">\n <div class="govuk-grid-row">\n <h1 *ngIf="title" class="govuk-heading-xl">\n <span *ngIf="fnTitle" class="govuk-caption-xl">{{fnTitle}}</span>\n {{title}}\n </h1>\n <ng-content>\n\n </ng-content>\n </div>\n </main>\n </div>\n</div>\n',styles:[".page{width:100%}"]}]}],Se.ctorParameters=function(){return[]},Se.propDecorators={backLink:[{type:t.Input}],title:[{type:t.Input}],fnTitle:[{type:t.Input}]};var Le=function(){function e(e,t,n){this.service=e,this.viewContainer=t,this.templateRef=n}return Object.defineProperty(e.prototype,"xuilibFeatureToggle",{set:function(e){this.feature=e,this.updateSubscription()},enumerable:!1,configurable:!0}),e.prototype.ngOnDestroy=function(){this.subscription&&this.subscription.unsubscribe()},e.prototype.updateSubscription=function(){var e=this;this.subscription=this.service.isEnabled(this.feature).subscribe((function(t){t?e.viewContainer.createEmbeddedView(e.templateRef):e.viewContainer.clear()}))},e}();Le.decorators=[{type:t.Directive,args:[{selector:"[xuilibFeatureToggle]"}]}],Le.ctorParameters=function(){return[{type:H},{type:t.ViewContainerRef},{type:t.TemplateRef}]},Le.propDecorators={xuilibFeatureToggle:[{type:t.Input}]};var Ee=function(){this.$implicit=null,this.xuilibLet=null},Fe=function(){function e(e,t){this.viewContainer=e,this.context=new Ee,this.viewContainer.createEmbeddedView(t,this.context)}return Object.defineProperty(e.prototype,"xuilibLet",{set:function(e){this.context.$implicit=this.context.xuilibLet=e},enumerable:!1,configurable:!0}),e}();Fe.decorators=[{type:t.Directive,args:[{selector:"[xuilibLet]"}]}],Fe.ctorParameters=function(){return[{type:t.ViewContainerRef},{type:t.TemplateRef}]},Fe.propDecorators={xuilibLet:[{type:t.Input}]};var Ae=function(){function e(){this.serviceTitle="Search for a service by name",this.enableAddServiceButton=!0,this.disableInputField=!1}return e.prototype.addService=function(){},e}();Ae.decorators=[{type:t.Component,args:[{selector:"xuilib-find-service",template:'<div class="service-picker-custom">\n <div class="search-service">\n <div>\n <label id="input-selected-service-label" *ngIf="serviceTitle">{{serviceTitle}}</label>\n </div>\n <exui-search-service class="search-service"\n [services]="services"\n [selectedServices]="selectedServices"\n [delay]="300"\n [disabled]="disabled"></exui-search-service>\n <a href="javascript:void(0)" (click)="addService()" class="govuk-button govuk-button--secondary govuk-!-margin-bottom-0"\n data-module="govuk-button" *ngIf="enableAddServiceButton" id="add-service">\n Add\n </a>\n </div>\n <ul class="hmcts-filter-tags selection-container" *ngIf="field.maxSelected != 1">\n <li class="service-selection" *ngFor="let selection of selectedServices">\n <a class="hmcts-filter__tag" href="javascript:void(0)">\n {{ selection.name }}\n </a>\n </li>\n </ul>\n </div>\n',styles:["#add-service{background-color:#ddd}"]}]}],Ae.propDecorators={field:[{type:t.Input}],fields:[{type:t.Input}],serviceTitle:[{type:t.Input}],form:[{type:t.Input}],services:[{type:t.Input}],selectedServices:[{type:t.Input}],disabled:[{type:t.Input}],enableAddServiceButton:[{type:t.Input}],disableInputField:[{type:t.Input}]};var Me=function(){function e(){this.showAutocomplete=!1,this.minSearchCharacters=3,this.term=""}return e.prototype.onInput=function(){},e.prototype.onSelectionChange=function(){},e}();Me.decorators=[{type:t.Component,args:[{selector:"exui-search-service",template:'<div class="auto-complete-container">\n <input\n id="inputServiceSearch"\n (input)="onInput()"\n [formControl]="form?.controls.searchTerm"\n [matAutocomplete]="autoSearchService"\n class="govuk-input"\n [attr.disabled]="disabled">\n <mat-autocomplete class="mat-autocomplete-panel-extend" autoActiveFirstOption #autoSearchService="matAutocomplete">\n <mat-option *ngFor="let service of services" (onSelectionChange)="onSelectionChange()">\n {{ service.name }}\n </mat-option>\n <mat-option *ngIf="!services?.length && showAutocomplete && term && term.length >= this.minSearchCharacters">No results found</mat-option>\n </mat-autocomplete>\n</div>\n',styles:[".autocomplete__input--show-all-values{padding:5px 34px 5px 5px;cursor:pointer}.autocomplete__dropdown-arrow-down{z-index:-1;display:inline-block;position:absolute;right:8px;width:24px;height:24px;top:10px}.autocomplete__menu{background-color:#fff;border:2px solid #0b0c0c;border-top:0;color:#0b0c0c;margin:0;max-height:342px;overflow-x:hidden;padding:0;width:100%;width:calc(100% - 4px)}.autocomplete__menu--visible{display:block}.autocomplete__menu--hidden{display:none}.autocomplete__menu--overlay{box-shadow:0 2px 6px rgba(0,0,0,.256863);left:0;position:absolute;top:100%;z-index:100}.autocomplete__menu--inline{position:relative}.autocomplete__option{border-left-width:0;border-bottom:1px solid #b1b4b6;border-right-width:0;border-top-width:1px;cursor:pointer;display:block;position:relative}.autocomplete__option>*{pointer-events:none}.autocomplete__option:first-of-type{border-top-width:0}.autocomplete__option:last-of-type{border-bottom-width:0}.autocomplete__option--odd{background-color:#fafafa}.autocomplete__option--focused,.autocomplete__option:hover{background-color:#1d70b8;border-color:#1d70b8;color:#fff;outline:0}.autocomplete__option--no-results{background-color:#fafafa;color:#646b6f;cursor:not-allowed}.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.25}.autocomplete__hint,.autocomplete__option{padding:5px}@media (min-width:641px){.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.31579}}.div-action{display:inline-block}.add-location{display:inline}.remove-location-button{margin:5px}.hide-autocomplete{display:none}.auto-complete-container{min-width:250px;display:inline-block;margin-right:4px}.autocomplete__input{line-height:24px;font-size:19px}"]}]}],Me.propDecorators={services:[{type:t.Input}],selectedServices:[{type:t.Input}],disabled:[{type:t.Input}],delay:[{type:t.Input}],form:[{type:t.Input}],showAutocomplete:[{type:t.Input}]};var Te=function(){function e(){this.isChecked=!1}return e.prototype.ngOnInit=function(){var e=this.config.focusOn?this.config.focusOn:this.config.value;this.config.id=e,this.config.classes=this.config.classes?this.config.classes.concat(" govuk-checkboxes__label"):"govuk-checkboxes__label"},e}();Te.decorators=[{type:t.Component,args:[{selector:"xuilib-gov-checkbox",template:'<div class="govuk-checkboxes__item" [formGroup]="group">\n <input class="govuk-checkboxes__input" type="checkbox" [attr.aria-describedby]="config.hint ? config.value+\'-item-hint\' : null"\n [id]="config.id" [name]="config.name" [formControlName]="config.value" [checked]="isChecked">\n <xuilib-gov-label appRemoveHost [config]="config"></xuilib-gov-label>\n <span [id]="config.value+\'-item-hint\'" class="govuk-hint govuk-checkboxes__hint">\n {{config.hint}}\n </span>\n</div>'}]}],Te.ctorParameters=function(){return[]},Te.propDecorators={group:[{type:t.Input}],config:[{type:t.Input}],isChecked:[{type:t.Input}]};var Pe=function(){};Pe.decorators=[{type:t.Component,args:[{selector:"xuilib-gov-uk-checkboxes",template:'<xuilib-gov-uk-form-group-wrapper\n[error]="errors"\n[config]="options.config"\n[group]="options.key">\n<div class="govuk-checkboxes">\n <xuilib-gov-checkbox *ngFor="let item of options.items"\n [group]="item.group"\n [config]="item.config">\n </xuilib-gov-checkbox>\n</div>\n</xuilib-gov-uk-form-group-wrapper>'}]}],Pe.propDecorators={options:[{type:t.Input}],errors:[{type:t.Input}]};var Oe=function(){function e(){this.isOptional=!1}return e.prototype.ngOnInit=function(){this.day=this.config.id+"_day",this.month=this.config.id+"_month",this.year=this.config.id+"_year";var e=this.DateValidator();this.formGroup.get(this.day).setValidators(e)},e.prototype.isValidDate=function(e,t,n){var o=!isNaN(e.getTime()),i=e.getMonth()===t,s=e.getFullYear()===n;return o&&i&&s},e.prototype.isEmpty=function(e){return null==e||""===e||isNaN(e)||e<0},e.prototype.DateValidator=function(){var e=this;return function(){var t=e.formGroup.get(e.day).value,n=e.formGroup.get(e.month).value-1,o=e.formGroup.get(e.year).value;return e.isOptional&&e.isEmpty(t)&&e.isEmpty(n)&&e.isEmpty(o)||e.isValidDate(new Date(o,n,t),n,+o)?null:{dateComponent:!0}}},e}();Oe.decorators=[{type:t.Component,args:[{selector:"xuilib-gov-uk-date",template:'<div class="govuk-form-group" [ngClass]="{\'govuk-form-group--error\': errorMessage?.isInvalid}" [formGroup]="formGroup">\n <div class="date-input-container">\n <xuilib-gov-uk-fieldset\n [config]="{\n legend: config.label || \'Date component\',\n classes: config.classes || \'govuk-label--m\',\n id: config.id,\n hint: config.hint != null ? config.hint : \'For example, 12 11 2007\',\n isPageHeading: config.isPageHeading || false}"\n [errorMessage]="errorMessage">\n <xuilib-gov-uk-error-message\n [config]="{id: \'passport\'}"\n *ngIf="errorMessage"\n [errorMessage]="errorMessage">\n </xuilib-gov-uk-error-message>\n <div class="govuk-date-input" [id]="config.id+\'-date\'">\n <div class="govuk-date-input__item">\n <div class="govuk-form-group">\n <xuilib-gov-label\n [config]="{label: \'Day\', name: config.id+\'-day\', id: config.id+\'-day\', classes: \'govuk-date-input__label\'}">\n </xuilib-gov-label>\n <input class="govuk-input govuk-date-input__input govuk-input--width-2"\n [ngClass]="{\'govuk-input--error\': errorMessage?.isInvalid}"\n [id]="config.id"\n [name]="config.id+\'-day\'" type="number" value="" pattern="[0-9]*"\n [formControlName]="config.id+\'_day\'">\n </div>\n </div>\n <div class="govuk-date-input__item">\n <div class="govuk-form-group">\n <xuilib-gov-label\n [config]="{label: \'Month\', name: config.id+\'-month\', id: config.id+\'-month\', classes: \'govuk-date-input__label\'}">\n </xuilib-gov-label>\n <input class="govuk-input govuk-date-input__input govuk-input--width-2"\n [ngClass]="{\'govuk-input--error\': errorMessage?.isInvalid}"\n [id]="config.id+\'-month\'"\n [name]="config.id+\'-month\'" type="number" value="" pattern="[0-9]*"\n [formControlName]="config.id+\'_month\'">\n </div>\n </div>\n <div class="govuk-date-input__item">\n <div class="govuk-form-group">\n <xuilib-gov-label\n [config]="{label: \'Year\', name: config.id+\'-year\', id: config.id+\'-year\', classes: \'govuk-date-input__label\'}">\n </xuilib-gov-label>\n <input class="govuk-input govuk-date-input__input govuk-input--width-4"\n [ngClass]="{\'govuk-input--error\': errorMessage?.isInvalid}"\n [id]="config.id+\'-year\'"\n [name]="config.id+\'-year\'" type="number" value="" pattern="[0-9]*"\n [formControlName]="config.id+\'_year\'">\n </div>\n </div>\n </div>\n </xuilib-gov-uk-fieldset>\n </div>\n</div>\n',styles:[".govuk-form-group .date-input-container{margin-bottom:30px}.govuk-form-group .date-input-container .govuk-date-input .govuk-date-input__item .govuk-form-group{margin-bottom:0}"]}]}],Oe.ctorParameters=function(){return[]},Oe.propDecorators={config:[{type:t.Input}],errorMessage:[{type:t.Input}],formGroup:[{type:t.Input}],isOptional:[{type:t.Input}]};var De=function(){};De.decorators=[{type:t.Component,args:[{selector:" xuilib-gov-uk-error-message",template:'<span class="govuk-error-message" [id]="config.id + \'-error\'" *ngFor="let message of errorMessage?.messages">\n <span class="govuk-visually-hidden">Error:</span>{{message}}\n</span>'}]}],De.ctorParameters=function(){return[]},De.propDecorators={config:[{type:t.Input}],errorMessage:[{type:t.Input}]};var Ue=function(){function e(){}return e.setDescribedBy=function(e,t){return e&&e&&e.isInvalid?t.hint?t.id+"-hint "+t.id+"-error":t.id+"-error":t.hint?t.id+"-hint":null},e}(),Ne=function(){function e(){}return e.prototype.setDescribedBy=function(){return Ue.setDescribedBy(this.errorMessage,this.config)},e}();Ne.decorators=[{type:t.Component,args:[{selector:"xuilib-gov-uk-fieldset",template:'<fieldset class="govuk-fieldset" [attr.aria-describedby]="setDescribedBy()">\n <legend [class]="config.classes + \' govuk-fieldset__legend\'" *ngIf="!config.isPageHeading">\n {{config.legend}}\n </legend>\n\n <legend [class]="config.classes + \' govuk-fieldset__legend\'" *ngIf="config.isPageHeading">\n <h1>{{config.legend}}</h1>\n </legend>\n\n <span [id]="config.id+\'-hint\'" class="govuk-hint" *ngIf="config.hint">\n {{config.hint}}\n </span>\n <ng-content></ng-content>\n</fieldset>'}]}],Ne.ctorParameters=function(){return[]},Ne.propDecorators={config:[{type:t.Input}],errorMessage:[{type:t.Input}]};var je=function(){function e(){this.reloadInput=!0}return e.prototype.ngOnInit=function(){this.config.classes="govuk-label--m"},e.prototype.setDescribedBy=function(){return Ue.setDescribedBy(this.errorMessage,this.config)},e}();je.decorators=[{type:t.Component,args:[{selector:"xuilib-gov-uk-file-upload",template:'<div class="govuk-form-group" [formGroup]="group"\n [ngClass]="{\'govuk-form-group--error\': errorMessage?.isInvalid}">\n\n <xuilib-gov-label [config]="config"></xuilib-gov-label>\n\n <span *ngIf="config.hint" [id]="config.id +\'-hint\'" class="govuk-hint">\n {{config.hint}}\n </span>\n\n <xuilib-gov-uk-error-message [config]="config" [errorMessage]="errorMessage"></xuilib-gov-uk-error-message>\n\n <input class="govuk-file-upload"\n *ngIf="reloadInput"\n [formControlName]="config.id"\n [ngClass]="{\'govuk-file-upload--error\': errorMessage?.isInvalid}"\n [id]="config.id" [name]="config.name"\n [attr.aria-describedby]="setDescribedBy()"\n type="file">\n </div>'}]}],je.ctorParameters=function(){return[]},je.propDecorators={errorMessage:[{type:t.Input}],group:[{type:t.Input}],config:[{type:t.Input}]};var Re=function(){};Re.decorators=[{type:t.Component,args:[{selector:"xuilib-gov-uk-form-group-wrapper",template:'<div class="govuk-form-group" [attr.formGroupName]="group" [ngClass]="{\'govuk-form-group--error\': (error?.isInvalid)}">\n <xuilib-gov-uk-fieldset\n [config]="{legend: config.legend, classes: \'govuk-label--m\', id: config.key, hint: config.hint, isPageHeading: config.isPageHeading}"\n [errorMessage]="error">\n\n <xuilib-gov-uk-error-message [config]="{id: group}" [errorMessage]="error"></xuilib-gov-uk-error-message>\n\n <ng-content></ng-content>\n\n </xuilib-gov-uk-fieldset>\n</div>'}]}],Re.ctorParameters=function(){return[]},Re.propDecorators={error:[{type:t.Input}],group:[{type:t.Input}],config:[{type:t.Input}]};var Be=function(){function e(){}return e.prototype.ngOnInit=function(){this.config.classes="govuk-label--m"},e.prototype.setDescribedBy=function(){return Ue.setDescribedBy(this.errorMessage,this.config)},e}();Be.decorators=[{type:t.Component,args:[{selector:"xuilib-gov-uk-input",template:'<div class="govuk-form-group gov-uk-input" [formGroup]="group"\n[ngClass]="{\'govuk-form-group--error\': errorMessage?.isInvalid}">\n\n<xuilib-gov-label [config]="config"></xuilib-gov-label>\n\n<span *ngIf="config.hint" [id]="config.id +\'-hint\'" class="govuk-hint">\n {{config.hint}}\n</span>\n\n<xuilib-gov-uk-error-message [config]="config" [errorMessage]="errorMessage"></xuilib-gov-uk-error-message>\n\n<input class="govuk-input"\n [ngClass]="{\'govuk-input--error\': errorMessage?.isInvalid}"\n [id]="config.id"\n [name]="config.name"\n [type]="config.type"\n [attr.aria-invalid]="errorMessage?.isInvalid"\n [formControlName]="config.name"\n [attr.aria-describedby]=\'setDescribedBy()\'>\n</div>\n',styles:[".gov-uk-input input:disabled{background:#b1b4b6}"]}]}],Be.ctorParameters=function(){return[]},Be.propDecorators={errorMessage:[{type:t.Input}],group:[{type:t.Input}],config:[{type:t.Input}]};var Ge=function(){};Ge.decorators=[{type:t.Component,args:[{selector:"xuilib-gov-label",template:'<h1 *ngIf="config.isPageHeading else noHeading">\n <label *ngIf="config.label" [class]="config.classes + \' govuk-label\'"\n [for]="config.id" [innerHTML]="config.label">\n </label>\n</h1>\n<ng-template #noHeading>\n <label *ngIf="config.label" [class]="config.classes + \' govuk-label\'"\n [for]="config.id" [innerHTML]="config.label">\n </label>\n</ng-template>'}]}],Ge.ctorParameters=function(){return[]},Ge.propDecorators={config:[{type:t.Input}]};var Ve=function(){function e(){}return e.prototype.ngOnInit=function(){var e=this.config.focusOn?this.config.focusOn:this.config.value;this.config.id=e,this.config.classes=this.config.classes?this.config.classes.concat(" govuk-radios__label"):"govuk-radios__label"},e}();Ve.decorators=[{type:t.Component,args:[{selector:"xuilib-gov-radio",template:'<div class="govuk-radios__item" [formGroup]="group">\n <input [className]="\'govuk-radios__input \' + config.classes"\n [id]="config.id"\n [value]="config.value" type="radio"\n [attr.data-aria-controls]="config.id"\n [name]="config.name"\n [formControl]="group.controls[config.name]">\n <xuilib-gov-label appRemoveHost [config]="config"></xuilib-gov-label>\n</div>'}]}],Ve.ctorParameters=function(){return[]},Ve.propDecorators={group:[{type:t.Input}],config:[{type:t.Input}]};var ze=function(){};ze.decorators=[{type:t.Component,args:[{selector:"xuilib-gov-uk-radios",template:'<xuilib-gov-uk-form-group-wrapper\n[error]="errors"\n[config]="options.config"\n[group]="options.key">\n<div class="govuk-radios">\n <xuilib-gov-radio\n appRemoveHost\n *ngFor="let item of options.items"\n [group]="options.group"\n [config]="item.config">\n </xuilib-gov-radio>\n</div>\n</xuilib-gov-uk-form-group-wrapper>'}]}],ze.propDecorators={options:[{type:t.Input}],errors:[{type:t.Input}]};var We=function(){function e(){}return e.prototype.setDescribedBy=function(){return Ue.setDescribedBy(this.errorMessage,this.config)},e}();We.decorators=[{type:t.Component,args:[{selector:"xuilib-gov-select",template:'<div class="govuk-form-group" [formGroup]="group"\n[ngClass]="{\'govuk-form-group--error\': errorMessage?.isInvalid}">\n<xuilib-gov-label [config]="config"></xuilib-gov-label>\n<span *ngIf="config.hint" [id]="config.id +\'-hint\'" class="govuk-hint">\n {{config.hint}}\n</span>\n<xuilib-gov-uk-error-message [config]="config" [errorMessage]="errorMessage"></xuilib-gov-uk-error-message>\n\n<select class="govuk-select" [id]="config.id" [name]="config.id" [formControlName]="config.id" [attr.aria-describedby]=\'setDescribedBy()\'>\n<option value="{{item.value}}" *ngFor="let item of items">{{item.label}}</option>\n</select>\n</div>'}]}],We.ctorParameters=function(){return[]},We.propDecorators={errorMessage:[{type:t.Input}],group:[{type:t.Input}],config:[{type:t.Input}],items:[{type:t.Input}]};var He=function(){function e(){this.classes="",this.caption="Dates and amounts",this.firstCellIsHeader=!0,this.columnConfig=[{header:"Date",key:"date",type:"text"},{header:"Amount",key:"amount"}]}return e.prototype.formatDate=function(e){return n.formatDate(e,"dd/MM/yyyy","en-UK")},e}();He.decorators=[{type:t.Component,args:[{selector:"xuilib-gov-uk-table",template:'<table class="{{\'govuk-table \' + classes}}">\n <caption class="govuk-table__caption">{{caption}}</caption>\n <thead class="govuk-table__head" >\n <tr class="govuk-table__row">\n <th class="govuk-table__header" scope="col" *ngFor="let h of columnConfig">{{h.header}}</th>\n </tr>\n </thead>\n <tbody class="govuk-table__body">\n <tr data-selector="table-row" class="govuk-table__row" *ngFor="let r of rows">\n <ng-container *ngFor="let col of columnConfig; first as isFirst">\n <th data-selector="table-header" class="govuk-table__header" scope="row" *ngIf="isFirst && firstCellIsHeader">\n <ng-container *ngIf="!col.type || col.type === \'text\' || !r.routerLink">{{r[col.key]}}</ng-container>\n <ng-container *ngIf="col.type === \'link\' && r.routerLink">\n <a class="govuk-link" [routerLink]="r.routerLink">{{r[col.key]}}</a>\n </ng-container>\n </th>\n <td data-selector="table-cell" class="govuk-table__cell" *ngIf="!(isFirst && firstCellIsHeader)">\n <ng-container *ngIf="col.type === \'date\'">{{formatDate(r[col.key])}}</ng-container>\n <ng-container *ngIf="!col.type || col.type === \'text\' || !r.routerLink">{{r[col.key]}}</ng-container>\n <ng-container *ngIf="col.type === \'link\' && r.routerLink">\n <a class="govuk-link" [routerLink]="r.routerLink">{{r[col.key]}}</a>\n </ng-container>\n </td>\n </ng-container>\n </tr>\n </tbody>\n</table>\n',styles:[""]}]}],He.ctorParameters=function(){return[]},He.propDecorators={classes:[{type:t.Input}],caption:[{type:t.Input}],firstCellIsHeader:[{type:t.Input}],rows:[{type:t.Input}],columnConfig:[{type:t.Input}]};var $e=function(){this.header="",this.key="",this.type="text"},qe=function(){function e(){}return e.prototype.setDescribedBy=function(){return Ue.setDescribedBy(this.errorMessage,this.config)},e}();qe.decorators=[{type:t.Component,args:[{selector:"xuilib-gov-uk-textarea",template:'<div [formGroup]="group" \nclass="govuk-form-group" [ngClass]="{\'govuk-form-group--error\': errorMessage?.isInvalid}">\n<xuilib-gov-label [config]="config"></xuilib-gov-label>\n<span id="more-detail-hint" class="govuk-hint">\n {{config.hint}}\n</span>\n<xuilib-gov-uk-error-message [config]="config" [errorMessage]="errorMessage"></xuilib-gov-uk-error-message>\n<textarea\n class="govuk-textarea" [formControlName]="config.key"\n [ngClass]="{\'govuk-textarea--error\': errorMessage?.isInvalid}"\n [id]="config.id" name="more-detail" [rows]="config.rows" [attr.aria-describedby]="setDescribedBy()"></textarea>\n</div>'}]}],qe.propDecorators={config:[{type:t.Input}],errorMessage:[{type:t.Input}],group:[{type:t.Input}]};var Je=function(){};Je.decorators=[{type:t.Component,args:[{selector:"xuilib-hmcts-banner",template:'<div class="hmcts-banner hmcts-banner--{{type}}">\n <svg class="hmcts-banner__icon" fill="currentColor" role="presentation" focusable="false" 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" /></svg>\n <div class="hmcts-banner__message">\n <span class="hmcts-banner__assistive">{{type}}</span>\n {{message}}\n </div>\n</div>',styles:[":host{display:block;width:100%}"]}]}],Je.ctorParameters=function(){return[]},Je.propDecorators={type:[{type:t.Input}],message:[{type:t.Input}]};var Ke=function(){function e(e){this.document=e}return Object.defineProperty(e.prototype,"errorMessages",{set:function(e){this.messages=e},enumerable:!1,configurable:!0}),e.prototype.ngAfterViewInit=function(){this.scrollTo("errorSummary")},e.prototype.ngOnChanges=function(e){e.errorMessages&&this.scrollTo("errorSummary")},e.prototype.scrollTo=function(e){this.document.querySelector("#"+e)&&this.document.querySelector("#"+e).focus()},e.prototype.hasElement=function(e){return this.document.querySelector("#"+e)},e}();Ke.decorators=[{type:t.Component,args:[{selector:"xuilib-hmcts-error-summary",template:'<div *ngIf="!showWarningMessage && messages && messages.length > 0" id="errorSummary" class="govuk-error-summary" aria-labelledby="error-summary-title" role="alert" tabindex="-1"\n data-module="error-summary">\n <h2 class="govuk-error-summary__title" id="error-summary-title">\n {{header}}\n </h2>\n <div class="govuk-error-summary__body">\n <ul class="govuk-list govuk-error-summary__list">\n <li *ngFor="let message of messages">\n <a (click)="scrollTo(message[\'id\'])" [routerLink]="" [fragment]="message[\'id\']"\n *ngIf="hasElement(message[\'id\'])">{{message[\'message\']}}</a>\n <span *ngIf="!hasElement(message[\'id\'])">{{message[\'message\']}}</span>\n </li>\n </ul>\n </div>\n</div>\n<div *ngIf="showWarningMessage" class="hmcts-banner hmcts-banner--warning">\n <svg class="hmcts-banner__icon" fill="currentColor" role="presentation" focusable="false" 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" /></svg>\n <div class="hmcts-banner__message">\n <span class="hmcts-banner__assistive">Warning</span>\n <p class="govuk-body" *ngFor="let message of messages">{{ message[\'message\'] }}</p>\n </div>\n</div>'}]}],Ke.ctorParameters=function(){return[{type:void 0,decorators:[{type:t.Inject,args:[n.DOCUMENT]}]}]},Ke.propDecorators={errorMessages:[{type:t.Input}],header:[{type:t.Input}],showWarningMessage:[{type:t.Input}]};var Ye=function(){function e(){}return Object.defineProperty(e.prototype,"content",{set:function(e){this.value=e.name},enumerable:!1,configurable:!0}),e}();Ye.decorators=[{type:t.Component,args:[{selector:"xuilib-hmcts-identity-bar",template:'<div class="hmcts-identity-bar" *ngIf="value">\n\n <div class="hmcts-identity-bar__container">\n\n <div class="hmcts-identity-bar__details">\n \n <span class="hmcts-identity-bar__title">{{value}}</span>\n \n </div> \n\n </div>\n\n</div>',styles:[""]}]}],Ye.ctorParameters=function(){return[]},Ye.propDecorators={content:[{type:t.Input}]};var Qe=function(){function e(){this.backEvent=new t.EventEmitter}return Object.defineProperty(e.prototype,"banner",{set:function(e){this.bannerData=e},enumerable:!1,configurable:!0}),e.prototype.ngOnInit=function(){this.hasBackLink=void 0!==this.backLink||this.backEvent.observers.length>0},e.prototype.onGoBack=function(){this.backEvent.emit()},e}();Qe.decorators=[{type:t.Component,args:[{selector:"xuilib-hmcts-main-wrapper",template:'<a *ngIf="hasBackLink" [routerLink]="backLink" (click)="onGoBack()" class="govuk-back-link">Back</a>\n<main id="content" role="main" class="govuk-main-wrapper">\n <div class="govuk-grid-row">\n <div class="govuk-grid-column-two-thirds">\n <xuilib-hmcts-error-summary\n *ngIf="summaryErrors && !summaryErrors.isFromValid"\n [errorMessages]="summaryErrors.items"\n [header]="summaryErrors.header"\n [showWarningMessage]="showWarningMessage">\n </xuilib-hmcts-error-summary>\n <xuilib-hmcts-banner *ngIf="bannerData" [message]="bannerData.message" [type]="bannerData.type"></xuilib-hmcts-banner>\n <h1 *ngIf="title" class="govuk-heading-xl">{{title}}</h1>\n <ng-content></ng-content>\n </div>\n <div class="govuk-grid-column-one-third" *ngIf="actionButtons?.length > 0">\n <div class="hmcts-page-heading__actions-wrapper">\n <a\n *ngFor="let actionButton of actionButtons"\n (click)="actionButton.action()"\n role="button"\n draggable="false"\n class="govuk-button {{ actionButton.class }}"\n >{{ actionButton.name }}</a>\n </div>\n </div>\n </div>\n</main>\n'}]}],Qe.ctorParameters=function(){return[]},Qe.propDecorators={backLink:[{type:t.Input}],title:[{type:t.Input}],summaryErrors:[{type:t.Input}],banner:[{type:t.Input}],actionButtons:[{type:t.Input}],showWarningMessage:[{type:t.Input}],backEvent:[{type:t.Output}]};var Xe=function(){this.maxSize=7,this.pageSize=10,this.showPageNumbers=!0,this.showResultCount=!0,this.pageChange=new t.EventEmitter,this.pageBoundsCorrection=new t.EventEmitter};Xe.decorators=[{type:t.Component,args:[{selector:"xuilib-hmcts-pagination",template:'<pagination-template #p="paginationApi" [id]="id" [maxSize]="maxSize" (pageChange)="pageChange.emit($event)"\n (pageBoundsCorrection)="pageBoundsCorrection.emit($event)">\n\n <nav class="hmcts-pagination" id="pagination-label">\n <p class="govuk-visually-hidden" aria-labelledby="pagination-label">Pagination navigation</p>\n <ul class="hmcts-pagination__list" *ngIf="!(p.pages.length <= 1)">\n\n <li class="hmcts-pagination__item hmcts-pagination__item--prev" [class.disabled]="p.isFirstPage()">\n <a [routerLink]="" class="hmcts-pagination__link" *ngIf="1 < p.getCurrent()" (keyup.enter)="p.previous()"\n (click)="p.previous()">Previous <span class="govuk-visually-hidden">set of pages</span></a>\n </li>\n\n <ng-container *ngIf="showPageNumbers">\n <li class="hmcts-pagination__item" [class.hmcts-pagination__item--active]="p.getCurrent() === page.value"\n [class.hmcts-pagination__item--dots]="page.label === \'...\'" *ngFor="let page of p.pages">\n <a class="hmcts-pagination__link" [routerLink]="" (keyup.enter)="p.setCurrent(page.value)"\n (click)="p.setCurrent(page.value)" *ngIf="p.getCurrent() !== page.value">\n <span class="govuk-visually-hidden">page </span>\n <span>{{ (page.label === \'...\') ? page.label : (page.label | number:\'\') }}</span>\n </a>\n <ng-container *ngIf="p.getCurrent() === page.value">\n <span>{{ (page.label === \'...\') ? page.label : (page.label | number:\'\') }}</span>\n </ng-container>\n </li>\n </ng-container>\n\n <li class="hmcts-pagination__item hmcts-pagination__item--next" [class.disabled]="p.isLastPage()">\n <a [routerLink]="" class="hmcts-pagination__link" *ngIf="!p.isLastPage()" (keyup.enter)="p.next()"\n (click)="p.next()">Next<span class="govuk-visually-hidden"> page</span></a>\n </li>\n\n </ul>\n <p class="hmcts-pagination__results" *ngIf="showResultCount">Showing <b>{{(p.getCurrent() * pageSize) - pageSize + 1}}</b>\n to <b>{{ p.getCurrent() * pageSize > p.getTotalItems() ? p.getTotalItems() : p.getCurrent() *\n pageSize}}</b> of <b>{{p.getTotalItems()}}</b> results</p>\n </nav>\n\n</pagination-template>',styles:[".hmcts-pagination__results{float:right}"]}]}],Xe.propDecorators={id:[{type:t.Input}],maxSize:[{type:t.Input}],pageSize:[{type:t.Input}],showPageNumbers:[{type:t.Input}],showResultCount:[{type:t.Input}],pageChange:[{type:t.Output}],pageBoundsCorrection:[{type:t.Output}]};var Ze=function(){function e(){}return Object.defineProperty(e.prototype,"userLoggedIn",{set:function(e){this.isUserLoggedIn=e},enumerable:!1,configurable:!0}),e}();Ze.decorators=[{type:t.Component,args:[{selector:"xuilib-hmcts-primary-navigation",template:'<nav *ngIf="isUserLoggedIn" class="hmcts-primary-navigation" [attr.aria-label]="label">\n <div class="hmcts-primary-navigation__container">\n <div class="govuk-header__logo" *ngIf="isBrandedHeader"></div>\n <ul class="hmcts-primary-navigation__list">\n <li class="hmcts-primary-navigation__item" *ngFor="let item of items">\n <a class="hmcts-primary-navigation__link" [attr.aria-current]="item.active ? true: null" [routerLink]="item.href" [innerHTML]="item.text"></a>\n </li>\n </ul>\n </div>\n</nav>\n',styles:[""]}]}],Ze.ctorParameters=function(){return[]},Ze.propDecorators={userLoggedIn:[{type:t.Input}],label:[{type:t.Input}],items:[{type:t.Input}],isBrandedHeader:[{type:t.Input}]};var et=function(){};et.decorators=[{type:t.Component,args:[{selector:"xuilib-hmcts-sub-navigation",template:'<nav class="hmcts-sub-navigation" attr.aria-label="{{label}}" role="navigation" *ngIf="items">\n <ul class="hmcts-sub-navigation__list">\n <li class="hmcts-sub-navigation__item" *ngFor="let item of items">\n <a data-selector="sub-nav-link" class="hmcts-sub-navigation__link" [routerLink]="item.href"\n [attr.aria-current]="item.active ? \'page\' : null">\n {{item.text}}\n\n <span *ngIf="item.roundel && item.roundel > 0 " class="xui-alert-link__number"> {{item.roundel}} </span>\n </a>\n </li>\n </ul>\n</nav>\n',styles:[".xui-alert-link__number{font-family:nta,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-size:14px;font-size:.875rem;line-height:1.78571;border-radius:50%;background-color:#1d70b8;color:#fff;font-weight:700;width:25px;height:25px;margin-left:5px;text-align:center;display:inline-block;text-decoration:none}"]}]}],et.propDecorators={label:[{type:t.Input}],items:[{type:t.Input}]};var tt=function(){function e(e){this.el=e}return e.prototype.ngOnInit=function(){for(var e=this.el.nativeElement,t=e.parentElement;e.firstChild;)t.insertBefore(e.firstChild,e);t.removeChild(e)},e}();tt.decorators=[{type:t.Directive,args:[{selector:"[appRemoveHost]"}]}],tt.ctorParameters=function(){return[{type:t.ElementRef}]};var nt=[Se,te,Z,ee,X,M,Le,Fe,U,oe,ne,j,N,Y,J,V,z,G,K,Q,x,T,F,W,$,R,D,le,xe,_e,be,ve,Ae,Me,ke,ye],ot=[Ye,Xe,et,Ze,Ke,Qe,Je,He,Be,Te,Re,Ge,De,Ne,Oe,Pe,Ve,ze,We,qe,je,tt],it=re,st=function(){};st.decorators=[{type:t.NgModule,args:[{declarations:E(nt,ot),imports:[n.CommonModule,o.FormsModule,o.ReactiveFormsModule,r.RouterModule.forChild([]),l.MatAutocompleteModule,u.MatTabsModule,c.MatInputModule,d.NgxPaginationModule],providers:[{provide:se,useFactory:it}],exports:E(nt,ot,[d.PaginatePipe])}]}];var rt=function(){};rt.ɵprov=v.ɵɵdefineInjectable({factory:function(){return new rt},token:rt,providedIn:"root"}),rt.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],rt.ctorParameters=function(){return[]};var at=function(){function e(e,t){this.featureToggleService=e,this.router=t}return e.prototype.canActivate=function(e){var t=this;return i.combineLatest.apply(void 0,E(e.data.needsFeaturesEnabled.map((function(e){return t.featureToggleService.getValueOnce(e,!1)})))).pipe(s.map((function(e){return e.every((function(e){return e}))})),s.map((function(n){return n||t.router.parseUrl(e.data.featureDisabledRedirect)})))},e}();at.ɵprov=v.ɵɵdefineInjectable({factory:function(){return new at(v.ɵɵinject(H),v.ɵɵinject(y.Router))},token:at,providedIn:"root"}),at.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],at.ctorParameters=function(){return[{type:H},{type:r.Router}]};var lt=function(){function e(){this.ready=new i.BehaviorSubject(!1),this.features={},this.user={anonymous:!0},this.clientId=""}return e.prototype.initialize=function(e,t){var n=this;void 0===e&&(e={anonymous:!0}),this.ready.next(!1),this.user=e,this.clientId=t,this.client=C.initialize(this.clientId,this.user,{}),this.client.on("ready",(function(){n.client.identify(n.user).then((function(){return n.ready.next(!0)}))}))},e.prototype.isEnabled=function(e){return this.getValue(e,!1)},e.prototype.getArray=function(e){return this.getValue(e,[])},e.prototype.getValue=function(e,t){var n=this;return this.features.hasOwnProperty(e)||(this.features[e]=new i.BehaviorSubject(t),this.ready.pipe(s.filter((function(e){return e})),s.map((function(){return n.client.variation(e,t)}))).subscribe((function(t){n.features[e].next(t),n.client.on("change:"+e,(function(t){n.features[e].next(t)}))}))),this.features[e].pipe(s.distinctUntilChanged())},e.prototype.getValueOnce=function(e,t){var n=this;return this.ready.pipe(s.filter((function(e){return e})),s.map((function(){return n.client.variation(e,t)})))},e}();lt.ɵprov=v.ɵɵdefineInjectable({factory:function(){return new lt},token:lt,providedIn:"root"}),lt.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}];var ct=function(){function e(e,t,n,o){this.router=e,this.title=t,this.window=n,this.document=o}return e.prototype.init=function(e){this.googleAnalyticsKey=e;try{var t=this.document.createElement("script");t.async=!0,t.src="https://www.googletagmanager.com/gtag/js?id="+this.googleAnalyticsKey,this.document.head.appendChild(t);var n=this.document.createElement("script");n.innerHTML="\n window.dataLayer = window.dataLayer || [];\n function gtag(){dataLayer.push(arguments);}\n gtag('js', new Date());\n gtag('config', '"+this.googleAnalyticsKey+"', {'send_page_view': false});\n ",this.document.head.appendChild(n)}catch(e){console.error("Error appending google analytics"),console.error(e)}this.listenForRouteChanges()},e.prototype.listenForRouteChanges=function(){var e=this;this.googleAnalyticsKey&&this.router.events.subscribe((function(t){t instanceof r.NavigationEnd&&e.window.gtag("config",e.googleAnalyticsKey,{page_path:t.urlAfterRedirects,page_title:e.title.getTitle()})}))},e.prototype.event=function(e,t){this.window.gtag("event",e,t)},e}();ct.ɵprov=v.ɵɵdefineInjectable({factory:function(){return new ct(v.ɵɵinject(y.Router),v.ɵɵinject(I.Title),v.ɵɵinject(se),v.ɵɵinject(b.DOCUMENT))},token:ct,providedIn:"root"}),ct.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],ct.ctorParameters=function(){return[{type:r.Router},{type:g.Title},{type:void 0,decorators:[{type:t.Inject,args:[se]}]},{type:void 0,decorators:[{type:t.Inject,args:[n.DOCUMENT]}]}]};var ut=function(){function e(e,t,n,o){this.router=e,this.title=t,this.window=n,this.document=o}return e.prototype.init=function(e){this.googleTagManagerKey=e;try{this.window.dataLayer=this.window.dataLayer||[],this.window.dataLayer.push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var t=this.document.createElement("script");t.async=!0,t.src="https://www.googletagmanager.com/gtm.js?id="+this.googleTagManagerKey,this.document.head.appendChild(t)}catch(e){console.error("Error appending google tag manager"),console.error(e)}this.listenForRouteChanges()},e.prototype.listenForRouteChanges=function(){var e=this;this.googleTagManagerKey&&this.router.events.subscribe((function(t){t instanceof r.NavigationEnd&&e.window.dataLayer.push({event:"pageview",page:{path:t.urlAfterRedirects,title:e.title.getTitle()}})}))},e.prototype.event=function(e,t){this.window.dataLayer.push({event:e,params:t})},e}();ut.ɵprov=v.ɵɵdefineInjectable({factory:function(){return new ut(v.ɵɵinject(y.Router),v.ɵɵinject(I.Title),v.ɵɵinject(se),v.ɵɵinject(b.DOCUMENT))},token:ut,providedIn:"root"}),ut.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],ut.ctorParameters=function(){return[{type:r.Router},{type:g.Title},{type:void 0,decorators:[{type:t.Inject,args:[se]}]},{type:void 0,decorators:[{type:t.Inject,args:[n.DOCUMENT]}]}]};var dt=function(){function e(e,t){this.idle=e,this.keepalive=t,this.appStateEmitter=new i.Subject}return e.prototype.init=function(e){var t=this;this.idle.setIdleName(e.idleServiceName),this.idle.setTimeout(e.timeout);var n=new h.DocumentInterruptSource("mousedown keydown DOMMouseScroll mousewheel touchstart touchmove scroll");this.idle.setInterrupts([n]),this.idle.onIdleEnd.pipe(s.delay(250)).subscribe((function(){t.appStateEmitter.next({type:"modal",countdown:void 0,isVisible:!1})})),this.idle.onTimeout.subscribe((function(){t.appStateEmitter.next({type:"signout"})})),this.idle.onTimeoutWarning.pipe(s.map((function(e){return e>60?Math.ceil(e/60)+" minutes":e+" seconds"})),s.distinctUntilChanged()).subscribe((function(e){t.appStateEmitter.next({type:"modal",countdown:e,isVisible:!0})})),this.keepalive.interval(e.keepAliveInSeconds),this.keepalive.onPing.subscribe((function(){t.appStateEmitter.next({type:"keepalive"})}));var o=Math.floor(e.idleMilliseconds/1e3)-e.timeout;this.idle.setIdle(o),this.idle.watch()},e.prototype.appStateChanges=function(){return this.appStateEmitter.asObservable()},e}();dt.ɵprov=v.ɵɵdefineInjectable({factory:function(){return new dt(v.ɵɵinject(w.Idle),v.ɵɵinject(_.Keepalive))},token:dt,providedIn:"root"}),dt.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],dt.ctorParameters=function(){return[{type:h.Idle},{type:m.Keepalive}]};var pt=function(){function e(e,t){this.idle=e,this.keepalive=t,this.millisecondsToSeconds=function(e){return e/1e3},this.eventEmitter=new i.Subject}return e.prototype.initialise=function(e){var t=this,n="mousedown keydown DOMMouseScroll mousewheel touchstart touchmove scroll",o=e.idleServiceName,i=e.idleModalDisplayTime,r=e.totalIdleTime;this.idle.setIdleName(o);var a=this.millisecondsToSeconds(i),l=this.millisecondsToSeconds(r);this.idle.setTimeout(a);var c=new h.DocumentInterruptSource(n),u=new h.WindowInterruptSource(n);this.idle.setInterrupts([c,u]),this.idle.onTimeout.subscribe((function(){t.eventEmitter.next({eventType:"sign-out"})})),this.idle.onTimeoutWarning.pipe(s.map((function(e){return e>60?Math.ceil(e/60)+" minutes":e+" seconds"})),s.distinctUntilChanged()).subscribe((function(e){t.eventEmitter.next({eventType:"countdown",readableCountdown:e})})),this.keepalive.interval(15),this.keepalive.onPing.subscribe((function(){t.eventEmitter.next({eventType:"keep-alive"})}));var d=Math.floor(l)-a;this.idle.setIdle(d),this.idle.watch()},e.prototype.notificationOnChange=function(){return this.eventEmitter.asObservable()},e}();pt.ɵprov=v.ɵɵdefineInjectable({factory:function(){return new pt(v.ɵɵinject(w.Idle),v.ɵɵinject(_.Keepalive))},token:pt,providedIn:"root"}),pt.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],pt.ctorParameters=function(){return[{type:h.Idle},{type:m.Keepalive}]};var gt,ht=function(){function e(){this.pRoles=[]}return Object.defineProperty(e.prototype,"roles",{get:function(){return this.pRoles},set:function(e){this.pRoles=e},enumerable:!1,configurable:!0}),e}();ht.ɵprov=v.ɵɵdefineInjectable({factory:function(){return new ht},token:ht,providedIn:"root"}),ht.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.RoleMatching=void 0,(gt=e.RoleMatching||(e.RoleMatching={}))[gt.ALL=0]="ALL",gt[gt.ANY=1]="ANY";var mt=function(){function t(e,t){this.roleService=e,this.router=t}return t.prototype.canActivate=function(t){var n=this,o=t.data.needsRole,i=function(e){var t=new RegExp(e);return n.roleService.roles.some((function(e){return t.test(e)}))};return(t.data.roleMatching===e.RoleMatching.ALL?o.every(i):o.some(i))||this.router.parseUrl(t.data.noRoleMatchRedirect)},t}();mt.ɵprov=v.ɵɵdefineInjectable({factory:function(){return new mt(v.ɵɵinject(ht),v.ɵɵinject(y.Router))},token:mt,providedIn:"root"}),mt.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],mt.ctorParameters=function(){return[{type:ht},{type:r.Router}]};var ft=function(){function e(){}return Object.defineProperty(e.prototype,"isLoading",{get:function(){},enumerable:!1,configurable:!0}),e}(),vt=function(){function e(){this.registered=new Map,this.loading=new i.BehaviorSubject(!1)}return Object.defineProperty(e.prototype,"isLoading",{get:function(){return this.loading.asObservable().pipe(s.distinctUntilChanged())},enumerable:!1,configurable:!0}),e.prototype.register=function(){var e=this.generateToken();return this.registered.set(e,e),this.loading.next(!0),e},e.prototype.unregister=function(e){this.registered.delete(e),this.loading.next(this.registered.size>0)},e.prototype.generateToken=function(){return"common-lib-loading-"+window.performance.now()},e}();vt.ɵprov=v.ɵɵdefineInjectable({factory:function(){return new vt},token:vt,providedIn:"root"}),vt.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.AccessibilityComponent=x,e.AnonymousFeatureUser=pe,e.COMMON_COMPONENTS=nt,e.CheckboxListComponent=F,e.ContactDetailsComponent=M,e.CookieBannerComponent=le,e.CookieService=ie,e.DueDateComponent=T,e.ExuiCommonLibModule=st,e.ExuiPageWrapperComponent=Se,e.FeatureToggleDirective=Le,e.FeatureToggleGuard=at,e.FeatureToggleService=H,e.FilterService=P,e.FindLocationComponent=be,e.FindPersonComponent=xe,e.GOV_UI_COMPONENTS=ot,e.GenericFilterComponent=D,e.GoogleAnalyticsService=ct,e.GoogleTagManagerService=ut,e.GovUiService=rt,e.GovUkCheckboxComponent=Te,e.GovUkCheckboxesComponent=Pe,e.GovUkDateComponent=Oe,e.GovUkErrorMessageComponent=De,e.GovUkFieldsetComponent=Ne,e.GovUkFileUploadComponent=je,e.GovUkFormGroupWrapperComponent=Re,e.GovUkInputComponent=Be,e.GovUkLabelComponent=Ge,e.GovUkRadioComponent=Ve,e.GovUkRadiosComponent=ze,e.GovUkSelectComponent=We,e.GovUkTextareaComponent=qe,e.GovukTableColumnConfig=$e,e.GovukTableComponent=He,e.HasLoadingState=ft,e.HmctsBannerComponent=Je,e.HmctsErrorSummaryComponent=Ke,e.HmctsIdentityBarComponent=Ye,e.HmctsMainWrapperComponent=Qe,e.HmctsPaginationComponent=Xe,e.HmctsPrimaryNavigationComponent=Ze,e.HmctsSessionDialogComponent=U,e.HmctsSubNavigationComponent=et,e.InviteUserFormComponent=N,e.InviteUserPermissionComponent=j,e.LaunchDarklyService=lt,e.LetContext=Ee,e.LetDirective=Fe,e.LoadingService=vt,e.LoadingSpinnerComponent=R,e.LoggedInFeatureUser=ge,e.ManageSessionServices=dt,e.PaginationComponent=ye,e.RadioFilterFieldConfig=he,e.RemoveHostDirective=tt,e.RoleGuard=mt,e.RoleService=ht,e.SECONDS_IN_A_DAY=86400,e.SearchJudicialsComponent=_e,e.SearchLocationComponent=ve,e.SearchVenueComponent=ke,e.SelectedCaseComponent=z,e.SelectedCaseConfirmComponent=G,e.SelectedCaseListComponent=V,e.ServiceMessageComponent=W,e.ServiceMessagesComponent=$,e.ShareCaseComponent=Y,e.ShareCaseConfirmComponent=J,e.TabComponent=Q,e.TcConfirmComponent=X,e.TcDisplayHtmlComponent=Z,e.TcDisplayPlainComponent=ee,e.TermsAndConditionsComponent=te,e.TimeoutNotificationsService=pt,e.UserDetailsComponent=ne,e.UserListComponent=oe,e.UserSelectComponent=K,e.checkboxesBeCheckedValidator=function(e){return void 0===e&&(e=1),function(t){var n=0;return Object.keys(t.controls).forEach((function(e){!0===t.controls[e].value&&n++})),n<e?{requireOneCheckboxToBeChecked:!0}:null}},e.dateValidator=function(){return function(e){var t=new Date(parseInt(e.controls.day.value,10),parseInt(e.controls.month.value,10)-1,parseInt(e.controls.year.value,10)-1);return t instanceof Date&&!isNaN(+t)?null:{dateIsInvalid:!0}}},e.radioGroupValidator=function(){return function(e){if(e.controls)for(var t in e.controls)if(!e.controls[t].valid)return{isRadioGroupInvalid:!0};return null}},e.windowProvider=re,e.windowToken=se,e["ɵ0"]=it,e["ɵa"]=Se,e["ɵb"]=te,e["ɵba"]=W,e["ɵbb"]=$,e["ɵbc"]=R,e["ɵbd"]=D,e["ɵbe"]=P,e["ɵbf"]=le,e["ɵbg"]=ie,e["ɵbh"]=xe,e["ɵbi"]=we,e["ɵbj"]=fe,e["ɵbk"]=_e,e["ɵbl"]=be,e["ɵbm"]=ve,e["ɵbn"]=me,e["ɵbo"]=Ae,e["ɵbp"]=Me,e["ɵbq"]=ke,e["ɵbr"]=ye,e["ɵbs"]=Ye,e["ɵbt"]=Xe,e["ɵbu"]=et,e["ɵbv"]=Ze,e["ɵbw"]=Ke,e["ɵbx"]=Qe,e["ɵby"]=Je,e["ɵbz"]=He,e["ɵc"]=Z,e["ɵca"]=Be,e["ɵcb"]=Te,e["ɵcc"]=Re,e["ɵcd"]=Ge,e["ɵce"]=De,e["ɵcf"]=Ne,e["ɵcg"]=Oe,e["ɵch"]=Pe,e["ɵci"]=Ve,e["ɵcj"]=ze,e["ɵck"]=We,e["ɵcl"]=qe,e["ɵcm"]=je,e["ɵcn"]=tt,e["ɵd"]=ee,e["ɵe"]=X,e["ɵf"]=M,e["ɵg"]=Le,e["ɵh"]=H,e["ɵi"]=Ee,e["ɵj"]=Fe,e["ɵk"]=U,e["ɵl"]=oe,e["ɵm"]=ne,e["ɵn"]=j,e["ɵo"]=N,e["ɵp"]=Y,e["ɵq"]=K,e["ɵr"]=B,e["ɵs"]=J,e["ɵt"]=V,e["ɵu"]=z,e["ɵv"]=G,e["ɵw"]=Q,e["ɵx"]=x,e["ɵy"]=T,e["ɵz"]=F,Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/common"),require("@angular/forms"),require("rxjs"),require("rxjs/operators"),require("@angular/router"),require("@angular/common/http"),require("@angular/material/autocomplete"),require("@angular/material/input"),require("@angular/material/tabs"),require("ngx-pagination"),require("launchdarkly-js-client-sdk"),require("@angular/platform-browser"),require("@ng-idle/core"),require("@ng-idle/keepalive")):"function"==typeof define&&define.amd?define("@hmcts/rpx-xui-common-lib",["exports","@angular/core","@angular/common","@angular/forms","rxjs","rxjs/operators","@angular/router","@angular/common/http","@angular/material/autocomplete","@angular/material/input","@angular/material/tabs","ngx-pagination","launchdarkly-js-client-sdk","@angular/platform-browser","@ng-idle/core","@ng-idle/keepalive"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).hmcts=e.hmcts||{},e.hmcts["rpx-xui-common-lib"]={}),e.ng.core,e.ng.common,e.ng.forms,e.rxjs,e.rxjs.operators,e.ng.router,e.ng.common.http,e.ng.material.autocomplete,e.ng.material.input,e.ng.material.tabs,e.ngxPagination,e.LDClient,e.ng.platformBrowser,e.i1$2,e.i2$1)}(this,(function(e,t,n,o,i,s,r,a,l,c,u,d,p,g,h,m){"use strict";function f(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var o=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,o.get?o:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var v=f(t),b=f(n),y=f(r),k=f(a),C=f(p),I=f(g),w=f(h),_=f(m),x=function(){};x.decorators=[{type:t.Component,args:[{selector:"xuilib-accessibility",template:'<h1 class="govuk-heading-xl" id="Accessibility-statement-for-Expert-UI">Accessibility statement for Expert UI</h1>\n\n<ul class="govuk-list">\n <li><a href="accessibility#immigration">Immigration and Asylum</a></li>\n <li><a href="accessibility#family">Family Public Law </a></li>\n</ul>\n\n<p class="govuk-body">This website is run by HM Courts & Tribunals Service. We want as many people as possible to be\n able to use this website. For example, you should be able to:</p>\n\n<ul class="govuk-list govuk-list--bullet">\n <li>change colours, contrast levels and fonts</li>\n <li>zoom in up to 300% without the text spilling off the screen</li>\n <li>navigate most of the website using just a keyboard</li>\n <li>navigate most of the website using speech recognition software</li>\n <li>listen to most of the website using a screen reader (including the most recent versions of JAWS, NVDA and\n VoiceOver)\n </li>\n</ul>\n\n<p class="govuk-body">We’ve also made the website text as simple as possible to understand.</p>\n\n<p class="govuk-body"><a rel="noopener noreferrer" target="_blank" href="https://mcmw.abilitynet.org.uk/">AbilityNet</a>\n has advice on making your device easier to use if you have a disability.</p>\n\n<h2 class="govuk-heading-l" id="How-accessible-this-website-is">How accessible this website is</h2>\n\n<p class="govuk-body">We know some parts of the website are not fully accessible:</p>\n\n<ul class="govuk-list govuk-list--bullet">\n <li>some pages are difficult to navigate using just a keyboard</li>\n <li>some pages can’t be listened to in full using a screen reader</li>\n <li>some pages have problems with colour contrasts between text and background</li>\n <li>some PDFs may not be fully accessible to a screen reader</li>\n</ul>\n\n<h2 class="govuk-heading-l" id="What-to-do-if-you-cannot-access-parts-of-this-website">Feedback and contact\n information</h2>\n\n<p class="govuk-body">If you need information on this website in a different format like accessible PDF, large print,\n easy read, audio recording or braille, you can:</p>\n\n<ul class="govuk-list govuk-list--bullet">\n <li>email: <a href="mailto:HMCTSforms@justice.gov.uk"> HMCTSforms@justice.gov.uk</a></li>\n <li>call: +44 (0) 300 123 1711</li>\n <li>contact your service representative</li>\n</ul>\n\n<p class="govuk-body">We’ll consider your request and get back to you in 10 working days.</p>\n\n<h2 class="govuk-heading-l" id="Reporting-accessibility-problems-with-this-website">Reporting accessibility problems\n with this website</h2>\n\n<p class="govuk-body">We’re always looking to improve the accessibility of this website. If you find any problems not\n listed on this page or think we’re not meeting accessibility requirements, contact:</p>\n\n<ul class="govuk-list govuk-list--bullet">\n <li>email: <a href="mailto:customer.service@justice.gov.uk"> customer.service@justice.gov.uk</a></li>\n <li>telephone: +44 (0) 300 123 1711</li>\n</ul>\n\n<h2 class="govuk-heading-l" id="Enforcement-procedure ">Enforcement procedure</h2>\n\n<p class="govuk-body">The Equality and Human Rights Commission (EHRC) is responsible for enforcing the Public Sector\n Bodies (Websites and Mobile Applications) (No. 2) Accessibility Regulations 2018 (the ‘accessibility\n regulations’). </p>\n\n<p class="govuk-body">If you’re not happy with how we respond to your complaint, <a rel="noopener noreferrer"\n target="_blank"\n href="https://www.equalityadvisoryservice.com/">contact\n the Equality Advisory and Support Service (EASS).</a></p>\n\n<h1 class="govuk-heading-l" id="Contacting-us-by-phone-or-visiting-us-in-person">Contacting us by phone or visiting us\n in person</h1>\n\n<p class="govuk-body">We provide a text relay service for people who are D/deaf, hearing impaired or have a speech\n impediment.</p>\n\n<p class="govuk-body">Our offices and tribunal venues have audio induction loops, or if you contact us before your visit\n we can arrange a British Sign Language (BSL) interpreter. You can also request step-free access or a foreign language\n interpreter.</p>\n\n<p class="govuk-body">If you have a question about accessibility in our Tribunal venues, you can contact the First-tier\n Tribunal enquiry line: +44 (0) 300 123 1711. You can <a target="_blank"\n href="https://courttribunalfinder.service.gov.uk/search/">find\n the contact details for court and tribunal venues</a>. </p>\n\n<p class="govuk-body">You can also contact your service representative for more information.</p>\n\n<h1 class="govuk-heading-l" id="Technical-information-about-this-website’s-accessibility">Technical information about\n this website’s accessibility</h1>\n\n<p class="govuk-body">HMCTS is committed to making its website accessible, in accordance with the Public Sector Bodies\n (Websites and Mobile Applications) (No.2) Accessibility Regulations 2018.</p>\n\n<p class="govuk-body">This website is partially compliant with the <a rel="noopener noreferrer" target="_blank"\n href="https://www.w3.org/TR/WCAG21/">Web Content\n Accessibility Guidelines version 2.1</a>, due to the non-compliances listed below.</p>\n\n<h1 class="govuk-heading-l" id="Non-accessible-content">Non-accessible content </h1>\n\n<p class="govuk-body">The content listed below is non-compliant for the following reasons.</p>\n\n<h2 class="govuk-heading-l" id="Non-compliance-with-the-accessibility-regulations">Non-compliance with the accessibility\n regulations</h2>\n\n<p class="govuk-body">Some pages cannot be navigated completely using just a keyboard, so some people won’t be able to\n tab through the pages. This fails WCAG 2.1 success criterion 2.1 (keyboard accessible).</p>\n\n<p class="govuk-body">Some pages can’t be listened to in full using a screen reader, so some people won’t be able to\n access the information. This fails WCAG 2.1 success criterion 1.2.5 (audio description – prerecorded).</p>\n\n<p class="govuk-body">Some of the contrast ratios don’t meet the current accessibility requirements. This fails WCAG 2.1\n success criterion 1.4.3 (contrast – minimum).</p>\n\n<h3 class="govuk-heading-m" id="immigration">Immigration and Asylum</h3>\n\n<p class="govuk-body">Some of the images on the service include text and are not accessible for some low vision users.\n We have identified a solution for this issue that we will implement as soon as possible.</p>\n\n<h3 class="govuk-heading-m" id="family">Family Public Law </h3>\n\n<ol class="govuk-list govuk-list--alpha">\n <li>The navigation system used in family public law cannot be rendered well by screen readers, so features can’t be\n listened to in full\n </li>\n <li>Some essential functions within the family public law digital service cannot be accessed properly using screen\n readers\n </li>\n <li>Some complex forms within the service will not be rendered correctly or cannot be listened to by screen readers\n </li>\n</ol>\n\n<h2 class="govuk-heading-m" id="Disproportionate burden ">Disproportionate burden </h2>\n\n<p class="govuk-body">For Manage organisation, Register organisation, Approve organisations and Manage cases, we found\n the following issues that are currently being triaged to find out if there is a disproportionate burden:</p>\n\n<ol class="govuk-list govuk-list--alpha">\n <li>Screen readers can’t switch between headers, read content in tabs and buttons</li>\n <li>Screen readers can’t tab between radio buttons, read links or content</li>\n <li>Colour contrast ratios uneven between page background and content</li>\n <li>Some labels, fields, error messages and other content can’t be clearly identified by screen readers and voice\n activation software\n </li>\n <li>Some page headings and titles don’t follow a logical structure for screen readers</li>\n <li>The navigation of some pages isn’t clear</li>\n <li>Some headings, links and button labels aren’t clearly descriptive</li>\n</ol>\n\n<h2 class="govuk-heading-m" id="Content-that’s-not-within-the-scope-of-the-accessibility-regulations">Content that’s not\n within the scope of the accessibility regulations </h2>\n\n<p class="govuk-body">PDFs, documents and attachments to email notifications published before 23 September 2018 may not\n meet accessibility standards. For example, they may not be structured so they’re accessible to a screen reader.</p>\n\n<p class="govuk-body">Any new PDFs or Word documents we publish will meet accessibility standards.</p>\n\n<h1 class="govuk-heading-l" id="what-to-improve-accessibility">What we’re doing to improve accessibility</h1>\n\n<p class="govuk-body">We’re committed to ensuring our services are accessible to all our users and that they comply with\n level AA of the Web Content Accessibility Guidelines – WCAG 2.1.</p>\n\n<p class="govuk-body">We’re actively working to improve the identified issues and make them AA-compliant by 23 September\n 2020. We’re also continuing to improve all other AAA-level accessibility issues as we iterate the service.</p>\n\n<h1 class="govuk-heading-l" id="preparation-of-this-accessibility-statement">Preparation of this accessibility\n statement</h1>\n\n<p class="govuk-body">This statement was prepared on 16 September 2019. It was last reviewed on 16 September 2020.</p>\n\n<p class="govuk-body">This website was last tested on 19 May 2020. The test was carried out by the <a target="_blank"\n href="https://digitalaccessibilitycentre.org/">Digital\n Accessibility Centre (DAC)</a>.</p>\n\n<h3 class="govuk-heading-m">Family Private Law:</h3>\n\n<p class="govuk-body">This service has not yet been tested for accessibility issues. In the future, we will conduct an\n accessibility audit in order to find out if there are any accessibility issues. The accessibility statement will be\n updated with any relevant changes that we find.</p>\n\n<p class="govuk-body">If there are any issues with accessing information or using this website please contact:</p>\n\n<ol class="govuk-list govuk-list--bullet">\n <li>Nicola Whitcher - 02380 384324</li>\n <li>Hannah Townley - 02380 384313</li>\n</ol>',styles:[".govuk-list--alpha{padding-left:20px;list-style-type:lower-alpha}"]}]}],x.ctorParameters=function(){return[]};Object.create;function S(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],o=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&o>=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function L(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var o,i,s=n.call(e),r=[];try{for(;(void 0===t||t-- >0)&&!(o=s.next()).done;)r.push(o.value)}catch(e){i={error:e}}finally{try{o&&!o.done&&(n=s.return)&&n.call(s)}finally{if(i)throw i.error}}return r}function E(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(L(arguments[t]));return e}Object.create;var F=function(){function e(){this.options=[],this.selectionChange=new t.EventEmitter}return Object.defineProperty(e.prototype,"selection",{get:function(){return this.pSelection?E(this.pSelection):[]},set:function(e){this.pSelection=this.getSelection(e)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"allSelected",{get:function(){return this.selection.length===this.options.length},enumerable:!1,configurable:!0}),e.prototype.ngOnChanges=function(){this.setupPreselection(),this.checkSelection()},Object.defineProperty(e.prototype,"hasOptions",{get:function(){return this.options&&this.options.length>0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isFunctional",{get:function(){return this.labelFunction&&this.hasOptions},enumerable:!1,configurable:!0}),e.prototype.isSelected=function(e){return this.selection.includes(e)},e.prototype.toggleItemSelection=function(e){void 0===this.pSelection?this.pSelection=[e]:this.isSelected(e)?this.pSelection.splice(this.pSelection.indexOf(e),1):this.pSelection.push(e),this.pSelectionMade=!0,this.selectionChange.emit(this.selection)},e.prototype.toggleSelectAll=function(){this.allSelected?this.pSelection=[]:this.pSelection=E(this.options),this.pSelectionMade=!0,this.selectionChange.emit(this.pSelection)},e.prototype.containsItem=function(e,t){var n=this;if(this.isFunctional){var o=this.labelFunction(t);return e.some((function(e){return n.labelFunction(e)===o}))}return!1},Object.defineProperty(e.prototype,"hasPreselection",{get:function(){return this.preselection&&this.preselection.length>0},enumerable:!1,configurable:!0}),e.prototype.setupPreselection=function(){var e=this;if(this.isFunctional&&!this.pSelectionMade&&this.hasPreselection){var t=!0;this.pSelection&&(t=this.pSelection.filter((function(t){return!e.containsItem(e.preselection,t)})).length>0),t&&(this.pSelection=this.getSelection(this.preselection),this.selectionChange.emit(this.selection))}},e.prototype.getSelection=function(e){var t=this;return E(this.options.filter((function(n){return t.containsItem(e,n)})))},e.prototype.checkSelection=function(){var e=this;if(this.isFunctional){var t=this.selection.filter((function(t){return e.containsItem(e.options,t)}));t.length!==this.selection.length&&(this.pSelection=E(t),this.selectionChange.emit(this.selection))}},e}();F.decorators=[{type:t.Component,args:[{selector:"xuilib-checkbox-list",template:'<div class="xui-checkbox-list govuk-checkboxes govuk-checkboxes--small" *ngIf="isFunctional">\n <div class="select-all govuk-checkboxes__item">\n <input type="checkbox" id="select_all" class="govuk-checkboxes__input" [checked]="allSelected"\n (change)="toggleSelectAll()" />\n <label for="select_all" class="govuk-label govuk-checkboxes__label">Select all / Deselect all</label>\n </div>\n <div class="checkbox-items">\n <div *ngFor="let item of options; let i = index" class="govuk-checkboxes__item">\n <input type="checkbox" [id]="\'select_\' + i" class="govuk-checkboxes__input" [checked]="isSelected(item)"\n (change)="toggleItemSelection(item)" />\n <label [for]="\'select_\' + i" class="govuk-label govuk-checkboxes__label">{{labelFunction(item)}}</label>\n </div>\n </div>\n</div>\n',encapsulation:t.ViewEncapsulation.None,styles:[".xui-checkbox-list .select-all{margin-bottom:10px}.xui-checkbox-list .checkbox-items{display:flex;flex-direction:column;flex-wrap:wrap;height:100%;max-height:100%;align-items:flex-start;align-content:flex-start;width:100%;max-width:100%;overflow-x:scroll}"]}]}],F.propDecorators={options:[{type:t.Input}],preselection:[{type:t.Input}],labelFunction:[{type:t.Input}],selectionChange:[{type:t.Output}],selection:[{type:t.Input}]};var A,M=function(){};M.decorators=[{type:t.Component,args:[{selector:"xuilib-contact-details",template:'<div class="contact-details" *ngIf="data">\n <h3 class="govuk-heading-m" *ngIf="data.title">{{ data.title }}</h3>\n <p *ngIf="data.badgeText"><span [className]="\'hmcts-badge \' + data.badgeColour">{{ data.badgeText }}</span></p>\n <div class="email" *ngIf="data.email"><span class="govuk-!-font-weight-bold">Email: </span> <a href="mailto:{{ data.email }}">{{ data.email }}</a></div>\n <div class="phone" *ngIf="data.phone"><span class="govuk-!-font-weight-bold">Phone: </span>{{ data.phone }}</div>\n <div class="opening-times" *ngIf="data.openingTimes"><span class="govuk-!-font-weight-bold">Opening times: </span>{{ data.openingTimes}}</div>\n</div>\n\n',styles:[".contact-details{margin-top:30px}.contact-details h3,.contact-details p{margin-bottom:10px}"]}]}],M.ctorParameters=function(){return[]},M.propDecorators={data:[{type:t.Input}]},e.DateBadgeColour=void 0,(A=e.DateBadgeColour||(e.DateBadgeColour={})).RED="hmcts-badge--red",A.ORANGE="hmcts-badge--orange",A.GREEN="hmcts-badge--green";var T=function(){function t(){this.highUrgencyCutoff=0,this.mediumUrgencyCutoff=2}return Object.defineProperty(t.prototype,"badge",{get:function(){return this.pBadge},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"label",{get:function(){return this.pLabel},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"accessibleLabel",{get:function(){return this.pAccessibleLabel},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"daysDiff",{get:function(){return this.pDaysDiff},enumerable:!1,configurable:!0}),t.prototype.ngOnChanges=function(){this.handleInputChanges()},t.prototype.handleInputChanges=function(){if(this.dueDate)if(this.pDaysDiff=this.getDaysDifference(this.dueDate,new Date),this.daysDiff>0){this.pBadge=e.DateBadgeColour.RED;var t=1===this.daysDiff?"day":"days";this.pLabel="+"+this.daysDiff+" "+t,this.pAccessibleLabel="This task is "+this.daysDiff+" "+t+" past its due date"}else 0===this.daysDiff?(this.pLabel="TODAY",this.pAccessibleLabel="This task is due to be completed today"):(this.pLabel=""+n.formatDate(this.dueDate,"d MMM","en-GB"),this.pAccessibleLabel="This task is due to be completed by "+n.formatDate(this.dueDate,"d MMMM y","en-GB")),this.daysDiff+this.highUrgencyCutoff>0?this.pBadge=e.DateBadgeColour.RED:this.daysDiff+this.mediumUrgencyCutoff>0?this.pBadge=e.DateBadgeColour.ORANGE:this.pBadge=e.DateBadgeColour.GREEN},t.prototype.getDaysDifference=function(e,t){var n=e.getTime(),o=t.getTime(),i=Math.floor((o-n)/1e3);return Math.floor(i/86400)},t}();T.decorators=[{type:t.Component,args:[{selector:"xuilib-due-date",template:'<span *ngIf="dueDate" class="due-date hmcts-badge" [ngClass]="badge"\n [title]="accessibleLabel" [attr.aria-label]="accessibleLabel">\n {{label}}\n</span>',encapsulation:t.ViewEncapsulation.None,styles:[".due-date{white-space:nowrap}.due-date.hmcts-badge--orange{color:#f47738;border-color:#f47738}"]}]}],T.propDecorators={dueDate:[{type:t.Input}],highUrgencyCutoff:[{type:t.Input}],mediumUrgencyCutoff:[{type:t.Input}]};var P=function(){function e(){this.givenErrors=new i.BehaviorSubject(null),this.isInitialSetting=!1,this.filterSettings={},this.streams={}}return e.prototype.persist=function(e,t){switch(t){case"local":this.persistLocal(e);break;case"session":this.persistSession(e)}this.persistMemory(e),this.updateStreams(e)},e.prototype.get=function(e){return this.filterSettings[e]?this.filterSettings[e]:sessionStorage.getItem(e)?JSON.parse(window.sessionStorage.getItem(e)):localStorage.getItem(e)?JSON.parse(window.localStorage.getItem(e)):null},e.prototype.getStream=function(e){return this.streams[e]||(this.streams[e]=new i.BehaviorSubject(this.get(e))),this.streams[e].asObservable()},e.prototype.persistLocal=function(e){window.localStorage.setItem(e.id,JSON.stringify(e))},e.prototype.persistSession=function(e){window.sessionStorage.setItem(e.id,JSON.stringify(e))},e.prototype.persistMemory=function(e){this.filterSettings[e.id]=e},e.prototype.updateStreams=function(e){this.streams[e.id]&&this.streams[e.id].next(e)},e}();function O(e,t){return e.reduce((function(e,n,o){return t[o]?E(e,[n.key]):e}),[])}P.ɵprov=v.ɵɵdefineInjectable({factory:function(){return new P},token:P,providedIn:"root"}),P.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}];var D=function(){function e(e,t){this.filterService=e,this.fb=t,this.submitted=!1}return Object.defineProperty(e.prototype,"config",{get:function(){return this._config},set:function(e){this._config=Object.assign(Object.assign({},e),{fields:e.fields.map((function(e){return Object.assign(Object.assign({},e),{displayMinSelectedError:!1,displayMaxSelectedError:!1})}))}),this._config=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"settings",{get:function(){return this._settings},set:function(e){e||this.getSettings(),e&&e.fields&&this.mergeDefaultFields(e),this._settings=e},enumerable:!1,configurable:!0}),e.addFormValidators=function(e){var t,n,o=[];return e&&e.minSelected&&o.push((t=e.minSelected,function(e){var n=e.value;return n.length&&n.filter((function(e){return e})).length>=t?null:{minLength:!0}})),e&&e.maxSelected&&o.push((n=e.maxSelected,function(e){var t=e.value;return t.length&&t.filter((function(e){return e})).length<=n?null:{maxLength:!0}})),o},e.prototype.ngOnInit=function(){var e=this;this.settings||this.getSettings(),this.mergeDefaultFields(this.settings),this.buildForm(this.config,this.settings),this.formSub=this.form.valueChanges.subscribe((function(){return e.submitted=!1}))},e.prototype.ngOnDestroy=function(){this.formSub&&this.formSub.unsubscribe()},e.prototype.hidden=function(e,t){if(!e.showCondition)return!1;if("string"==typeof e.showCondition){var n=t.get(e.name),i=L(e.showCondition.split("="),2),s=i[0],r=i[1];if(t.value&&t.value[s]===r)return"find-person"===e.type?(n.get("email").setValidators(o.Validators.required),n.get("email").updateValueAndValidity()):(n.setValidators(o.Validators.required),n.updateValueAndValidity()),!1;"find-person"===e.type?(n.get("email").clearValidators(),n.get("email").updateValueAndValidity()):(n.clearValidators(),n.updateValueAndValidity())}return!0},e.prototype.disabled=function(e,t){if(!e.enableCondition)return null;if("string"==typeof e.enableCondition){var n=t.get(e.name),i=L(e.enableCondition.split("="),2),s=i[0],r=i[1];if(t.value&&t.value[s]===r)return"find-person"===e.type?(n.get("email").setValidators(o.Validators.required),n.get("email").updateValueAndValidity()):(n.setValidators(o.Validators.required),n.updateValueAndValidity()),null;"find-person"===e.type?(n.get("email").clearValidators(),n.get("email").updateValueAndValidity()):(n.clearValidators(),n.updateValueAndValidity())}return"find-location"===e.type||(e.disable?e.disable:null)},e.prototype.applyFilter=function(e){if(this.submitted=!0,e.markAsTouched(),e.valid){this._settings={id:this.config.id,fields:this.getSelectedValues(e.value,this.config)},this.filterService.givenErrors.next(null);var t=Object.assign(Object.assign({},this.settings),{reset:!1});this.filterService.persist(t,this.config.persistence)}else this.emitFormErrors(e)},e.prototype.fieldChanged=function(e,t){var n,o;if(e.changeResetFields&&e.changeResetFields.length)try{for(var i=S(e.changeResetFields),s=i.next();!s.done;s=i.next()){var r=s.value;this.resetField(r,t)}}catch(e){n={error:e}}finally{try{s&&!s.done&&(o=i.return)&&o.call(i)}finally{if(n)throw n.error}}},e.prototype.inputChanged=function(e){if(e.radioSelectionChange&&"string"==typeof e.radioSelectionChange){var t=L(e.enableCondition.split("="),2),n=t[0],o=t[1];this.form.get(n).patchValue(o)}},e.prototype.cancelFilter=function(){this.buildForm(this.config,this.settings,!0),this.config&&this.config.cancelSetting&&(this._settings.fields=JSON.parse(JSON.stringify(this.config.cancelSetting.fields)));var e=Object.assign(Object.assign({},this.settings),{reset:!0});this.filterService.persist(e,this.config.persistence),this.filterService.givenErrors.next(null),this.submitted=!1},e.prototype.updatePersonControls=function(e,t){var n,o,i;i=e?Object.keys(e):Object.keys(this.form.get(t.name).value);try{for(var s=S(i),r=s.next();!r.done;r=s.next()){var a=r.value;if(this.form.get(t.name)&&this.form.get(t.name).get(a)){var l=e&&e[a]?e[a]:null;this.form.get(t.name).get(a).patchValue(l)}}}catch(e){n={error:e}}finally{try{r&&!r.done&&(o=s.return)&&o.call(s)}finally{if(n)throw n.error}}},e.prototype.toggleSelectAll=function(e,t,n,o){var i,s,r=e.target.checked,a=t.get(o.name);if(n.selectAll)a.controls.forEach((function(e){r?e.patchValue(!0):e.patchValue(!1)}));else{var l=a.controls.every((function(e){return e.value})),c=null,u=o.options.find((function(e,t){return!!e.hasOwnProperty("selectAll")&&(c=t,!0)})),d=a.controls.filter((function(e,t){return t!==c})).every((function(e){return e.value}));l||!u||r?u&&!l&&r&&d&&a.controls[c].patchValue(!0):a.controls.forEach((function(e,t){c!==t||e.patchValue(!1)}))}if(o.changeResetFields&&o.changeResetFields.length)try{for(var p=S(o.changeResetFields),g=p.next();!g.done;g=p.next()){var h=g.value;this.resetField(h,t)}}catch(e){i={error:e}}finally{try{g&&!g.done&&(s=p.return)&&s.call(p)}finally{if(i)throw i.error}}},e.prototype.resetField=function(e,t){var n,i,s=t.get(e),r=this.config.cancelSetting.fields.find((function(t){return t.name===e}));if(s instanceof o.FormArray)for(var a=0;a<s.length;a++)s.removeAt(a);else if(s instanceof o.FormGroup){var l=Object.keys(s.value);try{for(var c=S(l),u=c.next();!u.done;u=c.next()){var d=u.value;this.resetField(d,s)}}catch(e){n={error:e}}finally{try{u&&!u.done&&(i=c.return)&&i.call(c)}finally{if(n)throw n.error}}}else if(s instanceof o.FormControl){var p=r&&r.value&&r.value.length?r.value[0]:null;s.setValue(p)}},e.prototype.mergeDefaultFields=function(e){e?e.fields=this.filterService.get(this.config.id)?this.filterService.get(this.config.id).fields:e.fields:this.config&&this.config.cancelSetting&&(this._settings={id:this.config.id,fields:JSON.parse(JSON.stringify(this.config.cancelSetting.fields))})},e.prototype.getSettings=function(){this._settings=this.filterService.get(this.config.id)},e.prototype.buildForm=function(e,t,n){var i,s,r=this.form?this.form.get("findPersonControl"):null;this.form=this.fb.group({}),r&&this.form.addControl("findPersonControl",r);var a=function(i){if("checkbox"===i.type||"checkbox-large"===i.type){var s=l.buildCheckBoxFormArray(i,t);l.form.addControl(i.name,s)}else if("find-location"===i.type){s=l.buildFindLocationFormArray(i,t);l.form.addControl(i.name,s)}else{var r=[];i.minSelected&&i.minSelected>0&&r.push(o.Validators.required);var a=null;if(n&&e.cancelSetting){var c=e.cancelSetting.fields.find((function(e){return e.name===i.name}));a=c&&c.value?c.value[0]:""}else if(t&&t.fields){var u=t.fields.find((function(e){return e.name===i.name}));a=u&&u?u.value[0]:""}if("find-person"===i.type){var d=new o.FormGroup({domain:new o.FormControl(""),email:new o.FormControl(a&&a.hasOwnProperty("email")?a.email:"",r),id:new o.FormControl(""),name:new o.FormControl(""),knownAs:new o.FormControl("")});l.form.addControl(i.name,d)}else{var p=new o.FormControl(a,r);l.form.addControl(i.name,p)}i.findPersonField&&l.fieldChanged(i,l.form)}},l=this;try{for(var c=S(e.fields),u=c.next();!u.done;u=c.next()){a(u.value)}}catch(e){i={error:e}}finally{try{u&&!u.done&&(s=c.return)&&s.call(c)}finally{if(i)throw i.error}}},e.prototype.buildCheckBoxFormArray=function(t,n){var i,s,r,a=e.addFormValidators(t),l=this.fb.array([],a);n&&n.fields&&(r=n.fields.find((function(e){return e.name===t.name})));var c=function(e){var t=!1;r&&Array.isArray(r.value)&&(t=!!r.value.find((function(t){return t===e.key}))),l.push(new o.FormControl(t))};try{for(var u=S(t.options),d=u.next();!d.done;d=u.next()){c(d.value)}}catch(e){i={error:e}}finally{try{d&&!d.done&&(s=u.return)&&s.call(u)}finally{if(i)throw i.error}}return l},e.prototype.buildFindLocationFormArray=function(t,n){var i,s,r,a=e.addFormValidators(t),l=this.fb.array([],a);if(n&&n.fields&&(r=n.fields.find((function(e){return e.name===t.name})))&&r.value&&r.value.length>0)try{for(var c=S(r.value),u=c.next();!u.done;u=c.next()){var d=u.value;l.push(new o.FormControl(d))}}catch(e){i={error:e}}finally{try{u&&!u.done&&(s=c.return)&&s.call(c)}finally{if(i)throw i.error}}return l},e.prototype.getSelectedValues=function(e,t){return Object.keys(e).map((function(n){var o=e[n];if(Array.isArray(o)){var i=t.fields.find((function(e){return e.name===n}));return"find-location"===i.type?{value:o,name:n}:{value:O(i.options,o),name:n}}return{value:[o],name:n}}))},e.prototype.emitFormErrors=function(e){var t,n,o=[];try{for(var i=S(this.config.fields),s=i.next();!s.done;s=i.next()){var r=s.value,a=e.get(r.name);a&&a.errors&&a.errors.minLength&&o.push({name:r.name,error:r.minSelectedError}),a&&a.errors&&a.errors.maxLength&&o.push({name:r.name,error:r.minSelectedError})}}catch(e){t={error:e}}finally{try{s&&!s.done&&(n=i.return)&&n.call(i)}finally{if(t)throw t.error}}o.length&&this.filterService.givenErrors.next(o)},e}();D.decorators=[{type:t.Component,args:[{selector:"xuilib-generic-filter",template:'<form [formGroup]="form" (ngSubmit)="applyFilter(form)">\n <div class="contain-classes" *ngFor="let field of config.fields">\n <hr *ngIf="field.lineBreakBefore" class="govuk-section-break govuk-section-break--visible elevated-break">\n <div class="govuk-form-group xui-generic-filter"\n [hidden]="hidden(field, form)"\n [id]="field.name"\n [ngClass]="{\'form-group-error\': submitted && (form.get(field.name).errors?.minLength || form.get(field.name).errors?.maxLength)}">\n <h3 *ngIf="field.title" class="govuk-heading-s">{{field.title}}</h3>\n <p class="govuk-body" *ngIf="field.subTitle">{{field.subTitle}}</p>\n <span [id]="field.name + \'-error\'" class="govuk-error-message" *ngIf="field.displayMinSelectedError && submitted && form.get(field.name).errors?.minLength">\n <span class="govuk-visually-hidden">Error:</span> {{field.minSelectedError}}\n </span>\n <span [id]="field.name + \'-error\'" class="govuk-error-message" *ngIf="field.displayMaxSelectedError && submitted && form.get(field.name).errors?.maxLength">\n <span class="govuk-visually-hidden">Error:</span> {{field.maxSelectedError}}\n </span>\n <div class="govuk-body" [ngSwitch]="field.type">\n <ng-container *ngSwitchCase="\'select\'">\n <select class="govuk-select" (change)="fieldChanged(field, form)" [attr.disabled]="disabled(field, form)" [name]="\'select_\' + field.name" [id]="\'select_\' + field.name" [formControlName]="field.name">\n <option disabled selected hidden value="">{{field.disabledText}}</option>\n <option class="govuk-radios__item" *ngFor="let item of field.options" [value]="item.key">{{item.label}}</option>\n </select>\n </ng-container>\n <ng-container *ngSwitchCase="\'checkbox\'">\n <div class="govuk-checkboxes govuk-checkboxes--small" [formGroupName]="field.name" [attr.field]="field.name" [id]="\'checkbox_\' + field.name">\n <div *ngFor="let item of field.options; let i = index" class="govuk-checkboxes__item">\n <input type="checkbox" class="govuk-checkboxes__input"\n [attr.disabled]="disabled(field, form)"\n [formControlName]="i"\n (change)="toggleSelectAll($event, form, item, field)"\n [value]="item.key" [id]="\'checkbox_\' + item.key"\n [name]="\'checkbox_\' + item.key"\n />\n <label\n [for]="\'checkbox_\' + item.key"\n class="govuk-label govuk-checkboxes__label"\n [ngClass]="{\'govuk-!-font-weight-bold\': item.selectAll}"\n >{{item.label}}</label>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase="\'checkbox-large\'">\n <div class="govuk-checkboxes" [formGroupName]="field.name" [attr.field]="field.name" [id]="\'checkbox_\' + field.name">\n <div *ngFor="let item of field.options; let i = index" class="govuk-checkboxes__item">\n <input type="checkbox" class="govuk-checkboxes__input"\n [attr.disabled]="disabled(field, form)"\n [formControlName]="i"\n (change)="toggleSelectAll($event, form, item, field)"\n [value]="item.key" [id]="\'checkbox_\' + item.key"\n [name]="\'checkbox_\' + item.key"\n />\n <label\n [for]="\'checkbox_\' + item.key"\n class="govuk-label govuk-checkboxes__label"\n [ngClass]="{\'govuk-!-font-weight-bold\': item.selectAll}"\n >{{item.label}}</label>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase="\'radio\'">\n <div class="govuk-radios">\n <div *ngFor="let item of field.options" class="govuk-radios__item">\n <input type="radio"\n [formControlName]="field.name"\n [id]="\'radio_\' + item.key"\n [attr.disabled]="disabled(field, form)"\n [checked]="item.key === form.get(field.name).value"\n class="govuk-radios__input"\n [value]="item.key"\n (change)="fieldChanged(field, form)"\n />\n <label [for]="\'radio_\' + item.key" class="govuk-label govuk-radios__label">{{item.label}}</label>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase="\'find-person\'">\n <xuilib-find-person subTitle="" (personSelected)="updatePersonControls($event, field)"\n (personFieldChanged)="inputChanged(field)"\n [submitted]="submitted"\n [disabled]="disabled(field, form)"\n [domain]="form.get(field.domainField)?.value"\n [findPersonGroup]="form"\n [selectedPerson]="form.get(field.name)?.value?.email"\n [userIncluded]="false"\n ></xuilib-find-person>\n </ng-container>\n <ng-container *ngSwitchCase="\'find-location\'">\n <xuilib-find-location (locationFieldChanged)="inputChanged(field)"\n [form]="form"\n [fields]="config.fields"\n [locationTitle]="field.locationTitle"\n [enableAddLocationButton]="field.enableAddButton"\n [disabled]="disabled(field, form)"\n [disableInputField]="field.disable"\n [selectedLocations]="form.get(field.name)?.value"\n [submitted]="submitted"\n [services]="form.get(field.findLocationField)?.value"\n [field]="field"\n ></xuilib-find-location>\n </ng-container>\n <ng-container *ngSwitchCase="\'find-service\'">\n <xuilib-find-service (serviceFieldChanged)="inputChanged(field)"\n [form]="form"\n [fields]="config.fields"\n [title]="field.title"\n [enableAddServiceButton]="field.enableAddButton"\n [disabled]="disabled(field, form)"\n [disableInputField]="field.disable"\n [selectedServices]="form.get(field.name)?.value" \n [field]="field"\n ></xuilib-find-service>\n </ng-container>\n </div>\n </div>\n </div>\n <hr class="govuk-section-break govuk-section-break--m govuk-section-break--visible"/>\n <div class="govuk-grid-row">\n <div class="govuk-grid-column-full">\n <button\n class="govuk-button govuk-!-margin-right-1 govuk-!-margin-bottom-0"\n type="submit"\n id="applyFilter"\n [disabled]="config.enableDisabledButton && form.invalid"\n >{{config.applyButtonText || \'Apply\'}}</button>\n <button *ngIf="config.showCancelFilterButton"\n class="govuk-button govuk-button--secondary govuk-!-margin-bottom-0"\n type="button"\n id="cancelFilter"\n (click)="cancelFilter()">{{ config.cancelButtonText || \'Cancel\'}}</button>\n </div>\n </div>\n</form>\n',changeDetection:t.ChangeDetectionStrategy.OnPush,encapsulation:t.ViewEncapsulation.None,styles:[".contain-classes .elevated-break{position:relative;top:-10px}.contain-classes .xui-generic-filter .select-all{margin-bottom:10px}.contain-classes .xui-generic-filter .govuk-checkboxes{display:flex;flex-wrap:wrap}.contain-classes .xui-generic-filter .govuk-checkboxes>div{flex-grow:1;flex-shrink:0}"]}]}],D.ctorParameters=function(){return[{type:P},{type:o.FormBuilder}]},D.propDecorators={config:[{type:t.Input}],settings:[{type:t.Input}]};var U=function(){function e(){this.close=new t.EventEmitter}return e.prototype.onClose=function(){this.close.emit()},e}();U.decorators=[{type:t.Component,args:[{selector:"xuilib-session-dialog",template:'<div class="gem-c-modal-dialogue" data-module="modal-dialogue" id="modal-default" style="display: block;">\n <div class="gem-c-modal-dialogue__overlay"></div>\n <dialog class="gem-c-modal-dialogue__box" aria-modal="true" role="dialog" tabindex="0" [ngStyle]="{\'margin-top\': positionTop}">\n <div class="gem-c-modal-dialogue__header">\n <svg role="presentation" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 38 38" height="33" width="33">\n <style type="text/css">\n .st0{fill:#FFFFFF;}\n </style>\n <g id="_4_-_granular_components_warning_icon" transform="translate(0.5 0.5)">\n <g id="Warning_icon" transform="translate(0)">\n <path id="Exclusion_1" class="st0" d="M18.5,37.5c-5.04,0.01-9.88-1.99-13.44-5.57C1.49,28.38-0.51,23.54-0.5,18.5\n c-0.01-5.04,1.99-9.88,5.56-13.43C8.62,1.49,13.46-0.51,18.5-0.5c5.04-0.01,9.88,1.99,13.44,5.56c3.57,3.56,5.58,8.39,5.56,13.44\n c0.01,5.04-1.99,9.88-5.56,13.44C28.38,35.51,23.54,37.51,18.5,37.5z M18.52,24.29c-0.4,0-0.8,0.08-1.17,0.23\n c-0.36,0.15-0.69,0.37-0.97,0.64c-0.28,0.27-0.5,0.59-0.65,0.95c-0.16,0.36-0.24,0.76-0.23,1.15c0,0.4,0.08,0.8,0.23,1.17\n c0.15,0.36,0.37,0.68,0.65,0.96c0.28,0.27,0.61,0.49,0.97,0.64c0.37,0.16,0.77,0.24,1.17,0.24c0.4,0,0.79-0.08,1.15-0.24\n c0.35-0.15,0.67-0.37,0.95-0.64c0.27-0.27,0.49-0.6,0.64-0.96c0.16-0.37,0.24-0.77,0.23-1.17c0-0.4-0.08-0.79-0.23-1.15\n c-0.15-0.35-0.37-0.67-0.64-0.95c-0.27-0.27-0.6-0.49-0.95-0.64C19.31,24.37,18.92,24.29,18.52,24.29L18.52,24.29z M16.11,7.5\n l0.42,14.87h3.91L20.86,7.5H16.11z"/>\n </g>\n </g>\n </svg>\n <div class="gem-c-modal-dialogue__title">We are about to sign you out</div>\n </div>\n <div class="gem-c-modal-dialogue__content">\n <ng-content></ng-content>\n </div>\n </dialog>\n</div>\n',styles:[".gem-c-modal-dialogue{display:none;z-index:1000;overflow-x:hidden;overflow-y:scroll;outline:0}.gem-c-modal-dialogue,.gem-c-modal-dialogue__box{position:fixed;top:0;left:0;width:100%;height:100%}.gem-c-modal-dialogue__box{display:block;background:#fff;right:0;bottom:0;margin:0;padding:0;overflow-y:auto;border:0;font-family:GDS Transport,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-size:16px;font-size:1rem;line-height:1.25;color:#0b0c0c}.gem-c-modal-dialogue__box:focus{outline:3px solid #fd0}@media print{.gem-c-modal-dialogue__box{font-family:sans-serif}}@media (min-width:40.0625em){.gem-c-modal-dialogue__box{font-size:1.1875rem;line-height:1.3157894737}}@media print{.gem-c-modal-dialogue__box{font-size:14pt;line-height:1.15;color:#000}}@media (min-width:40.0625em){.gem-c-modal-dialogue__box{position:relative;top:inherit;right:inherit;bottom:inherit;left:inherit;width:auto;max-width:640px;height:auto;margin:30px auto;border:2px solid #0b0c0c}}@media (min-width:40.0625em){.gem-c-modal-dialogue__box--wide{max-width:960px}}@media (min-width:40.0625em) and (max-width:64em){.gem-c-modal-dialogue__box--wide{margin:30px}}.gem-c-modal-dialogue__overlay{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:.8;background:#0b0c0c;pointer-events:none;touch-action:none}@media screen{.gem-o-template--modal{overflow-y:inherit}}.gem-o-template__body--modal{overflow:hidden}.gem-o-template__body--blur .govuk-footer,.gem-o-template__body--blur .govuk-header,.gem-o-template__body--blur .govuk-main-wrapper,.gem-o-template__body--blur .govuk-phase-banner,.gem-o-template__body--blur .govuk-skip-link,.gem-o-template__body--blur .govuk-width-container .govuk-back-link{filter:blur(2px)}.govuk-warning-text__icon{margin:0 0 0 12px}.gem-c-modal-dialogue__header{padding:9px 15px 10px;color:#fff;background:#d4351d;display:flex}.gem-c-modal-dialogue__title{margin:5px 0 4px 12px}.gem-c-modal-dialogue__logotype-crown{fill:currentColor;vertical-align:middle}.gem-c-modal-dialogue__logotype-crown-fallback-image{width:30px;height:26px;border:0;vertical-align:middle}.gem-c-modal-dialogue__content{padding:15px;background:#fff}.gem-c-modal-dialogue__close-button{position:absolute;top:0;right:0;width:44px;height:44px;border:0;color:#fff;background:none;cursor:pointer;font-family:GDS Transport,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:700;font-size:1.5rem;line-height:1.3}@media print{.gem-c-modal-dialogue__close-button{font-family:sans-serif}}@media (min-width:40.0625em){.gem-c-modal-dialogue__close-button{font-size:2.25rem;line-height:1.3}}@media print{.gem-c-modal-dialogue__close-button{font-size:24pt;line-height:1.3}}@media (max-width:40.0525em){.gem-c-modal-dialogue__close-button{font-size:36px;line-height:1.3}}.gem-c-modal-dialogue__close-button:focus,.gem-c-modal-dialogue__close-button:hover{color:#0b0c0c;box-shadow:0 -2px #fd0,0 4px #0b0c0c;text-decoration:none;outline:none;background:#fd0}"]}]}],U.ctorParameters=function(){return[]},U.propDecorators={positionTop:[{type:t.Input}],close:[{type:t.Output}]};var N=function(){function e(){this.submitForm=new t.EventEmitter}return Object.defineProperty(e.prototype,"errorMessages",{set:function(e){this.isInvalid=e||{}},enumerable:!1,configurable:!0}),e.prototype.onSubmit=function(){this.submitForm.emit()},e}();N.decorators=[{type:t.Component,args:[{selector:"xuilib-invite-user-form",template:'\n<form [formGroup]="inviteUserForm" (ngSubmit)="onSubmit()" >\n\n <xuilib-gov-uk-input\n [config]="{label: \'First name\', hint: \'Include all middle names.\', name: \'firstName\', id: \'firstName\', type: \'text\', classes: \'testClass\'}"\n [errorMessage]="isInvalid.firstName"\n [group]="inviteUserForm">\n </xuilib-gov-uk-input>\n\n <xuilib-gov-uk-input\n [config]="{label: \'Last name\', name: \'lastName\', id: \'lastName\', type: \'text\'}"\n [errorMessage]="isInvalid.lastName"\n [group]="inviteUserForm">\n </xuilib-gov-uk-input>\n\n <xuilib-gov-uk-input\n [config]="{label: \'Email address\', name: \'email\', id: \'email\', type: \'email\'}"\n [errorMessage]="isInvalid.email"\n [group]="inviteUserForm">\n </xuilib-gov-uk-input>\n\n <xuilib-invite-permission-form [inviteUserForm]="inviteUserForm" [errorMessages]="isInvalid.roles">\n </xuilib-invite-permission-form>\n\n <button type="submit" class="govuk-button">\n Send invitation\n </button>\n</form>\n'}]}],N.propDecorators={submitForm:[{type:t.Output}],inviteUserForm:[{type:t.Input}],errorMessages:[{type:t.Input}]};var j=function(){this.isPuiCaseManager=!1,this.isPuiUserManager=!1,this.isPuiOrganisationManager=!1,this.isPuiFinanceManager=!1};j.decorators=[{type:t.Component,args:[{selector:"xuilib-invite-permission-form",template:" \x3c!--permissions --\x3e\n <ng-container [formGroup]=\"inviteUserForm\">\n <xuilib-gov-uk-form-group-wrapper\n [config]=\"{hint: 'Choose what the user will be able to do. You can change this later.', legend: 'Permissions', key: 'roles'}\"\n [formGroupName]=\"'roles'\"\n [error]=\"errorMessages\">\n\n <div class=\"govuk-checkboxes\">\n <xuilib-gov-checkbox\n [group]=\"inviteUserForm.controls['roles']\"\n [isChecked]=\"isPuiCaseManager\"\n [config]=\"{value: 'pui-case-manager', label: 'Manage Cases', name: 'roles', hint: 'View, create and progress cases.', focusOn: 'roles'}\">\n </xuilib-gov-checkbox>\n\n <xuilib-gov-checkbox\n [group]=\"inviteUserForm.controls['roles']\"\n [isChecked]=\"isPuiUserManager\"\n [config]=\"{value: 'pui-user-manager', label: 'Manage Users', name: 'roles',\n hint: 'Invite users.'}\">\n </xuilib-gov-checkbox>\n\n <xuilib-gov-checkbox\n [group]=\"inviteUserForm.controls['roles']\"\n [isChecked]=\"isPuiOrganisationManager\"\n [config]=\"{value: 'pui-organisation-manager', label: 'Manage Organisation', name: 'roles',\n hint: 'View organisation name and addresses.'}\">\n </xuilib-gov-checkbox>\n\n \x3c!-- <xuilib-gov-checkbox\n [group]=\"inviteUserForm.controls['roles']\"\n [isChecked]=\"isPuiFinanceManager\"\n [config]=\"{value: 'pui-finance-manager', label: 'Manage Payments', name: 'roles',\n hint: 'View account balances, available credit and transactions.'}\">\n </xuilib-gov-checkbox> --\x3e\n </div>\n\n </xuilib-gov-uk-form-group-wrapper>\n</ng-container>"}]}],j.propDecorators={inviteUserForm:[{type:t.Input}],isPuiCaseManager:[{type:t.Input}],isPuiUserManager:[{type:t.Input}],isPuiOrganisationManager:[{type:t.Input}],isPuiFinanceManager:[{type:t.Input}],errorMessages:[{type:t.Input}]};var R=function(){this.loadingText="Loading"};R.decorators=[{type:t.Component,args:[{selector:"xuilib-loading-spinner",template:'<div class="spinner-container">\n <div class="spinner-inner-container">\n <p>{{loadingText}}</p>\n <div class="spinner" style="margin: auto;"></div>\n </div>\n</div>\n',encapsulation:t.ViewEncapsulation.None,styles:[".spinner-container{position:fixed;top:0;left:0;height:100%;width:100%;display:flex;justify-content:center;align-items:center;background:hsla(0,0%,100%,.5);z-index:99}.spinner-container .spinner-inner-container p{text-align:center}.spinner-container .spinner-inner-container .spinner{border:10px solid #ddd;border-top-color:#000;border-radius:50%;width:40px;height:40px;-webkit-animation:spin 1s linear infinite;animation:spin 1s linear infinite}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}"]}]}],R.propDecorators={loadingText:[{type:t.Input}]};var B=function(){function e(){this.caseState=[],this.subject=new i.BehaviorSubject(this.caseState)}return Object.defineProperty(e.prototype,"state",{get:function(){return this.subject.asObservable().pipe(s.distinctUntilChanged())},enumerable:!1,configurable:!0}),e.prototype.setCases=function(e){var t=this;this.caseState=[],e.forEach((function(e){t.caseState.push({caseId:e.caseId,caseTitle:e.caseTitle,caseTypeId:e.caseTypeId,roles:e.roles,sharedWith:e.sharedWith,pendingShares:e.pendingShares,pendingUnshares:e.pendingUnshares})})),this.subject.next(this.caseState)},e.prototype.getCases=function(){return this.caseState},e.prototype.requestShare=function(e){var t,n,o=this.caseState.slice(),i=[];try{for(var s=S(o),r=s.next();!r.done;r=s.next()){var a=r.value;a.pendingShares||(a.pendingShares=[]);var l=a.pendingShares.slice();a.pendingUnshares||(a.pendingUnshares=[]);var c=a.pendingUnshares.slice();if(this.userHasAccess(a,e)){for(var u=0,d=c.length;u<d;u++)if(c[u].email===e.email){c.splice(u,1);break}}else l.some((function(t){return t.email===e.email}))||l.push(e);var p=Object.assign(Object.assign({},a),{pendingUnshares:c,pendingShares:l});i.push(p)}}catch(e){t={error:e}}finally{try{r&&!r.done&&(n=s.return)&&n.call(s)}finally{if(t)throw t.error}}return this.subject.next(i),i},e.prototype.requestUnshare=function(e,t){var n,o,i=[];try{for(var s=S(this.caseState),r=s.next();!r.done;r=s.next()){var a=r.value;if(void 0===t||a.caseId===t){a.pendingUnshares||(a.pendingUnshares=[]);var l=a.pendingUnshares.slice(),c=void 0,u=-1;a.pendingShares&&(u=a.pendingShares.findIndex((function(t){return t.idamId===e.idamId})))>-1&&(c=a.pendingShares.slice()).splice(u,1),-1===u&&a.sharedWith&&a.sharedWith.findIndex((function(t){return t.idamId===e.idamId}))>-1&&(l.some((function(t){return t.email===e.email}))||l.push(e));var d=Object.assign(Object.assign(Object.assign({},a),{pendingUnshares:l}),c&&{pendingShares:c});i.push(d)}else i.push(a)}}catch(e){n={error:e}}finally{try{r&&!r.done&&(o=s.return)&&o.call(s)}finally{if(n)throw n.error}}return this.subject.next(i),i},e.prototype.requestCancel=function(e,t){var n,o,i=[];try{for(var s=S(this.caseState),r=s.next();!r.done;r=s.next()){var a=r.value;if(a.caseId===e){a.pendingUnshares||(a.pendingUnshares=[]);for(var l=a.pendingUnshares.slice(),c=0;c<l.length;c++)if(l[c].email===t.email){l.splice(c,1);break}a.pendingShares||(a.pendingShares=[]);for(var u=a.pendingShares.slice(),d=0;d<u.length;d++)if(u[d].email===t.email){u.splice(d,1);break}var p=Object.assign(Object.assign({},a),{pendingUnshares:l,pendingShares:u});i.push(p)}else i.push(a)}}catch(e){n={error:e}}finally{try{r&&!r.done&&(o=s.return)&&o.call(s)}finally{if(n)throw n.error}}this.subject.next(i)},e.prototype.removeCase=function(e){if(this.caseState.length>1)for(var t=0,n=this.caseState.length;t<n;t++)if(this.caseState[t].caseId===e)return this.caseState.splice(t,1),void this.subject.next(this.caseState)},e.prototype.userHasAccess=function(e,t){if(!e.sharedWith)return!1;for(var n=0,o=e.sharedWith.length;n<o;n++)if(e.sharedWith[n].email===t.email)return!0;return!1},e}();B.ɵprov=v.ɵɵdefineInjectable({factory:function(){return new B},token:B,providedIn:"root"}),B.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],B.ctorParameters=function(){return[]};var G=function(){function e(e){this.stateService=e,this.changeLink=""}return e.prototype.ngOnInit=function(){var e=this;this.shareCases$=this.stateService.state,this.shareCases$.subscribe((function(t){return e.shareCases=t}))},e.prototype.trackByUserId=function(e){return e.idamId},e.prototype.showUserAccessBlock=function(){return!!(this.sharedCase.pendingShares&&this.sharedCase.pendingShares.length>0)||this.sharedCase.pendingUnshares&&this.sharedCase.pendingUnshares.length>0},e}();G.decorators=[{type:t.Component,args:[{selector:"xuilib-selected-case-confirm",template:'<div id="user-access-block-{{ sharedCase.caseId }}" *ngIf="showUserAccessBlock()">\n <h2 class="govuk-heading-m case-share-confirm__title">{{ sharedCase.caseTitle }}</h2>\n <div class="case-share-confirm__caption-area">\n <div class="govuk-caption-m case-share-confirm__caption">\n {{ sharedCase.caseId }}\n </div>\n <a [routerLink]="changeLink" class="case-share-confirm__change-link govuk-link govuk-!-font-size-19">Change</a>\n </div>\n <table class="govuk-table">\n <thead class="govuk-table__head">\n <tr class="govuk-table__row">\n <th class="govuk-table__header govuk-table-column-header" scope="col">Name</th>\n <th class="govuk-table__header govuk-table-column-header" scope="col">Email address</th>\n <th class="govuk-table__header govuk-table-column-actions" scope="col">Actions</th>\n </tr>\n </thead>\n <tbody class="govuk-table__body">\n <tr class="govuk-table__row" *ngFor="let user of sharedCase.pendingShares; trackBy: trackByUserId">\n <td class="govuk-table__cell">{{ user.firstName + \' \' + user.lastName }}</td>\n <td class="govuk-table__cell">{{ user.email }}</td>\n <td class="govuk-table__cell">\n <span class="hmcts-badge">To be added</span>\n </td>\n </tr>\n <tr class="govuk-table__row" *ngFor="let user of sharedCase.pendingUnshares; trackBy: trackByUserId">\n <td class="govuk-table__cell">{{ user.firstName + \' \' + user.lastName }}</td>\n <td class="govuk-table__cell">{{ user.email }}</td>\n <td class="govuk-table__cell">\n <span class="hmcts-badge hmcts-badge--red">To be removed</span>\n </td>\n </tr>\n </tbody>\n </table>\n</div>\n',styles:[".case-share-confirm__title{margin-bottom:0}.case-share-confirm__caption-area{border-bottom:1px solid #b1b4b6;padding-bottom:10px;display:inline-block;width:100%;clear:both}.case-share-confirm__caption{float:left}.case-share-confirm__change-link{float:right}.govuk-table-column-header{width:45%}.govuk-table-column-actions{width:10%}"]}]}],G.ctorParameters=function(){return[{type:B}]},G.propDecorators={sharedCase:[{type:t.Input}],changeLink:[{type:t.Input}]};var V=function(){function e(e){this.stateService=e,this.shareCases=[],this.toConfirm=!1,this.changeLink="",this.unselect=new t.EventEmitter,this.synchronizeStore=new t.EventEmitter}return e.prototype.ngOnInit=function(){var e=this;this.shareCases$=this.stateService.state,this.shareCases$.subscribe((function(t){e.shareCases=t,e.caseCount=e.shareCases.length}))},e.prototype.onUnselect=function(e){this.unselect.emit(e),this.caseCount=this.shareCases.length},e.prototype.onSynchronizeStore=function(e){this.synchronizeStore.emit(e)},e.prototype.trackByCaseId=function(e){return e.caseId},e}();V.decorators=[{type:t.Component,args:[{selector:"xuilib-selected-case-list",template:'<ng-container *ngIf="!toConfirm">\n <xuilib-selected-case\n *ngFor="let sharedCase of (shareCases$ | async); trackBy: trackByCaseId"\n [sharedCase]="sharedCase"\n [caseCount]="caseCount"\n [removeUserFromCaseToggleOn]="removeUserFromCaseToggleOn"\n (unselect)="onUnselect($event)"\n (synchronizeStore)="onSynchronizeStore($event)"\n >\n </xuilib-selected-case>\n</ng-container>\n\n<ng-container *ngIf="toConfirm">\n <xuilib-selected-case-confirm\n *ngFor="let sharedCase of (shareCases$ | async); trackBy: trackByCaseId"\n [sharedCase]="sharedCase"\n [changeLink]="changeLink">\n </xuilib-selected-case-confirm>\n</ng-container>\n',styles:[""]}]}],V.ctorParameters=function(){return[{type:B}]},V.propDecorators={shareCases$:[{type:t.Input}],removeUserFromCaseToggleOn:[{type:t.Input}],toConfirm:[{type:t.Input}],changeLink:[{type:t.Input}],unselect:[{type:t.Output}],synchronizeStore:[{type:t.Output}]};var z=function(){function e(e){this.stateService=e,this.opened=!1,this.unselect=new t.EventEmitter,this.synchronizeStore=new t.EventEmitter}return e.prototype.ngOnInit=function(){var e=this;this.shareCases$=this.stateService.state,this.shareCases$.subscribe((function(t){return e.shareCases=t}))},e.prototype.ngOnChanges=function(e){if(e.sharedCase){var t=this.sharedCase.sharedWith?this.sharedCase.sharedWith:[],n=this.sharedCase.pendingShares?this.sharedCase.pendingShares:[];this.combinedSortedShares=this.combineAndSortShares(t,n)}},e.prototype.onDeselect=function(e){this.unselect.emit(e)},e.prototype.trackByUserId=function(e){return e.idamId},e.prototype.canRemove=function(e,t){var n=this;return this.shareCases$.pipe(s.map((function(o){var i,s;if(n.removeUserFromCaseToggleOn)try{for(var r=S(o),a=r.next();!a.done;a=r.next()){var l=a.value;if(l.caseId===e){if(l.pendingUnshares&&l.pendingUnshares.some((function(e){return e.idamId===t.idamId})))return!1;if(l.sharedWith&&l.sharedWith.some((function(e){return e.idamId===t.idamId})))return!0}}}catch(e){i={error:e}}finally{try{a&&!a.done&&(s=r.return)&&s.call(r)}finally{if(i)throw i.error}}return!1})))},e.prototype.canCancel=function(e,t){return this.shareCases$.pipe(s.map((function(n){var o,i;try{for(var s=S(n),r=s.next();!r.done;r=s.next()){var a=r.value;if(a.caseId===e)return!(!a.pendingShares||!a.pendingShares.some((function(e){return e.idamId===t.idamId})))||!(!a.pendingUnshares||!a.pendingUnshares.some((function(e){return e.idamId===t.idamId})))}}catch(e){o={error:e}}finally{try{r&&!r.done&&(i=s.return)&&i.call(s)}finally{if(o)throw o.error}}})))},e.prototype.isToBeRemoved=function(e,t){return this.shareCases$.pipe(s.map((function(n){var o,i;try{for(var s=S(n),r=s.next();!r.done;r=s.next()){var a=r.value;if(a.caseId===e)return a.pendingUnshares&&a.pendingUnshares.some((function(e){return e.idamId===t.idamId}))}}catch(e){o={error:e}}finally{try{r&&!r.done&&(i=s.return)&&i.call(s)}finally{if(o)throw o.error}}})))},e.prototype.isToBeAdded=function(e,t){return this.shareCases$.pipe(s.map((function(n){var o,i;try{for(var s=S(n),r=s.next();!r.done;r=s.next()){var a=r.value;if(a.caseId===e)return a.pendingShares&&a.pendingShares.some((function(e){return e.idamId===t.idamId}))}}catch(e){o={error:e}}finally{try{r&&!r.done&&(i=s.return)&&i.call(s)}finally{if(o)throw o.error}}})))},e.prototype.onRemove=function(e,t){this.stateService.requestUnshare(e,t.caseId),this.synchronizeStore.emit(this.shareCases)},e.prototype.onCancel=function(e,t){this.stateService.requestCancel(t.caseId,e),this.synchronizeStore.emit(this.shareCases)},e.prototype.showNoUsersAccessInfo=function(){return!(this.sharedCase.pendingShares&&this.sharedCase.pendingShares.length>0)&&(!(!this.sharedCase.sharedWith||0!==this.sharedCase.sharedWith.length)||!!(this.sharedCase.sharedWith&&this.sharedCase.pendingUnshares&&this.sharedCase.pendingUnshares.length>0&&this.sharedCase.sharedWith.length===this.sharedCase.pendingUnshares.length))},e.prototype.showUserHasAccessInfo=function(){return!this.showNoUsersAccessInfo()},e.prototype.showUserAccessTable=function(){return!!(this.sharedCase.pendingShares&&this.sharedCase.pendingShares.length>0)||!!(this.sharedCase.sharedWith&&this.sharedCase.sharedWith.length>0)},e.prototype.combineAndSortShares=function(e,t){return E(e,t).sort((function(e,t){return e.firstName.toLowerCase()>t.firstName.toLowerCase()?1:t.firstName.toLowerCase()>e.firstName.toLowerCase()?-1:0}))},e.prototype.userIdSetter=function(e,t){return e?"pendingShares-"+t:""+t},e.prototype.buildElementId=function(e){return e+"-"+this.sharedCase.caseId},e}();z.decorators=[{type:t.Component,args:[{selector:"xuilib-selected-case",template:'<div id="{{buildElementId(\'govuk-accordion__section\')}}" class="govuk-accordion__section">\n <div class="govuk-grid-row govuk-case-header">\n <div class="govuk-grid-column-three-quarters">\n <h3 id="{{buildElementId(\'case-title\')}}" class="govuk-case-title">{{ sharedCase.caseTitle }}</h3>\n <h1 id="{{buildElementId(\'case-id\')}}" class="govuk-case-sub-title">{{ sharedCase.caseId }}</h1>\n </div>\n <div class="govuk-grid-column-twenty-percent">\n <button *ngIf="caseCount > 1"\n id="{{buildElementId(\'btn-deselect-case\')}}" \n class="govuk-button hmcts-button--secondary" \n (click)="onDeselect(sharedCase)" \n title="Deselect case">Deselect case\n </button>\n </div>\n <div class="govuk-accordion__section-header govuk-grid-column-five-percent">\n <div class="govuk-accordion__section-heading">\n <button type="button" id="{{buildElementId(\'accordion-with-summary-sections-heading\')}}"\n aria-controls="accordion-with-summary-sections-content-1" class="govuk-accordion__section-button"\n aria-describedby="accordion-with-summary-sections-summary-1" aria-expanded="false" title="Expand or Collapse">\n <span class="govuk-accordion__icon" aria-hidden="true"></span></button>\n </div>\n </div>\n </div>\n <div id="{{buildElementId(\'accordion-with-summary-sections-content\')}}" class="govuk-accordion__section-content"\n aria-labelledby="buildElementId(\'accordion-with-summary-sections-heading\')" >\n <div class="govuk-grid-row" *ngIf="showNoUsersAccessInfo()">\n <span id="{{buildElementId(\'access-info-no-user\')}}" class="govuk-div-align-left">No users from your organisation currently have access to this case.</span>\n </div>\n <div class="govuk-grid-row" *ngIf="showUserHasAccessInfo()">\n <span id="{{buildElementId(\'access-info-has-users\')}}" class="govuk-div-align-left">Users from your organisation with access to this case.</span>\n </div>\n <table class="govuk-table" *ngIf="showUserAccessTable()">\n <thead class="govuk-table__head">\n <tr class="govuk-table__row">\n <th id="{{buildElementId(\'name-heading\')}}" class="govuk-table__header govuk-table-column-header" scope="col">Name</th>\n <th id="{{buildElementId(\'email-heading\')}}" class="govuk-table__header govuk-table-column-header" scope="col">Email address</th>\n <th id="{{buildElementId(\'action-heading\')}}" class="govuk-table__header govuk-table-column-actions" scope="col">Actions</th>\n <th id="{{buildElementId(\'label-heading\')}}" class="govuk-table__header govuk-table-column-label" scope="col">Status</th>\n </tr>\n </thead>\n <tbody class="govuk-table__body">\n <tr class="govuk-table__row" *ngFor="let user of combinedSortedShares; index as idx; trackBy: trackByUserId">\n <td id="user-full-name-{{ userIdSetter(canCancel(sharedCase.caseId, user) | async, idx) }}" class="govuk-table__cell">{{ user.firstName + \' \' + user.lastName }}</td>\n <td id="user-email-{{ userIdSetter(canCancel(sharedCase.caseId, user) | async, idx) }}" class="govuk-table__cell">{{ user.email }}</td>\n <td class="govuk-table__cell">\n <a *ngIf="canRemove(sharedCase.caseId, user) | async" (click)="onRemove(user, sharedCase)" href="javascript:void(0);">Remove <span class="govuk-visually-hidden">{{ user.firstName + \' \' + user.lastName }} from case</span></a>\n <a *ngIf="canCancel(sharedCase.caseId, user) | async" (click)="onCancel(user, sharedCase)" href="javascript:void(0);">Cancel <span class="govuk-visually-hidden">adding {{ user.firstName + \' \' + user.lastName }} to case</span></a>\n </td>\n <td class="govuk-table__cell">\n <span *ngIf="isToBeRemoved(sharedCase.caseId, user) | async" class="hmcts-badge hmcts-badge--red">To be removed</span>\n <span *ngIf="isToBeAdded(sharedCase.caseId, user) | async" class="hmcts-badge">To be added</span>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n</div>\n',styles:[".govuk-case-header{border-top:1px solid #bfc1c3}.govuk-case-title{font-size:24px;color:#005ea5;font-weight:700}.govuk-case-sub-title,.govuk-case-title{font-family:nta,Arial,sans-serif;padding-left:0}.govuk-case-sub-title{font-size:1rem!important;color:#6f777b;font-weight:400}.govuk-grid-row{margin-left:0;margin-right:0}.govuk-grid-column-three-quarters{padding-top:5px;padding-left:0}.govuk-grid-column-twenty-percent{box-sizing:border-box;padding-top:10px;width:20%;float:left}.govuk-grid-column-five-percent{box-sizing:border-box;padding-top:15px;width:5%;float:left}.govuk-table-column-header{width:38%}.govuk-table-column-actions,.govuk-table-column-label{width:12%}.govuk-div-align-left{font-family:nta,Arial,sans-serif;font-size:1.1875rem!important;line-height:1.31579!important;text-align:left;margin-bottom:20px;padding-left:0;color:#0b0c0c}.govuk-accordion__section-header{border-top:0}.govuk-accordion__section-content{padding-top:0}"]}]}],z.ctorParameters=function(){return[{type:B}]},z.propDecorators={sharedCase:[{type:t.Input}],selectedUser:[{type:t.Input}],opened:[{type:t.Input}],removeUserFromCaseToggleOn:[{type:t.Input}],caseCount:[{type:t.Input}],unselect:[{type:t.Output}],synchronizeStore:[{type:t.Output}]};var W=function(){function e(){this.hideMessage=new t.EventEmitter}return e.prototype.onHideMessageEvent=function(e){this.hideMessage.emit(e)},e}();W.decorators=[{type:t.Component,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</span>\n <h2 class="govuk-heading-s" [innerHTML]="message"></h2>\n <a [routerLink]="" class="govuk-link--no-visited-state" (click)="onHideMessageEvent(key)">Hide message</a>\n </div>\n\n</div>'}]}],W.ctorParameters=function(){return[]},W.propDecorators={message:[{type:t.Input}],key:[{type:t.Input}],hideMessage:[{type:t.Output}]};var H=function(){function e(){}return e.prototype.initialize=function(e,t){throw new Error("Not implemented")},e.prototype.isEnabled=function(e){throw new Error("Not implemented")},e.prototype.getValue=function(e,t){throw new Error("Not implemented")},e.prototype.getValueOnce=function(e,t){throw new Error("Not implemented")},e}();H.ɵprov=v.ɵɵdefineInjectable({factory:function(){return new H},token:H,providedIn:"root"}),H.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}];var $=function(){function e(e){this.featureToggleService=e,this.filteredMessages=new Map}return e.prototype.ngOnInit=function(){this.getServiceMessages()},e.prototype.getServiceMessages=function(){var e=this;this.featureToggleService.getValue(this.featureToggleKey,null).subscribe((function(t){t&&e.createFilteredMessages(t)}))},e.prototype.createFilteredMessages=function(e){var t=this;this.hiddenBanners=JSON.parse(window.sessionStorage.getItem(this.serviceMessageCookie))||[],Object.keys(e).forEach((function(n){var o=new RegExp(n);t.userRoles.some((function(e){return o.test(e)}))&&-1===t.hiddenBanners.indexOf(n)&&t.filteredMessages.set(n,e[n])}))},e.prototype.hideMessage=function(e){this.filteredMessages.delete(e),this.hiddenBanners.push(e),window.sessionStorage.setItem(this.serviceMessageCookie,JSON.stringify(this.hiddenBanners))},e}();$.decorators=[{type:t.Component,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" (hideMessage)="hideMessage($event)"></xuilib-service-message>\n</div>'}]}],$.ctorParameters=function(){return[{type:H}]},$.propDecorators={userRoles:[{type:t.Input}],featureToggleKey:[{type:t.Input}],serviceMessageCookie:[{type:t.Input}]};var q,J=function(){function e(e){this.stateService=e,this.shareCases=[],this.changeLink="",this.completeLink=""}return e.prototype.ngOnInit=function(){var e=this;this.shareCases$.subscribe((function(t){e.shareCases=t,e.stateService.setCases(t)})),this.shareCases$=this.stateService.state},e}();J.decorators=[{type:t.Component,args:[{selector:"xuilib-share-case-confirm",template:'<div id="casesToConfirm">\n <h3 class="govuk-heading-l">Cases</h3>\n <div *ngIf="shareCases && shareCases.length > 0" id="summarySections">\n <xuilib-selected-case-list\n [shareCases$]="shareCases$"\n [toConfirm]="true"\n [changeLink]="changeLink">\n </xuilib-selected-case-list>\n </div>\n\n <div id="noCaseDisplay" *ngIf="shareCases && shareCases.length === 0" class="govuk-hint">\n No cases to display.\n </div>\n\n</div>\n\n<div id="share-case-nav" *ngIf="shareCases && shareCases.length > 0">\n <button class="govuk-button" title="Confirm" [routerLink]="completeLink">Confirm</button>\n</div>\n',styles:[""]}]}],J.ctorParameters=function(){return[{type:B}]},J.propDecorators={shareCases$:[{type:t.Input}],changeLink:[{type:t.Input}],completeLink:[{type:t.Input}]},e.SharedCaseErrorMessages=void 0,(q=e.SharedCaseErrorMessages||(e.SharedCaseErrorMessages={})).OneCaseMustBeSelected="At least one case must be selected",q.NoChangesRequested="You have not requested any changes to case sharing",q.OnePersonMustBeAssigned="At least one person must be assigned to each case";var K=function(){function e(){this.selected=new t.EventEmitter,this.control=new o.FormControl}return e.prototype.ngOnInit=function(){var e=this;this.filteredUsers=this.control.valueChanges.pipe(s.map((function(t){return"string"==typeof t?e.filterUsers(t):e.users}))),this.selected.emit(null)},e.prototype.displayValue=function(e){return e?e.firstName+" "+e.lastName+" - "+e.email:""},e.prototype.onSelected=function(e){this.selected.emit(e.option.value)},e.prototype.clear=function(){this.control.setValue(null)},e.prototype.onUserChange=function(e){e&&e.email||this.selected.emit(null)},e.prototype.filterUsers=function(e){return e?(e=e.toLowerCase(),this.users.filter((function(t){return!!t.firstName.toLowerCase().includes(e)||(!!t.lastName.toLowerCase().includes(e)||!!t.email.toLowerCase().includes(e))}))):[]},e}();K.decorators=[{type:t.Component,args:[{selector:"xuilib-user-select",template:'<input class="govuk-input" type="text" [matAutocomplete]="dropdown" [formControl]="control" (ngModelChange)="onUserChange($event)" aria-labelledby="add-user-hint">\n\n<mat-autocomplete #dropdown="matAutocomplete" [displayWith]="displayValue" autoActiveFirstOption (optionSelected)="onSelected($event)">\n <mat-option *ngFor="let user of filteredUsers | async" [value]="user">\n {{ user.firstName }} {{ user.lastName }} - {{ user.email }}\n </mat-option>\n</mat-autocomplete>',styles:[""]}]}],K.ctorParameters=function(){return[]},K.propDecorators={users:[{type:t.Input}],selected:[{type:t.Output}]};var Y=function(){function n(e,n){this.stateService=e,this.router=n,this.shareCases=[],this.continueAllowed=!1,this.selectedUserToRemove=null,this.removeUserFromCaseToggleOn=!1,this.users=[],this.confirmLink="",this.cancelLink="",this.showRemoveUsers=!1,this.fnTitle="",this.title="",this.unselect=new t.EventEmitter,this.synchronizeStore=new t.EventEmitter,this.validationErrors=[]}return n.prototype.ngOnInit=function(){var e=this;this.shareCases$.pipe(s.tap((function(t){e.getAssignedUsers(t.filter((function(e){return e.sharedWith&&e.sharedWith.length>0})))}))).subscribe((function(t){e.shareCases=t,e.stateService.setCases(t),t&&(e.selectedCasesErrorMessageConfig={id:t.length>0?"cases":"noCaseDisplay"})})),this.shareCases$=this.stateService.state,this.shareCaseErrorMessage={isInvalid:!1,messages:[]}},n.prototype.onUnselect=function(t){this.validationErrors=[],1===this.stateService.getCases().length?(this.validationErrors.push({id:"cases",message:e.SharedCaseErrorMessages.OneCaseMustBeSelected}),this.shareCaseErrorMessage={isInvalid:!0,messages:[e.SharedCaseErrorMessages.OneCaseMustBeSelected]},window.scrollTo({top:0,left:0,behavior:"smooth"})):(this.unselect.emit(t),this.stateService.removeCase(t.caseId))},n.prototype.onSynchronizeStore=function(e){this.synchronizeStore.emit(e)},n.prototype.onSelectedUser=function(e){this.selectedUser=e},n.prototype.addUser=function(){var e=this.stateService.requestShare(this.selectedUser);this.selectedUser=null,this.userSelect&&this.userSelect.clear(),this.synchronizeStore.emit(e),this.getAssignedUsers(e)},n.prototype.removeUser=function(){if(this.selectedUserToRemove){var e=this.stateService.requestUnshare(this.selectedUserToRemove);this.synchronizeStore.emit(e)}},n.prototype.isDisabledAdd=function(){return null===this.selectedUser||0===this.shareCases.length},n.prototype.setContinueAllowed=function(){var e=this;this.continueAllowed=!1,this.shareCases$.subscribe((function(t){var n,o;try{for(var i=S(t),s=i.next();!s.done;s=i.next()){var r=s.value;if(r.pendingShares&&r.pendingShares.length>0){e.continueAllowed=!0;break}if(r.pendingUnshares&&r.pendingUnshares.length>0){e.continueAllowed=!0;break}}}catch(e){n={error:e}}finally{try{s&&!s.done&&(o=i.return)&&o.call(i)}finally{if(n)throw n.error}}}))},n.prototype.onDeselect=function(e){var t,n;if(null!==e){var o=[];try{for(var i=S(this.shareCases),s=i.next();!s.done;s=i.next()){var r=s.value;r.caseId!==e.caseId&&o.push(r)}}catch(e){t={error:e}}finally{try{s&&!s.done&&(n=i.return)&&n.call(i)}finally{if(t)throw t.error}}this.shareCases=o}this.stateService.setCases(this.shareCases)},n.prototype.onContinue=function(){this.setContinueAllowed(),this.continueAllowed||(this.validationErrors=[],this.validationErrors.push({id:"cases",message:e.SharedCaseErrorMessages.NoChangesRequested}),this.shareCaseErrorMessage={isInvalid:!0,messages:[e.SharedCaseErrorMessages.NoChangesRequested]},window.scrollTo({top:0,left:0,behavior:"smooth"})),this.continueAllowed&&(this.hasCasesLeftUnassigned(this.shareCases)?(this.validationErrors=[],this.validationErrors.push({id:"cases",message:e.SharedCaseErrorMessages.OnePersonMustBeAssigned}),this.shareCaseErrorMessage={isInvalid:!0,messages:[e.SharedCaseErrorMessages.OnePersonMustBeAssigned]},window.scrollTo({top:0,left:0,behavior:"smooth"})):this.router.navigate([this.confirmLink]))},n.prototype.getAssignedUsers=function(e){var t=[];e.forEach((function(e){e.sharedWith&&e.sharedWith.forEach((function(e){t.some((function(t){return e.idamId===t.idamId}))||t.push(e)})),e.pendingShares&&e.pendingShares.forEach((function(e){t.some((function(t){return e.idamId===t.idamId}))||t.push(e)}))})),this.assignedUsers=t},n.prototype.hasCasesLeftUnassigned=function(e){return e.some((function(e){return e.pendingUnshares&&e.sharedWith&&e.pendingUnshares.length===e.sharedWith.length&&(!e.pendingShares||0===e.pendingShares.length)}))},n}();Y.decorators=[{type:t.Component,args:[{selector:"xuilib-share-case",template:'<xuilib-hmcts-error-summary\n [errorMessages]="validationErrors"\n [header]="\'There is a problem\'"\n></xuilib-hmcts-error-summary>\n<h1 *ngIf="title" class="govuk-heading-xl govuk-!-margin-top-2">\n <span *ngIf="fnTitle" class="govuk-caption-xl">{{fnTitle}}</span>\n {{title}}\n</h1>\n<div id="add-user">\n <div class="govuk-form-group">\n <label class="govuk-label govuk-!-font-weight-bold" for="add-user-input">{{addUserLabel}}</label>\n <span id="add-user-hint" class="govuk-hint">\n Search by name or email address. You can share access with as many people as you need.\n </span>\n <div class="govuk-grid-row">\n <div class="govuk-grid-column-two-thirds">\n <xuilib-user-select\n id="add-user-input"\n aria-describedby="add-user-hint"\n [users]="users"\n (selected)="onSelectedUser($event)">\n </xuilib-user-select>\n </div>\n <div class="govuk-grid-column-one-thirds">\n <button id="btn-add-user" (click)="addUser()" class="govuk-button govuk-button--secondary" [disabled]="isDisabledAdd()" title="Add user to selected cases">Add</button>\n </div>\n </div>\n <details id="add-user-help" class="govuk-details" data-module="govuk-details">\n <summary class="govuk-details__summary">\n <span id="content-why-can-not-find-email" class="govuk-details__summary-text">\n Can\'t find an email address?\n </span>\n </summary>\n <div id="content-reason-can-not-find-email" class="govuk-details__text">\n If you can\'t find your colleague\'s email address, they will need to complete their registration. Contact your\n administrator for help.\n </div>\n </details>\n </div>\n <div class="govuk-form-group" *ngIf="showRemoveUsers">\n <label class="govuk-label govuk-!-font-weight-bold" for="remove-user-input">Remove a person from all cases</label>\n <span id="remove-user-hint" class="govuk-hint">\n Select a person to remove them from all selected cases.\n </span>\n <div class="govuk-grid-row">\n <div class="govuk-grid-column-two-thirds">\n <select [(ngModel)]="selectedUserToRemove" class="govuk-select" id="remove-user-input" aria-describedby="remove-user-hint">\n <option [ngValue]="null" selected>Select a person</option>\n <option *ngFor="let user of assignedUsers" [ngValue]="user">{{user.firstName}} {{user.lastName}} - {{user.email}}</option>\n </select>\n </div>\n <div class="govuk-grid-column-one-thirds">\n <button id="btn-remove-user" (click)="removeUser()" class="govuk-button govuk-button--secondary" title="Remove user from selected cases">Remove</button>\n </div>\n </div>\n </div>\n</div>\n\n<div id="cases" [ngClass]="{\'govuk-form-group--error\': shareCaseErrorMessage.messages && shareCaseErrorMessage.messages.length > 0}">\n <h3 id="title-selected-cases" class="govuk-heading-m">Selected cases</h3>\n <xuilib-gov-uk-error-message [config]="selectedCasesErrorMessageConfig" [errorMessage]="shareCaseErrorMessage"></xuilib-gov-uk-error-message>\n <div *ngIf="shareCases && shareCases.length > 0" class="govuk-accordion" data-module="govuk-accordion" id="accordion-with-summary-sections">\n <xuilib-selected-case-list\n [shareCases$]="shareCases$"\n [removeUserFromCaseToggleOn]="removeUserFromCaseToggleOn"\n (unselect)="onUnselect($event)"\n (synchronizeStore)="onSynchronizeStore($event)"\n >\n </xuilib-selected-case-list>\n </div>\n\n <div id="noCaseDisplay" *ngIf="shareCases && shareCases.length === 0" class="govuk-hint"\n [ngClass]="{\'govuk-form-group--error\': shareCaseErrorMessage.messages && shareCaseErrorMessage.messages.length > 0}">\n No cases to display.\n </div>\n\n</div>\n\n<div id="share-case-nav" class="govuk-button-group">\n <button id="btn-continue" class="govuk-button" data-module="govuk-button" (click)="onContinue()" title="Continue">Continue</button>\n <button id="btn-cancel" class="govuk-button govuk-button--secondary" data-module="govuk-button" title="Cancel" [routerLink]="cancelLink">Cancel</button>\n</div>\n',styles:["select{width:100%}"]}]}],Y.ctorParameters=function(){return[{type:B},{type:r.Router}]},Y.propDecorators={removeUserFromCaseToggleOn:[{type:t.Input}],shareCases$:[{type:t.Input}],users:[{type:t.Input}],confirmLink:[{type:t.Input}],cancelLink:[{type:t.Input}],addUserLabel:[{type:t.Input}],showRemoveUsers:[{type:t.Input}],fnTitle:[{type:t.Input}],title:[{type:t.Input}],unselect:[{type:t.Output}],synchronizeStore:[{type:t.Output}],userSelect:[{type:t.ViewChild,args:[K,{static:!0}]}]};var Q=function(){function e(){this.tabChange=new t.EventEmitter}return e.prototype.tabChanged=function(e){this.tabChange.emit(e)},e}();Q.decorators=[{type:t.Component,args:[{selector:"xuilib-tab",template:'<mat-tab-group animationDuration="0ms" (selectedTabChange)="tabChanged($event)">\n <mat-tab *ngFor="let tabItem of tabItems; let last = last;" [label]="tabItem.text">\n </mat-tab>\n</mat-tab-group>'}]}],Q.ctorParameters=function(){return[]},Q.propDecorators={tabItems:[{type:t.Input}],tabChange:[{type:t.Output}]};var X=function(){function e(){this.confirm=new t.EventEmitter}return e.prototype.onClick=function(){this.confirm.emit()},e}();X.decorators=[{type:t.Component,args:[{selector:"xuilib-tc-confirm",template:'<div class="govuk-width-container">\n <main role="main" class="govuk-main-wrapper">\n <div class="govuk-grid-row">\n <div class="govuk-grid-column-two-thirds">\n <div class="column-two-thirds">\n <h1 class="govuk-heading-xl">Using this service</h1>\n <h2 class="govuk-heading-m">Terms and conditions</h2>\n <p>We\'ve recently updated the\n <a\n routerLink="/terms-and-conditions"\n rel="noopener noreferrer"\n target="_blank"\n >terms and conditions</a\n >.\n </p>\n <p>You must review and accept them.\n </p>\n <p>\n <button class="govuk-button" (click)="onClick()">\n {{ buttonText }}\n </button>\n </p>\n </div>\n </div>\n </div>\n <div class="govuk-grid-column-one-third"></div>\n </main>\n</div>\n',styles:[""]}]}],X.ctorParameters=function(){return[]},X.propDecorators={buttonText:[{type:t.Input}],confirm:[{type:t.Output}]};var Z=function(){};Z.decorators=[{type:t.Component,args:[{selector:"xuilib-tc-display-html",template:"<ng-content></ng-content>",styles:[":host{display:block;width:100%}"]}]}],Z.ctorParameters=function(){return[]};var ee=function(){};ee.decorators=[{type:t.Component,args:[{selector:"xuilib-tc-display-plain",template:"<ng-content></ng-content>",styles:[":host{display:block;width:100%}"]}]}],ee.ctorParameters=function(){return[]};var te=function(){};te.decorators=[{type:t.Component,args:[{selector:"xuilib-terms-and-conditions",template:'<ng-container [ngSwitch]="document.mimeType">\n <xuilib-tc-display-html *ngSwitchCase="\'text/html\'">\n <div [innerHTML]="document.content"></div>\n </xuilib-tc-display-html>\n <xuilib-tc-display-plain *ngSwitchCase="\'text/plain\'">\n {{ document.content }}\n </xuilib-tc-display-plain>\n <div *ngSwitchDefault>\n An error occured. Please try again.\n </div>\n</ng-container>\n',styles:[":host{display:block;width:100%}"]}]}],te.ctorParameters=function(){return[]},te.propDecorators={document:[{type:t.Input}]};var ne=function(){function e(){this.showEditLink=!1,this.showHelpLink=!1,this.suspendUserEvent=new t.EventEmitter,this.showSuspendUserButton=!1,this.reinvite=new t.EventEmitter}return e.prototype.reinviteClick=function(e){this.reinvite.emit(e)},e.prototype.suspendUser=function(e){this.suspendUserEvent.emit(e)},e.prototype.userHasRole=function(e){return!(!this.user||!this.user.roles)&&this.user.roles.includes(e)},e}();ne.decorators=[{type:t.Component,args:[{selector:"xuilib-user-details",template:'<div class="govuk-warning-text" *ngIf="warningTitle && warningTitle !== \'\'">\n<span class="govuk-warning-text__icon">!</span>\n<strong class="govuk-warning-text__text">\n {{ warningTitle }}\n</strong>\n</div>\n<table class="govuk-table" *ngIf="user">\n <tbody class="govuk-table__body">\n <tr class="govuk-table__row">\n <th class="govuk-table__header" scope="row">Name</th>\n <td class="govuk-table__cell">{{user.fullName}}</td>\n <td class="govuk-table__cell"></td>\n </tr>\n <tr class="govuk-table__row">\n <th class="govuk-table__header" scope="row">Email address</th>\n <td class="govuk-table__cell">{{user.email}}</td>\n <td class="govuk-table__cell"></td>\n </tr>\n <tr class="govuk-table__row" *ngIf="!user.resendInvite">\n <th class="govuk-table__header" scope="row">Permissions</th>\n <td class="govuk-table__cell">\n <div *ngIf="user.manageOrganisations === \'Yes\'">Manage organisations</div>\n <div *ngIf="user.manageUsers === \'Yes\'">Manage users</div>\n <div *ngIf="user.manageCases === \'Yes\'">Manage cases</div>\n <div *ngIf="userHasRole(\'pui-caa\')">Case access administrator</div>\n <div *ngIf="userHasRole(\'pui-finance-manager\')">Manage fee accounts</div>\n </td>\n <td class="govuk-table__cell"><a *ngIf="editPermissionRouterLink && showEditLink" [routerLink]="editPermissionRouterLink">Change <span class="govuk-visually-hidden">roles</span></a></td>\n </tr>\n </tbody>\n</table>\n<button *ngIf="showSuspendUserButton" class="govuk-button govuk-button--warning" (click)="suspendUser(user)">\n Suspend account\n</button>\n<div *ngIf="user && user.resendInvite">\n <div class="govuk-inset-text">\n <p>This user has already been invited but has not activated their account.</p>\n <p>If you resend an invitation, they\'ll receive an email from HM Courts and Tribunals to finish setting up their account.</p>\n <p>You can\'t invite the same user more than once an hour.</p>\n </div>\n <a role="button" draggable="false" class="govuk-button" (click)="reinviteClick(user)" id="resend-invite-button">\n Resend invitation\n </a>\n</div>\n<p class="govuk-body" *ngIf="showHelpLink && suspendHelpLink"><a [routerLink]="suspendHelpLink" target="_blank">Get help</a> to reactivate this account.</p>\n',styles:[":host{display:block}"]}]}],ne.propDecorators={user:[{type:t.Input}],editPermissionRouterLink:[{type:t.Input}],warningTitle:[{type:t.Input}],showEditLink:[{type:t.Input}],showHelpLink:[{type:t.Input}],suspendHelpLink:[{type:t.Input}],suspendUserEvent:[{type:t.Output}],showSuspendUserButton:[{type:t.Input}],reinvite:[{type:t.Output}]};var oe=function(){function e(){this.users=[],this.userClick=new t.EventEmitter,this.pageChange=new t.EventEmitter}return e.prototype.ngOnInit=function(){this.pagination={itemsPerPage:50,currentPage:this.currentPageNumber,totalItems:this.pageTotalSize}},e.prototype.onUserClick=function(e){this.userClick.emit(e)},e.prototype.emitPageClickEvent=function(e){this.currentPageNumber=e,this.pageChange.emit(e)},e}();oe.decorators=[{type:t.Component,args:[{selector:"xuilib-user-list",template:'<table class="govuk-table">\n\n <thead clas="govuk-table__head">\n <tr class="govuk-table__row">\n <th class="govuk-table__header" scope="col">Name</th>\n <th class="govuk-table__header" scope="col">Email</th>\n <th class="govuk-table__header" scope="col">Status</th>\n </tr>\n </thead>\n <tbody class="govuk-table__body">\n <ng-container *ngFor="let u of users | paginate: { itemsPerPage: pagination.itemsPerPage, currentPage: currentPageNumber, totalItems: pagination.totalItems }">\n <tr class="govuk-table__row" data-selector="table-row">\n <td class="govuk-table__cell" data-selector="table-cell">\n <a class="govuk-link" [attr.title]="u.routerLinkTitle" [routerLink]="u.routerLink" (click)="onUserClick(u)">{{ u.fullName }}</a>\n </td>\n <td class="govuk-table__cell" data-selector="table-cell">{{ u.email }}</td>\n <td class="govuk-table__cell" data-selector="table-cell">{{ u.status }}</td>\n </tr>\n </ng-container>\n </tbody>\n</table>\n<xuilib-hmcts-pagination (pageChange)="emitPageClickEvent($event)" [pageSize]="pagination.itemsPerPage"></xuilib-hmcts-pagination>\n',styles:[":host{display:block}"]}]}],oe.propDecorators={users:[{type:t.Input}],currentPageNumber:[{type:t.Input}],pageTotalSize:[{type:t.Input}],userClick:[{type:t.Output}],pageChange:[{type:t.Output}]};var ie=function(){function e(e){this.document=e}return e.prototype.setCookie=function(e,t,n){var o=e+"="+t+";"+(n?" expires="+n:"");this.document.cookie=o},e.prototype.getCookie=function(e){return this.document.cookie.split("; ").find((function(t){return t.startsWith(e+"=")})).split("=")[1]},e.prototype.deleteCookie=function(e,t,n){var o=t?"; path="+t:"",i=n?"; domain="+n:"";this.document.cookie=e+"="+o+i+"; expires=Thu, 01 Jan 1970 00:00:01 GMT; max-age=0"},e.prototype.deleteCookieByPartialMatch=function(e,t,n){var o=this;this.document.cookie.split("; ").filter((function(t){return t.startsWith(""+e)})).forEach((function(e){o.deleteCookie(e.split("=")[0],t,n)}))},e.prototype.checkCookie=function(e){return this.document.cookie.split("; ").some((function(t){return t.trim().startsWith(e+"=")}))},e}();ie.ɵprov=v.ɵɵdefineInjectable({factory:function(){return new ie(v.ɵɵinject(b.DOCUMENT))},token:ie,providedIn:"root"}),ie.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],ie.ctorParameters=function(){return[{type:void 0,decorators:[{type:t.Inject,args:[n.DOCUMENT]}]}]};var se=new t.InjectionToken("Window");function re(){return window}var ae,le=function(){function e(e,n){this.cookieService=e,this.rejectionNotifier=new t.EventEmitter,this.acceptanceNotifier=new t.EventEmitter,this.isCookieBannerVisible=!1,this.window=n}return e.prototype.ngOnInit=function(){this.setState()},e.prototype.acceptCookie=function(){this.cookieService.setCookie(this.identifier,"true",this.getExpiryDate()),this.setState(!0)},e.prototype.rejectCookie=function(){this.cookieService.setCookie(this.identifier,"false",this.getExpiryDate()),this.setState(!0)},e.prototype.setState=function(e){void 0===e&&(e=!1),this.isCookieBannerVisible=!this.cookieService.checkCookie(this.identifier),this.areCookiesAccepted()?this.notifyAcceptance():this.notifyRejection(),e&&this.window.location.reload()},e.prototype.areCookiesAccepted=function(){return this.cookieService.checkCookie(this.identifier)&&"true"===this.cookieService.getCookie(this.identifier)},e.prototype.notifyRejection=function(){this.rejectionNotifier.emit()},e.prototype.notifyAcceptance=function(){this.acceptanceNotifier.emit()},e.prototype.getExpiryDate=function(){var e=new Date,t=e.getTime()+31536e6;return e.setTime(t),e.toUTCString()},e}();le.decorators=[{type:t.Component,args:[{selector:"xuilib-cookie-banner",template:'<div class="govuk-cookie-banner " role="region" attr.aria-label="\'Cookies on {{appName}}\'" *ngIf="isCookieBannerVisible">\n <div class="govuk-cookie-banner__message govuk-width-container">\n\n <div class="govuk-grid-row">\n <div class="govuk-grid-column-two-thirds">\n <h2 class="govuk-cookie-banner__heading govuk-heading-m">Cookies on {{appName}}</h2>\n\n <div class="govuk-cookie-banner__content">\n <p>We use some essential cookies to make this service work.</p>\n <p>We’d also like to use analytics cookies so we can understand how you use the service and make improvements.</p>\n </div>\n </div>\n </div>\n\n <div class="govuk-button-group">\n <button value="accept" type="button" name="cookies" class="govuk-button" data-module="govuk-button" (click)="acceptCookie()">\n Accept analytics cookies\n </button>\n <button value="reject" type="button" name="cookies" class="govuk-button" data-module="govuk-button" (click)="rejectCookie()">\n Reject analytics cookies\n </button>\n <a class="govuk-link" routerLink="/cookies">View cookies</a>\n </div>\n </div>\n</div>'}]}],le.ctorParameters=function(){return[{type:ie},{type:void 0,decorators:[{type:t.Inject,args:[se]}]}]},le.propDecorators={identifier:[{type:t.Input}],appName:[{type:t.Input}],rejectionNotifier:[{type:t.Output}],acceptanceNotifier:[{type:t.Output}]},e.BadgeColour=void 0,(ae=e.BadgeColour||(e.BadgeColour={})).BADGE_RED="hmcts-badge--red",ae.BADGE_BLUE="hmcts-badge--blue",ae.BADGE_GREEN="hmcts-badge--green";var ce,ue,de,pe=function(){},ge=function(){};e.BookingCheckType=void 0,(ce=e.BookingCheckType||(e.BookingCheckType={})).NO_CHECK="NO_CHECK",ce.BOOKINGS_AND_BASE="BOOKINGS_AND_BASE",ce.POSSIBLE_BOOKINGS="POSSIBLE_BOOKINGS",e.PersonRole=void 0,(ue=e.PersonRole||(e.PersonRole={})).JUDICIAL="Judicial",ue.CASEWORKER="Legal Ops",ue.ADMIN="Admin",ue.CTSC="CTSC User",ue.ALL="All",e.RoleCategory=void 0,(de=e.RoleCategory||(e.RoleCategory={})).JUDICIAL="JUDICIAL",de.CASEWORKER="LEGAL_OPERATIONS",de.ADMIN="ADMIN",de.CTSC="CTSC",de.ALL="ALL";var he=function(){},me=function(){function e(e){this.http=e}return e.prototype.getAllLocations=function(e,t,n,o,i){return this.http.post("api/locations/getLocations",{serviceIds:e,locationType:t,searchTerm:n,userLocations:o,bookingLocations:i})},e.prototype.searchLocations=function(e,t,n){return this.http.get("api/prd/location/getLocations?serviceIds="+e+"&locationType="+t+"&searchTerm="+n)},e}();me.ɵprov=v.ɵɵdefineInjectable({factory:function(){return new me(v.ɵɵinject(k.HttpClient))},token:me,providedIn:"root"}),me.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],me.ctorParameters=function(){return[{type:a.HttpClient}]};var fe=function(){function e(){}return e.prototype.getItem=function(e,t){void 0===t&&(t=!1);var n=sessionStorage.getItem(e);return t&&this.removeItem(e),n},e.prototype.setItem=function(e,t){sessionStorage.setItem(e,t)},e.prototype.removeItem=function(e){sessionStorage.removeItem(e)},e.prototype.clear=function(){sessionStorage.clear()},e}();fe.ɵprov=v.ɵɵdefineInjectable({factory:function(){return new fe},token:fe,providedIn:"root"}),fe.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}];var ve=function(){function n(e,n,o,i){this.locationService=e,this.sessionStorageService=n,this.fb=o,this.cd=i,this.disabled=null,this.singleMode=!1,this.locationType="",this.serviceIds="",this.submitted=!0,this.delay=500,this.showAutocomplete=!1,this.locations=[],this.locationSelected=new t.EventEmitter,this.locationInputChanged=new t.EventEmitter,this.searchLocationChanged=new t.EventEmitter,this.minSearchCharacters=3,this.term="",this.pSelectedLocations=[],this.pReset=!0,this.form=this.fb.group({searchTerm:[""]})}return Object.defineProperty(n.prototype,"reset",{get:function(){return this.pReset},set:function(e){this.pReset=e,this.resetSearchTerm()},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"selectedLocations",{get:function(){return this.pSelectedLocations},set:function(e){this.pSelectedLocations=e},enumerable:!1,configurable:!0}),n.prototype.ngOnInit=function(){if(this.singleMode&&this.selectedLocations.length>0){var e=this.selectedLocations[0];this.form.controls.searchTerm.patchValue(e.site_name,{emitEvent:!1,onlySelf:!0})}this.search()},n.prototype.filter=function(e){var t=this;this.getLocations(e).pipe(s.map((function(e){return t.removeSelectedLocations(e)})))},n.prototype.onSelectionChange=function(e){this.form.controls.searchTerm.patchValue(e.site_name,{emitEvent:!1,onlySelf:!0}),this.locationSelected.emit(e)},n.prototype.search=function(){var e=this;this.form.controls.searchTerm.valueChanges.pipe(s.tap((function(t){return e.locationInputChanged.next(t)})),s.tap((function(){return e.locations=[]})),s.tap((function(t){return e.term=t})),s.filter((function(t){return!!t&&t.length>=e.minSearchCharacters})),s.debounceTime(this.delay),s.mergeMap((function(t){return e.getLocations(t)})),s.map((function(t){return e.removeSelectedLocations(t)}))).subscribe((function(t){if(e.locations=t,e.cd.markForCheck(),1===t.length&&e.term===t[0].site_name&&!e.singleMode)return e.locationSelected.emit(t[0]),void(e.showAutocomplete=!1);e.showAutocomplete=!0}))},n.prototype.onInput=function(){this.searchLocationChanged.emit()},n.prototype.getLocations=function(t){var n,o;return this.bookingCheck===e.BookingCheckType.BOOKINGS_AND_BASE?(n=JSON.parse(this.sessionStorageService.getItem("userLocations")),o=JSON.parse(this.sessionStorageService.getItem("bookingLocations"))):this.bookingCheck===e.BookingCheckType.POSSIBLE_BOOKINGS&&(n=JSON.parse(this.sessionStorageService.getItem("userLocations")),this.serviceIds=JSON.parse(this.sessionStorageService.getItem("bookableServices"))),this.locationService.getAllLocations(this.serviceIds,this.locationType,t,n,o)},n.prototype.resetSearchTerm=function(){this.form.controls.searchTerm.patchValue("",{emitEvent:!1,onlySelf:!0})},n.prototype.removeSelectedLocations=function(e){var t=this;return this.singleMode?e:e.filter((function(e){return!t.selectedLocations.map((function(e){return e.epimms_id})).includes(e.epimms_id)&&e.site_name}))},n}();ve.decorators=[{type:t.Component,args:[{selector:"exui-search-location",template:'<div class="auto-complete-container">\n <input\n id="inputLocationSearch"\n (input)="onInput()"\n [formControl]="form.controls.searchTerm"\n [matAutocomplete]="autoSearchLocation"\n class="govuk-input"\n [attr.disabled]="disabled">\n <mat-autocomplete class="mat-autocomplete-panel-extend" autoActiveFirstOption #autoSearchLocation="matAutocomplete">\n <mat-option *ngFor="let location of locations"\n (onSelectionChange)="onSelectionChange(location)">\n {{ location.site_name }}\n </mat-option>\n <mat-option *ngIf="!locations.length && showAutocomplete && term && term.length >= this.minSearchCharacters">No results found</mat-option>\n </mat-autocomplete>\n</div>\n',styles:[".autocomplete__input--show-all-values{padding:5px 34px 5px 5px;cursor:pointer}.autocomplete__dropdown-arrow-down{z-index:-1;display:inline-block;position:absolute;right:8px;width:24px;height:24px;top:10px}.autocomplete__menu{background-color:#fff;border:2px solid #0b0c0c;border-top:0;color:#0b0c0c;margin:0;max-height:342px;overflow-x:hidden;padding:0;width:100%;width:calc(100% - 4px)}.autocomplete__menu--visible{display:block}.autocomplete__menu--hidden{display:none}.autocomplete__menu--overlay{box-shadow:0 2px 6px rgba(0,0,0,.256863);left:0;position:absolute;top:100%;z-index:100}.autocomplete__menu--inline{position:relative}.autocomplete__option{border-left-width:0;border-bottom:1px solid #b1b4b6;border-right-width:0;border-top-width:1px;cursor:pointer;display:block;position:relative}.autocomplete__option>*{pointer-events:none}.autocomplete__option:first-of-type{border-top-width:0}.autocomplete__option:last-of-type{border-bottom-width:0}.autocomplete__option--odd{background-color:#fafafa}.autocomplete__option--focused,.autocomplete__option:hover{background-color:#1d70b8;border-color:#1d70b8;color:#fff;outline:0}.autocomplete__option--no-results{background-color:#fafafa;color:#646b6f;cursor:not-allowed}.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.25}.autocomplete__hint,.autocomplete__option{padding:5px}@media (min-width:641px){.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.31579}}.div-action{display:inline-block}.add-location{display:inline}.remove-location-button{margin:5px}.hide-autocomplete{display:none}.auto-complete-container{min-width:550px;display:inline-block;margin-right:4px}.autocomplete__input{line-height:24px;font-size:19px}"]}]}],ve.ctorParameters=function(){return[{type:me},{type:fe},{type:o.FormBuilder},{type:t.ChangeDetectorRef}]},ve.propDecorators={control:[{type:t.Input}],disabled:[{type:t.Input}],singleMode:[{type:t.Input}],locationType:[{type:t.Input}],serviceIds:[{type:t.Input}],submitted:[{type:t.Input}],delay:[{type:t.Input}],form:[{type:t.Input}],showAutocomplete:[{type:t.Input}],locations:[{type:t.Input}],bookingCheck:[{type:t.Input}],locationSelected:[{type:t.Output}],locationInputChanged:[{type:t.Output}],searchLocationChanged:[{type:t.Output}],reset:[{type:t.Input}],selectedLocations:[{type:t.Input}]};var be=function(){function e(){this.locationFieldChanged=new t.EventEmitter,this.selectedLocations=[],this.submitted=!0,this.enableAddLocationButton=!0,this.locationTitle="Search for a location by name",this.disableInputField=!1,this.locations=[],this.tempSelectedLocation=null,this.serviceIds="SSCS,IA",this.pServices=[],this.pDisabled=!1}return Object.defineProperty(e.prototype,"disabled",{get:function(){return this.pDisabled},set:function(e){e&&(this.searchLocationComponent.resetSearchTerm(),this.removeSelectedValues()),this.pDisabled=!0===this.disableInputField||null},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"services",{get:function(){return this.pServices},set:function(e){var t=this;this.pServices=e;var n=this.fields.find((function(e){return e.name===t.field.findLocationField}));n&&(this.serviceIds="string"==typeof e?e:O(n.options,e).filter((function(e){return"services_all"!==e})).join(","))},enumerable:!1,configurable:!0}),e.prototype.ngOnInit=function(){this.selectedLocations=this.selectedLocations.filter((function(e){return e.epimms_id}))},e.prototype.addLocation=function(){this.tempSelectedLocation&&(this.selectedLocations=E(this.selectedLocations,[this.tempSelectedLocation]),this.addSelectedLocationsToForm([this.tempSelectedLocation]),this.tempSelectedLocation=null,this.locations=[],this.searchLocationComponent.resetSearchTerm())},e.prototype.removeLocation=function(e){if(e.epimms_id){this.selectedLocations=this.selectedLocations.filter((function(t){return t.epimms_id!==e.epimms_id}));var t=this.form.get(this.field.name),n=t.value.findIndex((function(t){return t.epimms_id===e.epimms_id}));n>-1&&t.removeAt(n)}},e.prototype.onInputChanged=function(e){"string"==typeof e&&1===this.field.maxSelected&&this.removeSelectedValues()},e.prototype.onSearchInputChanged=function(){this.locationFieldChanged.emit()},e.prototype.onLocationSelected=function(e){1===this.field.maxSelected?(this.removeSelectedValues(),this.addSelectedLocationsToForm([e])):this.selectedLocations.find((function(t){return t.epimms_id===e.epimms_id}))||e.epimms_id&&(this.tempSelectedLocation=e)},e.prototype.removeSelectedValues=function(){for(var e=this.form.get(this.field.name),t=0;t<e.length;t++)e.removeAt(t);this.selectedLocations=[]},e.prototype.addSelectedLocationsToForm=function(e){var t,n,i=this.form.get(this.field.name);try{for(var s=S(e),r=s.next();!r.done;r=s.next()){var a=r.value;i.push(new o.FormControl(a))}}catch(e){t={error:e}}finally{try{r&&!r.done&&(n=s.return)&&n.call(s)}finally{if(t)throw t.error}}},e}();be.decorators=[{type:t.Component,args:[{selector:"xuilib-find-location",template:'<div class="location-picker-custom">\n <div class="search-location">\n <div>\n <label id="input-selected-location-label" *ngIf="locationTitle">{{locationTitle}}</label>\n </div>\n <exui-search-location class="search-location"\n [locations]="locations"\n [selectedLocations]="selectedLocations"\n [singleMode]="field.maxSelected === 1"\n [bookingCheck]="field.bookingCheckType"\n [delay]="300"\n [disabled]="disabled"\n [serviceIds]="serviceIds"\n (locationInputChanged)="onInputChanged($event)"\n (locationSelected)="onLocationSelected($event)"\n (searchLocationChanged)="onSearchInputChanged()"\n [locationType]="\'case-management\'"></exui-search-location>\n <a href="javascript:void(0)" (click)="addLocation()" class="govuk-button" data-module="govuk-button" *ngIf="enableAddLocationButton">\n Add location\n </a>\n </div>\n <ul class="hmcts-filter-tags selection-container" *ngIf="field.maxSelected != 1">\n <li class="location-selection" *ngFor="let selection of selectedLocations">\n <a class="hmcts-filter__tag" (click)="removeLocation(selection)" href="javascript:void(0)">\n {{ selection.site_name }}\n </a>\n </li>\n </ul>\n</div>\n',styles:[""]}]}],be.propDecorators={locationFieldChanged:[{type:t.Output}],selectedLocations:[{type:t.Input}],submitted:[{type:t.Input}],enableAddLocationButton:[{type:t.Input}],form:[{type:t.Input}],field:[{type:t.Input}],fields:[{type:t.Input}],locationTitle:[{type:t.Input}],disableInputField:[{type:t.Input}],searchLocationComponent:[{type:t.ViewChild,args:[ve,{static:!0}]}],disabled:[{type:t.Input}],services:[{type:t.Input}]};var ye=function(){function e(){this.previousPage=new t.EventEmitter,this.nextPage=new t.EventEmitter}return e.prototype.onPrevious=function(){this.previousPage.emit(null)},e.prototype.onNext=function(){this.nextPage.emit(null)},e}();ye.decorators=[{type:t.Component,args:[{selector:"xuilib-pagination",template:'<nav class="hmcts-pagination" id="pagination-label">\n\n <p class="govuk-visually-hidden" aria-labelledby="pagination-label">Pagination navigation</p>\n\n <ul class="hmcts-pagination__list">\n <li class="hmcts-pagination__item hmcts-pagination__item--prev">\n <a *ngIf="firstRecord > 1; else noPrevious" class="hmcts-pagination__link" (click)="onPrevious()" href="javascript:void(0)">\n Previous page\n </a>\n <ng-template #noPrevious>\n <span class="hmcts-pagination__link">Previous page</span>\n </ng-template>\n </li>\n\n <li class="hmcts-pagination__item hmcts-pagination__item--next">\n <a *ngIf="moreItems; else noNext" class="hmcts-pagination__link" (click)="onNext()" href="javascript:void(0)">Next page</a>\n <ng-template #noNext>\n <span class="hmcts-pagination__link">Next page</span>\n </ng-template>\n </li>\n </ul>\n</nav>\n',styles:["span.hmcts-pagination__link:hover{color:revert}"]}]}],ye.ctorParameters=function(){return[]},ye.propDecorators={moreItems:[{type:t.Input}],firstRecord:[{type:t.Input}],previousPage:[{type:t.Output}],nextPage:[{type:t.Output}]};var ke=function(){function e(e,n){this.locationService=e,this.disabled=null,this.locationType="",this.serviceIds="",this.submitted=!0,this.showAutocomplete=!1,this.locationChanged=new t.EventEmitter,this.minSearchCharacters=3,this.keyUpSubject$=new i.Subject,this.readyAfterContent=!1,this.searchInProgress=!1,this.findLocationFormGroup=n.group({findLocationFormControl:[null],locationSelectedFormControl:[null]}),this.selectedLocations=[]}return e.prototype.ngAfterContentInit=function(){this.readyAfterContent=!0},e.prototype.ngOnInit=function(){var e=this;this.displayedLocations=[],this.control&&this.findLocationFormGroup&&this.findLocationFormGroup.controls&&(this.findLocationFormGroup.controls.locationSelectedFormControl=this.control),this.keyUpSubject$.pipe(s.debounceTime(500)).subscribe((function(t){return e.search(t)}))},e.prototype.onKeyDown=function(){this.locationChanged.emit()},e.prototype.onKeyUp=function(e){this.showAutocomplete=!1,this.keyUpSubject$.next(e.target.value)},e.prototype.onFocus=function(){this.showAutocomplete=!1},Object.defineProperty(e.prototype,"displayedLocationsDuplicationFiltered",{get:function(){var e=this;return this.displayedLocations.filter((function(t){return!e.selectedLocations.map((function(e){return e.epimms_id})).includes(t.epimms_id)&&t.court_name}))},enumerable:!1,configurable:!0}),e.prototype.filter=function(e){var t=this;this.searchLocations(e).pipe(s.mergeMap((function(e){var n=e.filter((function(e){return!t.selectedLocations.map((function(e){return e.epimms_id})).includes(e.epimms_id)}));return t.displayedLocations=n,t.searchInProgress=!1,n}))).subscribe((function(n){e===n.court_name&&(t.findLocationFormGroup.controls.locationSelectedFormControl.setValue(n),t.displayedLocations=[],t.locationChanged.emit(n),t.showAutocomplete=!1),t.searchInProgress=!1}))},e.prototype.onSelectionChange=function(e){this.findLocationFormGroup.controls.findLocationFormControl instanceof o.FormArray?this.findLocationFormGroup.controls.locationSelectedFormControl.push(new o.FormControl(e.epimms_id)):this.findLocationFormGroup.controls.locationSelectedFormControl.setValue(e),this.locationChanged.emit(e)},e.prototype.search=function(e){this.searchInProgress=!0,this.showAutocomplete=!!e&&e.length>=this.minSearchCharacters,e&&e.length||(this.findLocationFormGroup.controls.locationSelectedFormControl.markAsPristine(),this.findLocationFormGroup.controls.locationSelectedFormControl.reset()),this.showAutocomplete?this.filter(e):this.searchInProgress=!1},e.prototype.getDisplayName=function(e){return e.court_name},e.prototype.searchLocations=function(e){return this.locationService.searchLocations(this.serviceIds,this.locationType,e)},e.prototype.getControlCourtNameValue=function(){return this.findLocationFormGroup&&this.findLocationFormGroup.controls&&this.findLocationFormGroup.controls.locationSelectedFormControl.value?this.findLocationFormGroup.controls.locationSelectedFormControl.value.court_name:""},e}();ke.decorators=[{type:t.Component,args:[{selector:"xuilib-search-venue",template:'<div class="auto-complete-container">\n <div *ngIf="readyAfterContent" class="autocomplete__wrapper">\n <input\n [formControl]="findLocationFormGroup.controls.findLocationFormControl"\n [matAutocomplete]="autoSearchLocation"\n (keydown)="onKeyDown()"\n (keyup)="onKeyUp($event)"\n (focus)="onFocus()"\n class="autocomplete__input autocomplete__input--default search-box"\n [attr.disabled]="!disabled ? null: disabled"\n [value]="getControlCourtNameValue()"\n #inputSelectedLocation>\n <mat-autocomplete class="mat-autocomplete-panel-extend" autoActiveFirstOption #autoSearchLocation="matAutocomplete">\n <mat-option *ngFor="let location of displayedLocationsDuplicationFiltered"\n [value]="getDisplayName(location)"\n (onSelectionChange)="onSelectionChange(location)"\n [ngClass]="{\'hide-autocomplete\': !showAutocomplete}">\n {{ getDisplayName(location) }}\n </mat-option>\n <mat-option *ngIf="!displayedLocationsDuplicationFiltered?.length && showAutocomplete && !searchInProgress">{{ \'No results found\' }}</mat-option>\n </mat-autocomplete>\n </div>\n</div>\n',styles:[".autocomplete__input{-webkit-appearance:none;border:2px solid #0b0c0c;border-radius:0;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;margin-bottom:0;width:100%;line-height:24px;font-size:19px;background-color:transparent;position:relative}.autocomplete__hint{color:#b1b4b6;position:absolute}.autocomplete__input--default{padding:5px}.autocomplete__input--focused{outline:3px solid #fd0;outline-offset:0;box-shadow:inset 0 0 0 2px}.autocomplete__input--show-all-values{padding:5px 34px 5px 5px;cursor:pointer}.autocomplete__dropdown-arrow-down{z-index:-1;display:inline-block;position:absolute;right:8px;width:24px;height:24px;top:10px}.autocomplete__menu{background-color:#fff;border:2px solid #0b0c0c;border-top:0;color:#0b0c0c;margin:0;max-height:342px;overflow-x:hidden;padding:0;width:100%;width:calc(100% - 4px)}.autocomplete__menu--visible{display:block}.autocomplete__menu--hidden{display:none}.autocomplete__menu--overlay{box-shadow:0 2px 6px rgba(0,0,0,.256863);left:0;position:absolute;top:100%;z-index:100}.autocomplete__menu--inline{position:relative}.autocomplete__option{border-left-width:0;border-bottom:1px solid #b1b4b6;border-right-width:0;border-top-width:1px;cursor:pointer;display:block;position:relative}.autocomplete__option>*{pointer-events:none}.autocomplete__option:first-of-type{border-top-width:0}.autocomplete__option:last-of-type{border-bottom-width:0}.autocomplete__option--odd{background-color:#fafafa}.autocomplete__option--focused,.autocomplete__option:hover{background-color:#1d70b8;border-color:#1d70b8;color:#fff;outline:0}.autocomplete__option--no-results{background-color:#fafafa;color:#646b6f;cursor:not-allowed}.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.25}.autocomplete__hint,.autocomplete__option{padding:5px}@media (min-width:641px){.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.31579}}.div-action{display:inline-block}.add-location{display:inline}.remove-location-button{margin:5px}.hide-autocomplete{display:none}.auto-complete-container{min-width:550px;display:inline-block;margin-right:4px}"]}]}],ke.ctorParameters=function(){return[{type:me},{type:o.FormBuilder}]},ke.propDecorators={control:[{type:t.Input}],disabled:[{type:t.Input}],locationType:[{type:t.Input}],selectedLocations:[{type:t.Input}],serviceIds:[{type:t.Input}],submitted:[{type:t.Input}],autoCompleteInputBox:[{type:t.ViewChild,args:["inputSelectedLocation",{read:t.ElementRef}]}],showAutocomplete:[{type:t.Input}],displayedLocations:[{type:t.Input}],locationChanged:[{type:t.Output}]};var Ce=function(e){var t=[];return e.forEach((function(e){t=t.concat(e.caseworkers)})),t},Ie=function(e){return e+"-caseworkers"},we=function(){function t(e,t){this.http=e,this.sessionStorageService=t}return t.prototype.find=function(e){var t=this,n=this.sessionStorageService.getItem("userDetails");if(n&&!e.userIncluded){var o=JSON.parse(n);this.userId=o.id?o.id:o.uid}return this.assignedUser=e.assignedUser?e.assignedUser:null,this.http.post("/workallocation/findPerson",{searchOptions:e}).pipe(s.map((function(e){return e.filter((function(e){return![t.assignedUser,t.userId].includes(e.id)}))})))},t.prototype.findCaseworkers=function(e){var t=this,n=this.sessionStorageService.getItem("userDetails");if(n){var o=JSON.parse(n);this.userId=o.id?o.id:o.uid}this.assignedUser=e.assignedUser?e.assignedUser:null;var r=e.services,a=[],l=[],c=[];if(r.forEach((function(e){var n=Ie(e);t.sessionStorageService.getItem(n)?(a.push(e),c.push({service:e,caseworkers:JSON.parse(t.sessionStorageService.getItem(n))})):l.push(e)})),a.length===r.length){var u=Ce(c);return i.of(this.searchInCaseworkers(u,e))}return this.http.post("/workallocation/retrieveCaseWorkersForServices",{fullServices:r}).pipe(s.tap((function(e){e.forEach((function(e){var n,o,i,s;l.includes(e.service)&&(n=e.service,o=e.caseworkers,i=t.sessionStorageService,s=Ie(n),i.setItem(s,JSON.stringify(o)))}))})),s.map((function(n){var o=Ce(n);return t.searchInCaseworkers(o,e)})))},t.prototype.mapCaseworkers=function(t,n){var o=[];return t.forEach((function(t){var i={email:t.email,name:t.firstName+" "+t.lastName,id:t.idamId,domain:t.roleCategory===e.RoleCategory.CASEWORKER?e.PersonRole.CASEWORKER:e.PersonRole.ADMIN};t.roleCategory!==n&&n!==e.RoleCategory.ALL||o.push(i)})),o},t.prototype.searchInCaseworkers=function(t,n){var o=this,i=e.RoleCategory.ALL;n.userRole!==e.PersonRole.ALL&&(i=n.userRole===e.PersonRole.CASEWORKER?e.RoleCategory.CASEWORKER:e.RoleCategory.ADMIN);var s=n&&n.searchTerm?n.searchTerm.toLowerCase():"",r=(t?this.mapCaseworkers(t,i):[]).filter((function(e){return e&&e.name&&e.name.toLowerCase().includes(s)}));return n.userIncluded?r.filter((function(e){return e&&e.id!==o.assignedUser})):r.filter((function(e){return e&&e.id!==o.userId&&e.id!==o.assignedUser}))},t.prototype.searchJudicial=function(e,t){return this.http.post("api/prd/judicial/getJudicialUsersSearch",{searchString:e,serviceCode:t})},t}();we.caseworkersKey="caseworkers",we.ɵprov=v.ɵɵdefineInjectable({factory:function(){return new we(v.ɵɵinject(k.HttpClient),v.ɵɵinject(fe))},token:we,providedIn:"root"}),we.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],we.ctorParameters=function(){return[{type:a.HttpClient},{type:fe}]};var _e=function(){function e(e,n){this.judicialService=e,this.disabled=null,this.selectedJudicials=[],this.submitted=!0,this.placeholderContent="",this.showAutocomplete=!1,this.judicialChanged=new t.EventEmitter,this.idValue="",this.errorMessage="You must select a name",this.serviceId="",this.minSearchCharacters=3,this.keyUpSubject$=new i.Subject,this.searchInProgress=!1,this.formGroup=n.group({formControl:[null],selectedFormControl:[null]})}return e.prototype.ngOnInit=function(){var e=this;this.displayedJudicials=[],this.control&&this.formGroup&&this.formGroup.controls&&(this.formGroup.controls.selectedFormControl=this.control,this.formGroup.controls.formControl.setValue(this.getControlValueDisplayText())),this.keyUpSubject$.pipe(s.debounceTime(500)).subscribe((function(t){return e.search(t)}))},e.prototype.onKeyDown=function(){this.judicialChanged.emit()},e.prototype.onKeyUp=function(e){this.showAutocomplete=!1,this.keyUpSubject$.next(e.target.value)},e.prototype.onFocus=function(){this.showAutocomplete=!1},Object.defineProperty(e.prototype,"displayedJudicialsDuplicationFiltered",{get:function(){var e=this;return this.displayedJudicials.filter((function(t){return!e.selectedJudicials.map((function(e){return e.idamId})).includes(t.idamId)}))},enumerable:!1,configurable:!0}),e.prototype.filter=function(e){var t=this;this.searchJudicials(e,this.serviceId).pipe(s.mergeMap((function(e){var n=e.filter((function(e){return!t.selectedJudicials.map((function(e){return e.idamId})).includes(e.idamId)}));return t.displayedJudicials=n,t.searchInProgress=!1,n}))).subscribe((function(n){e===n.fullName&&(t.formGroup.controls.selectedFormControl.setValue(n),t.displayedJudicials=[],t.judicialChanged.emit(n),t.showAutocomplete=!1),t.searchInProgress=!1}))},e.prototype.onSelectionChange=function(e){this.formGroup.controls.formControl instanceof o.FormArray?this.formGroup.controls.selectedFormControl.push(new o.FormControl(e.idamId)):this.formGroup.controls.selectedFormControl.setValue(e),this.judicialChanged.emit(e)},e.prototype.search=function(e){this.searchInProgress=!0,this.showAutocomplete=!!e&&e.length>=this.minSearchCharacters,e?this.formGroup.controls.selectedFormControl.markAsDirty():this.formGroup.controls.selectedFormControl.reset(),this.showAutocomplete?this.filter(e):this.searchInProgress=!1},e.prototype.getDisplayName=function(e){return e.fullName+" ("+e.emailId+")"},e.prototype.searchJudicials=function(e,t){return this.judicialService.searchJudicial(e,t)},e.prototype.getControlValueDisplayText=function(){return this.formGroup&&this.formGroup.controls&&this.formGroup.controls.selectedFormControl.value?this.getDisplayName(this.formGroup.controls.selectedFormControl.value):""},e}();_e.decorators=[{type:t.Component,args:[{selector:"xuilib-search-judicials",template:'<div class="govuk-form-group">\n <input id="inputSelectPerson{{idValue}}" [placeholder]="placeholderContent" [formControl]="formGroup.controls.formControl"\n [matAutocomplete]="autoComplete" (keydown)="onKeyDown()" (keyup)="onKeyUp($event)" (focus)="onFocus()"\n class="govuk-input" [attr.disabled]="!disabled ? null: disabled" [value]="getControlValueDisplayText()"\n #inputSelection>\n <mat-autocomplete autoActiveFirstOption #autoComplete="matAutocomplete">\n <mat-option *ngFor="let judicial of displayedJudicialsDuplicationFiltered" class="select-option"\n [value]="getDisplayName(judicial)" (onSelectionChange)="onSelectionChange(judicial)"\n [ngClass]="{\'hide-autocomplete\': !showAutocomplete}">\n {{ getDisplayName(judicial) }}\n </mat-option>\n <mat-option class="select-option"\n *ngIf="!displayedJudicialsDuplicationFiltered?.length && showAutocomplete && !searchInProgress">\n {{ \'No results found\' }}</mat-option>\n </mat-autocomplete>\n</div>\n',styles:[".hide-autocomplete{display:none}.mat-option:hover{background:#2596be}.mat-option.select-option:hover{background:#1d70b8;color:#fff}"]}]}],_e.ctorParameters=function(){return[{type:we},{type:o.FormBuilder}]},_e.propDecorators={control:[{type:t.Input}],disabled:[{type:t.Input}],selectedJudicials:[{type:t.Input}],submitted:[{type:t.Input}],placeholderContent:[{type:t.Input}],showAutocomplete:[{type:t.Input}],displayedJudicials:[{type:t.Input}],judicialChanged:[{type:t.Output}],idValue:[{type:t.Input}],errorMessage:[{type:t.Input}],serviceId:[{type:t.Input}],autoCompleteInputBox:[{type:t.ViewChild,args:["inputSelection",{read:t.ElementRef,static:!0}]}]};var xe=function(){function n(n,i){this.findPersonService=n,this.cd=i,this.personSelected=new t.EventEmitter,this.personFieldChanged=new t.EventEmitter,this.boldTitle="Find the person",this.subTitle="Type the name of the person and select them.",this.domain=e.PersonRole.ALL,this.findPersonGroup=new o.FormGroup({}),this.submitted=!0,this.userIncluded=!1,this.placeholderContent="",this.isNoResultsShown=!0,this.showUpdatedColor=!1,this.selectedPersons=[],this.errorMessage="You must select a name",this.idValue="",this.services=["IA"],this.disabled=null,this.showAutocomplete=!1,this.filteredOptions=[],this.minSearchCharacters=2}return n.prototype.ngOnDestroy=function(){this.sub&&this.sub.unsubscribe()},n.prototype.ngOnInit=function(){var e=this;this.findPersonControl=new o.FormControl(this.selectedPerson),this.findPersonGroup.addControl("findPersonControl",this.findPersonControl),this.sub=this.findPersonControl.valueChanges.pipe(s.tap((function(){return e.showAutocomplete=!1})),s.tap((function(){return e.filteredOptions=[]})),s.debounceTime(300),s.tap((function(t){return"string"==typeof t?e.personSelected.emit(null):void 0})),s.filter((function(t){return t&&t.length>e.minSearchCharacters})),s.switchMap((function(t){return e.filter(t).pipe(s.tap((function(){return e.showAutocomplete=!0})),s.catchError((function(){return e.filteredOptions=[]})))}))).subscribe((function(t){e.filteredOptions=t,e.cd.detectChanges()}))},n.prototype.filter=function(t){var n=this,o=this.findPersonService.find({searchTerm:t,userRole:this.domain,services:this.services,userIncluded:this.userIncluded,assignedUser:this.assignedUser}),r=this.findPersonService.findCaseworkers({searchTerm:t,userRole:this.domain,services:this.services,userIncluded:this.userIncluded,assignedUser:this.assignedUser});if(t&&t.length>this.minSearchCharacters)switch(this.domain){case e.PersonRole.JUDICIAL:return o.pipe(s.map((function(e){var t=n.selectedPersons.map((function(e){return e.id}));return e.filter((function(e){var n=e.id;return!t.includes(n)}))})));case e.PersonRole.ALL:return i.zip(o,r).pipe(s.map((function(e){return e[0].concat(e[1])})));case e.PersonRole.CASEWORKER:case e.PersonRole.ADMIN:return r;default:return i.of([])}return i.of([])},n.prototype.onSelectionChange=function(e){this.personSelected.emit(e),this.findPersonControl.setValue(this.getDisplayName(e),{emitEvent:!1,onlySelf:!0})},n.prototype.getDisplayName=function(t){return t?t.domain===e.PersonRole.JUDICIAL&&t.fullName?t.fullName+" ("+t.email+")":t.email?t.name+" ("+t.email+")":t.name:""},n.prototype.onInput=function(){this.personFieldChanged.emit()},n}();xe.decorators=[{type:t.Component,args:[{selector:"xuilib-find-person",template:'<h1 class="govuk-heading-l" *ngIf="title && title.length">\n <span class="govuk-caption-l">{{title}}</span>\n {{boldTitle}}\n</h1>\n<div class="govuk-form-group" [formGroup]="findPersonGroup"\n [ngClass]="{\'form-group-error\': findPersonGroup.get(\'findPersonControl\').invalid && submitted}">\n <fieldset class="govuk-fieldset" aria-describedby="sub-title-hint">\n <div id="sub-title-hint" class="govuk-hint" *ngIf="subTitle && subTitle.length">\n {{subTitle}}\n </div>\n <span id="validation-error" class="govuk-error-message" *ngIf="findPersonGroup && findPersonGroup.errors">\n <span class="govuk-visually-hidden">Error:</span>{{findPersonGroup.errors.error ? findPersonGroup.errors.error : errorMessage}}\n </span>\n <input id="inputSelectPerson{{idValue}}" type="text" aria-label="select a person"\n formControlName="findPersonControl"\n [matAutocomplete]="auto"\n class="govuk-input govuk-!-width-one-third"\n [placeholder]="placeholderContent"\n [attr.disabled]="disabled"\n (input)="onInput()">\n <mat-autocomplete autoActiveFirstOption #auto="matAutocomplete" (optionSelected)="onSelectionChange($event.option.value)">\n <mat-option *ngFor="let option of filteredOptions"\n [value]="option"\n [ngClass]="{\'hide-autocomplete\': !showAutocomplete, \'select-option\': showUpdatedColor}">\n {{getDisplayName(option)}}\n </mat-option>\n <mat-option [ngClass]="{\'select-option\': showUpdatedColor}" *ngIf="isNoResultsShown && !filteredOptions.length && showAutocomplete">No results found</mat-option>\n </mat-autocomplete>\n </fieldset>\n</div>\n',styles:[".mat-option:hover{background:#2596be}.mat-option.select-option:hover{background:#1d70b8;color:#fff}.hide-autocomplete{display:none}"]}]}],xe.ctorParameters=function(){return[{type:we},{type:t.ChangeDetectorRef}]},xe.propDecorators={personSelected:[{type:t.Output}],personFieldChanged:[{type:t.Output}],title:[{type:t.Input}],boldTitle:[{type:t.Input}],subTitle:[{type:t.Input}],domain:[{type:t.Input}],findPersonGroup:[{type:t.Input}],selectedPerson:[{type:t.Input}],submitted:[{type:t.Input}],userIncluded:[{type:t.Input}],assignedUser:[{type:t.Input}],placeholderContent:[{type:t.Input}],isNoResultsShown:[{type:t.Input}],showUpdatedColor:[{type:t.Input}],selectedPersons:[{type:t.Input}],errorMessage:[{type:t.Input}],idValue:[{type:t.Input}],services:[{type:t.Input}],disabled:[{type:t.Input}]};var Se=function(){};Se.decorators=[{type:t.Component,args:[{selector:"exui-page-wrapper",template:'<div class="page">\n <a *ngIf="backLink" [routerLink]="backLink" class="govuk-back-link">Back</a>\n <div class="govuk-width-container">\n <main id="content" role="main" class="govuk-main-wrapper">\n <div class="govuk-grid-row">\n <h1 *ngIf="title" class="govuk-heading-xl">\n <span *ngIf="fnTitle" class="govuk-caption-xl">{{fnTitle}}</span>\n {{title}}\n </h1>\n <ng-content>\n\n </ng-content>\n </div>\n </main>\n </div>\n</div>\n',styles:[".page{width:100%}"]}]}],Se.ctorParameters=function(){return[]},Se.propDecorators={backLink:[{type:t.Input}],title:[{type:t.Input}],fnTitle:[{type:t.Input}]};var Le=function(){function e(e,t,n){this.service=e,this.viewContainer=t,this.templateRef=n}return Object.defineProperty(e.prototype,"xuilibFeatureToggle",{set:function(e){this.feature=e,this.updateSubscription()},enumerable:!1,configurable:!0}),e.prototype.ngOnDestroy=function(){this.subscription&&this.subscription.unsubscribe()},e.prototype.updateSubscription=function(){var e=this;this.subscription=this.service.isEnabled(this.feature).subscribe((function(t){t?e.viewContainer.createEmbeddedView(e.templateRef):e.viewContainer.clear()}))},e}();Le.decorators=[{type:t.Directive,args:[{selector:"[xuilibFeatureToggle]"}]}],Le.ctorParameters=function(){return[{type:H},{type:t.ViewContainerRef},{type:t.TemplateRef}]},Le.propDecorators={xuilibFeatureToggle:[{type:t.Input}]};var Ee=function(){this.$implicit=null,this.xuilibLet=null},Fe=function(){function e(e,t){this.viewContainer=e,this.context=new Ee,this.viewContainer.createEmbeddedView(t,this.context)}return Object.defineProperty(e.prototype,"xuilibLet",{set:function(e){this.context.$implicit=this.context.xuilibLet=e},enumerable:!1,configurable:!0}),e}();Fe.decorators=[{type:t.Directive,args:[{selector:"[xuilibLet]"}]}],Fe.ctorParameters=function(){return[{type:t.ViewContainerRef},{type:t.TemplateRef}]},Fe.propDecorators={xuilibLet:[{type:t.Input}]};var Ae=function(){function e(){this.serviceTitle="Search for a service by name",this.enableAddServiceButton=!0,this.disableInputField=!1}return e.prototype.addService=function(){},e}();Ae.decorators=[{type:t.Component,args:[{selector:"xuilib-find-service",template:'<div class="service-picker-custom">\n <div class="search-service">\n <div>\n <label id="input-selected-service-label" *ngIf="serviceTitle">{{serviceTitle}}</label>\n </div>\n <exui-search-service class="search-service"\n [services]="services"\n [selectedServices]="selectedServices"\n [delay]="300"\n [disabled]="disabled"></exui-search-service>\n <a href="javascript:void(0)" (click)="addService()" class="govuk-button govuk-button--secondary govuk-!-margin-bottom-0"\n data-module="govuk-button" *ngIf="enableAddServiceButton" id="add-service">\n Add\n </a>\n </div>\n <ul class="hmcts-filter-tags selection-container" *ngIf="field.maxSelected != 1">\n <li class="service-selection" *ngFor="let selection of selectedServices">\n <a class="hmcts-filter__tag" href="javascript:void(0)">\n {{ selection.name }}\n </a>\n </li>\n </ul>\n </div>\n',styles:["#add-service{background-color:#ddd}"]}]}],Ae.propDecorators={field:[{type:t.Input}],fields:[{type:t.Input}],serviceTitle:[{type:t.Input}],form:[{type:t.Input}],services:[{type:t.Input}],selectedServices:[{type:t.Input}],disabled:[{type:t.Input}],enableAddServiceButton:[{type:t.Input}],disableInputField:[{type:t.Input}]};var Me=function(){function e(){this.showAutocomplete=!1,this.minSearchCharacters=3,this.term=""}return e.prototype.onInput=function(){},e.prototype.onSelectionChange=function(){},e}();Me.decorators=[{type:t.Component,args:[{selector:"exui-search-service",template:'<div class="auto-complete-container">\n <input\n id="inputServiceSearch"\n (input)="onInput()"\n [formControl]="form?.controls.searchTerm"\n [matAutocomplete]="autoSearchService"\n class="govuk-input"\n [attr.disabled]="disabled">\n <mat-autocomplete class="mat-autocomplete-panel-extend" autoActiveFirstOption #autoSearchService="matAutocomplete">\n <mat-option *ngFor="let service of services" (onSelectionChange)="onSelectionChange()">\n {{ service.name }}\n </mat-option>\n <mat-option *ngIf="!services?.length && showAutocomplete && term && term.length >= this.minSearchCharacters">No results found</mat-option>\n </mat-autocomplete>\n</div>\n',styles:[".autocomplete__input--show-all-values{padding:5px 34px 5px 5px;cursor:pointer}.autocomplete__dropdown-arrow-down{z-index:-1;display:inline-block;position:absolute;right:8px;width:24px;height:24px;top:10px}.autocomplete__menu{background-color:#fff;border:2px solid #0b0c0c;border-top:0;color:#0b0c0c;margin:0;max-height:342px;overflow-x:hidden;padding:0;width:100%;width:calc(100% - 4px)}.autocomplete__menu--visible{display:block}.autocomplete__menu--hidden{display:none}.autocomplete__menu--overlay{box-shadow:0 2px 6px rgba(0,0,0,.256863);left:0;position:absolute;top:100%;z-index:100}.autocomplete__menu--inline{position:relative}.autocomplete__option{border-left-width:0;border-bottom:1px solid #b1b4b6;border-right-width:0;border-top-width:1px;cursor:pointer;display:block;position:relative}.autocomplete__option>*{pointer-events:none}.autocomplete__option:first-of-type{border-top-width:0}.autocomplete__option:last-of-type{border-bottom-width:0}.autocomplete__option--odd{background-color:#fafafa}.autocomplete__option--focused,.autocomplete__option:hover{background-color:#1d70b8;border-color:#1d70b8;color:#fff;outline:0}.autocomplete__option--no-results{background-color:#fafafa;color:#646b6f;cursor:not-allowed}.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.25}.autocomplete__hint,.autocomplete__option{padding:5px}@media (min-width:641px){.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.31579}}.div-action{display:inline-block}.add-location{display:inline}.remove-location-button{margin:5px}.hide-autocomplete{display:none}.auto-complete-container{min-width:250px;display:inline-block;margin-right:4px}.autocomplete__input{line-height:24px;font-size:19px}"]}]}],Me.propDecorators={services:[{type:t.Input}],selectedServices:[{type:t.Input}],disabled:[{type:t.Input}],delay:[{type:t.Input}],form:[{type:t.Input}],showAutocomplete:[{type:t.Input}]};var Te=function(){function e(){this.isChecked=!1}return e.prototype.ngOnInit=function(){var e=this.config.focusOn?this.config.focusOn:this.config.value;this.config.id=e,this.config.classes=this.config.classes?this.config.classes.concat(" govuk-checkboxes__label"):"govuk-checkboxes__label"},e}();Te.decorators=[{type:t.Component,args:[{selector:"xuilib-gov-checkbox",template:'<div class="govuk-checkboxes__item" [formGroup]="group">\n <input class="govuk-checkboxes__input" type="checkbox" [attr.aria-describedby]="config.hint ? config.value+\'-item-hint\' : null"\n [id]="config.id" [name]="config.name" [formControlName]="config.value" [checked]="isChecked">\n <xuilib-gov-label appRemoveHost [config]="config"></xuilib-gov-label>\n <span [id]="config.value+\'-item-hint\'" class="govuk-hint govuk-checkboxes__hint">\n {{config.hint}}\n </span>\n</div>'}]}],Te.ctorParameters=function(){return[]},Te.propDecorators={group:[{type:t.Input}],config:[{type:t.Input}],isChecked:[{type:t.Input}]};var Pe=function(){};Pe.decorators=[{type:t.Component,args:[{selector:"xuilib-gov-uk-checkboxes",template:'<xuilib-gov-uk-form-group-wrapper\n[error]="errors"\n[config]="options.config"\n[group]="options.key">\n<div class="govuk-checkboxes">\n <xuilib-gov-checkbox *ngFor="let item of options.items"\n [group]="item.group"\n [config]="item.config">\n </xuilib-gov-checkbox>\n</div>\n</xuilib-gov-uk-form-group-wrapper>'}]}],Pe.propDecorators={options:[{type:t.Input}],errors:[{type:t.Input}]};var Oe=function(){function e(){this.isOptional=!1}return e.prototype.ngOnInit=function(){this.day=this.config.id+"_day",this.month=this.config.id+"_month",this.year=this.config.id+"_year";var e=this.DateValidator();this.formGroup.get(this.day).setValidators(e)},e.prototype.isValidDate=function(e,t,n){var o=!isNaN(e.getTime()),i=e.getMonth()===t,s=e.getFullYear()===n;return o&&i&&s},e.prototype.isEmpty=function(e){return null==e||""===e||isNaN(e)||e<0},e.prototype.DateValidator=function(){var e=this;return function(){var t=e.formGroup.get(e.day).value,n=e.formGroup.get(e.month).value-1,o=e.formGroup.get(e.year).value;return e.isOptional&&e.isEmpty(t)&&e.isEmpty(n)&&e.isEmpty(o)||e.isValidDate(new Date(o,n,t),n,+o)?null:{dateComponent:!0}}},e}();Oe.decorators=[{type:t.Component,args:[{selector:"xuilib-gov-uk-date",template:'<div class="govuk-form-group" [ngClass]="{\'govuk-form-group--error\': errorMessage?.isInvalid}" [formGroup]="formGroup">\n <div class="date-input-container">\n <xuilib-gov-uk-fieldset\n [config]="{\n legend: config.label || \'Date component\',\n classes: config.classes || \'govuk-label--m\',\n id: config.id,\n hint: config.hint != null ? config.hint : \'For example, 12 11 2007\',\n isPageHeading: config.isPageHeading || false}"\n [errorMessage]="errorMessage">\n <xuilib-gov-uk-error-message\n [config]="{id: \'passport\'}"\n *ngIf="errorMessage"\n [errorMessage]="errorMessage">\n </xuilib-gov-uk-error-message>\n <div class="govuk-date-input" [id]="config.id+\'-date\'">\n <div class="govuk-date-input__item">\n <div class="govuk-form-group">\n <xuilib-gov-label\n [config]="{label: \'Day\', name: config.id+\'-day\', id: config.id+\'-day\', classes: \'govuk-date-input__label\'}">\n </xuilib-gov-label>\n <input class="govuk-input govuk-date-input__input govuk-input--width-2"\n [ngClass]="{\'govuk-input--error\': errorMessage?.isInvalid}"\n [id]="config.id"\n [name]="config.id+\'-day\'" type="number" value="" pattern="[0-9]*"\n [formControlName]="config.id+\'_day\'">\n </div>\n </div>\n <div class="govuk-date-input__item">\n <div class="govuk-form-group">\n <xuilib-gov-label\n [config]="{label: \'Month\', name: config.id+\'-month\', id: config.id+\'-month\', classes: \'govuk-date-input__label\'}">\n </xuilib-gov-label>\n <input class="govuk-input govuk-date-input__input govuk-input--width-2"\n [ngClass]="{\'govuk-input--error\': errorMessage?.isInvalid}"\n [id]="config.id+\'-month\'"\n [name]="config.id+\'-month\'" type="number" value="" pattern="[0-9]*"\n [formControlName]="config.id+\'_month\'">\n </div>\n </div>\n <div class="govuk-date-input__item">\n <div class="govuk-form-group">\n <xuilib-gov-label\n [config]="{label: \'Year\', name: config.id+\'-year\', id: config.id+\'-year\', classes: \'govuk-date-input__label\'}">\n </xuilib-gov-label>\n <input class="govuk-input govuk-date-input__input govuk-input--width-4"\n [ngClass]="{\'govuk-input--error\': errorMessage?.isInvalid}"\n [id]="config.id+\'-year\'"\n [name]="config.id+\'-year\'" type="number" value="" pattern="[0-9]*"\n [formControlName]="config.id+\'_year\'">\n </div>\n </div>\n </div>\n </xuilib-gov-uk-fieldset>\n </div>\n</div>\n',styles:[".govuk-form-group .date-input-container{margin-bottom:30px}.govuk-form-group .date-input-container .govuk-date-input .govuk-date-input__item .govuk-form-group{margin-bottom:0}"]}]}],Oe.ctorParameters=function(){return[]},Oe.propDecorators={config:[{type:t.Input}],errorMessage:[{type:t.Input}],formGroup:[{type:t.Input}],isOptional:[{type:t.Input}]};var De=function(){};De.decorators=[{type:t.Component,args:[{selector:" xuilib-gov-uk-error-message",template:'<span class="govuk-error-message" [id]="config.id + \'-error\'" *ngFor="let message of errorMessage?.messages">\n <span class="govuk-visually-hidden">Error:</span>{{message}}\n</span>'}]}],De.ctorParameters=function(){return[]},De.propDecorators={config:[{type:t.Input}],errorMessage:[{type:t.Input}]};var Ue=function(){function e(){}return e.setDescribedBy=function(e,t){return e&&e&&e.isInvalid?t.hint?t.id+"-hint "+t.id+"-error":t.id+"-error":t.hint?t.id+"-hint":null},e}(),Ne=function(){function e(){}return e.prototype.setDescribedBy=function(){return Ue.setDescribedBy(this.errorMessage,this.config)},e}();Ne.decorators=[{type:t.Component,args:[{selector:"xuilib-gov-uk-fieldset",template:'<fieldset class="govuk-fieldset" [attr.aria-describedby]="setDescribedBy()">\n <legend [class]="config.classes + \' govuk-fieldset__legend\'" *ngIf="!config.isPageHeading">\n {{config.legend}}\n </legend>\n\n <legend [class]="config.classes + \' govuk-fieldset__legend\'" *ngIf="config.isPageHeading">\n <h1>{{config.legend}}</h1>\n </legend>\n\n <span [id]="config.id+\'-hint\'" class="govuk-hint" *ngIf="config.hint">\n {{config.hint}}\n </span>\n <ng-content></ng-content>\n</fieldset>'}]}],Ne.ctorParameters=function(){return[]},Ne.propDecorators={config:[{type:t.Input}],errorMessage:[{type:t.Input}]};var je=function(){function e(){this.reloadInput=!0}return e.prototype.ngOnInit=function(){this.config.classes="govuk-label--m"},e.prototype.setDescribedBy=function(){return Ue.setDescribedBy(this.errorMessage,this.config)},e}();je.decorators=[{type:t.Component,args:[{selector:"xuilib-gov-uk-file-upload",template:'<div class="govuk-form-group" [formGroup]="group"\n [ngClass]="{\'govuk-form-group--error\': errorMessage?.isInvalid}">\n\n <xuilib-gov-label [config]="config"></xuilib-gov-label>\n\n <span *ngIf="config.hint" [id]="config.id +\'-hint\'" class="govuk-hint">\n {{config.hint}}\n </span>\n\n <xuilib-gov-uk-error-message [config]="config" [errorMessage]="errorMessage"></xuilib-gov-uk-error-message>\n\n <input class="govuk-file-upload"\n *ngIf="reloadInput"\n [formControlName]="config.id"\n [ngClass]="{\'govuk-file-upload--error\': errorMessage?.isInvalid}"\n [id]="config.id" [name]="config.name"\n [attr.aria-describedby]="setDescribedBy()"\n type="file">\n </div>'}]}],je.ctorParameters=function(){return[]},je.propDecorators={errorMessage:[{type:t.Input}],group:[{type:t.Input}],config:[{type:t.Input}]};var Re=function(){};Re.decorators=[{type:t.Component,args:[{selector:"xuilib-gov-uk-form-group-wrapper",template:'<div class="govuk-form-group" [attr.formGroupName]="group" [ngClass]="{\'govuk-form-group--error\': (error?.isInvalid)}">\n <xuilib-gov-uk-fieldset\n [config]="{legend: config.legend, classes: \'govuk-label--m\', id: config.key, hint: config.hint, isPageHeading: config.isPageHeading}"\n [errorMessage]="error">\n\n <xuilib-gov-uk-error-message [config]="{id: group}" [errorMessage]="error"></xuilib-gov-uk-error-message>\n\n <ng-content></ng-content>\n\n </xuilib-gov-uk-fieldset>\n</div>'}]}],Re.ctorParameters=function(){return[]},Re.propDecorators={error:[{type:t.Input}],group:[{type:t.Input}],config:[{type:t.Input}]};var Be=function(){function e(){}return e.prototype.ngOnInit=function(){this.config.classes="govuk-label--m"},e.prototype.setDescribedBy=function(){return Ue.setDescribedBy(this.errorMessage,this.config)},e}();Be.decorators=[{type:t.Component,args:[{selector:"xuilib-gov-uk-input",template:'<div class="govuk-form-group gov-uk-input" [formGroup]="group"\n[ngClass]="{\'govuk-form-group--error\': errorMessage?.isInvalid}">\n\n<xuilib-gov-label [config]="config"></xuilib-gov-label>\n\n<span *ngIf="config.hint" [id]="config.id +\'-hint\'" class="govuk-hint">\n {{config.hint}}\n</span>\n\n<xuilib-gov-uk-error-message [config]="config" [errorMessage]="errorMessage"></xuilib-gov-uk-error-message>\n\n<input class="govuk-input"\n [ngClass]="{\'govuk-input--error\': errorMessage?.isInvalid}"\n [id]="config.id"\n [name]="config.name"\n [type]="config.type"\n [attr.aria-invalid]="errorMessage?.isInvalid"\n [formControlName]="config.name"\n [attr.aria-describedby]=\'setDescribedBy()\'>\n</div>\n',styles:[".gov-uk-input input:disabled{background:#b1b4b6}"]}]}],Be.ctorParameters=function(){return[]},Be.propDecorators={errorMessage:[{type:t.Input}],group:[{type:t.Input}],config:[{type:t.Input}]};var Ge=function(){};Ge.decorators=[{type:t.Component,args:[{selector:"xuilib-gov-label",template:'<h1 *ngIf="config.isPageHeading else noHeading">\n <label *ngIf="config.label" [class]="config.classes + \' govuk-label\'"\n [for]="config.id" [innerHTML]="config.label">\n </label>\n</h1>\n<ng-template #noHeading>\n <label *ngIf="config.label" [class]="config.classes + \' govuk-label\'"\n [for]="config.id" [innerHTML]="config.label">\n </label>\n</ng-template>'}]}],Ge.ctorParameters=function(){return[]},Ge.propDecorators={config:[{type:t.Input}]};var Ve=function(){function e(){}return e.prototype.ngOnInit=function(){var e=this.config.focusOn?this.config.focusOn:this.config.value;this.config.id=e,this.config.classes=this.config.classes?this.config.classes.concat(" govuk-radios__label"):"govuk-radios__label"},e}();Ve.decorators=[{type:t.Component,args:[{selector:"xuilib-gov-radio",template:'<div class="govuk-radios__item" [formGroup]="group">\n <input [className]="\'govuk-radios__input \' + config.classes"\n [id]="config.id"\n [value]="config.value" type="radio"\n [attr.data-aria-controls]="config.id"\n [name]="config.name"\n [formControl]="group.controls[config.name]">\n <xuilib-gov-label appRemoveHost [config]="config"></xuilib-gov-label>\n</div>'}]}],Ve.ctorParameters=function(){return[]},Ve.propDecorators={group:[{type:t.Input}],config:[{type:t.Input}]};var ze=function(){};ze.decorators=[{type:t.Component,args:[{selector:"xuilib-gov-uk-radios",template:'<xuilib-gov-uk-form-group-wrapper\n[error]="errors"\n[config]="options.config"\n[group]="options.key">\n<div class="govuk-radios">\n <xuilib-gov-radio\n appRemoveHost\n *ngFor="let item of options.items"\n [group]="options.group"\n [config]="item.config">\n </xuilib-gov-radio>\n</div>\n</xuilib-gov-uk-form-group-wrapper>'}]}],ze.propDecorators={options:[{type:t.Input}],errors:[{type:t.Input}]};var We=function(){function e(){}return e.prototype.setDescribedBy=function(){return Ue.setDescribedBy(this.errorMessage,this.config)},e}();We.decorators=[{type:t.Component,args:[{selector:"xuilib-gov-select",template:'<div class="govuk-form-group" [formGroup]="group"\n[ngClass]="{\'govuk-form-group--error\': errorMessage?.isInvalid}">\n<xuilib-gov-label [config]="config"></xuilib-gov-label>\n<span *ngIf="config.hint" [id]="config.id +\'-hint\'" class="govuk-hint">\n {{config.hint}}\n</span>\n<xuilib-gov-uk-error-message [config]="config" [errorMessage]="errorMessage"></xuilib-gov-uk-error-message>\n\n<select class="govuk-select" [id]="config.id" [name]="config.id" [formControlName]="config.id" [attr.aria-describedby]=\'setDescribedBy()\'>\n<option value="{{item.value}}" *ngFor="let item of items">{{item.label}}</option>\n</select>\n</div>'}]}],We.ctorParameters=function(){return[]},We.propDecorators={errorMessage:[{type:t.Input}],group:[{type:t.Input}],config:[{type:t.Input}],items:[{type:t.Input}]};var He=function(){function e(){this.classes="",this.caption="Dates and amounts",this.firstCellIsHeader=!0,this.columnConfig=[{header:"Date",key:"date",type:"text"},{header:"Amount",key:"amount"}]}return e.prototype.formatDate=function(e){return n.formatDate(e,"dd/MM/yyyy","en-UK")},e}();He.decorators=[{type:t.Component,args:[{selector:"xuilib-gov-uk-table",template:'<table class="{{\'govuk-table \' + classes}}">\n <caption class="govuk-table__caption">{{caption}}</caption>\n <thead class="govuk-table__head" >\n <tr class="govuk-table__row">\n <th class="govuk-table__header" scope="col" *ngFor="let h of columnConfig">{{h.header}}</th>\n </tr>\n </thead>\n <tbody class="govuk-table__body">\n <tr data-selector="table-row" class="govuk-table__row" *ngFor="let r of rows">\n <ng-container *ngFor="let col of columnConfig; first as isFirst">\n <th data-selector="table-header" class="govuk-table__header" scope="row" *ngIf="isFirst && firstCellIsHeader">\n <ng-container *ngIf="!col.type || col.type === \'text\' || !r.routerLink">{{r[col.key]}}</ng-container>\n <ng-container *ngIf="col.type === \'link\' && r.routerLink">\n <a class="govuk-link" [routerLink]="r.routerLink">{{r[col.key]}}</a>\n </ng-container>\n </th>\n <td data-selector="table-cell" class="govuk-table__cell" *ngIf="!(isFirst && firstCellIsHeader)">\n <ng-container *ngIf="col.type === \'date\'">{{formatDate(r[col.key])}}</ng-container>\n <ng-container *ngIf="!col.type || col.type === \'text\' || !r.routerLink">{{r[col.key]}}</ng-container>\n <ng-container *ngIf="col.type === \'link\' && r.routerLink">\n <a class="govuk-link" [routerLink]="r.routerLink">{{r[col.key]}}</a>\n </ng-container>\n </td>\n </ng-container>\n </tr>\n </tbody>\n</table>\n',styles:[""]}]}],He.ctorParameters=function(){return[]},He.propDecorators={classes:[{type:t.Input}],caption:[{type:t.Input}],firstCellIsHeader:[{type:t.Input}],rows:[{type:t.Input}],columnConfig:[{type:t.Input}]};var $e=function(){this.header="",this.key="",this.type="text"},qe=function(){function e(){}return e.prototype.setDescribedBy=function(){return Ue.setDescribedBy(this.errorMessage,this.config)},e}();qe.decorators=[{type:t.Component,args:[{selector:"xuilib-gov-uk-textarea",template:'<div [formGroup]="group" \nclass="govuk-form-group" [ngClass]="{\'govuk-form-group--error\': errorMessage?.isInvalid}">\n<xuilib-gov-label [config]="config"></xuilib-gov-label>\n<span id="more-detail-hint" class="govuk-hint">\n {{config.hint}}\n</span>\n<xuilib-gov-uk-error-message [config]="config" [errorMessage]="errorMessage"></xuilib-gov-uk-error-message>\n<textarea\n class="govuk-textarea" [formControlName]="config.key"\n [ngClass]="{\'govuk-textarea--error\': errorMessage?.isInvalid}"\n [id]="config.id" name="more-detail" [rows]="config.rows" [attr.aria-describedby]="setDescribedBy()"></textarea>\n</div>'}]}],qe.propDecorators={config:[{type:t.Input}],errorMessage:[{type:t.Input}],group:[{type:t.Input}]};var Je=function(){};Je.decorators=[{type:t.Component,args:[{selector:"xuilib-hmcts-banner",template:'<div class="hmcts-banner hmcts-banner--{{type}}">\n <svg class="hmcts-banner__icon" fill="currentColor" role="presentation" focusable="false" 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" /></svg>\n <div class="hmcts-banner__message">\n <span class="hmcts-banner__assistive">{{type}}</span>\n {{message}}\n </div>\n</div>',styles:[":host{display:block;width:100%}"]}]}],Je.ctorParameters=function(){return[]},Je.propDecorators={type:[{type:t.Input}],message:[{type:t.Input}]};var Ke=function(){function e(e){this.document=e}return Object.defineProperty(e.prototype,"errorMessages",{set:function(e){this.messages=e},enumerable:!1,configurable:!0}),e.prototype.ngAfterViewInit=function(){this.scrollTo("errorSummary")},e.prototype.ngOnChanges=function(e){e.errorMessages&&this.scrollTo("errorSummary")},e.prototype.scrollTo=function(e){this.document.querySelector("#"+e)&&this.document.querySelector("#"+e).focus()},e.prototype.hasElement=function(e){return this.document.querySelector("#"+e)},e}();Ke.decorators=[{type:t.Component,args:[{selector:"xuilib-hmcts-error-summary",template:'<div *ngIf="!showWarningMessage && messages && messages.length > 0" id="errorSummary" class="govuk-error-summary" aria-labelledby="error-summary-title" role="alert" tabindex="-1"\n data-module="error-summary">\n <h2 class="govuk-error-summary__title" id="error-summary-title">\n {{header}}\n </h2>\n <div class="govuk-error-summary__body">\n <ul class="govuk-list govuk-error-summary__list">\n <li *ngFor="let message of messages">\n <a (click)="scrollTo(message[\'id\'])" [routerLink]="" [fragment]="message[\'id\']"\n *ngIf="hasElement(message[\'id\'])">{{message[\'message\']}}</a>\n <span *ngIf="!hasElement(message[\'id\'])">{{message[\'message\']}}</span>\n </li>\n </ul>\n </div>\n</div>\n<div *ngIf="showWarningMessage" class="hmcts-banner hmcts-banner--warning">\n <svg class="hmcts-banner__icon" fill="currentColor" role="presentation" focusable="false" 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" /></svg>\n <div class="hmcts-banner__message">\n <span class="hmcts-banner__assistive">Warning</span>\n <p class="govuk-body" *ngFor="let message of messages">{{ message[\'message\'] }}</p>\n </div>\n</div>'}]}],Ke.ctorParameters=function(){return[{type:void 0,decorators:[{type:t.Inject,args:[n.DOCUMENT]}]}]},Ke.propDecorators={errorMessages:[{type:t.Input}],header:[{type:t.Input}],showWarningMessage:[{type:t.Input}]};var Ye=function(){function e(){}return Object.defineProperty(e.prototype,"content",{set:function(e){this.value=e.name},enumerable:!1,configurable:!0}),e}();Ye.decorators=[{type:t.Component,args:[{selector:"xuilib-hmcts-identity-bar",template:'<div class="hmcts-identity-bar" *ngIf="value">\n\n <div class="hmcts-identity-bar__container">\n\n <div class="hmcts-identity-bar__details">\n \n <span class="hmcts-identity-bar__title">{{value}}</span>\n \n </div> \n\n </div>\n\n</div>',styles:[""]}]}],Ye.ctorParameters=function(){return[]},Ye.propDecorators={content:[{type:t.Input}]};var Qe=function(){function e(){this.backEvent=new t.EventEmitter}return Object.defineProperty(e.prototype,"banner",{set:function(e){this.bannerData=e},enumerable:!1,configurable:!0}),e.prototype.ngOnInit=function(){this.hasBackLink=void 0!==this.backLink||this.backEvent.observers.length>0},e.prototype.onGoBack=function(){this.backEvent.emit()},e}();Qe.decorators=[{type:t.Component,args:[{selector:"xuilib-hmcts-main-wrapper",template:'<a *ngIf="hasBackLink" [routerLink]="backLink" (click)="onGoBack()" class="govuk-back-link">Back</a>\n<main id="content" role="main" class="govuk-main-wrapper">\n <div class="govuk-grid-row">\n <div class="govuk-grid-column-two-thirds">\n <xuilib-hmcts-error-summary\n *ngIf="summaryErrors && !summaryErrors.isFromValid"\n [errorMessages]="summaryErrors.items"\n [header]="summaryErrors.header"\n [showWarningMessage]="showWarningMessage">\n </xuilib-hmcts-error-summary>\n <xuilib-hmcts-banner *ngIf="bannerData" [message]="bannerData.message" [type]="bannerData.type"></xuilib-hmcts-banner>\n <h1 *ngIf="title" class="govuk-heading-xl">{{title}}</h1>\n <ng-content></ng-content>\n </div>\n <div class="govuk-grid-column-one-third" *ngIf="actionButtons?.length > 0">\n <div class="hmcts-page-heading__actions-wrapper">\n <a\n *ngFor="let actionButton of actionButtons"\n (click)="actionButton.action()"\n role="button"\n draggable="false"\n class="govuk-button {{ actionButton.class }}"\n >{{ actionButton.name }}</a>\n </div>\n </div>\n </div>\n</main>\n'}]}],Qe.ctorParameters=function(){return[]},Qe.propDecorators={backLink:[{type:t.Input}],title:[{type:t.Input}],summaryErrors:[{type:t.Input}],banner:[{type:t.Input}],actionButtons:[{type:t.Input}],showWarningMessage:[{type:t.Input}],backEvent:[{type:t.Output}]};var Xe=function(){this.maxSize=7,this.pageSize=10,this.showPageNumbers=!0,this.showResultCount=!0,this.pageChange=new t.EventEmitter,this.pageBoundsCorrection=new t.EventEmitter};Xe.decorators=[{type:t.Component,args:[{selector:"xuilib-hmcts-pagination",template:'<pagination-template #p="paginationApi" [id]="id" [maxSize]="maxSize" (pageChange)="pageChange.emit($event)"\n (pageBoundsCorrection)="pageBoundsCorrection.emit($event)">\n\n <nav class="hmcts-pagination" id="pagination-label">\n <p class="govuk-visually-hidden" aria-labelledby="pagination-label">Pagination navigation</p>\n <ul class="hmcts-pagination__list" *ngIf="!(p.pages.length <= 1)">\n\n <li class="hmcts-pagination__item hmcts-pagination__item--prev" [class.disabled]="p.isFirstPage()">\n <a [routerLink]="" class="hmcts-pagination__link" *ngIf="1 < p.getCurrent()" (keyup.enter)="p.previous()"\n (click)="p.previous()">Previous <span class="govuk-visually-hidden">set of pages</span></a>\n </li>\n\n <ng-container *ngIf="showPageNumbers">\n <li class="hmcts-pagination__item" [class.hmcts-pagination__item--active]="p.getCurrent() === page.value"\n [class.hmcts-pagination__item--dots]="page.label === \'...\'" *ngFor="let page of p.pages">\n <a class="hmcts-pagination__link" [routerLink]="" (keyup.enter)="p.setCurrent(page.value)"\n (click)="p.setCurrent(page.value)" *ngIf="p.getCurrent() !== page.value">\n <span class="govuk-visually-hidden">page </span>\n <span>{{ (page.label === \'...\') ? page.label : (page.label | number:\'\') }}</span>\n </a>\n <ng-container *ngIf="p.getCurrent() === page.value">\n <span>{{ (page.label === \'...\') ? page.label : (page.label | number:\'\') }}</span>\n </ng-container>\n </li>\n </ng-container>\n\n <li class="hmcts-pagination__item hmcts-pagination__item--next" [class.disabled]="p.isLastPage()">\n <a [routerLink]="" class="hmcts-pagination__link" *ngIf="!p.isLastPage()" (keyup.enter)="p.next()"\n (click)="p.next()">Next<span class="govuk-visually-hidden"> page</span></a>\n </li>\n\n </ul>\n <p class="hmcts-pagination__results" *ngIf="showResultCount">Showing <b>{{(p.getCurrent() * pageSize) - pageSize + 1}}</b>\n to <b>{{ p.getCurrent() * pageSize > p.getTotalItems() ? p.getTotalItems() : p.getCurrent() *\n pageSize}}</b> of <b>{{p.getTotalItems()}}</b> results</p>\n </nav>\n\n</pagination-template>',styles:[".hmcts-pagination__results{float:right}"]}]}],Xe.propDecorators={id:[{type:t.Input}],maxSize:[{type:t.Input}],pageSize:[{type:t.Input}],showPageNumbers:[{type:t.Input}],showResultCount:[{type:t.Input}],pageChange:[{type:t.Output}],pageBoundsCorrection:[{type:t.Output}]};var Ze=function(){function e(){}return Object.defineProperty(e.prototype,"userLoggedIn",{set:function(e){this.isUserLoggedIn=e},enumerable:!1,configurable:!0}),e}();Ze.decorators=[{type:t.Component,args:[{selector:"xuilib-hmcts-primary-navigation",template:'<nav *ngIf="isUserLoggedIn" class="hmcts-primary-navigation" [attr.aria-label]="label">\n <div class="hmcts-primary-navigation__container">\n <div class="govuk-header__logo" *ngIf="isBrandedHeader"></div>\n <ul class="hmcts-primary-navigation__list">\n <li class="hmcts-primary-navigation__item" *ngFor="let item of items">\n <a class="hmcts-primary-navigation__link" [attr.aria-current]="item.active ? true: null" [routerLink]="item.href" [innerHTML]="item.text"></a>\n </li>\n </ul>\n </div>\n</nav>\n',styles:[""]}]}],Ze.ctorParameters=function(){return[]},Ze.propDecorators={userLoggedIn:[{type:t.Input}],label:[{type:t.Input}],items:[{type:t.Input}],isBrandedHeader:[{type:t.Input}]};var et=function(){};et.decorators=[{type:t.Component,args:[{selector:"xuilib-hmcts-sub-navigation",template:'<nav class="hmcts-sub-navigation" attr.aria-label="{{label}}" role="navigation" *ngIf="items">\n <ul class="hmcts-sub-navigation__list">\n <li class="hmcts-sub-navigation__item" *ngFor="let item of items">\n <a data-selector="sub-nav-link" class="hmcts-sub-navigation__link" [routerLink]="item.href"\n [attr.aria-current]="item.active ? \'page\' : null">\n {{item.text}}\n\n <span *ngIf="item.roundel && item.roundel > 0 " class="xui-alert-link__number"> {{item.roundel}} </span>\n </a>\n </li>\n </ul>\n</nav>\n',styles:[".xui-alert-link__number{font-family:nta,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-size:14px;font-size:.875rem;line-height:1.78571;border-radius:50%;background-color:#1d70b8;color:#fff;font-weight:700;width:25px;height:25px;margin-left:5px;text-align:center;display:inline-block;text-decoration:none}"]}]}],et.propDecorators={label:[{type:t.Input}],items:[{type:t.Input}]};var tt=function(){function e(e){this.el=e}return e.prototype.ngOnInit=function(){for(var e=this.el.nativeElement,t=e.parentElement;e.firstChild;)t.insertBefore(e.firstChild,e);t.removeChild(e)},e}();tt.decorators=[{type:t.Directive,args:[{selector:"[appRemoveHost]"}]}],tt.ctorParameters=function(){return[{type:t.ElementRef}]};var nt=[Se,te,Z,ee,X,M,Le,Fe,U,oe,ne,j,N,Y,J,V,z,G,K,Q,x,T,F,W,$,R,D,le,xe,_e,be,ve,Ae,Me,ke,ye],ot=[Ye,Xe,et,Ze,Ke,Qe,Je,He,Be,Te,Re,Ge,De,Ne,Oe,Pe,Ve,ze,We,qe,je,tt],it=re,st=function(){};st.decorators=[{type:t.NgModule,args:[{declarations:E(nt,ot),imports:[n.CommonModule,o.FormsModule,o.ReactiveFormsModule,r.RouterModule.forChild([]),l.MatAutocompleteModule,u.MatTabsModule,c.MatInputModule,d.NgxPaginationModule],providers:[{provide:se,useFactory:it}],exports:E(nt,ot,[d.PaginatePipe])}]}];var rt=function(){};rt.ɵprov=v.ɵɵdefineInjectable({factory:function(){return new rt},token:rt,providedIn:"root"}),rt.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],rt.ctorParameters=function(){return[]};var at=function(){function e(e,t){this.featureToggleService=e,this.router=t}return e.prototype.canActivate=function(e){var t=this;return i.combineLatest.apply(void 0,E(e.data.needsFeaturesEnabled.map((function(e){return t.featureToggleService.getValueOnce(e,!1)})))).pipe(s.map((function(e){return e.every((function(e){return e}))})),s.map((function(n){return n||t.router.parseUrl(e.data.featureDisabledRedirect)})))},e}();at.ɵprov=v.ɵɵdefineInjectable({factory:function(){return new at(v.ɵɵinject(H),v.ɵɵinject(y.Router))},token:at,providedIn:"root"}),at.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],at.ctorParameters=function(){return[{type:H},{type:r.Router}]};var lt=function(){function e(){this.ready=new i.BehaviorSubject(!1),this.features={},this.user={anonymous:!0},this.clientId=""}return e.prototype.initialize=function(e,t){var n=this;void 0===e&&(e={anonymous:!0}),this.ready.next(!1),this.user=e,this.clientId=t,this.client=C.initialize(this.clientId,this.user,{}),this.client.on("ready",(function(){n.client.identify(n.user).then((function(){return n.ready.next(!0)}))}))},e.prototype.isEnabled=function(e){return this.getValue(e,!1)},e.prototype.getArray=function(e){return this.getValue(e,[])},e.prototype.getValue=function(e,t){var n=this;return this.features.hasOwnProperty(e)||(this.features[e]=new i.BehaviorSubject(t),this.ready.pipe(s.filter((function(e){return e})),s.map((function(){return n.client.variation(e,t)}))).subscribe((function(t){n.features[e].next(t),n.client.on("change:"+e,(function(t){n.features[e].next(t)}))}))),this.features[e].pipe(s.distinctUntilChanged())},e.prototype.getValueOnce=function(e,t){var n=this;return this.ready.pipe(s.filter((function(e){return e})),s.map((function(){return n.client.variation(e,t)})))},e}();lt.ɵprov=v.ɵɵdefineInjectable({factory:function(){return new lt},token:lt,providedIn:"root"}),lt.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}];var ct=function(){function e(e,t,n,o){this.router=e,this.title=t,this.window=n,this.document=o}return e.prototype.init=function(e){this.googleAnalyticsKey=e;try{var t=this.document.createElement("script");t.async=!0,t.src="https://www.googletagmanager.com/gtag/js?id="+this.googleAnalyticsKey,this.document.head.appendChild(t);var n=this.document.createElement("script");n.innerHTML="\n window.dataLayer = window.dataLayer || [];\n function gtag(){dataLayer.push(arguments);}\n gtag('js', new Date());\n gtag('config', '"+this.googleAnalyticsKey+"', {'send_page_view': false});\n ",this.document.head.appendChild(n)}catch(e){console.error("Error appending google analytics"),console.error(e)}this.listenForRouteChanges()},e.prototype.listenForRouteChanges=function(){var e=this;this.googleAnalyticsKey&&this.router.events.subscribe((function(t){t instanceof r.NavigationEnd&&e.window.gtag("config",e.googleAnalyticsKey,{page_path:t.urlAfterRedirects,page_title:e.title.getTitle()})}))},e.prototype.event=function(e,t){this.window.gtag("event",e,t)},e}();ct.ɵprov=v.ɵɵdefineInjectable({factory:function(){return new ct(v.ɵɵinject(y.Router),v.ɵɵinject(I.Title),v.ɵɵinject(se),v.ɵɵinject(b.DOCUMENT))},token:ct,providedIn:"root"}),ct.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],ct.ctorParameters=function(){return[{type:r.Router},{type:g.Title},{type:void 0,decorators:[{type:t.Inject,args:[se]}]},{type:void 0,decorators:[{type:t.Inject,args:[n.DOCUMENT]}]}]};var ut=function(){function e(e,t,n,o){this.router=e,this.title=t,this.window=n,this.document=o}return e.prototype.init=function(e){this.googleTagManagerKey=e;try{this.window.dataLayer=this.window.dataLayer||[],this.window.dataLayer.push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var t=this.document.createElement("script");t.async=!0,t.src="https://www.googletagmanager.com/gtm.js?id="+this.googleTagManagerKey,this.document.head.appendChild(t)}catch(e){console.error("Error appending google tag manager"),console.error(e)}this.listenForRouteChanges()},e.prototype.listenForRouteChanges=function(){var e=this;this.googleTagManagerKey&&this.router.events.subscribe((function(t){t instanceof r.NavigationEnd&&e.window.dataLayer.push({event:"pageview",page:{path:t.urlAfterRedirects,title:e.title.getTitle()}})}))},e.prototype.event=function(e,t){this.window.dataLayer.push({event:e,params:t})},e}();ut.ɵprov=v.ɵɵdefineInjectable({factory:function(){return new ut(v.ɵɵinject(y.Router),v.ɵɵinject(I.Title),v.ɵɵinject(se),v.ɵɵinject(b.DOCUMENT))},token:ut,providedIn:"root"}),ut.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],ut.ctorParameters=function(){return[{type:r.Router},{type:g.Title},{type:void 0,decorators:[{type:t.Inject,args:[se]}]},{type:void 0,decorators:[{type:t.Inject,args:[n.DOCUMENT]}]}]};var dt=function(){function e(e,t){this.idle=e,this.keepalive=t,this.appStateEmitter=new i.Subject}return e.prototype.init=function(e){var t=this;this.idle.setIdleName(e.idleServiceName),this.idle.setTimeout(e.timeout);var n=new h.DocumentInterruptSource("mousedown keydown DOMMouseScroll mousewheel touchstart touchmove scroll");this.idle.setInterrupts([n]),this.idle.onIdleEnd.pipe(s.delay(250)).subscribe((function(){t.appStateEmitter.next({type:"modal",countdown:void 0,isVisible:!1})})),this.idle.onTimeout.subscribe((function(){t.appStateEmitter.next({type:"signout"})})),this.idle.onTimeoutWarning.pipe(s.map((function(e){return e>60?Math.ceil(e/60)+" minutes":e+" seconds"})),s.distinctUntilChanged()).subscribe((function(e){t.appStateEmitter.next({type:"modal",countdown:e,isVisible:!0})})),this.keepalive.interval(e.keepAliveInSeconds),this.keepalive.onPing.subscribe((function(){t.appStateEmitter.next({type:"keepalive"})}));var o=Math.floor(e.idleMilliseconds/1e3)-e.timeout;this.idle.setIdle(o),this.idle.watch()},e.prototype.appStateChanges=function(){return this.appStateEmitter.asObservable()},e}();dt.ɵprov=v.ɵɵdefineInjectable({factory:function(){return new dt(v.ɵɵinject(w.Idle),v.ɵɵinject(_.Keepalive))},token:dt,providedIn:"root"}),dt.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],dt.ctorParameters=function(){return[{type:h.Idle},{type:m.Keepalive}]};var pt=function(){function e(e,t){this.idle=e,this.keepalive=t,this.millisecondsToSeconds=function(e){return e/1e3},this.eventEmitter=new i.Subject}return e.prototype.initialise=function(e){var t=this,n="mousedown keydown DOMMouseScroll mousewheel touchstart touchmove scroll",o=e.idleServiceName,i=e.idleModalDisplayTime,r=e.totalIdleTime;this.idle.setIdleName(o);var a=this.millisecondsToSeconds(i),l=this.millisecondsToSeconds(r);this.idle.setTimeout(a);var c=new h.DocumentInterruptSource(n),u=new h.WindowInterruptSource(n);this.idle.setInterrupts([c,u]),this.idle.onTimeout.subscribe((function(){t.eventEmitter.next({eventType:"sign-out"})})),this.idle.onTimeoutWarning.pipe(s.map((function(e){return e>60?Math.ceil(e/60)+" minutes":e+" seconds"})),s.distinctUntilChanged()).subscribe((function(e){t.eventEmitter.next({eventType:"countdown",readableCountdown:e})})),this.idle.onIdleStart.subscribe((function(){return console.log("You've gone idle!")})),this.idle.onIdleEnd.subscribe((function(){return console.log("You're no longer idle!")})),this.keepalive.interval(15),this.keepalive.onPing.subscribe((function(){t.eventEmitter.next({eventType:"keep-alive"})}));var d=Math.floor(l)-a;this.idle.setIdle(d),this.idle.watch()},e.prototype.notificationOnChange=function(){return this.eventEmitter.asObservable()},e}();pt.ɵprov=v.ɵɵdefineInjectable({factory:function(){return new pt(v.ɵɵinject(w.Idle),v.ɵɵinject(_.Keepalive))},token:pt,providedIn:"root"}),pt.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],pt.ctorParameters=function(){return[{type:h.Idle},{type:m.Keepalive}]};var gt,ht=function(){function e(){this.pRoles=[]}return Object.defineProperty(e.prototype,"roles",{get:function(){return this.pRoles},set:function(e){this.pRoles=e},enumerable:!1,configurable:!0}),e}();ht.ɵprov=v.ɵɵdefineInjectable({factory:function(){return new ht},token:ht,providedIn:"root"}),ht.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.RoleMatching=void 0,(gt=e.RoleMatching||(e.RoleMatching={}))[gt.ALL=0]="ALL",gt[gt.ANY=1]="ANY";var mt=function(){function t(e,t){this.roleService=e,this.router=t}return t.prototype.canActivate=function(t){var n=this,o=t.data.needsRole,i=function(e){var t=new RegExp(e);return n.roleService.roles.some((function(e){return t.test(e)}))};return(t.data.roleMatching===e.RoleMatching.ALL?o.every(i):o.some(i))||this.router.parseUrl(t.data.noRoleMatchRedirect)},t}();mt.ɵprov=v.ɵɵdefineInjectable({factory:function(){return new mt(v.ɵɵinject(ht),v.ɵɵinject(y.Router))},token:mt,providedIn:"root"}),mt.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],mt.ctorParameters=function(){return[{type:ht},{type:r.Router}]};var ft=function(){function e(){}return Object.defineProperty(e.prototype,"isLoading",{get:function(){},enumerable:!1,configurable:!0}),e}(),vt=function(){function e(){this.registered=new Map,this.loading=new i.BehaviorSubject(!1)}return Object.defineProperty(e.prototype,"isLoading",{get:function(){return this.loading.asObservable().pipe(s.distinctUntilChanged())},enumerable:!1,configurable:!0}),e.prototype.register=function(){var e=this.generateToken();return this.registered.set(e,e),this.loading.next(!0),e},e.prototype.unregister=function(e){this.registered.delete(e),this.loading.next(this.registered.size>0)},e.prototype.generateToken=function(){return"common-lib-loading-"+window.performance.now()},e}();vt.ɵprov=v.ɵɵdefineInjectable({factory:function(){return new vt},token:vt,providedIn:"root"}),vt.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.AccessibilityComponent=x,e.AnonymousFeatureUser=pe,e.COMMON_COMPONENTS=nt,e.CheckboxListComponent=F,e.ContactDetailsComponent=M,e.CookieBannerComponent=le,e.CookieService=ie,e.DueDateComponent=T,e.ExuiCommonLibModule=st,e.ExuiPageWrapperComponent=Se,e.FeatureToggleDirective=Le,e.FeatureToggleGuard=at,e.FeatureToggleService=H,e.FilterService=P,e.FindLocationComponent=be,e.FindPersonComponent=xe,e.GOV_UI_COMPONENTS=ot,e.GenericFilterComponent=D,e.GoogleAnalyticsService=ct,e.GoogleTagManagerService=ut,e.GovUiService=rt,e.GovUkCheckboxComponent=Te,e.GovUkCheckboxesComponent=Pe,e.GovUkDateComponent=Oe,e.GovUkErrorMessageComponent=De,e.GovUkFieldsetComponent=Ne,e.GovUkFileUploadComponent=je,e.GovUkFormGroupWrapperComponent=Re,e.GovUkInputComponent=Be,e.GovUkLabelComponent=Ge,e.GovUkRadioComponent=Ve,e.GovUkRadiosComponent=ze,e.GovUkSelectComponent=We,e.GovUkTextareaComponent=qe,e.GovukTableColumnConfig=$e,e.GovukTableComponent=He,e.HasLoadingState=ft,e.HmctsBannerComponent=Je,e.HmctsErrorSummaryComponent=Ke,e.HmctsIdentityBarComponent=Ye,e.HmctsMainWrapperComponent=Qe,e.HmctsPaginationComponent=Xe,e.HmctsPrimaryNavigationComponent=Ze,e.HmctsSessionDialogComponent=U,e.HmctsSubNavigationComponent=et,e.InviteUserFormComponent=N,e.InviteUserPermissionComponent=j,e.LaunchDarklyService=lt,e.LetContext=Ee,e.LetDirective=Fe,e.LoadingService=vt,e.LoadingSpinnerComponent=R,e.LoggedInFeatureUser=ge,e.ManageSessionServices=dt,e.PaginationComponent=ye,e.RadioFilterFieldConfig=he,e.RemoveHostDirective=tt,e.RoleGuard=mt,e.RoleService=ht,e.SECONDS_IN_A_DAY=86400,e.SearchJudicialsComponent=_e,e.SearchLocationComponent=ve,e.SearchVenueComponent=ke,e.SelectedCaseComponent=z,e.SelectedCaseConfirmComponent=G,e.SelectedCaseListComponent=V,e.ServiceMessageComponent=W,e.ServiceMessagesComponent=$,e.ShareCaseComponent=Y,e.ShareCaseConfirmComponent=J,e.TabComponent=Q,e.TcConfirmComponent=X,e.TcDisplayHtmlComponent=Z,e.TcDisplayPlainComponent=ee,e.TermsAndConditionsComponent=te,e.TimeoutNotificationsService=pt,e.UserDetailsComponent=ne,e.UserListComponent=oe,e.UserSelectComponent=K,e.checkboxesBeCheckedValidator=function(e){return void 0===e&&(e=1),function(t){var n=0;return Object.keys(t.controls).forEach((function(e){!0===t.controls[e].value&&n++})),n<e?{requireOneCheckboxToBeChecked:!0}:null}},e.dateValidator=function(){return function(e){var t=new Date(parseInt(e.controls.day.value,10),parseInt(e.controls.month.value,10)-1,parseInt(e.controls.year.value,10)-1);return t instanceof Date&&!isNaN(+t)?null:{dateIsInvalid:!0}}},e.radioGroupValidator=function(){return function(e){if(e.controls)for(var t in e.controls)if(!e.controls[t].valid)return{isRadioGroupInvalid:!0};return null}},e.windowProvider=re,e.windowToken=se,e["ɵ0"]=it,e["ɵa"]=Se,e["ɵb"]=te,e["ɵba"]=W,e["ɵbb"]=$,e["ɵbc"]=R,e["ɵbd"]=D,e["ɵbe"]=P,e["ɵbf"]=le,e["ɵbg"]=ie,e["ɵbh"]=xe,e["ɵbi"]=we,e["ɵbj"]=fe,e["ɵbk"]=_e,e["ɵbl"]=be,e["ɵbm"]=ve,e["ɵbn"]=me,e["ɵbo"]=Ae,e["ɵbp"]=Me,e["ɵbq"]=ke,e["ɵbr"]=ye,e["ɵbs"]=Ye,e["ɵbt"]=Xe,e["ɵbu"]=et,e["ɵbv"]=Ze,e["ɵbw"]=Ke,e["ɵbx"]=Qe,e["ɵby"]=Je,e["ɵbz"]=He,e["ɵc"]=Z,e["ɵca"]=Be,e["ɵcb"]=Te,e["ɵcc"]=Re,e["ɵcd"]=Ge,e["ɵce"]=De,e["ɵcf"]=Ne,e["ɵcg"]=Oe,e["ɵch"]=Pe,e["ɵci"]=Ve,e["ɵcj"]=ze,e["ɵck"]=We,e["ɵcl"]=qe,e["ɵcm"]=je,e["ɵcn"]=tt,e["ɵd"]=ee,e["ɵe"]=X,e["ɵf"]=M,e["ɵg"]=Le,e["ɵh"]=H,e["ɵi"]=Ee,e["ɵj"]=Fe,e["ɵk"]=U,e["ɵl"]=oe,e["ɵm"]=ne,e["ɵn"]=j,e["ɵo"]=N,e["ɵp"]=Y,e["ɵq"]=K,e["ɵr"]=B,e["ɵs"]=J,e["ɵt"]=V,e["ɵu"]=z,e["ɵv"]=G,e["ɵw"]=Q,e["ɵx"]=x,e["ɵy"]=T,e["ɵz"]=F,Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
2
2
|
//# sourceMappingURL=hmcts-rpx-xui-common-lib.umd.min.js.map
|