@hmcts/rpx-xui-common-lib 1.7.12 → 1.7.13-task-name-filter
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 +254 -114
- 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/hmcts-rpx-xui-common-lib.js +27 -26
- package/esm2015/lib/components/find-task-name/find-task-name.component.js +228 -0
- package/esm2015/lib/components/generic-filter/generic-filter.component.js +22 -2
- package/esm2015/lib/exui-common-lib.module.js +4 -4
- package/esm2015/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.js +5 -2
- package/esm2015/lib/models/filter.model.js +5 -1
- package/esm2015/lib/models/pagination.model.js +1 -11
- package/esm2015/lib/models/task-name.model.js +16 -0
- package/esm2015/lib/services/task-name/task-name.service.js +65 -0
- package/esm5/hmcts-rpx-xui-common-lib.js +27 -26
- package/esm5/lib/components/find-task-name/find-task-name.component.js +243 -0
- package/esm5/lib/components/generic-filter/generic-filter.component.js +27 -2
- package/esm5/lib/exui-common-lib.module.js +4 -4
- package/esm5/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.js +5 -2
- package/esm5/lib/models/filter.model.js +5 -1
- package/esm5/lib/models/pagination.model.js +1 -11
- package/esm5/lib/models/task-name.model.js +16 -0
- package/esm5/lib/services/task-name/task-name.service.js +70 -0
- package/fesm2015/hmcts-rpx-xui-common-lib.js +192 -62
- package/fesm2015/hmcts-rpx-xui-common-lib.js.map +1 -1
- package/fesm5/hmcts-rpx-xui-common-lib.js +226 -86
- package/fesm5/hmcts-rpx-xui-common-lib.js.map +1 -1
- package/hmcts-rpx-xui-common-lib.d.ts +26 -25
- package/hmcts-rpx-xui-common-lib.metadata.json +1 -1
- package/lib/components/find-task-name/find-task-name.component.d.ts +41 -0
- package/lib/components/generic-filter/generic-filter.component.d.ts +1 -0
- package/lib/exui-common-lib.module.d.ts +2 -1
- package/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.d.ts +1 -0
- package/lib/models/filter.model.d.ts +3 -1
- package/lib/models/pagination.model.d.ts +0 -4
- package/lib/models/task-name.model.d.ts +4 -0
- package/lib/services/task-name/task-name.service.d.ts +13 -0
- package/package.json +1 -1
- package/esm2015/lib/components/pagination-v1/pagination.component.js +0 -130
- package/esm5/lib/components/pagination-v1/pagination.component.js +0 -144
- package/lib/components/pagination-v1/pagination.component.d.ts +0 -19
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/material"),require("@angular/material/autocomplete"),require("ngx-pagination"),require("@angular/common/http"),require("@angular/forms"),require("launchdarkly-js-client-sdk"),require("@angular/common"),require("@angular/platform-browser"),require("@ng-idle/core"),require("@ng-idle/keepalive"),require("@angular/router"),require("@angular/core"),require("rxjs"),require("rxjs/operators")):"function"==typeof define&&define.amd?define("@hmcts/rpx-xui-common-lib",["exports","@angular/material","@angular/material/autocomplete","ngx-pagination","@angular/common/http","@angular/forms","launchdarkly-js-client-sdk","@angular/common","@angular/platform-browser","@ng-idle/core","@ng-idle/keepalive","@angular/router","@angular/core","rxjs","rxjs/operators"],t):t((e.hmcts=e.hmcts||{},e.hmcts["rpx-xui-common-lib"]={}),e.ng.material,e.ng.material.autocomplete,e.ngxPagination,e.ng.common.http,e.ng.forms,e.LDClient,e.ng.common,e.ng.platformBrowser,e.i1$1,e.i2$1,e.ng.router,e.ng.core,e.rxjs,e.rxjs.operators)}(this,function(e,t,n,o,i,p,s,r,a,l,c,u,d,g,h){"use strict";var m=(f.decorators=[{type:d.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',styles:[".govuk-list--alpha{padding-left:20px;list-style-type:lower-alpha}"]}]}],f.ctorParameters=function(){return[]},f);function f(){}var v=function(){return(v=Object.assign||function v(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}).apply(this,arguments)};function b(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{value:(e=e&&o>=e.length?void 0:e)&&e[o++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function y(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||0<t--)&&!(o=s.next()).done;)r.push(o.value)}catch(a){i={error:a}}finally{try{o&&!o.done&&(n=s["return"])&&n.call(s)}finally{if(i)throw i.error}}return r}function k(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(y(arguments[t]));return e}var C=(Object.defineProperty(I.prototype,"selection",{get:function(){return this.pSelection?k(this.pSelection):[]},set:function(e){this.pSelection=this.getSelection(e)},enumerable:!0,configurable:!0}),Object.defineProperty(I.prototype,"allSelected",{get:function(){return this.selection.length===this.options.length},enumerable:!0,configurable:!0}),I.prototype.ngOnChanges=function(){this.setupPreselection(),this.checkSelection()},Object.defineProperty(I.prototype,"hasOptions",{get:function(){return this.options&&0<this.options.length},enumerable:!0,configurable:!0}),Object.defineProperty(I.prototype,"isFunctional",{get:function(){return this.labelFunction&&this.hasOptions},enumerable:!0,configurable:!0}),I.prototype.isSelected=function(e){return this.selection.includes(e)},I.prototype.toggleItemSelection=function(e){this.pSelection===undefined?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)},I.prototype.toggleSelectAll=function(){this.allSelected?this.pSelection=[]:this.pSelection=k(this.options),this.pSelectionMade=!0,this.selectionChange.emit(this.pSelection)},I.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(I.prototype,"hasPreselection",{get:function(){return this.preselection&&0<this.preselection.length},enumerable:!0,configurable:!0}),I.prototype.setupPreselection=function(){var e,t=this;this.isFunctional&&!this.pSelectionMade&&this.hasPreselection&&(e=!0,(e=this.pSelection?0<this.pSelection.filter(function(e){return!t.containsItem(t.preselection,e)}).length:e)&&(this.pSelection=this.getSelection(this.preselection),this.selectionChange.emit(this.selection)))},I.prototype.getSelection=function(t){var n=this;return k(this.options.filter(function(e){return n.containsItem(t,e)}))},I.prototype.checkSelection=function(){var e,t=this;!this.isFunctional||(e=this.selection.filter(function(e){return t.containsItem(t.options,e)})).length!==this.selection.length&&(this.pSelection=k(e),this.selectionChange.emit(this.selection))},I.decorators=[{type:d.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:d.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}"]}]}],I.propDecorators={options:[{type:d.Input}],preselection:[{type:d.Input}],labelFunction:[{type:d.Input}],selectionChange:[{type:d.Output}],selection:[{type:d.Input}]},I);function I(){this.options=[],this.selectionChange=new d.EventEmitter}var w=(x.decorators=[{type:d.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}"]}]}],x.ctorParameters=function(){return[]},x.propDecorators={data:[{type:d.Input}]},x);function x(){}var _={RED:"hmcts-badge--red",ORANGE:"hmcts-badge--orange",GREEN:"hmcts-badge--green"},S=(Object.defineProperty(L.prototype,"badge",{get:function(){return this.pBadge},enumerable:!0,configurable:!0}),Object.defineProperty(L.prototype,"label",{get:function(){return this.pLabel},enumerable:!0,configurable:!0}),Object.defineProperty(L.prototype,"accessibleLabel",{get:function(){return this.pAccessibleLabel},enumerable:!0,configurable:!0}),Object.defineProperty(L.prototype,"daysDiff",{get:function(){return this.pDaysDiff},enumerable:!0,configurable:!0}),L.prototype.ngOnChanges=function(){this.handleInputChanges()},L.prototype.handleInputChanges=function(){var e;this.dueDate&&(this.pDaysDiff=this.getDaysDifference(this.dueDate,new Date),0<this.daysDiff?(this.pBadge=_.RED,e=1===this.daysDiff?"day":"days",this.pLabel="+"+this.daysDiff+" "+e,this.pAccessibleLabel="This task is "+this.daysDiff+" "+e+" past its due date"):(0===this.daysDiff?(this.pLabel="TODAY",this.pAccessibleLabel="This task is due to be completed today"):(this.pLabel=""+r.formatDate(this.dueDate,"d MMM","en-GB"),this.pAccessibleLabel="This task is due to be completed by "+r.formatDate(this.dueDate,"d MMMM y","en-GB")),0<this.daysDiff+this.highUrgencyCutoff?this.pBadge=_.RED:0<this.daysDiff+this.mediumUrgencyCutoff?this.pBadge=_.ORANGE:this.pBadge=_.GREEN))},L.prototype.getDaysDifference=function(e,t){e=e.getTime(),t=t.getTime(),e=Math.floor((t-e)/1e3);return Math.floor(e/86400)},L.decorators=[{type:d.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:d.ViewEncapsulation.None,styles:[".due-date{white-space:nowrap}.due-date.hmcts-badge--orange{color:#f47738;border-color:#f47738}"]}]}],L.propDecorators={dueDate:[{type:d.Input}],highUrgencyCutoff:[{type:d.Input}],mediumUrgencyCutoff:[{type:d.Input}]},L);function L(){this.highUrgencyCutoff=0,this.mediumUrgencyCutoff=2}var P=(D.prototype.persist=function(e,t){switch(t){case"local":this.persistLocal(e);break;case"session":this.persistSession(e)}this.persistMemory(e),this.updateStreams(e)},D.prototype.get=function(e){return this.filterSettings[e]||(sessionStorage.getItem(e)?JSON.parse(window.sessionStorage.getItem(e)):localStorage.getItem(e)?JSON.parse(window.localStorage.getItem(e)):null)},D.prototype.getStream=function(e){return this.streams[e]||(this.streams[e]=new g.BehaviorSubject(this.get(e))),this.streams[e].asObservable()},D.prototype.persistLocal=function(e){window.localStorage.setItem(e.id,JSON.stringify(e))},D.prototype.persistSession=function(e){window.sessionStorage.setItem(e.id,JSON.stringify(e))},D.prototype.persistMemory=function(e){this.filterSettings[e.id]=e},D.prototype.updateStreams=function(e){this.streams[e.id]&&this.streams[e.id].next(e)},D.decorators=[{type:d.Injectable,args:[{providedIn:"root"}]}],D.ngInjectableDef=d.defineInjectable({factory:function(){return new D},token:D,providedIn:"root"}),D);function D(){this.givenErrors=new g.BehaviorSubject(null),this.isInitialSetting=!1,this.filterSettings={},this.streams={}}function F(e,o){return e.reduce(function(e,t,n){return o[n]?k(e,[t.key]):e},[])}var E=(Object.defineProperty(A.prototype,"config",{get:function(){return this._config},set:function(e){this._config=v({},e,{fields:e.fields.map(function(e){return v({},e,{displayMinSelectedError:!1,displayMaxSelectedError:!1})})}),this._config=e},enumerable:!0,configurable:!0}),Object.defineProperty(A.prototype,"settings",{get:function(){return this._settings},set:function(e){e||this.getSettings(),e&&e.fields&&this.mergeDefaultFields(e),this._settings=e},enumerable:!0,configurable:!0}),A.addFormValidators=function(e){var t,n,o=[];return e&&e.minSelected&&o.push((t=e.minSelected,function(e){e=e.value;return e.length&&e.filter(function(e){return e}).length>=t?null:{minLength:!0}})),e&&e.maxSelected&&o.push((n=e.maxSelected,function(e){e=e.value;return e.length&&e.filter(function(e){return e}).length<=n?null:{maxLength:!0}})),o},A.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})},A.prototype.ngOnDestroy=function(){this.formSub&&this.formSub.unsubscribe()},A.prototype.hidden=function(e,t){if(!e.showCondition)return!1;if("string"==typeof e.showCondition){var n=t.get(e.name),o=y(e.showCondition.split("="),2),i=o[0],o=o[1];if(t.value&&t.value[i]===o)return"find-person"===e.type?(n.get("email").setValidators(p.Validators.required),n.get("email").updateValueAndValidity()):(n.setValidators(p.Validators.required),n.updateValueAndValidity()),!1;"find-person"===e.type?(n.get("email").clearValidators(),n.get("email").updateValueAndValidity()):(n.clearValidators(),n.updateValueAndValidity())}return!0},A.prototype.disabled=function(e,t){if(!e.enableCondition)return null;if("string"==typeof e.enableCondition){var n=t.get(e.name),o=y(e.enableCondition.split("="),2),i=o[0],o=o[1];if(t.value&&t.value[i]===o)return"find-person"===e.type?(n.get("email").setValidators(p.Validators.required),n.get("email").updateValueAndValidity()):(n.setValidators(p.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||null)},A.prototype.applyFilter=function(e){var t;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),t=v({},this.settings,{reset:!1}),this.filterService.persist(t,this.config.persistence)):this.emitFormErrors(e)},A.prototype.fieldChanged=function(e,t){var n,o;if(e.changeResetFields&&e.changeResetFields.length)try{for(var i=b(e.changeResetFields),s=i.next();!s.done;s=i.next()){var r=s.value;this.resetField(r,t)}}catch(a){n={error:a}}finally{try{s&&!s.done&&(o=i["return"])&&o.call(i)}finally{if(n)throw n.error}}},A.prototype.inputChanged=function(e){var t;e.radioSelectionChange&&"string"==typeof e.radioSelectionChange&&(e=(t=y(e.enableCondition.split("="),2))[0],t=t[1],this.form.get(e).patchValue(t))},A.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=v({},this.settings,{reset:!0});this.filterService.persist(e,this.config.persistence),this.filterService.givenErrors.next(null),this.submitted=!1},A.prototype.updatePersonControls=function(e,t){var n,o,i=e?Object.keys(e):Object.keys(this.form.get(t.name).value);try{for(var s=b(i),r=s.next();!r.done;r=s.next()){var a,l=r.value;this.form.get(t.name)&&this.form.get(t.name).get(l)&&(a=e&&e[l]?e[l]:null,this.form.get(t.name).get(l).patchValue(a))}}catch(c){n={error:c}}finally{try{r&&!r.done&&(o=s["return"])&&o.call(s)}finally{if(n)throw n.error}}},A.prototype.toggleSelectAll=function(e,t,n,o){var i,s=e.target.checked,e=t.get(o.name);n.selectAll?e.controls.forEach(function(e){s?e.patchValue(!0):e.patchValue(!1)}):(t=e.controls.every(function(e){return e.value}),i=null,n=o.options.find(function(e,t){return!!e.hasOwnProperty("selectAll")&&(i=t,!0)}),o=e.controls.filter(function(e,t){return t!==i}).every(function(e){return e.value}),t||!n||s?n&&!t&&s&&o&&e.controls[i].patchValue(!0):e.controls.forEach(function(e,t){i===t&&e.patchValue(!1)}))},A.prototype.resetField=function(t,e){var n,o,i=e.get(t),s=this.config.cancelSetting.fields.find(function(e){return e.name===t});if(i instanceof p.FormArray)for(var r=0;r<i.length;r++)i.removeAt(r);else if(i instanceof p.FormGroup){e=Object.keys(i.value);try{for(var a=b(e),l=a.next();!l.done;l=a.next()){var c=l.value;this.resetField(c,i)}}catch(u){n={error:u}}finally{try{l&&!l.done&&(o=a["return"])&&o.call(a)}finally{if(n)throw n.error}}}else i instanceof p.FormControl&&(s=s&&s.value&&s.value.length?s.value[0]:null,i.setValue(s))},A.prototype.mergeDefaultFields=function(e){e?e.fields=(this.filterService.get(this.config.id)?this.filterService.get(this.config.id):e).fields:this.config&&this.config.cancelSetting&&(this._settings={id:this.config.id,fields:JSON.parse(JSON.stringify(this.config.cancelSetting.fields))})},A.prototype.getSettings=function(){this._settings=this.filterService.get(this.config.id)},A.prototype.buildForm=function(s,r,a){var e,t,n=this.form?this.form.get("findPersonControl"):null;this.form=this.fb.group({}),n&&this.form.addControl("findPersonControl",n);var l=this;try{for(var o=b(s.fields),i=o.next();!i.done;i=o.next())!function(t){var e,n,o,i;"checkbox"===t.type||"checkbox-large"===t.type?(e=l.buildCheckBoxFormArray(t,r),l.form.addControl(t.name,e)):"find-location"===t.type?(e=l.buildFindLocationFormArray(t,r),l.form.addControl(t.name,e)):(i=[],t.minSelected&&0<t.minSelected&&i.push(p.Validators.required),n=null,a&&s.cancelSetting?n=(e=s.cancelSetting.fields.find(function(e){return e.name===t.name}))&&e.value?e.value[0]:"":r&&r.fields&&(n=(o=r.fields.find(function(e){return e.name===t.name}))&&o?o.value[0]:""),"find-person"===t.type?(o=new p.FormGroup({domain:new p.FormControl(""),email:new p.FormControl(n&&n.hasOwnProperty("email")?n.email:"",i),id:new p.FormControl(""),name:new p.FormControl(""),knownAs:new p.FormControl("")}),l.form.addControl(t.name,o)):(i=new p.FormControl(n,i),l.form.addControl(t.name,i)),t.findPersonField&&l.fieldChanged(t,l.form))}(i.value)}catch(c){e={error:c}}finally{try{i&&!i.done&&(t=o["return"])&&t.call(o)}finally{if(e)throw e.error}}},A.prototype.buildCheckBoxFormArray=function(t,e){var n,o,i,s=A.addFormValidators(t),r=this.fb.array([],s);e&&e.fields&&(i=e.fields.find(function(e){return e.name===t.name}));try{for(var a=b(t.options),l=a.next();!l.done;l=a.next())!function(t){var e=!1;i&&Array.isArray(i.value)&&(e=!!i.value.find(function(e){return e===t.key})),r.push(new p.FormControl(e))}(l.value)}catch(c){n={error:c}}finally{try{l&&!l.done&&(o=a["return"])&&o.call(a)}finally{if(n)throw n.error}}return r},A.prototype.buildFindLocationFormArray=function(t,e){var n,o,i,s=A.addFormValidators(t),r=this.fb.array([],s);if(e&&e.fields&&(i=e.fields.find(function(e){return e.name===t.name}))&&i.value&&0<i.value.length)try{for(var a=b(i.value),l=a.next();!l.done;l=a.next()){var c=l.value;r.push(new p.FormControl(c))}}catch(u){n={error:u}}finally{try{l&&!l.done&&(o=a["return"])&&o.call(a)}finally{if(n)throw n.error}}return r},A.prototype.getSelectedValues=function(o,i){return Object.keys(o).map(function(t){var e=o[t];if(Array.isArray(e)){var n=i.fields.find(function(e){return e.name===t});return"find-location"===n.type?{value:e,name:t}:{value:F(n.options,e),name:t}}return{value:[e],name:t}})},A.prototype.emitFormErrors=function(e){var t,n,o=[];try{for(var i=b(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(l){t={error:l}}finally{try{s&&!s.done&&(n=i["return"])&&n.call(i)}finally{if(t)throw t.error}}o.length&&this.filterService.givenErrors.next(o)},A.decorators=[{type:d.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.enableAddLocationButton"\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 </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:d.ChangeDetectionStrategy.OnPush,encapsulation:d.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}"]}]}],A.ctorParameters=function(){return[{type:P},{type:p.FormBuilder}]},A.propDecorators={config:[{type:d.Input}],settings:[{type:d.Input}]},A);function A(e,t){this.filterService=e,this.fb=t,this.submitted=!1}var M=(T.prototype.onClose=function(){this.close.emit()},T.decorators=[{type:d.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;position:fixed;z-index:1000;top:0;left:0;width:100%;height:100%;overflow-x:hidden;overflow-y:scroll;outline:0}.gem-c-modal-dialogue__box{display:block;position:fixed;background:#fff;top:0;right:0;bottom:0;left:0;width:100%;height:100%;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:1rem;line-height:1.25;color:#0b0c0c}.gem-c-modal-dialogue__box:focus{outline:#fd0 solid 3px}@media (min-width:40.0625em){.gem-c-modal-dialogue__box{font-size:1.1875rem;line-height:1.3157894737;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 print{.gem-c-modal-dialogue__box{font-family:sans-serif;font-size:14pt;line-height:1.15;color:#000}}@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:0 0;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 (min-width:40.0625em){.gem-c-modal-dialogue__box--wide{max-width:960px}.gem-c-modal-dialogue__close-button{font-size:2.25rem;line-height:1.3}}@media print{.gem-c-modal-dialogue__close-button{font-family:sans-serif;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:0;background:#fd0}']}]}],T.ctorParameters=function(){return[]},T.propDecorators={positionTop:[{type:d.Input}],close:[{type:d.Output}]},T);function T(){this.close=new d.EventEmitter}var O=(Object.defineProperty(j.prototype,"errorMessages",{set:function(e){this.isInvalid=e||{}},enumerable:!0,configurable:!0}),j.prototype.onSubmit=function(){this.submitForm.emit()},j.decorators=[{type:d.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'}]}],j.propDecorators={submitForm:[{type:d.Output}],inviteUserForm:[{type:d.Input}],errorMessages:[{type:d.Input}]},j);function j(){this.submitForm=new d.EventEmitter}var N=(U.decorators=[{type:d.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>"}]}],U.propDecorators={inviteUserForm:[{type:d.Input}],isPuiCaseManager:[{type:d.Input}],isPuiUserManager:[{type:d.Input}],isPuiOrganisationManager:[{type:d.Input}],isPuiFinanceManager:[{type:d.Input}],errorMessages:[{type:d.Input}]},U);function U(){this.isPuiCaseManager=!1,this.isPuiUserManager=!1,this.isPuiOrganisationManager=!1,this.isPuiFinanceManager=!1}var R=(B.decorators=[{type:d.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:d.ViewEncapsulation.None,styles:[".spinner-container{position:fixed;top:0;left:0;height:100%;width:100%;display:flex;justify-content:center;align-items:center;background:rgba(255,255,255,.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:10px solid #000;border-radius:50%;width:40px;height:40px;-webkit-animation:1s linear infinite spin;animation:1s linear infinite spin}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0)}100%{-webkit-transform:rotate(360deg)}}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}"]}]}],B.propDecorators={loadingText:[{type:d.Input}]},B);function B(){this.loadingText="Loading"}var V=(Object.defineProperty(G.prototype,"state",{get:function(){return this.subject.asObservable().pipe(h.distinctUntilChanged())},enumerable:!0,configurable:!0}),G.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)},G.prototype.getCases=function(){return this.caseState},G.prototype.requestShare=function(t){var e,n,o=this.caseState.slice(),i=[];try{for(var s=b(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,t)){for(var u=0,p=c.length;u<p;u++)if(c[u].email===t.email){c.splice(u,1);break}}else l.some(function(e){return e.email===t.email})||l.push(t);var d=v({},a,{pendingUnshares:c,pendingShares:l});i.push(d)}}catch(g){e={error:g}}finally{try{r&&!r.done&&(n=s["return"])&&n.call(s)}finally{if(e)throw e.error}}return this.subject.next(i),i},G.prototype.requestUnshare=function(e,t){var n,o,i=[];try{for(var s=b(this.caseState),r=s.next();!r.done;r=s.next()){var a,l,c=r.value;c.caseId===e?(c.pendingUnshares||(c.pendingUnshares=[]),(a=c.pendingUnshares.slice())&&a.some(function(e){return e.email===t.email})||a.push(t),l=v({},c,{pendingUnshares:a}),i.push(l)):i.push(c)}}catch(u){n={error:u}}finally{try{r&&!r.done&&(o=s["return"])&&o.call(s)}finally{if(n)throw n.error}}this.subject.next(i)},G.prototype.requestCancel=function(e,t){var n,o,i=[];try{for(var s=b(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(),p=0;p<u.length;p++)if(u[p].email===t.email){u.splice(p,1);break}var d=v({},a,{pendingUnshares:l,pendingShares:u});i.push(d)}else i.push(a)}}catch(g){n={error:g}}finally{try{r&&!r.done&&(o=s["return"])&&o.call(s)}finally{if(n)throw n.error}}this.subject.next(i)},G.prototype.removeCase=function(e){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)},G.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},G.decorators=[{type:d.Injectable,args:[{providedIn:"root"}]}],G.ctorParameters=function(){return[]},G.ngInjectableDef=d.defineInjectable({factory:function(){return new G},token:G,providedIn:"root"}),G);function G(){this.caseState=[],this.subject=new g.BehaviorSubject(this.caseState)}var z=(H.prototype.ngOnInit=function(){var t=this;this.shareCases$=this.stateService.state,this.shareCases$.subscribe(function(e){return t.shareCases=e})},H.prototype.trackByUserId=function(e){return e.idamId},H.prototype.showUserAccessBlock=function(){return!!(this.sharedCase.pendingShares&&0<this.sharedCase.pendingShares.length)||this.sharedCase.pendingUnshares&&0<this.sharedCase.pendingUnshares.length},H.decorators=[{type:d.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%}"]}]}],H.ctorParameters=function(){return[{type:V}]},H.propDecorators={sharedCase:[{type:d.Input}],changeLink:[{type:d.Input}]},H);function H(e){this.stateService=e,this.changeLink=""}var W=($.prototype.ngOnInit=function(){var t=this;this.shareCases$=this.stateService.state,this.shareCases$.subscribe(function(e){return t.shareCases=e})},$.prototype.onUnselect=function(e){this.unselect.emit(e)},$.prototype.onSynchronizeStore=function(e){this.synchronizeStore.emit(e)},$.prototype.trackByCaseId=function(e){return e.caseId},$.decorators=[{type:d.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 [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:[""]}]}],$.ctorParameters=function(){return[{type:V}]},$.propDecorators={shareCases$:[{type:d.Input}],removeUserFromCaseToggleOn:[{type:d.Input}],toConfirm:[{type:d.Input}],changeLink:[{type:d.Input}],unselect:[{type:d.Output}],synchronizeStore:[{type:d.Output}]},$);function $(e){this.stateService=e,this.shareCases=[],this.toConfirm=!1,this.changeLink="",this.unselect=new d.EventEmitter,this.synchronizeStore=new d.EventEmitter}var q=(J.prototype.ngOnInit=function(){var t=this;this.shareCases$=this.stateService.state,this.shareCases$.subscribe(function(e){return t.shareCases=e})},J.prototype.ngOnChanges=function(e){var t;e.sharedCase&&(t=this.sharedCase.sharedWith||[],e=this.sharedCase.pendingShares||[],this.combinedSortedShares=this.combineAndSortShares(t,e))},J.prototype.onUnselect=function(){this.unselect.emit(this.sharedCase)},J.prototype.onDeselect=function(e){this.unselect.emit(e)},J.prototype.trackByUserId=function(e){return e.idamId},J.prototype.canRemove=function(a,l){var c=this;return this.shareCases$.pipe(h.map(function(e){var t,n;if(c.removeUserFromCaseToggleOn)try{for(var o=b(e),i=o.next();!i.done;i=o.next()){var s=i.value;if(s.caseId===a){if(s.pendingUnshares&&s.pendingUnshares.some(function(e){return e.idamId===l.idamId}))return!1;if(s.sharedWith&&s.sharedWith.some(function(e){return e.idamId===l.idamId}))return!0}}}catch(r){t={error:r}}finally{try{i&&!i.done&&(n=o["return"])&&n.call(o)}finally{if(t)throw t.error}}return!1}))},J.prototype.canCancel=function(a,l){return this.shareCases$.pipe(h.map(function(e){var t,n;try{for(var o=b(e),i=o.next();!i.done;i=o.next()){var s=i.value;if(s.caseId===a)return!(!s.pendingShares||!s.pendingShares.some(function(e){return e.idamId===l.idamId}))||!(!s.pendingUnshares||!s.pendingUnshares.some(function(e){return e.idamId===l.idamId}))}}catch(r){t={error:r}}finally{try{i&&!i.done&&(n=o["return"])&&n.call(o)}finally{if(t)throw t.error}}}))},J.prototype.isToBeRemoved=function(a,l){return this.shareCases$.pipe(h.map(function(e){var t,n;try{for(var o=b(e),i=o.next();!i.done;i=o.next()){var s=i.value;if(s.caseId===a)return s.pendingUnshares&&s.pendingUnshares.some(function(e){return e.idamId===l.idamId})}}catch(r){t={error:r}}finally{try{i&&!i.done&&(n=o["return"])&&n.call(o)}finally{if(t)throw t.error}}}))},J.prototype.isToBeAdded=function(a,l){return this.shareCases$.pipe(h.map(function(e){var t,n;try{for(var o=b(e),i=o.next();!i.done;i=o.next()){var s=i.value;if(s.caseId===a)return s.pendingShares&&s.pendingShares.some(function(e){return e.idamId===l.idamId})}}catch(r){t={error:r}}finally{try{i&&!i.done&&(n=o["return"])&&n.call(o)}finally{if(t)throw t.error}}}))},J.prototype.onRemove=function(e,t){this.stateService.requestUnshare(t.caseId,e),this.synchronizeStore.emit(this.shareCases)},J.prototype.onCancel=function(e,t){this.stateService.requestCancel(t.caseId,e),this.synchronizeStore.emit(this.shareCases)},J.prototype.showNoUsersAccessInfo=function(){return!(this.sharedCase.pendingShares&&0<this.sharedCase.pendingShares.length)&&(!(!this.sharedCase.sharedWith||0!==this.sharedCase.sharedWith.length)||!!(this.sharedCase.sharedWith&&this.sharedCase.pendingUnshares&&0<this.sharedCase.pendingUnshares.length&&this.sharedCase.sharedWith.length===this.sharedCase.pendingUnshares.length))},J.prototype.showUserHasAccessInfo=function(){return!this.showNoUsersAccessInfo()},J.prototype.showUserAccessTable=function(){return!!(this.sharedCase.pendingShares&&0<this.sharedCase.pendingShares.length)||!!(this.sharedCase.sharedWith&&0<this.sharedCase.sharedWith.length)},J.prototype.combineAndSortShares=function(e,t){return k(e,t).sort(function(e,t){return e.firstName.toLowerCase()>t.firstName.toLowerCase()?1:t.firstName.toLowerCase()>e.firstName.toLowerCase()?-1:0})},J.prototype.userIdSetter=function(e,t){return e?"pendingShares-"+t:""+t},J.prototype.buildElementId=function(e){return e+"-"+this.sharedCase.caseId},J.decorators=[{type:d.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 id="{{buildElementId(\'btn-deselect-case\')}}" class="govuk-button hmcts-button--secondary" (click)="onDeselect(sharedCase)" title="Deselect case">Deselect case</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"> </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-family:nta,Arial,sans-serif;font-size:24px;color:#005ea5;font-weight:700;padding-left:0}.govuk-case-sub-title{font-family:nta,Arial,sans-serif;font-size:1rem!important;color:#6f777b;font-weight:400;padding-left:0}.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:40%}.govuk-table-column-actions,.govuk-table-column-label{width:10%}.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}"]}]}],J.ctorParameters=function(){return[{type:V}]},J.propDecorators={sharedCase:[{type:d.Input}],selectedUser:[{type:d.Input}],opened:[{type:d.Input}],removeUserFromCaseToggleOn:[{type:d.Input}],unselect:[{type:d.Output}],synchronizeStore:[{type:d.Output}]},J);function J(e){this.stateService=e,this.opened=!1,this.unselect=new d.EventEmitter,this.synchronizeStore=new d.EventEmitter}var K=(Y.prototype.onHideMessageEvent=function(e){this.hideMessage.emit(e)},Y.decorators=[{type:d.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>'}]}],Y.ctorParameters=function(){return[]},Y.propDecorators={message:[{type:d.Input}],key:[{type:d.Input}],hideMessage:[{type:d.Output}]},Y);function Y(){this.hideMessage=new d.EventEmitter}var Q=(X.prototype.initialize=function(e,t){throw new Error("Not implemented")},X.prototype.isEnabled=function(e){throw new Error("Not implemented")},X.prototype.getValue=function(e,t){throw new Error("Not implemented")},X.prototype.getValueOnce=function(e,t){throw new Error("Not implemented")},X.decorators=[{type:d.Injectable,args:[{providedIn:"root"}]}],X.ngInjectableDef=d.defineInjectable({factory:function(){return new X},token:X,providedIn:"root"}),X);function X(){}var Z=(ee.prototype.ngOnInit=function(){this.getServiceMessages()},ee.prototype.getServiceMessages=function(){var t=this;this.featureToggleService.getValue(this.featureToggleKey,null).subscribe(function(e){e&&t.createFilteredMessages(e)})},ee.prototype.createFilteredMessages=function(n){var o=this;this.hiddenBanners=JSON.parse(window.sessionStorage.getItem(this.serviceMessageCookie))||[],Object.keys(n).forEach(function(e){var t=new RegExp(e);o.userRoles.some(function(e){return t.test(e)})&&-1===o.hiddenBanners.indexOf(e)&&o.filteredMessages.set(e,n[e])})},ee.prototype.hideMessage=function(e){this.filteredMessages["delete"](e),this.hiddenBanners.push(e),window.sessionStorage.setItem(this.serviceMessageCookie,JSON.stringify(this.hiddenBanners))},ee.decorators=[{type:d.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>'}]}],ee.ctorParameters=function(){return[{type:Q}]},ee.propDecorators={userRoles:[{type:d.Input}],featureToggleKey:[{type:d.Input}],serviceMessageCookie:[{type:d.Input}]},ee);function ee(e){this.featureToggleService=e,this.filteredMessages=new Map}var te=(ne.prototype.ngOnInit=function(){var t=this;this.shareCases$.subscribe(function(e){t.shareCases=e,t.stateService.setCases(e)}),this.shareCases$=this.stateService.state},ne.decorators=[{type:d.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:[""]}]}],ne.ctorParameters=function(){return[{type:V}]},ne.propDecorators={shareCases$:[{type:d.Input}],changeLink:[{type:d.Input}],completeLink:[{type:d.Input}]},ne);function ne(e){this.stateService=e,this.shareCases=[],this.changeLink="",this.completeLink=""}var oe=(ie.prototype.ngOnInit=function(){var t=this;this.filteredUsers=this.control.valueChanges.pipe(h.map(function(e){return"string"==typeof e?t.filterUsers(e):t.users})),this.selected.emit(null)},ie.prototype.displayValue=function(e){return e?e.firstName+" "+e.lastName+" - "+e.email:""},ie.prototype.onSelected=function(e){this.selected.emit(e.option.value)},ie.prototype.clear=function(){this.control.setValue(null)},ie.prototype.onUserChange=function(e){e&&e.email||this.selected.emit(null)},ie.prototype.filterUsers=function(t){return t?(t=t.toLowerCase(),this.users.filter(function(e){return!!e.firstName.toLowerCase().includes(t)||(!!e.lastName.toLowerCase().includes(t)||!!e.email.toLowerCase().includes(t))})):[]},ie.decorators=[{type:d.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:[""]}]}],ie.ctorParameters=function(){return[]},ie.propDecorators={users:[{type:d.Input}],selected:[{type:d.Output}]},ie);function ie(){this.selected=new d.EventEmitter,this.control=new p.FormControl}var se=(re.prototype.ngOnInit=function(){var t=this;this.shareCases$.subscribe(function(e){t.shareCases=e,t.stateService.setCases(e)}),this.shareCases$=this.stateService.state},re.prototype.onUnselect=function(e){this.unselect.emit(e),this.stateService.removeCase(e.caseId)},re.prototype.onSynchronizeStore=function(e){this.synchronizeStore.emit(e)},re.prototype.onSelectedUser=function(e){this.selectedUser=e},re.prototype.addUser=function(){var e=this.stateService.requestShare(this.selectedUser);this.selectedUser=null,this.userSelect&&this.userSelect.clear(),this.synchronizeStore.emit(e)},re.prototype.isDisabledAdd=function(){return null===this.selectedUser||0===this.shareCases.length},re.prototype.isDisabledContinue=function(){var a=!0;return this.shareCases$.subscribe(function(e){var t,n;try{for(var o=b(e),i=o.next();!i.done;i=o.next()){var s=i.value;if(s.pendingShares&&0<s.pendingShares.length){a=!1;break}if(s.pendingUnshares&&0<s.pendingUnshares.length){a=!1;break}}}catch(r){t={error:r}}finally{try{i&&!i.done&&(n=o["return"])&&n.call(o)}finally{if(t)throw t.error}}}),a},re.prototype.onDeselect=function(e){var t,n;if(null!==e){var o=[];try{for(var i=b(this.shareCases),s=i.next();!s.done;s=i.next()){var r=s.value;r.caseId!==e.caseId&&o.push(r)}}catch(a){t={error:a}}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)},re.decorators=[{type:d.Component,args:[{selector:"xuilib-share-case",template:'<div id="add-user">\n <label class="govuk-label govuk-!-font-weight-bold" for="add-user-input">Enter email address</label>\n <span id="add-user-hint" class="govuk-hint">\n Search by name or email address. You can only add people from your organisation individually - but you can add as many as you like.\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" [disabled]="isDisabledAdd()" title="Add user to the case">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\n<div id="cases">\n <h3 id="title-selected-cases" class="govuk-heading-m">Selected cases</h3>\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 No cases to display.\n </div>\n\n</div>\n\n<div id="share-case-nav">\n <button class="govuk-button" [disabled]="isDisabledContinue()" title="Continue" [routerLink]="confirmLink">Continue</button>\n</div>\n',styles:[""]}]}],re.ctorParameters=function(){return[{type:V}]},re.propDecorators={removeUserFromCaseToggleOn:[{type:d.Input}],shareCases$:[{type:d.Input}],users:[{type:d.Input}],confirmLink:[{type:d.Input}],unselect:[{type:d.Output}],synchronizeStore:[{type:d.Output}],userSelect:[{type:d.ViewChild,args:[oe]}]},re);function re(e){this.stateService=e,this.shareCases=[],this.removeUserFromCaseToggleOn=!1,this.users=[],this.confirmLink="",this.unselect=new d.EventEmitter,this.synchronizeStore=new d.EventEmitter}var ae=(le.prototype.tabChanged=function(e){this.tabChange.emit(e)},le.decorators=[{type:d.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>'}]}],le.ctorParameters=function(){return[]},le.propDecorators={tabItems:[{type:d.Input}],tabChange:[{type:d.Output}]},le);function le(){this.tabChange=new d.EventEmitter}var ce=(ue.prototype.onClick=function(){this.confirm.emit()},ue.decorators=[{type:d.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:[""]}]}],ue.ctorParameters=function(){return[]},ue.propDecorators={buttonText:[{type:d.Input}],confirm:[{type:d.Output}]},ue);function ue(){this.confirm=new d.EventEmitter}var pe=(de.decorators=[{type:d.Component,args:[{selector:"xuilib-tc-display-html",template:"<ng-content></ng-content>",styles:[":host{display:block;width:100%}"]}]}],de.ctorParameters=function(){return[]},de);function de(){}var ge=(he.decorators=[{type:d.Component,args:[{selector:"xuilib-tc-display-plain",template:"<ng-content></ng-content>",styles:[":host{display:block;width:100%}"]}]}],he.ctorParameters=function(){return[]},he);function he(){}var me=(fe.decorators=[{type:d.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%}"]}]}],fe.ctorParameters=function(){return[]},fe.propDecorators={document:[{type:d.Input}]},fe);function fe(){}var ve=(be.prototype.reinviteClick=function(e){this.reinvite.emit(e)},be.prototype.suspendUser=function(e){this.suspendUserEvent.emit(e)},be.prototype.userHasRole=function(e){return!(!this.user||!this.user.roles)&&this.user.roles.includes(e)},be.decorators=[{type:d.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}"]}]}],be.propDecorators={user:[{type:d.Input}],editPermissionRouterLink:[{type:d.Input}],warningTitle:[{type:d.Input}],showEditLink:[{type:d.Input}],showHelpLink:[{type:d.Input}],suspendHelpLink:[{type:d.Input}],suspendUserEvent:[{type:d.Output}],showSuspendUserButton:[{type:d.Input}],reinvite:[{type:d.Output}]},be);function be(){this.showEditLink=!1,this.showHelpLink=!1,this.suspendUserEvent=new d.EventEmitter,this.showSuspendUserButton=!1,this.reinvite=new d.EventEmitter}var ye=(ke.prototype.ngOnInit=function(){this.pagination={itemsPerPage:50,currentPage:this.currentPageNumber,totalItems:this.pageTotalSize}},ke.prototype.onUserClick=function(e){this.userClick.emit(e)},ke.prototype.emitPageClickEvent=function(e){this.currentPageNumber=e,this.pageChange.emit(e)},ke.decorators=[{type:d.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}"]}]}],ke.propDecorators={users:[{type:d.Input}],currentPageNumber:[{type:d.Input}],pageTotalSize:[{type:d.Input}],userClick:[{type:d.Output}],pageChange:[{type:d.Output}]},ke);function ke(){this.users=[],this.userClick=new d.EventEmitter,this.pageChange=new d.EventEmitter}var Ce=(Ie.prototype.setCookie=function(e,t,n){this.document.cookie=e+"="+t+";"+(n?" expires="+n:"")},Ie.prototype.getCookie=function(t){return this.document.cookie.split("; ").find(function(e){return e.startsWith(t+"=")}).split("=")[1]},Ie.prototype.deleteCookie=function(e,t,n){this.document.cookie=e+"="+(t?"; path="+t:"")+(n?"; domain="+n:"")+"; expires=Thu, 01 Jan 1970 00:00:01 GMT; max-age=0"},Ie.prototype.deleteCookieByPartialMatch=function(t,n,o){var i=this;this.document.cookie.split("; ").filter(function(e){return e.startsWith(""+t)}).forEach(function(e){i.deleteCookie(e.split("=")[0],n,o)})},Ie.prototype.checkCookie=function(t){return this.document.cookie.split("; ").some(function(e){return e.trim().startsWith(t+"=")})},Ie.decorators=[{type:d.Injectable,args:[{providedIn:"root"}]}],Ie.ctorParameters=function(){return[{type:undefined,decorators:[{type:d.Inject,args:[r.DOCUMENT]}]}]},Ie.ngInjectableDef=d.defineInjectable({factory:function(){return new Ie(d.inject(r.DOCUMENT))},token:Ie,providedIn:"root"}),Ie);function Ie(e){this.document=e}var we=new d.InjectionToken("Window");function xe(){return window}var _e=(Se.prototype.ngOnInit=function(){this.setState()},Se.prototype.acceptCookie=function(){this.cookieService.setCookie(this.identifier,"true",this.getExpiryDate()),this.setState(!0)},Se.prototype.rejectCookie=function(){this.cookieService.setCookie(this.identifier,"false",this.getExpiryDate()),this.setState(!0)},Se.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()},Se.prototype.areCookiesAccepted=function(){return this.cookieService.checkCookie(this.identifier)&&"true"===this.cookieService.getCookie(this.identifier)},Se.prototype.notifyRejection=function(){this.rejectionNotifier.emit()},Se.prototype.notifyAcceptance=function(){this.acceptanceNotifier.emit()},Se.prototype.getExpiryDate=function(){var e=new Date,t=e.getTime();return e.setTime(t+31536e6),e.toUTCString()},Se.decorators=[{type:d.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>'}]}],Se.ctorParameters=function(){return[{type:Ce},{type:undefined,decorators:[{type:d.Inject,args:[we]}]}]},Se.propDecorators={identifier:[{type:d.Input}],appName:[{type:d.Input}],rejectionNotifier:[{type:d.Output}],acceptanceNotifier:[{type:d.Output}]},Se);function Se(e,t){this.cookieService=e,this.rejectionNotifier=new d.EventEmitter,this.acceptanceNotifier=new d.EventEmitter,this.isCookieBannerVisible=!1,this.window=t}var Le=(Pe.prototype.getAllLocations=function(e,t,n){return this.http.get("api/locations/getLocations?serviceIds="+e+"&locationType="+t+"&searchTerm="+n)},Pe.prototype.searchLocations=function(e,t,n){return this.http.get("api/prd/location/getLocations?serviceIds="+e+"&locationType="+t+"&searchTerm="+n)},Pe.decorators=[{type:d.Injectable,args:[{providedIn:"root"}]}],Pe.ctorParameters=function(){return[{type:i.HttpClient}]},Pe.ngInjectableDef=d.defineInjectable({factory:function(){return new Pe(d.inject(i.HttpClient))},token:Pe,providedIn:"root"}),Pe);function Pe(e){this.http=e}var De=(Object.defineProperty(Fe.prototype,"reset",{get:function(){return this.pReset},set:function(e){this.pReset=e,this.resetSearchTerm()},enumerable:!0,configurable:!0}),Object.defineProperty(Fe.prototype,"selectedLocations",{get:function(){return this.pSelectedLocations},set:function(e){this.pSelectedLocations=e},enumerable:!0,configurable:!0}),Fe.prototype.ngOnInit=function(){var e;this.singleMode&&0<this.selectedLocations.length&&(e=this.selectedLocations[0],this.form.controls.searchTerm.patchValue(e.site_name,{emitEvent:!1,onlySelf:!0})),this.search()},Fe.prototype.filter=function(e){var t=this;this.getLocations(e).pipe(h.map(function(e){return t.removeSelectedLocations(e)}))},Fe.prototype.onSelectionChange=function(e){this.form.controls.searchTerm.patchValue(e.site_name,{emitEvent:!1,onlySelf:!0}),this.locationSelected.emit(e)},Fe.prototype.search=function(){var t=this;this.form.controls.searchTerm.valueChanges.pipe(h.tap(function(e){return t.locationInputChanged.next(e)}),h.tap(function(){return t.locations=[]}),h.tap(function(e){return t.term=e}),h.filter(function(e){return!!e&&e.length>=t.minSearchCharacters}),h.debounceTime(this.delay),h.mergeMap(function(e){return t.getLocations(e)}),h.map(function(e){return t.removeSelectedLocations(e)})).subscribe(function(e){return t.locations=e,t.cd.markForCheck(),1!==e.length||t.term!==e[0].site_name||t.singleMode?void(t.showAutocomplete=!0):(t.locationSelected.emit(e[0]),void(t.showAutocomplete=!1))})},Fe.prototype.onInput=function(){this.searchLocationChanged.emit()},Fe.prototype.getLocations=function(e){return this.locationService.getAllLocations(this.serviceIds,this.locationType,e)},Fe.prototype.resetSearchTerm=function(){this.form.controls.searchTerm.patchValue("",{emitEvent:!1,onlySelf:!0})},Fe.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})},Fe.decorators=[{type:d.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:rgba(0,0,0,.256863) 0 2px 6px;left:0;position:absolute;top:100%;z-index:100}.autocomplete__menu--inline{position:relative}.autocomplete__option{border-bottom:solid #b1b4b6;border-width:1px 0;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}"]}]}],Fe.ctorParameters=function(){return[{type:Le},{type:p.FormBuilder},{type:d.ChangeDetectorRef}]},Fe.propDecorators={control:[{type:d.Input}],disabled:[{type:d.Input}],singleMode:[{type:d.Input}],locationType:[{type:d.Input}],serviceIds:[{type:d.Input}],submitted:[{type:d.Input}],delay:[{type:d.Input}],form:[{type:d.Input}],showAutocomplete:[{type:d.Input}],locations:[{type:d.Input}],locationSelected:[{type:d.Output}],locationInputChanged:[{type:d.Output}],searchLocationChanged:[{type:d.Output}],reset:[{type:d.Input}],selectedLocations:[{type:d.Input}]},Fe);function Fe(e,t,n){this.locationService=e,this.fb=t,this.cd=n,this.disabled=null,this.singleMode=!1,this.locationType="",this.serviceIds="",this.submitted=!0,this.delay=500,this.showAutocomplete=!1,this.locations=[],this.locationSelected=new d.EventEmitter,this.locationInputChanged=new d.EventEmitter,this.searchLocationChanged=new d.EventEmitter,this.minSearchCharacters=3,this.term="",this.pSelectedLocations=[],this.pReset=!0,this.form=this.fb.group({searchTerm:[""]})}var Ee=(Object.defineProperty(Ae.prototype,"disabled",{get:function(){return this.pDisabled},set:function(e){e&&(this.searchLocationComponent.resetSearchTerm(),this.removeSelectedValues()),this.pDisabled=!0===this.disableInputField||null},enumerable:!0,configurable:!0}),Object.defineProperty(Ae.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:F(n.options,e).filter(function(e){return"services_all"!==e}).join(","))},enumerable:!0,configurable:!0}),Ae.prototype.addLocation=function(){this.tempSelectedLocation&&(this.selectedLocations=k(this.selectedLocations,[this.tempSelectedLocation]),this.addSelectedLocationsToForm([this.tempSelectedLocation]),this.tempSelectedLocation=null,this.locations=[],this.searchLocationComponent.resetSearchTerm())},Ae.prototype.removeLocation=function(t){var e,n;t.epimms_id&&(this.selectedLocations=this.selectedLocations.filter(function(e){return e.epimms_id!==t.epimms_id}),-1<(n=(e=this.form.get(this.field.name)).value.findIndex(function(e){return e.epimms_id===t.epimms_id}))&&e.removeAt(n))},Ae.prototype.onInputChanged=function(e){"string"==typeof e&&1===this.field.maxSelected&&this.removeSelectedValues()},Ae.prototype.onSearchInputChanged=function(){this.locationFieldChanged.emit()},Ae.prototype.onLocationSelected=function(t){1===this.field.maxSelected?(this.removeSelectedValues(),this.addSelectedLocationsToForm([t])):this.selectedLocations.find(function(e){return e.epimms_id===t.epimms_id})||t.epimms_id&&(this.tempSelectedLocation=t)},Ae.prototype.removeSelectedValues=function(){for(var e=this.form.get(this.field.name),t=0;t<e.length;t++)e.removeAt(t);this.selectedLocations=[]},Ae.prototype.addSelectedLocationsToForm=function(e){var t,n,o=this.form.get(this.field.name);try{for(var i=b(e),s=i.next();!s.done;s=i.next()){var r=s.value;o.push(new p.FormControl(r))}}catch(a){t={error:a}}finally{try{s&&!s.done&&(n=i["return"])&&n.call(i)}finally{if(t)throw t.error}}},Ae.decorators=[{type:d.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 [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:[""]}]}],Ae.propDecorators={locationFieldChanged:[{type:d.Output}],selectedLocations:[{type:d.Input}],submitted:[{type:d.Input}],enableAddLocationButton:[{type:d.Input}],form:[{type:d.Input}],field:[{type:d.Input}],fields:[{type:d.Input}],locationTitle:[{type:d.Input}],disableInputField:[{type:d.Input}],searchLocationComponent:[{type:d.ViewChild,args:[De]}],disabled:[{type:d.Input}],services:[{type:d.Input}]},Ae);function Ae(){this.locationFieldChanged=new d.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}var Me=(Te.prototype.onPrevious=function(){this.previousPage.emit(null)},Te.prototype.onNext=function(){this.nextPage.emit(null)},Te.decorators=[{type:d.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}"]}]}],Te.ctorParameters=function(){return[]},Te.propDecorators={moreItems:[{type:d.Input}],firstRecord:[{type:d.Input}],previousPage:[{type:d.Output}],nextPage:[{type:d.Output}]},Te);function Te(){this.previousPage=new d.EventEmitter,this.nextPage=new d.EventEmitter}var Oe=(Object.defineProperty(je.prototype,"xuilibFeatureToggle",{set:function(e){this.feature=e,this.updateSubscription()},enumerable:!0,configurable:!0}),je.prototype.ngOnDestroy=function(){this.subscription&&this.subscription.unsubscribe()},je.prototype.updateSubscription=function(){var t=this;this.subscription=this.service.isEnabled(this.feature).subscribe(function(e){e?t.viewContainer.createEmbeddedView(t.templateRef):t.viewContainer.clear()})},je.decorators=[{type:d.Directive,args:[{selector:"[xuilibFeatureToggle]"}]}],je.ctorParameters=function(){return[{type:Q},{type:d.ViewContainerRef},{type:d.TemplateRef}]},je.propDecorators={xuilibFeatureToggle:[{type:d.Input}]},je);function je(e,t,n){this.service=e,this.viewContainer=t,this.templateRef=n}var Ne=function(){this.$implicit=null,this.xuilibLet=null},Ue=(Object.defineProperty(Re.prototype,"xuilibLet",{set:function(e){this.context.$implicit=this.context.xuilibLet=e},enumerable:!0,configurable:!0}),Re.decorators=[{type:d.Directive,args:[{selector:"[xuilibLet]"}]}],Re.ctorParameters=function(){return[{type:d.ViewContainerRef},{type:d.TemplateRef}]},Re.propDecorators={xuilibLet:[{type:d.Input}]},Re);function Re(e,t){this.viewContainer=e,this.context=new Ne,this.viewContainer.createEmbeddedView(t,this.context)}var Be=(Ve.decorators=[{type:d.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%}"]}]}],Ve.ctorParameters=function(){return[]},Ve.propDecorators={backLink:[{type:d.Input}],title:[{type:d.Input}],fnTitle:[{type:d.Input}]},Ve);function Ve(){}var Ge=function(){},ze=function(){},He={JUDICIAL:"Judicial",CASEWORKER:"Legal Ops",ADMIN:"Admin",ALL:"All"},We={JUDICIAL:"JUDICIAL",CASEWORKER:"LEGAL_OPERATIONS",ADMIN:"ADMIN",ALL:"ALL"},$e=function(){},qe=function(e){var t=[];return e.forEach(function(e){t=t.concat(e.caseworkers)}),t},Je=function(e){return e+"-caseworkers"},Ke=(Ye.prototype.getItem=function(e,t){void 0===t&&(t=!1);var n=sessionStorage.getItem(e);return t&&this.removeItem(e),n},Ye.prototype.setItem=function(e,t){sessionStorage.setItem(e,t)},Ye.prototype.removeItem=function(e){sessionStorage.removeItem(e)},Ye.prototype.clear=function(){sessionStorage.clear()},Ye.decorators=[{type:d.Injectable,args:[{providedIn:"root"}]}],Ye.ngInjectableDef=d.defineInjectable({factory:function(){return new Ye},token:Ye,providedIn:"root"}),Ye);function Ye(){}var Qe=(Xe.prototype.find=function(e){var t=this,n=this.sessionStorageService.getItem("userDetails");return n&&!e.userIncluded&&(n=JSON.parse(n),this.userId=n.id||n.uid),this.assignedUser=e.assignedUser||null,this.http.post("/workallocation2/findPerson",{searchOptions:e}).pipe(h.map(function(e){return e.filter(function(e){return![t.assignedUser,t.userId].includes(e.id)})}))},Xe.prototype.findCaseworkers=function(t){var n=this,e=this.sessionStorageService.getItem("userDetails");e&&(o=JSON.parse(e),this.userId=o.id||o.uid),this.assignedUser=t.assignedUser||null;var o=t.services,i=[],s=[],r=[];if(o.forEach(function(e){var t=Je(e);n.sessionStorageService.getItem(t)?(i.push(e),r.push({service:e,caseworkers:JSON.parse(n.sessionStorageService.getItem(t))})):s.push(e)}),i.length!==o.length)return this.http.post("/workallocation2/retrieveCaseWorkersForServices",{fullServices:o}).pipe(h.tap(function(e){e.forEach(function(e){s.includes(e.service)&&function(e,t,n){e=Je(e);n.setItem(e,JSON.stringify(t))}(e.service,e.caseworkers,n.sessionStorageService)})}),h.map(function(e){e=qe(e);return n.searchInCaseworkers(e,t)}));o=qe(r);return g.of(this.searchInCaseworkers(o,t))},Xe.prototype.mapCaseworkers=function(e,n){var o=[];return e.forEach(function(e){var t={email:e.email,name:e.firstName+" "+e.lastName,id:e.idamId,domain:e.roleCategory===We.CASEWORKER?He.CASEWORKER:He.ADMIN};e.roleCategory!==n&&n!==We.ALL||o.push(t)}),o},Xe.prototype.searchInCaseworkers=function(e,t){var n=this,o=We.ALL;t.userRole!==He.ALL&&(o=t.userRole===He.CASEWORKER?We.CASEWORKER:We.ADMIN);var i=t&&t.searchTerm?t.searchTerm.toLowerCase():"",o=(e?this.mapCaseworkers(e,o):[]).filter(function(e){return e&&e.name&&e.name.toLowerCase().includes(i)});return t.userIncluded?o.filter(function(e){return e&&e.id!==n.assignedUser}):o.filter(function(e){return e&&e.id!==n.userId&&e.id!==n.assignedUser})},Xe.prototype.searchJudicial=function(e,t){return this.http.post("api/prd/judicial/getJudicialUsersSearch",{searchString:e,serviceCode:t})},Xe.caseworkersKey="caseworkers",Xe.decorators=[{type:d.Injectable,args:[{providedIn:"root"}]}],Xe.ctorParameters=function(){return[{type:i.HttpClient},{type:Ke}]},Xe.ngInjectableDef=d.defineInjectable({factory:function(){return new Xe(d.inject(i.HttpClient),d.inject(Ke))},token:Xe,providedIn:"root"}),Xe);function Xe(e,t){this.http=e,this.sessionStorageService=t}var Ze=(et.prototype.ngOnDestroy=function(){this.sub&&this.sub.unsubscribe()},et.prototype.ngOnInit=function(){var t=this;this.findPersonControl=new p.FormControl(this.selectedPerson),this.findPersonGroup.addControl("findPersonControl",this.findPersonControl),this.sub=this.findPersonControl.valueChanges.pipe(h.tap(function(){return t.showAutocomplete=!1}),h.tap(function(){return t.filteredOptions=[]}),h.debounceTime(300),h.tap(function(e){return"string"==typeof e?t.personSelected.emit(null):void 0}),h.filter(function(e){return e&&e.length>t.minSearchCharacters}),h.switchMap(function(e){return t.filter(e).pipe(h.tap(function(){return t.showAutocomplete=!0}),h.catchError(function(){return t.filteredOptions=[]}))})).subscribe(function(e){t.filteredOptions=e,t.cd.detectChanges()})},et.prototype.filter=function(e){var n=this,t=this.findPersonService.find({searchTerm:e,userRole:this.domain,services:this.services,userIncluded:this.userIncluded,assignedUser:this.assignedUser}),o=this.findPersonService.findCaseworkers({searchTerm:e,userRole:this.domain,services:this.services,userIncluded:this.userIncluded,assignedUser:this.assignedUser});if(e&&e.length>this.minSearchCharacters)switch(this.domain){case He.JUDICIAL:return t.pipe(h.map(function(e){var t=n.selectedPersons.map(function(e){return e.id});return e.filter(function(e){e=e.id;return!t.includes(e)})}));case He.ALL:return g.zip(t,o).pipe(h.map(function(e){return e[0].concat(e[1])}));case He.CASEWORKER:case He.ADMIN:return o;default:return g.of([])}return g.of([])},et.prototype.onSelectionChange=function(e){this.personSelected.emit(e),this.findPersonControl.setValue(this.getDisplayName(e),{emitEvent:!1,onlySelf:!0})},et.prototype.getDisplayName=function(e){return e?e.domain===He.JUDICIAL&&e.knownAs?e.knownAs+" ("+e.email+")":e.email?e.name+" ("+e.email+")":e.name:""},et.prototype.onInput=function(){this.personFieldChanged.emit()},et.decorators=[{type:d.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}"]}]}],et.ctorParameters=function(){return[{type:Qe},{type:d.ChangeDetectorRef}]},et.propDecorators={personSelected:[{type:d.Output}],personFieldChanged:[{type:d.Output}],title:[{type:d.Input}],boldTitle:[{type:d.Input}],subTitle:[{type:d.Input}],domain:[{type:d.Input}],findPersonGroup:[{type:d.Input}],selectedPerson:[{type:d.Input}],submitted:[{type:d.Input}],userIncluded:[{type:d.Input}],assignedUser:[{type:d.Input}],placeholderContent:[{type:d.Input}],isNoResultsShown:[{type:d.Input}],showUpdatedColor:[{type:d.Input}],selectedPersons:[{type:d.Input}],errorMessage:[{type:d.Input}],idValue:[{type:d.Input}],services:[{type:d.Input}],disabled:[{type:d.Input}]},et);function et(e,t){this.findPersonService=e,this.cd=t,this.personSelected=new d.EventEmitter,this.personFieldChanged=new d.EventEmitter,this.boldTitle="Find the person",this.subTitle="Type the name of the person and select them.",this.domain=He.ALL,this.findPersonGroup=new p.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}function tt(e){return!!e&&"false"!==e}var nt=(Object.defineProperty(ot.prototype,"directionLinks",{get:function(){return this._directionLinks},set:function(e){this._directionLinks=tt(e)},enumerable:!0,configurable:!0}),Object.defineProperty(ot.prototype,"autoHide",{get:function(){return this._autoHide},set:function(e){this._autoHide=tt(e)},enumerable:!0,configurable:!0}),Object.defineProperty(ot.prototype,"responsive",{get:function(){return this._responsive},set:function(e){this._responsive=tt(e)},enumerable:!0,configurable:!0}),ot.decorators=[{type:d.Component,args:[{selector:"xuilib-pagination-v1",template:'<pagination-template #p="paginationApi" [id]="id" [maxSize]="maxSize" (pageChange)="pageChange.emit($event)"\n (pageBoundsCorrection)="pageBoundsCorrection.emit($event)">\n <nav role="navigation" aria-label="Pagination">\n <ul class="ngx-pagination" role="navigation" [attr.aria-label]="screenReaderPaginationLabel"\n [class.responsive]="responsive" *ngIf="!(autoHide && p.pages.length <= 1)">\n <li class="pagination-previous" [class.disabled]="p.isFirstPage()" *ngIf="directionLinks">\n <a tabindex="0" *ngIf="1 < p.getCurrent()" (keyup.enter)="p.previous()" (click)="p.previous()"\n [attr.aria-label]="previousLabel + \' \' + screenReaderPageLabel">\n {{ previousLabel }} <span class="show-for-sr">{{ screenReaderPageLabel }}</span>\n </a>\n <span *ngIf="p.isFirstPage()">\n {{ previousLabel }} <span class="show-for-sr">{{ screenReaderPageLabel }}</span>\n </span>\n </li>\n <li class="small-screen">\n {{ p.getCurrent() }} / {{ p.getLastPage() }}\n </li>\n <li [class.current]="p.getCurrent() === page.value" [class.ellipsis]="page.label === \'...\'"\n *ngFor="let page of p.pages">\n <a tabindex="0" (keyup.enter)="p.setCurrent(page.value)" (click)="p.setCurrent(page.value)"\n *ngIf="p.getCurrent() !== page.value">\n <span class="show-for-sr">{{ screenReaderPageLabel }} </span>\n <span>{{ (page.label === \'...\') ? page.label : (page.label | number:\'\') }}</span>\n </a>\n <ng-container *ngIf="p.getCurrent() === page.value">\n <span class="show-for-sr">{{ screenReaderCurrentLabel }} </span>\n <span>{{ (page.label === \'...\') ? page.label : (page.label | number:\'\') }}</span>\n </ng-container>\n </li>\n <li class="pagination-next" [class.disabled]="p.isLastPage()" *ngIf="directionLinks">\n <a tabindex="0" *ngIf="!p.isLastPage()" (keyup.enter)="p.next()" (click)="p.next()"\n [attr.aria-label]="nextLabel + \' \' + screenReaderPageLabel">\n {{ nextLabel }} <span class="show-for-sr">{{ screenReaderPageLabel }}</span>\n </a>\n <span *ngIf="p.isLastPage()">\n {{ nextLabel }} <span class="show-for-sr">{{ screenReaderPageLabel }}</span>\n </span>\n </li>\n </ul>\n </nav>\n</pagination-template>\n',styles:['.ngx-pagination{margin-left:0;margin-bottom:1rem;padding-top:25px;text-decoration:none;text-align:left;font-size:16px}.ngx-pagination::after,.ngx-pagination::before{content:" ";display:table}.ngx-pagination::after{clear:both}.ngx-pagination li{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;margin-right:.0625rem;border-radius:0;display:inline-block}.ngx-pagination a,.ngx-pagination button{display:block;padding:.1875rem .625rem;border-radius:0;color:#005da6;cursor:pointer}.ngx-pagination a:hover,.ngx-pagination button:hover{background:#e6e6e6}.ngx-pagination .current{padding:.1875rem .625rem;background:#fff;color:#4c2c92;cursor:default;font-weight:900}.ngx-pagination .disabled{display:none}.ngx-pagination .disabled:hover{background:0 0}.ngx-pagination .pagination-previous a::before,.ngx-pagination .pagination-previous.disabled::before{margin-right:.5rem;display:inline-block;height:10px;width:10px;border-style:solid;color:#0a0a0a;background:0 0;transform:rotate(-45deg);content:"";border-width:3px 0 0 3px}.ngx-pagination .pagination-next a::after,.ngx-pagination .pagination-next.disabled::after{margin-left:.5rem;display:inline-block;height:10px;width:10px;border-style:solid;color:#0a0a0a;background:0 0;transform:rotate(-45deg);content:"";border-width:0 3px 3px 0}.ngx-pagination .show-for-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.ngx-pagination .small-screen{display:none}@media screen and (max-width:601px){.ngx-pagination.responsive .small-screen{display:inline-block}.ngx-pagination.responsive li:not(.small-screen):not(.pagination-previous):not(.pagination-next){display:none}}']}]}],ot.propDecorators={visibilityLabel:[{type:d.Input}],id:[{type:d.Input}],maxSize:[{type:d.Input}],directionLinks:[{type:d.Input}],autoHide:[{type:d.Input}],responsive:[{type:d.Input}],previousLabel:[{type:d.Input}],nextLabel:[{type:d.Input}],screenReaderPaginationLabel:[{type:d.Input}],screenReaderPageLabel:[{type:d.Input}],screenReaderCurrentLabel:[{type:d.Input}],pageChange:[{type:d.Output}],pageBoundsCorrection:[{type:d.Output}]},ot);function ot(){this.maxSize=7,this.previousLabel="Previous",this.nextLabel="Next",this.screenReaderPaginationLabel="Pagination",this.screenReaderPageLabel="page",this.screenReaderCurrentLabel="You're on page",this.pageChange=new d.EventEmitter,this.pageBoundsCorrection=new d.EventEmitter,this._directionLinks=!0,this._autoHide=!1,this._responsive=!1}var it=(st.prototype.ngOnInit=function(){var t=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(h.debounceTime(500)).subscribe(function(e){return t.search(e)})},st.prototype.onKeyDown=function(){this.judicialChanged.emit()},st.prototype.onKeyUp=function(e){this.showAutocomplete=!1,this.keyUpSubject$.next(e.target.value)},st.prototype.onFocus=function(){this.showAutocomplete=!1},Object.defineProperty(st.prototype,"displayedJudicialsDuplicationFiltered",{get:function(){var t=this;return this.displayedJudicials.filter(function(e){return!t.selectedJudicials.map(function(e){return e.idamId}).includes(e.idamId)})},enumerable:!0,configurable:!0}),st.prototype.filter=function(t){var n=this;this.searchJudicials(t,this.serviceId).pipe(h.mergeMap(function(e){e=e.filter(function(e){return!n.selectedJudicials.map(function(e){return e.idamId}).includes(e.idamId)});return n.displayedJudicials=e,n.searchInProgress=!1,e})).subscribe(function(e){t===e.knownAs&&(n.formGroup.controls.selectedFormControl.setValue(e),n.displayedJudicials=[],n.judicialChanged.emit(e),n.showAutocomplete=!1),n.searchInProgress=!1})},st.prototype.onSelectionChange=function(e){this.formGroup.controls.formControl instanceof p.FormArray?this.formGroup.controls.selectedFormControl.push(new p.FormControl(e.idamId)):this.formGroup.controls.selectedFormControl.setValue(e),this.judicialChanged.emit(e)},st.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},st.prototype.getDisplayName=function(e){return e.knownAs+" ("+e.emailId+")"},st.prototype.searchJudicials=function(e,t){return this.judicialService.searchJudicial(e,t)},st.prototype.getControlValueDisplayText=function(){return this.formGroup&&this.formGroup.controls&&this.formGroup.controls.selectedFormControl.value?this.getDisplayName(this.formGroup.controls.selectedFormControl.value):""},st.decorators=[{type:d.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}"]}]}],st.ctorParameters=function(){return[{type:Qe},{type:p.FormBuilder}]},st.propDecorators={control:[{type:d.Input}],disabled:[{type:d.Input}],selectedJudicials:[{type:d.Input}],submitted:[{type:d.Input}],placeholderContent:[{type:d.Input}],showAutocomplete:[{type:d.Input}],displayedJudicials:[{type:d.Input}],judicialChanged:[{type:d.Output}],idValue:[{type:d.Input}],errorMessage:[{type:d.Input}],serviceId:[{type:d.Input}],autoCompleteInputBox:[{type:d.ViewChild,args:["inputSelection",{read:d.ElementRef}]}]},st);function st(e,t){this.judicialService=e,this.disabled=null,this.selectedJudicials=[],this.submitted=!0,this.placeholderContent="",this.showAutocomplete=!1,this.judicialChanged=new d.EventEmitter,this.idValue="",this.errorMessage="You must select a name",this.serviceId="",this.minSearchCharacters=3,this.keyUpSubject$=new g.Subject,this.searchInProgress=!1,this.formGroup=t.group({formControl:[null],selectedFormControl:[null]})}var rt=(at.prototype.ngAfterContentInit=function(){this.readyAfterContent=!0},at.prototype.ngOnInit=function(){var t=this;this.displayedLocations=[],this.control&&this.findLocationFormGroup&&this.findLocationFormGroup.controls&&(this.findLocationFormGroup.controls.locationSelectedFormControl=this.control),this.keyUpSubject$.pipe(h.debounceTime(500)).subscribe(function(e){return t.search(e)})},at.prototype.onKeyDown=function(){this.locationChanged.emit()},at.prototype.onKeyUp=function(e){this.showAutocomplete=!1,this.keyUpSubject$.next(e.target.value)},at.prototype.onFocus=function(){this.showAutocomplete=!1},Object.defineProperty(at.prototype,"displayedLocationsDuplicationFiltered",{get:function(){var t=this;return this.displayedLocations.filter(function(e){return!t.selectedLocations.map(function(e){return e.epimms_id}).includes(e.epimms_id)&&e.court_name})},enumerable:!0,configurable:!0}),at.prototype.filter=function(t){var n=this;this.searchLocations(t).pipe(h.mergeMap(function(e){e=e.filter(function(e){return!n.selectedLocations.map(function(e){return e.epimms_id}).includes(e.epimms_id)});return n.displayedLocations=e,n.searchInProgress=!1,e})).subscribe(function(e){t===e.court_name&&(n.findLocationFormGroup.controls.locationSelectedFormControl.setValue(e),n.displayedLocations=[],n.locationChanged.emit(e),n.showAutocomplete=!1),n.searchInProgress=!1})},at.prototype.onSelectionChange=function(e){this.findLocationFormGroup.controls.findLocationFormControl instanceof p.FormArray?this.findLocationFormGroup.controls.locationSelectedFormControl.push(new p.FormControl(e.epimms_id)):this.findLocationFormGroup.controls.locationSelectedFormControl.setValue(e),this.locationChanged.emit(e)},at.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},at.prototype.getDisplayName=function(e){return e.court_name},at.prototype.searchLocations=function(e){return this.locationService.searchLocations(this.serviceIds,this.locationType,e)},at.prototype.getControlCourtNameValue=function(){return this.findLocationFormGroup&&this.findLocationFormGroup.controls&&this.findLocationFormGroup.controls.locationSelectedFormControl.value?this.findLocationFormGroup.controls.locationSelectedFormControl.value.court_name:""},at.decorators=[{type:d.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%;background-color:transparent;position:relative}.autocomplete__hint{color:#b1b4b6;position:absolute}.autocomplete__input--default{padding:5px}.autocomplete__input--focused{outline:#fd0 solid 3px;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:rgba(0,0,0,.256863) 0 2px 6px;left:0;position:absolute;top:100%;z-index:100}.autocomplete__menu--inline{position:relative}.autocomplete__option{border-bottom:solid #b1b4b6;border-width:1px 0;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}"]}]}],at.ctorParameters=function(){return[{type:Le},{type:p.FormBuilder}]},at.propDecorators={control:[{type:d.Input}],disabled:[{type:d.Input}],locationType:[{type:d.Input}],selectedLocations:[{type:d.Input}],serviceIds:[{type:d.Input}],submitted:[{type:d.Input}],autoCompleteInputBox:[{type:d.ViewChild,args:["inputSelectedLocation",{read:d.ElementRef}]}],showAutocomplete:[{type:d.Input}],displayedLocations:[{type:d.Input}],locationChanged:[{type:d.Output}]},at);function at(e,t){this.locationService=e,this.disabled=null,this.locationType="",this.serviceIds="",this.submitted=!0,this.showAutocomplete=!1,this.locationChanged=new d.EventEmitter,this.minSearchCharacters=3,this.keyUpSubject$=new g.Subject,this.readyAfterContent=!1,this.searchInProgress=!1,this.findLocationFormGroup=t.group({findLocationFormControl:[null],locationSelectedFormControl:[null]}),this.selectedLocations=[]}var lt=(ct.prototype.ngOnInit=function(){var e=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"},ct.decorators=[{type:d.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>'}]}],ct.ctorParameters=function(){return[]},ct.propDecorators={group:[{type:d.Input}],config:[{type:d.Input}],isChecked:[{type:d.Input}]},ct);function ct(){this.isChecked=!1}var ut=(pt.decorators=[{type:d.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>'}]}],pt.propDecorators={options:[{type:d.Input}],errors:[{type:d.Input}]},pt);function pt(){}var dt=(gt.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)},gt.prototype.isValidDate=function(e,t,n){var o=!isNaN(e.getTime()),t=e.getMonth()===t,n=e.getFullYear()===n;return o&&t&&n},gt.prototype.isEmpty=function(e){return null==e||""===e||isNaN(e)||e<0},gt.prototype.DateValidator=function(){var o=this;return function(){var e=o.formGroup.get(o.day).value,t=o.formGroup.get(o.month).value-1,n=o.formGroup.get(o.year).value;return o.isOptional&&o.isEmpty(e)&&o.isEmpty(t)&&o.isEmpty(n)||o.isValidDate(new Date(n,t,e),t,+n)?null:{dateComponent:!0}}},gt.decorators=[{type:d.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}"]}]}],gt.ctorParameters=function(){return[]},gt.propDecorators={config:[{type:d.Input}],errorMessage:[{type:d.Input}],formGroup:[{type:d.Input}],isOptional:[{type:d.Input}]},gt);function gt(){this.isOptional=!1}var ht=(mt.decorators=[{type:d.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>'}]}],mt.ctorParameters=function(){return[]},mt.propDecorators={config:[{type:d.Input}],errorMessage:[{type:d.Input}]},mt);function mt(){}var ft=(vt.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},vt);function vt(){}var bt=(yt.prototype.setDescribedBy=function(){return ft.setDescribedBy(this.errorMessage,this.config)},yt.decorators=[{type:d.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>'}]}],yt.ctorParameters=function(){return[]},yt.propDecorators={config:[{type:d.Input}],errorMessage:[{type:d.Input}]},yt);function yt(){}var kt=(Ct.prototype.ngOnInit=function(){this.config.classes="govuk-label--m"},Ct.prototype.setDescribedBy=function(){return ft.setDescribedBy(this.errorMessage,this.config)},Ct.decorators=[{type:d.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>'}]}],Ct.ctorParameters=function(){return[]},Ct.propDecorators={errorMessage:[{type:d.Input}],group:[{type:d.Input}],config:[{type:d.Input}]},Ct);function Ct(){this.reloadInput=!0}var It=(wt.decorators=[{type:d.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>'}]}],wt.ctorParameters=function(){return[]},wt.propDecorators={error:[{type:d.Input}],group:[{type:d.Input}],config:[{type:d.Input}]},wt);function wt(){}var xt=(_t.prototype.ngOnInit=function(){this.config.classes="govuk-label--m"},_t.prototype.setDescribedBy=function(){return ft.setDescribedBy(this.errorMessage,this.config)},_t.decorators=[{type:d.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}"]}]}],_t.ctorParameters=function(){return[]},_t.propDecorators={errorMessage:[{type:d.Input}],group:[{type:d.Input}],config:[{type:d.Input}]},_t);function _t(){}var St=(Lt.decorators=[{type:d.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>'}]}],Lt.ctorParameters=function(){return[]},Lt.propDecorators={config:[{type:d.Input}]},Lt);function Lt(){}var Pt=(Dt.prototype.ngOnInit=function(){var e=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"},Dt.decorators=[{type:d.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>'}]}],Dt.ctorParameters=function(){return[]},Dt.propDecorators={group:[{type:d.Input}],config:[{type:d.Input}]},Dt);function Dt(){}var Ft=(Et.decorators=[{type:d.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>'}]}],Et.propDecorators={options:[{type:d.Input}],errors:[{type:d.Input}]},Et);function Et(){}var At=(Mt.prototype.setDescribedBy=function(){return ft.setDescribedBy(this.errorMessage,this.config)},Mt.decorators=[{type:d.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>'}]}],Mt.ctorParameters=function(){return[]},Mt.propDecorators={errorMessage:[{type:d.Input}],group:[{type:d.Input}],config:[{type:d.Input}],items:[{type:d.Input}]},Mt);function Mt(){}var Tt=(Ot.prototype.formatDate=function(e){return r.formatDate(e,"dd/MM/yyyy","en-UK")},Ot.decorators=[{type:d.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:[""]}]}],Ot.ctorParameters=function(){return[]},Ot.propDecorators={classes:[{type:d.Input}],caption:[{type:d.Input}],firstCellIsHeader:[{type:d.Input}],rows:[{type:d.Input}],columnConfig:[{type:d.Input}]},Ot);function Ot(){this.classes="",this.caption="Dates and amounts",this.firstCellIsHeader=!0,this.columnConfig=[{header:"Date",key:"date",type:"text"},{header:"Amount",key:"amount"}]}var jt=(Nt.prototype.setDescribedBy=function(){return ft.setDescribedBy(this.errorMessage,this.config)},Nt.decorators=[{type:d.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>'}]}],Nt.propDecorators={config:[{type:d.Input}],errorMessage:[{type:d.Input}],group:[{type:d.Input}]},Nt);function Nt(){}var Ut=(Rt.decorators=[{type:d.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%}"]}]}],Rt.ctorParameters=function(){return[]},Rt.propDecorators={type:[{type:d.Input}],message:[{type:d.Input}]},Rt);function Rt(){}var Bt=(Object.defineProperty(Vt.prototype,"errorMessages",{set:function(e){this.messages=e},enumerable:!0,configurable:!0}),Vt.prototype.ngAfterViewInit=function(){this.scrollTo("errorSummary")},Vt.prototype.ngOnChanges=function(e){e.errorMessages&&this.scrollTo("errorSummary")},Vt.prototype.scrollTo=function(e){this.document.querySelector("#"+e)&&this.document.querySelector("#"+e).focus()},Vt.prototype.hasElement=function(e){return this.document.querySelector("#"+e)},Vt.decorators=[{type:d.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>'}]}],Vt.ctorParameters=function(){return[{type:undefined,decorators:[{type:d.Inject,args:[r.DOCUMENT]}]}]},Vt.propDecorators={errorMessages:[{type:d.Input}],header:[{type:d.Input}],showWarningMessage:[{type:d.Input}]},Vt);function Vt(e){this.document=e}var Gt=(Object.defineProperty(zt.prototype,"content",{set:function(e){this.value=e.name},enumerable:!0,configurable:!0}),zt.decorators=[{type:d.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:[""]}]}],zt.ctorParameters=function(){return[]},zt.propDecorators={content:[{type:d.Input}]},zt);function zt(){}var Ht=(Object.defineProperty(Wt.prototype,"banner",{set:function(e){this.bannerData=e},enumerable:!0,configurable:!0}),Wt.prototype.ngOnInit=function(){this.hasBackLink=this.backLink!==undefined||0<this.backEvent.observers.length},Wt.prototype.onGoBack=function(){this.backEvent.emit()},Wt.decorators=[{type:d.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'}]}],Wt.ctorParameters=function(){return[]},Wt.propDecorators={backLink:[{type:d.Input}],title:[{type:d.Input}],summaryErrors:[{type:d.Input}],banner:[{type:d.Input}],actionButtons:[{type:d.Input}],showWarningMessage:[{type:d.Input}],backEvent:[{type:d.Output}]},Wt);function Wt(){this.backEvent=new d.EventEmitter}var $t=(qt.decorators=[{type:d.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}"]}]}],qt.propDecorators={id:[{type:d.Input}],maxSize:[{type:d.Input}],pageSize:[{type:d.Input}],showPageNumbers:[{type:d.Input}],showResultCount:[{type:d.Input}],pageChange:[{type:d.Output}],pageBoundsCorrection:[{type:d.Output}]},qt);function qt(){this.maxSize=7,this.pageSize=10,this.showPageNumbers=!0,this.showResultCount=!0,this.pageChange=new d.EventEmitter,this.pageBoundsCorrection=new d.EventEmitter}var Jt=(Object.defineProperty(Kt.prototype,"userLoggedIn",{set:function(e){this.isUserLoggedIn=e},enumerable:!0,configurable:!0}),Kt.decorators=[{type:d.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:[""]}]}],Kt.ctorParameters=function(){return[]},Kt.propDecorators={userLoggedIn:[{type:d.Input}],label:[{type:d.Input}],items:[{type:d.Input}],isBrandedHeader:[{type:d.Input}]},Kt);function Kt(){}var Yt=(Qt.decorators=[{type:d.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 </a>\n </li>\n </ul>\n</nav>\n'}]}],Qt.propDecorators={label:[{type:d.Input}],items:[{type:d.Input}]},Qt);function Qt(){}var Xt=(Zt.prototype.ngOnInit=function(){for(var e=this.el.nativeElement,t=e.parentElement;e.firstChild;)t.insertBefore(e.firstChild,e);t.removeChild(e)},Zt.decorators=[{type:d.Directive,args:[{selector:"[appRemoveHost]"}]}],Zt.ctorParameters=function(){return[{type:d.ElementRef}]},Zt);function Zt(e){this.el=e}var en=[Be,me,pe,ge,ce,w,Oe,Ue,M,ye,ve,N,O,se,te,W,q,z,oe,ae,m,S,C,K,Z,R,E,_e,Ze,it,Ee,De,rt,Me,nt],tn=[Gt,$t,Yt,Jt,Bt,Ht,Ut,Tt,xt,lt,It,St,ht,bt,dt,ut,Pt,Ft,At,jt,kt,Xt],nn=xe,on=(sn.decorators=[{type:d.NgModule,args:[{declarations:k(en,tn),imports:[r.CommonModule,p.FormsModule,p.ReactiveFormsModule,u.RouterModule.forChild([]),n.MatAutocompleteModule,t.MatTabsModule,t.MatInputModule,o.NgxPaginationModule],providers:[{provide:we,useFactory:nn}],exports:k(en,tn,[o.PaginatePipe])}]}],sn);function sn(){}var rn=(an.decorators=[{type:d.Injectable,args:[{providedIn:"root"}]}],an.ctorParameters=function(){return[]},an.ngInjectableDef=d.defineInjectable({factory:function(){return new an},token:an,providedIn:"root"}),an);function an(){}var ln=(cn.prototype.canActivate=function(t){var n=this;return g.combineLatest.apply(void 0,k(t.data.needsFeaturesEnabled.map(function(e){return n.featureToggleService.getValueOnce(e,!1)}))).pipe(h.map(function(e){return e.every(function(e){return e})}),h.map(function(e){return e||n.router.parseUrl(t.data.featureDisabledRedirect)}))},cn.decorators=[{type:d.Injectable,args:[{providedIn:"root"}]}],cn.ctorParameters=function(){return[{type:Q},{type:u.Router}]},cn.ngInjectableDef=d.defineInjectable({factory:function(){return new cn(d.inject(Q),d.inject(u.Router))},token:cn,providedIn:"root"}),cn);function cn(e,t){this.featureToggleService=e,this.router=t}var un=(pn.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=s.initialize(this.clientId,this.user,{}),this.client.on("ready",function(){n.client.identify(n.user).then(function(){return n.ready.next(!0)})})},pn.prototype.isEnabled=function(e){return this.getValue(e,!1)},pn.prototype.getArray=function(e){return this.getValue(e,[])},pn.prototype.getValue=function(t,e){var n=this;return this.features.hasOwnProperty(t)||(this.features[t]=new g.BehaviorSubject(e),this.ready.pipe(h.filter(function(e){return e}),h.map(function(){return n.client.variation(t,e)})).subscribe(function(e){n.features[t].next(e),n.client.on("change:"+t,function(e){n.features[t].next(e)})})),this.features[t].pipe(h.distinctUntilChanged())},pn.prototype.getValueOnce=function(e,t){var n=this;return this.ready.pipe(h.filter(function(e){return e}),h.map(function(){return n.client.variation(e,t)}))},pn.decorators=[{type:d.Injectable,args:[{providedIn:"root"}]}],pn.ngInjectableDef=d.defineInjectable({factory:function(){return new pn},token:pn,providedIn:"root"}),pn);function pn(){this.ready=new g.BehaviorSubject(!1),this.features={},this.user={anonymous:!0},this.clientId=""}var dn=(gn.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(o){console.error("Error appending google analytics"),console.error(o)}this.listenForRouteChanges()},gn.prototype.listenForRouteChanges=function(){var t=this;this.googleAnalyticsKey&&this.router.events.subscribe(function(e){e instanceof u.NavigationEnd&&t.window.gtag("config",t.googleAnalyticsKey,{page_path:e.urlAfterRedirects,page_title:t.title.getTitle()})})},gn.prototype.event=function(e,t){this.window.gtag("event",e,t)},gn.decorators=[{type:d.Injectable,args:[{providedIn:"root"}]}],gn.ctorParameters=function(){return[{type:u.Router},{type:a.Title},{type:undefined,decorators:[{type:d.Inject,args:[we]}]},{type:undefined,decorators:[{type:d.Inject,args:[r.DOCUMENT]}]}]},gn.ngInjectableDef=d.defineInjectable({factory:function(){return new gn(d.inject(u.Router),d.inject(a.Title),d.inject(we),d.inject(r.DOCUMENT))},token:gn,providedIn:"root"}),gn);function gn(e,t,n,o){this.router=e,this.title=t,this.window=n,this.document=o}var hn=(mn.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(n){console.error("Error appending google tag manager"),console.error(n)}this.listenForRouteChanges()},mn.prototype.listenForRouteChanges=function(){var t=this;this.googleTagManagerKey&&this.router.events.subscribe(function(e){e instanceof u.NavigationEnd&&t.window.dataLayer.push({event:"pageview",page:{path:e.urlAfterRedirects,title:t.title.getTitle()}})})},mn.prototype.event=function(e,t){this.window.dataLayer.push({event:e,params:t})},mn.decorators=[{type:d.Injectable,args:[{providedIn:"root"}]}],mn.ctorParameters=function(){return[{type:u.Router},{type:a.Title},{type:undefined,decorators:[{type:d.Inject,args:[we]}]},{type:undefined,decorators:[{type:d.Inject,args:[r.DOCUMENT]}]}]},mn.ngInjectableDef=d.defineInjectable({factory:function(){return new mn(d.inject(u.Router),d.inject(a.Title),d.inject(we),d.inject(r.DOCUMENT))},token:mn,providedIn:"root"}),mn);function mn(e,t,n,o){this.router=e,this.title=t,this.window=n,this.document=o}var fn=(vn.prototype.init=function(e){var t=this;this.idle.setIdleName(e.idleServiceName),this.idle.setTimeout(e.timeout);var n=new l.DocumentInterruptSource("mousedown keydown DOMMouseScroll mousewheel touchstart touchmove scroll");this.idle.setInterrupts([n]),this.idle.onIdleEnd.pipe(h.delay(250)).subscribe(function(){t.appStateEmitter.next({type:"modal",countdown:undefined,isVisible:!1})}),this.idle.onTimeout.subscribe(function(){t.appStateEmitter.next({type:"signout"})}),this.idle.onTimeoutWarning.pipe(h.map(function(e){return 60<e?Math.ceil(e/60)+" minutes":e+" seconds"}),h.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"})});e=Math.floor(e.idleMilliseconds/1e3)-e.timeout;this.idle.setIdle(e),this.idle.watch()},vn.prototype.appStateChanges=function(){return this.appStateEmitter.asObservable()},vn.decorators=[{type:d.Injectable,args:[{providedIn:"root"}]}],vn.ctorParameters=function(){return[{type:l.Idle},{type:c.Keepalive}]},vn.ngInjectableDef=d.defineInjectable({factory:function(){return new vn(d.inject(l.Idle),d.inject(c.Keepalive))},token:vn,providedIn:"root"}),vn);function vn(e,t){this.idle=e,this.keepalive=t,this.appStateEmitter=new g.Subject}bn.prototype.initialise=function(e){var t=this,n=e.idleServiceName,o=e.idleModalDisplayTime,e=e.totalIdleTime;this.idle.setIdleName(n);n=this.millisecondsToSeconds(o),o=this.millisecondsToSeconds(e);this.idle.setTimeout(n);e=new l.DocumentInterruptSource("mousedown keydown DOMMouseScroll mousewheel touchstart touchmove scroll");this.idle.setInterrupts([e]),this.idle.onTimeout.subscribe(function(){t.eventEmitter.next({eventType:"sign-out"})}),this.idle.onTimeoutWarning.pipe(h.map(function(e){return 60<e?Math.ceil(e/60)+" minutes":e+" seconds"}),h.distinctUntilChanged()).subscribe(function(e){t.eventEmitter.next({eventType:"countdown",readableCountdown:e})}),this.keepalive.onPing.subscribe(function(){t.eventEmitter.next({eventType:"keep-alive"})});n=Math.floor(o)-n;this.idle.setIdle(n),this.idle.watch()},bn.prototype.notificationOnChange=function(){return this.eventEmitter.asObservable()},bn.decorators=[{type:d.Injectable,args:[{providedIn:"root"}]}],bn.ctorParameters=function(){return[{type:l.Idle},{type:c.Keepalive}]},bn.ngInjectableDef=d.defineInjectable({factory:function(){return new bn(d.inject(l.Idle),d.inject(c.Keepalive))},token:bn,providedIn:"root"}),n=bn;function bn(e,t){this.idle=e,this.keepalive=t,this.millisecondsToSeconds=function(e){return e/1e3},this.eventEmitter=new g.Subject}var yn=(Object.defineProperty(kn.prototype,"roles",{get:function(){return this.pRoles},set:function(e){this.pRoles=e},enumerable:!0,configurable:!0}),kn.decorators=[{type:d.Injectable,args:[{providedIn:"root"}]}],kn.ngInjectableDef=d.defineInjectable({factory:function(){return new kn},token:kn,providedIn:"root"}),kn);function kn(){this.pRoles=[]}var Cn={ALL:0,ANY:1};Cn[Cn.ALL]="ALL",Cn[Cn.ANY]="ANY";In.prototype.canActivate=function(e){var n=this,t=e.data.needsRole,o=function(e){var t=new RegExp(e);return n.roleService.roles.some(function(e){return t.test(e)})};return(e.data.roleMatching===Cn.ALL?t.every(o):t.some(o))||this.router.parseUrl(e.data.noRoleMatchRedirect)},In.decorators=[{type:d.Injectable,args:[{providedIn:"root"}]}],In.ctorParameters=function(){return[{type:yn},{type:u.Router}]},In.ngInjectableDef=d.defineInjectable({factory:function(){return new In(d.inject(yn),d.inject(u.Router))},token:In,providedIn:"root"}),t=In;function In(e,t){this.roleService=e,this.router=t}Object.defineProperty(wn.prototype,"isLoading",{get:function(){},enumerable:!0,configurable:!0}),nn=wn;function wn(){}Object.defineProperty(xn.prototype,"isLoading",{get:function(){return this.loading.asObservable().pipe(h.distinctUntilChanged())},enumerable:!0,configurable:!0}),xn.prototype.register=function(){var e=this.generateToken();return this.registered.set(e,e),this.loading.next(!0),e},xn.prototype.unregister=function(e){this.registered["delete"](e),this.loading.next(0<this.registered.size)},xn.prototype.generateToken=function(){return"common-lib-loading-"+window.performance.now()},xn.decorators=[{type:d.Injectable,args:[{providedIn:"root"}]}],xn.ngInjectableDef=d.defineInjectable({factory:function(){return new xn},token:xn,providedIn:"root"}),o=xn;function xn(){this.registered=new Map,this.loading=new g.BehaviorSubject(!1)}e.AccessibilityComponent=m,e.CheckboxListComponent=C,e.ContactDetailsComponent=w,e.DueDateComponent=S,e.GenericFilterComponent=E,e.HmctsSessionDialogComponent=M,e.InviteUserFormComponent=O,e.InviteUserPermissionComponent=N,e.LoadingSpinnerComponent=R,e.SelectedCaseConfirmComponent=z,e.SelectedCaseListComponent=W,e.SelectedCaseComponent=q,e.ServiceMessageComponent=K,e.ServiceMessagesComponent=Z,e.ShareCaseConfirmComponent=te,e.ShareCaseComponent=se,e.TabComponent=ae,e.TcConfirmComponent=ce,e.TcDisplayHtmlComponent=pe,e.TcDisplayPlainComponent=ge,e.TermsAndConditionsComponent=me,e.UserDetailsComponent=ve,e.UserListComponent=ye,e.CookieBannerComponent=_e,e.FindLocationComponent=Ee,e.SearchLocationComponent=De,e.PaginationComponent=Me,e.FeatureToggleDirective=Oe,e.LetContext=Ne,e.LetDirective=Ue,e.COMMON_COMPONENTS=en,e.GOV_UI_COMPONENTS=tn,e.ExuiCommonLibModule=on,e.GovUiService=rn,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.HmctsSubNavigationComponent=Yt,e.BadgeColour={BADGE_RED:"hmcts-badge--red",BADGE_BLUE:"hmcts-badge--blue",BADGE_GREEN:"hmcts-badge--green"},e.DateBadgeColour=_,e.SECONDS_IN_A_DAY=86400,e.AnonymousFeatureUser=Ge,e.LoggedInFeatureUser=ze,e.PersonRole=He,e.RoleCategory=We,e.RadioFilterFieldConfig=$e,e.FeatureToggleGuard=ln,e.FeatureToggleService=Q,e.LaunchDarklyService=un,e.GoogleAnalyticsService=dn,e.GoogleTagManagerService=hn,e.ManageSessionServices=fn,e.TimeoutNotificationsService=n,e.RoleMatching=Cn,e.RoleGuard=t,e.RoleService=yn,e.CookieService=Ce,e.HasLoadingState=nn,e.LoadingService=o,e.FilterService=P,e.windowProvider=xe,e.windowToken=we,e.ɵx=m,e.ɵz=C,e.ɵf=w,e.ɵbf=_e,e.ɵy=S,e.ɵa=Be,e.ɵbl=Ee,e.ɵbh=Ze,e.ɵbd=E,e.ɵk=M,e.ɵo=O,e.ɵn=N,e.ɵbc=R,e.ɵbq=nt,e.ɵbp=Me,e.ɵbk=it,e.ɵbm=De,e.ɵbo=rt,e.ɵv=z,e.ɵt=W,e.ɵu=q,e.ɵba=K,e.ɵbb=Z,e.ɵs=te,e.ɵp=se,e.ɵw=ae,e.ɵe=ce,e.ɵc=pe,e.ɵd=ge,e.ɵb=me,e.ɵm=ve,e.ɵl=ye,e.ɵq=oe,e.ɵg=Oe,e.ɵi=Ne,e.ɵj=Ue,e.ɵca=lt,e.ɵcg=ut,e.ɵcf=dt,e.ɵcd=ht,e.ɵce=bt,e.ɵcl=kt,e.ɵcb=It,e.ɵbz=xt,e.ɵcc=St,e.ɵch=Pt,e.ɵci=Ft,e.ɵcj=At,e.ɵby=Tt,e.ɵck=jt,e.ɵbx=Ut,e.ɵbv=Bt,e.ɵbr=Gt,e.ɵbw=Ht,e.ɵbs=$t,e.ɵbu=Jt,e.ɵbt=Yt,e.ɵcm=Xt,e.ɵr=V,e.ɵbg=Ce,e.ɵh=Q,e.ɵbe=P,e.ɵbi=Qe,e.ɵbn=Le,e.ɵbj=Ke,Object.defineProperty(e,"__esModule",{value:!0})});
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/material"),require("@angular/material/autocomplete"),require("ngx-pagination"),require("@angular/common/http"),require("@angular/forms"),require("launchdarkly-js-client-sdk"),require("@angular/common"),require("@angular/platform-browser"),require("@ng-idle/core"),require("@ng-idle/keepalive"),require("@angular/router"),require("@angular/core"),require("rxjs"),require("rxjs/operators")):"function"==typeof define&&define.amd?define("@hmcts/rpx-xui-common-lib",["exports","@angular/material","@angular/material/autocomplete","ngx-pagination","@angular/common/http","@angular/forms","launchdarkly-js-client-sdk","@angular/common","@angular/platform-browser","@ng-idle/core","@ng-idle/keepalive","@angular/router","@angular/core","rxjs","rxjs/operators"],t):t((e.hmcts=e.hmcts||{},e.hmcts["rpx-xui-common-lib"]={}),e.ng.material,e.ng.material.autocomplete,e.ngxPagination,e.ng.common.http,e.ng.forms,e.LDClient,e.ng.common,e.ng.platformBrowser,e.i1$1,e.i2$1,e.ng.router,e.ng.core,e.rxjs,e.rxjs.operators)}(this,function(e,t,n,o,i,p,s,r,a,l,c,u,d,g,h){"use strict";var m=(f.decorators=[{type:d.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',styles:[".govuk-list--alpha{padding-left:20px;list-style-type:lower-alpha}"]}]}],f.ctorParameters=function(){return[]},f);function f(){}var v=function(){return(v=Object.assign||function v(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}).apply(this,arguments)};function b(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{value:(e=e&&o>=e.length?void 0:e)&&e[o++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function y(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||0<t--)&&!(o=s.next()).done;)r.push(o.value)}catch(a){i={error:a}}finally{try{o&&!o.done&&(n=s["return"])&&n.call(s)}finally{if(i)throw i.error}}return r}function k(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(y(arguments[t]));return e}var C=(Object.defineProperty(I.prototype,"selection",{get:function(){return this.pSelection?k(this.pSelection):[]},set:function(e){this.pSelection=this.getSelection(e)},enumerable:!0,configurable:!0}),Object.defineProperty(I.prototype,"allSelected",{get:function(){return this.selection.length===this.options.length},enumerable:!0,configurable:!0}),I.prototype.ngOnChanges=function(){this.setupPreselection(),this.checkSelection()},Object.defineProperty(I.prototype,"hasOptions",{get:function(){return this.options&&0<this.options.length},enumerable:!0,configurable:!0}),Object.defineProperty(I.prototype,"isFunctional",{get:function(){return this.labelFunction&&this.hasOptions},enumerable:!0,configurable:!0}),I.prototype.isSelected=function(e){return this.selection.includes(e)},I.prototype.toggleItemSelection=function(e){this.pSelection===undefined?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)},I.prototype.toggleSelectAll=function(){this.allSelected?this.pSelection=[]:this.pSelection=k(this.options),this.pSelectionMade=!0,this.selectionChange.emit(this.pSelection)},I.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(I.prototype,"hasPreselection",{get:function(){return this.preselection&&0<this.preselection.length},enumerable:!0,configurable:!0}),I.prototype.setupPreselection=function(){var e,t=this;this.isFunctional&&!this.pSelectionMade&&this.hasPreselection&&(e=!0,(e=this.pSelection?0<this.pSelection.filter(function(e){return!t.containsItem(t.preselection,e)}).length:e)&&(this.pSelection=this.getSelection(this.preselection),this.selectionChange.emit(this.selection)))},I.prototype.getSelection=function(t){var n=this;return k(this.options.filter(function(e){return n.containsItem(t,e)}))},I.prototype.checkSelection=function(){var e,t=this;!this.isFunctional||(e=this.selection.filter(function(e){return t.containsItem(t.options,e)})).length!==this.selection.length&&(this.pSelection=k(e),this.selectionChange.emit(this.selection))},I.decorators=[{type:d.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:d.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}"]}]}],I.propDecorators={options:[{type:d.Input}],preselection:[{type:d.Input}],labelFunction:[{type:d.Input}],selectionChange:[{type:d.Output}],selection:[{type:d.Input}]},I);function I(){this.options=[],this.selectionChange=new d.EventEmitter}var w=(_.decorators=[{type:d.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}"]}]}],_.ctorParameters=function(){return[]},_.propDecorators={data:[{type:d.Input}]},_);function _(){}var x={RED:"hmcts-badge--red",ORANGE:"hmcts-badge--orange",GREEN:"hmcts-badge--green"},S=(Object.defineProperty(L.prototype,"badge",{get:function(){return this.pBadge},enumerable:!0,configurable:!0}),Object.defineProperty(L.prototype,"label",{get:function(){return this.pLabel},enumerable:!0,configurable:!0}),Object.defineProperty(L.prototype,"accessibleLabel",{get:function(){return this.pAccessibleLabel},enumerable:!0,configurable:!0}),Object.defineProperty(L.prototype,"daysDiff",{get:function(){return this.pDaysDiff},enumerable:!0,configurable:!0}),L.prototype.ngOnChanges=function(){this.handleInputChanges()},L.prototype.handleInputChanges=function(){var e;this.dueDate&&(this.pDaysDiff=this.getDaysDifference(this.dueDate,new Date),0<this.daysDiff?(this.pBadge=x.RED,e=1===this.daysDiff?"day":"days",this.pLabel="+"+this.daysDiff+" "+e,this.pAccessibleLabel="This task is "+this.daysDiff+" "+e+" past its due date"):(0===this.daysDiff?(this.pLabel="TODAY",this.pAccessibleLabel="This task is due to be completed today"):(this.pLabel=""+r.formatDate(this.dueDate,"d MMM","en-GB"),this.pAccessibleLabel="This task is due to be completed by "+r.formatDate(this.dueDate,"d MMMM y","en-GB")),0<this.daysDiff+this.highUrgencyCutoff?this.pBadge=x.RED:0<this.daysDiff+this.mediumUrgencyCutoff?this.pBadge=x.ORANGE:this.pBadge=x.GREEN))},L.prototype.getDaysDifference=function(e,t){e=e.getTime(),t=t.getTime(),e=Math.floor((t-e)/1e3);return Math.floor(e/86400)},L.decorators=[{type:d.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:d.ViewEncapsulation.None,styles:[".due-date{white-space:nowrap}.due-date.hmcts-badge--orange{color:#f47738;border-color:#f47738}"]}]}],L.propDecorators={dueDate:[{type:d.Input}],highUrgencyCutoff:[{type:d.Input}],mediumUrgencyCutoff:[{type:d.Input}]},L);function L(){this.highUrgencyCutoff=0,this.mediumUrgencyCutoff=2}var T=(F.prototype.persist=function(e,t){switch(t){case"local":this.persistLocal(e);break;case"session":this.persistSession(e)}this.persistMemory(e),this.updateStreams(e)},F.prototype.get=function(e){return this.filterSettings[e]||(sessionStorage.getItem(e)?JSON.parse(window.sessionStorage.getItem(e)):localStorage.getItem(e)?JSON.parse(window.localStorage.getItem(e)):null)},F.prototype.getStream=function(e){return this.streams[e]||(this.streams[e]=new g.BehaviorSubject(this.get(e))),this.streams[e].asObservable()},F.prototype.persistLocal=function(e){window.localStorage.setItem(e.id,JSON.stringify(e))},F.prototype.persistSession=function(e){window.sessionStorage.setItem(e.id,JSON.stringify(e))},F.prototype.persistMemory=function(e){this.filterSettings[e.id]=e},F.prototype.updateStreams=function(e){this.streams[e.id]&&this.streams[e.id].next(e)},F.decorators=[{type:d.Injectable,args:[{providedIn:"root"}]}],F.ngInjectableDef=d.defineInjectable({factory:function(){return new F},token:F,providedIn:"root"}),F);function F(){this.givenErrors=new g.BehaviorSubject(null),this.isInitialSetting=!1,this.filterSettings={},this.streams={}}function D(e,o){return e.reduce(function(e,t,n){return o[n]?k(e,[t.key]):e},[])}var E=(Object.defineProperty(A.prototype,"config",{get:function(){return this._config},set:function(e){this._config=v({},e,{fields:e.fields.map(function(e){return v({},e,{displayMinSelectedError:!1,displayMaxSelectedError:!1})})}),this._config=e},enumerable:!0,configurable:!0}),Object.defineProperty(A.prototype,"settings",{get:function(){return this._settings},set:function(e){e||this.getSettings(),e&&e.fields&&this.mergeDefaultFields(e),this._settings=e},enumerable:!0,configurable:!0}),A.addFormValidators=function(e){var t,n,o=[];return e&&e.minSelected&&o.push((t=e.minSelected,function(e){e=e.value;return e.length&&e.filter(function(e){return e}).length>=t?null:{minLength:!0}})),e&&e.maxSelected&&o.push((n=e.maxSelected,function(e){e=e.value;return e.length&&e.filter(function(e){return e}).length<=n?null:{maxLength:!0}})),o},A.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})},A.prototype.ngOnDestroy=function(){this.formSub&&this.formSub.unsubscribe()},A.prototype.hidden=function(e,t){if(!e.showCondition)return!1;if("string"==typeof e.showCondition){var n=t.get(e.name),o=y(e.showCondition.split("="),2),i=o[0],o=o[1];if(t.value&&t.value[i]===o)return"find-person"===e.type?(n.get("email").setValidators(p.Validators.required),n.get("email").updateValueAndValidity()):(n.setValidators(p.Validators.required),n.updateValueAndValidity()),!1;"find-person"===e.type?(n.get("email").clearValidators(),n.get("email").updateValueAndValidity()):(n.clearValidators(),n.updateValueAndValidity())}return!0},A.prototype.disabled=function(e,t){if(!e.enableCondition)return null;if("string"==typeof e.enableCondition){var n=t.get(e.name),o=y(e.enableCondition.split("="),2),i=o[0],o=o[1];if(t.value&&t.value[i]===o)return"find-person"===e.type?(n.get("email").setValidators(p.Validators.required),n.get("email").updateValueAndValidity()):(n.setValidators(p.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||null)},A.prototype.applyFilter=function(e){var t;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),t=v({},this.settings,{reset:!1}),this.filterService.persist(t,this.config.persistence)):this.emitFormErrors(e)},A.prototype.fieldChanged=function(e,t){var n,o;if(e.changeResetFields&&e.changeResetFields.length)try{for(var i=b(e.changeResetFields),s=i.next();!s.done;s=i.next()){var r=s.value;this.resetField(r,t)}}catch(a){n={error:a}}finally{try{s&&!s.done&&(o=i["return"])&&o.call(i)}finally{if(n)throw n.error}}},A.prototype.inputChanged=function(e){var t;e.radioSelectionChange&&"string"==typeof e.radioSelectionChange&&(e=(t=y(e.enableCondition.split("="),2))[0],t=t[1],this.form.get(e).patchValue(t))},A.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=v({},this.settings,{reset:!0});this.filterService.persist(e,this.config.persistence),this.filterService.givenErrors.next(null),this.submitted=!1},A.prototype.updatePersonControls=function(e,t){var n,o,i=e?Object.keys(e):Object.keys(this.form.get(t.name).value);try{for(var s=b(i),r=s.next();!r.done;r=s.next()){var a,l=r.value;this.form.get(t.name)&&this.form.get(t.name).get(l)&&(a=e&&e[l]?e[l]:null,this.form.get(t.name).get(l).patchValue(a))}}catch(c){n={error:c}}finally{try{r&&!r.done&&(o=s["return"])&&o.call(s)}finally{if(n)throw n.error}}},A.prototype.updateTaskNameControls=function(e,t){this.form.get(t.name).patchValue(e)},A.prototype.toggleSelectAll=function(e,t,n,o){var i,s=e.target.checked,e=t.get(o.name);n.selectAll?e.controls.forEach(function(e){s?e.patchValue(!0):e.patchValue(!1)}):(t=e.controls.every(function(e){return e.value}),i=null,n=o.options.find(function(e,t){return!!e.hasOwnProperty("selectAll")&&(i=t,!0)}),o=e.controls.filter(function(e,t){return t!==i}).every(function(e){return e.value}),t||!n||s?n&&!t&&s&&o&&e.controls[i].patchValue(!0):e.controls.forEach(function(e,t){i===t&&e.patchValue(!1)}))},A.prototype.resetField=function(t,e){var n,o,i=e.get(t),s=this.config.cancelSetting.fields.find(function(e){return e.name===t});if(i instanceof p.FormArray)for(var r=0;r<i.length;r++)i.removeAt(r);else if(i instanceof p.FormGroup){e=Object.keys(i.value);try{for(var a=b(e),l=a.next();!l.done;l=a.next()){var c=l.value;this.resetField(c,i)}}catch(u){n={error:u}}finally{try{l&&!l.done&&(o=a["return"])&&o.call(a)}finally{if(n)throw n.error}}}else i instanceof p.FormControl&&(s=s&&s.value&&s.value.length?s.value[0]:null,i.setValue(s))},A.prototype.mergeDefaultFields=function(e){e?e.fields=(this.filterService.get(this.config.id)?this.filterService.get(this.config.id):e).fields:this.config&&this.config.cancelSetting&&(this._settings={id:this.config.id,fields:JSON.parse(JSON.stringify(this.config.cancelSetting.fields))})},A.prototype.getSettings=function(){this._settings=this.filterService.get(this.config.id)},A.prototype.buildForm=function(s,r,a){var e,t,n=this.form?this.form.get("findPersonControl"):null;this.form=this.fb.group({}),n&&this.form.addControl("findPersonControl",n);var l=this;try{for(var o=b(s.fields),i=o.next();!i.done;i=o.next())!function(t){var e,n,o,i;"checkbox"===t.type||"checkbox-large"===t.type?(e=l.buildCheckBoxFormArray(t,r),l.form.addControl(t.name,e)):"find-location"===t.type?(e=l.buildFindLocationFormArray(t,r),l.form.addControl(t.name,e)):(i=[],t.minSelected&&0<t.minSelected&&i.push(p.Validators.required),n=null,a&&s.cancelSetting?n=(e=s.cancelSetting.fields.find(function(e){return e.name===t.name}))&&e.value?e.value[0]:"":r&&r.fields&&(n=(o=r.fields.find(function(e){return e.name===t.name}))&&o?o.value[0]:""),"find-person"===t.type?(o=new p.FormGroup({domain:new p.FormControl(""),email:new p.FormControl(n&&n.hasOwnProperty("email")?n.email:"",i),id:new p.FormControl(""),name:new p.FormControl(""),knownAs:new p.FormControl("")}),l.form.addControl(t.name,o)):(i=new p.FormControl(n,i),l.form.addControl(t.name,i)),t.findPersonField&&l.fieldChanged(t,l.form))}(i.value)}catch(c){e={error:c}}finally{try{i&&!i.done&&(t=o["return"])&&t.call(o)}finally{if(e)throw e.error}}},A.prototype.buildCheckBoxFormArray=function(t,e){var n,o,i,s=A.addFormValidators(t),r=this.fb.array([],s);e&&e.fields&&(i=e.fields.find(function(e){return e.name===t.name}));try{for(var a=b(t.options),l=a.next();!l.done;l=a.next())!function(t){var e=!1;i&&Array.isArray(i.value)&&(e=!!i.value.find(function(e){return e===t.key})),r.push(new p.FormControl(e))}(l.value)}catch(c){n={error:c}}finally{try{l&&!l.done&&(o=a["return"])&&o.call(a)}finally{if(n)throw n.error}}return r},A.prototype.buildFindLocationFormArray=function(t,e){var n,o,i,s=A.addFormValidators(t),r=this.fb.array([],s);if(e&&e.fields&&(i=e.fields.find(function(e){return e.name===t.name}))&&i.value&&0<i.value.length)try{for(var a=b(i.value),l=a.next();!l.done;l=a.next()){var c=l.value;r.push(new p.FormControl(c))}}catch(u){n={error:u}}finally{try{l&&!l.done&&(o=a["return"])&&o.call(a)}finally{if(n)throw n.error}}return r},A.prototype.getSelectedValues=function(o,i){return Object.keys(o).map(function(t){var e=o[t];if(Array.isArray(e)){var n=i.fields.find(function(e){return e.name===t});return"find-location"===n.type?{value:e,name:t}:{value:D(n.options,e),name:t}}return{value:[e],name:t}})},A.prototype.emitFormErrors=function(e){var t,n,o=[];try{for(var i=b(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(l){t={error:l}}finally{try{s&&!s.done&&(n=i["return"])&&n.call(i)}finally{if(t)throw t.error}}o.length&&this.filterService.givenErrors.next(o)},A.decorators=[{type:d.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.enableAddLocationButton"\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-task-name\'">\n <xuilib-find-task-name subTitle="" (taskNameSelected)="updateTaskNameControls($event, field)"\n (taskNameFieldChanged)="inputChanged(field)"\n [submitted]="submitted"\n [disabled]="disabled(field, form)"\n [domain]="form.get(field.domainField)?.value"\n [findTaskNameGroup]="form"\n [selectedTaskName]="form.get(field.name).value.taskName"\n [userIncluded]="false"\n ></xuilib-find-task-name>\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:d.ChangeDetectionStrategy.OnPush,encapsulation:d.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}"]}]}],A.ctorParameters=function(){return[{type:T},{type:p.FormBuilder}]},A.propDecorators={config:[{type:d.Input}],settings:[{type:d.Input}]},A);function A(e,t){this.filterService=e,this.fb=t,this.submitted=!1}var N=(P.prototype.onClose=function(){this.close.emit()},P.decorators=[{type:d.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;position:fixed;z-index:1000;top:0;left:0;width:100%;height:100%;overflow-x:hidden;overflow-y:scroll;outline:0}.gem-c-modal-dialogue__box{display:block;position:fixed;background:#fff;top:0;right:0;bottom:0;left:0;width:100%;height:100%;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:1rem;line-height:1.25;color:#0b0c0c}.gem-c-modal-dialogue__box:focus{outline:#fd0 solid 3px}@media (min-width:40.0625em){.gem-c-modal-dialogue__box{font-size:1.1875rem;line-height:1.3157894737;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 print{.gem-c-modal-dialogue__box{font-family:sans-serif;font-size:14pt;line-height:1.15;color:#000}}@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:0 0;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 (min-width:40.0625em){.gem-c-modal-dialogue__box--wide{max-width:960px}.gem-c-modal-dialogue__close-button{font-size:2.25rem;line-height:1.3}}@media print{.gem-c-modal-dialogue__close-button{font-family:sans-serif;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:0;background:#fd0}']}]}],P.ctorParameters=function(){return[]},P.propDecorators={positionTop:[{type:d.Input}],close:[{type:d.Output}]},P);function P(){this.close=new d.EventEmitter}var M=(Object.defineProperty(O.prototype,"errorMessages",{set:function(e){this.isInvalid=e||{}},enumerable:!0,configurable:!0}),O.prototype.onSubmit=function(){this.submitForm.emit()},O.decorators=[{type:d.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'}]}],O.propDecorators={submitForm:[{type:d.Output}],inviteUserForm:[{type:d.Input}],errorMessages:[{type:d.Input}]},O);function O(){this.submitForm=new d.EventEmitter}var j=(U.decorators=[{type:d.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>"}]}],U.propDecorators={inviteUserForm:[{type:d.Input}],isPuiCaseManager:[{type:d.Input}],isPuiUserManager:[{type:d.Input}],isPuiOrganisationManager:[{type:d.Input}],isPuiFinanceManager:[{type:d.Input}],errorMessages:[{type:d.Input}]},U);function U(){this.isPuiCaseManager=!1,this.isPuiUserManager=!1,this.isPuiOrganisationManager=!1,this.isPuiFinanceManager=!1}var V=(R.decorators=[{type:d.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:d.ViewEncapsulation.None,styles:[".spinner-container{position:fixed;top:0;left:0;height:100%;width:100%;display:flex;justify-content:center;align-items:center;background:rgba(255,255,255,.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:10px solid #000;border-radius:50%;width:40px;height:40px;-webkit-animation:1s linear infinite spin;animation:1s linear infinite spin}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0)}100%{-webkit-transform:rotate(360deg)}}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}"]}]}],R.propDecorators={loadingText:[{type:d.Input}]},R);function R(){this.loadingText="Loading"}var B=(Object.defineProperty(G.prototype,"state",{get:function(){return this.subject.asObservable().pipe(h.distinctUntilChanged())},enumerable:!0,configurable:!0}),G.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)},G.prototype.getCases=function(){return this.caseState},G.prototype.requestShare=function(t){var e,n,o=this.caseState.slice(),i=[];try{for(var s=b(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,t)){for(var u=0,p=c.length;u<p;u++)if(c[u].email===t.email){c.splice(u,1);break}}else l.some(function(e){return e.email===t.email})||l.push(t);var d=v({},a,{pendingUnshares:c,pendingShares:l});i.push(d)}}catch(g){e={error:g}}finally{try{r&&!r.done&&(n=s["return"])&&n.call(s)}finally{if(e)throw e.error}}return this.subject.next(i),i},G.prototype.requestUnshare=function(e,t){var n,o,i=[];try{for(var s=b(this.caseState),r=s.next();!r.done;r=s.next()){var a,l,c=r.value;c.caseId===e?(c.pendingUnshares||(c.pendingUnshares=[]),(a=c.pendingUnshares.slice())&&a.some(function(e){return e.email===t.email})||a.push(t),l=v({},c,{pendingUnshares:a}),i.push(l)):i.push(c)}}catch(u){n={error:u}}finally{try{r&&!r.done&&(o=s["return"])&&o.call(s)}finally{if(n)throw n.error}}this.subject.next(i)},G.prototype.requestCancel=function(e,t){var n,o,i=[];try{for(var s=b(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(),p=0;p<u.length;p++)if(u[p].email===t.email){u.splice(p,1);break}var d=v({},a,{pendingUnshares:l,pendingShares:u});i.push(d)}else i.push(a)}}catch(g){n={error:g}}finally{try{r&&!r.done&&(o=s["return"])&&o.call(s)}finally{if(n)throw n.error}}this.subject.next(i)},G.prototype.removeCase=function(e){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)},G.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},G.decorators=[{type:d.Injectable,args:[{providedIn:"root"}]}],G.ctorParameters=function(){return[]},G.ngInjectableDef=d.defineInjectable({factory:function(){return new G},token:G,providedIn:"root"}),G);function G(){this.caseState=[],this.subject=new g.BehaviorSubject(this.caseState)}var z=(W.prototype.ngOnInit=function(){var t=this;this.shareCases$=this.stateService.state,this.shareCases$.subscribe(function(e){return t.shareCases=e})},W.prototype.trackByUserId=function(e){return e.idamId},W.prototype.showUserAccessBlock=function(){return!!(this.sharedCase.pendingShares&&0<this.sharedCase.pendingShares.length)||this.sharedCase.pendingUnshares&&0<this.sharedCase.pendingUnshares.length},W.decorators=[{type:d.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%}"]}]}],W.ctorParameters=function(){return[{type:B}]},W.propDecorators={sharedCase:[{type:d.Input}],changeLink:[{type:d.Input}]},W);function W(e){this.stateService=e,this.changeLink=""}var H=($.prototype.ngOnInit=function(){var t=this;this.shareCases$=this.stateService.state,this.shareCases$.subscribe(function(e){return t.shareCases=e})},$.prototype.onUnselect=function(e){this.unselect.emit(e)},$.prototype.onSynchronizeStore=function(e){this.synchronizeStore.emit(e)},$.prototype.trackByCaseId=function(e){return e.caseId},$.decorators=[{type:d.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 [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:[""]}]}],$.ctorParameters=function(){return[{type:B}]},$.propDecorators={shareCases$:[{type:d.Input}],removeUserFromCaseToggleOn:[{type:d.Input}],toConfirm:[{type:d.Input}],changeLink:[{type:d.Input}],unselect:[{type:d.Output}],synchronizeStore:[{type:d.Output}]},$);function $(e){this.stateService=e,this.shareCases=[],this.toConfirm=!1,this.changeLink="",this.unselect=new d.EventEmitter,this.synchronizeStore=new d.EventEmitter}var q=(J.prototype.ngOnInit=function(){var t=this;this.shareCases$=this.stateService.state,this.shareCases$.subscribe(function(e){return t.shareCases=e})},J.prototype.ngOnChanges=function(e){var t;e.sharedCase&&(t=this.sharedCase.sharedWith||[],e=this.sharedCase.pendingShares||[],this.combinedSortedShares=this.combineAndSortShares(t,e))},J.prototype.onUnselect=function(){this.unselect.emit(this.sharedCase)},J.prototype.onDeselect=function(e){this.unselect.emit(e)},J.prototype.trackByUserId=function(e){return e.idamId},J.prototype.canRemove=function(a,l){var c=this;return this.shareCases$.pipe(h.map(function(e){var t,n;if(c.removeUserFromCaseToggleOn)try{for(var o=b(e),i=o.next();!i.done;i=o.next()){var s=i.value;if(s.caseId===a){if(s.pendingUnshares&&s.pendingUnshares.some(function(e){return e.idamId===l.idamId}))return!1;if(s.sharedWith&&s.sharedWith.some(function(e){return e.idamId===l.idamId}))return!0}}}catch(r){t={error:r}}finally{try{i&&!i.done&&(n=o["return"])&&n.call(o)}finally{if(t)throw t.error}}return!1}))},J.prototype.canCancel=function(a,l){return this.shareCases$.pipe(h.map(function(e){var t,n;try{for(var o=b(e),i=o.next();!i.done;i=o.next()){var s=i.value;if(s.caseId===a)return!(!s.pendingShares||!s.pendingShares.some(function(e){return e.idamId===l.idamId}))||!(!s.pendingUnshares||!s.pendingUnshares.some(function(e){return e.idamId===l.idamId}))}}catch(r){t={error:r}}finally{try{i&&!i.done&&(n=o["return"])&&n.call(o)}finally{if(t)throw t.error}}}))},J.prototype.isToBeRemoved=function(a,l){return this.shareCases$.pipe(h.map(function(e){var t,n;try{for(var o=b(e),i=o.next();!i.done;i=o.next()){var s=i.value;if(s.caseId===a)return s.pendingUnshares&&s.pendingUnshares.some(function(e){return e.idamId===l.idamId})}}catch(r){t={error:r}}finally{try{i&&!i.done&&(n=o["return"])&&n.call(o)}finally{if(t)throw t.error}}}))},J.prototype.isToBeAdded=function(a,l){return this.shareCases$.pipe(h.map(function(e){var t,n;try{for(var o=b(e),i=o.next();!i.done;i=o.next()){var s=i.value;if(s.caseId===a)return s.pendingShares&&s.pendingShares.some(function(e){return e.idamId===l.idamId})}}catch(r){t={error:r}}finally{try{i&&!i.done&&(n=o["return"])&&n.call(o)}finally{if(t)throw t.error}}}))},J.prototype.onRemove=function(e,t){this.stateService.requestUnshare(t.caseId,e),this.synchronizeStore.emit(this.shareCases)},J.prototype.onCancel=function(e,t){this.stateService.requestCancel(t.caseId,e),this.synchronizeStore.emit(this.shareCases)},J.prototype.showNoUsersAccessInfo=function(){return!(this.sharedCase.pendingShares&&0<this.sharedCase.pendingShares.length)&&(!(!this.sharedCase.sharedWith||0!==this.sharedCase.sharedWith.length)||!!(this.sharedCase.sharedWith&&this.sharedCase.pendingUnshares&&0<this.sharedCase.pendingUnshares.length&&this.sharedCase.sharedWith.length===this.sharedCase.pendingUnshares.length))},J.prototype.showUserHasAccessInfo=function(){return!this.showNoUsersAccessInfo()},J.prototype.showUserAccessTable=function(){return!!(this.sharedCase.pendingShares&&0<this.sharedCase.pendingShares.length)||!!(this.sharedCase.sharedWith&&0<this.sharedCase.sharedWith.length)},J.prototype.combineAndSortShares=function(e,t){return k(e,t).sort(function(e,t){return e.firstName.toLowerCase()>t.firstName.toLowerCase()?1:t.firstName.toLowerCase()>e.firstName.toLowerCase()?-1:0})},J.prototype.userIdSetter=function(e,t){return e?"pendingShares-"+t:""+t},J.prototype.buildElementId=function(e){return e+"-"+this.sharedCase.caseId},J.decorators=[{type:d.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 id="{{buildElementId(\'btn-deselect-case\')}}" class="govuk-button hmcts-button--secondary" (click)="onDeselect(sharedCase)" title="Deselect case">Deselect case</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"> </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-family:nta,Arial,sans-serif;font-size:24px;color:#005ea5;font-weight:700;padding-left:0}.govuk-case-sub-title{font-family:nta,Arial,sans-serif;font-size:1rem!important;color:#6f777b;font-weight:400;padding-left:0}.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:40%}.govuk-table-column-actions,.govuk-table-column-label{width:10%}.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}"]}]}],J.ctorParameters=function(){return[{type:B}]},J.propDecorators={sharedCase:[{type:d.Input}],selectedUser:[{type:d.Input}],opened:[{type:d.Input}],removeUserFromCaseToggleOn:[{type:d.Input}],unselect:[{type:d.Output}],synchronizeStore:[{type:d.Output}]},J);function J(e){this.stateService=e,this.opened=!1,this.unselect=new d.EventEmitter,this.synchronizeStore=new d.EventEmitter}var K=(Y.prototype.onHideMessageEvent=function(e){this.hideMessage.emit(e)},Y.decorators=[{type:d.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>'}]}],Y.ctorParameters=function(){return[]},Y.propDecorators={message:[{type:d.Input}],key:[{type:d.Input}],hideMessage:[{type:d.Output}]},Y);function Y(){this.hideMessage=new d.EventEmitter}var Q=(X.prototype.initialize=function(e,t){throw new Error("Not implemented")},X.prototype.isEnabled=function(e){throw new Error("Not implemented")},X.prototype.getValue=function(e,t){throw new Error("Not implemented")},X.prototype.getValueOnce=function(e,t){throw new Error("Not implemented")},X.decorators=[{type:d.Injectable,args:[{providedIn:"root"}]}],X.ngInjectableDef=d.defineInjectable({factory:function(){return new X},token:X,providedIn:"root"}),X);function X(){}var Z=(ee.prototype.ngOnInit=function(){this.getServiceMessages()},ee.prototype.getServiceMessages=function(){var t=this;this.featureToggleService.getValue(this.featureToggleKey,null).subscribe(function(e){e&&t.createFilteredMessages(e)})},ee.prototype.createFilteredMessages=function(n){var o=this;this.hiddenBanners=JSON.parse(window.sessionStorage.getItem(this.serviceMessageCookie))||[],Object.keys(n).forEach(function(e){var t=new RegExp(e);o.userRoles.some(function(e){return t.test(e)})&&-1===o.hiddenBanners.indexOf(e)&&o.filteredMessages.set(e,n[e])})},ee.prototype.hideMessage=function(e){this.filteredMessages["delete"](e),this.hiddenBanners.push(e),window.sessionStorage.setItem(this.serviceMessageCookie,JSON.stringify(this.hiddenBanners))},ee.decorators=[{type:d.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>'}]}],ee.ctorParameters=function(){return[{type:Q}]},ee.propDecorators={userRoles:[{type:d.Input}],featureToggleKey:[{type:d.Input}],serviceMessageCookie:[{type:d.Input}]},ee);function ee(e){this.featureToggleService=e,this.filteredMessages=new Map}var te=(ne.prototype.ngOnInit=function(){var t=this;this.shareCases$.subscribe(function(e){t.shareCases=e,t.stateService.setCases(e)}),this.shareCases$=this.stateService.state},ne.decorators=[{type:d.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:[""]}]}],ne.ctorParameters=function(){return[{type:B}]},ne.propDecorators={shareCases$:[{type:d.Input}],changeLink:[{type:d.Input}],completeLink:[{type:d.Input}]},ne);function ne(e){this.stateService=e,this.shareCases=[],this.changeLink="",this.completeLink=""}var oe=(ie.prototype.ngOnInit=function(){var t=this;this.filteredUsers=this.control.valueChanges.pipe(h.map(function(e){return"string"==typeof e?t.filterUsers(e):t.users})),this.selected.emit(null)},ie.prototype.displayValue=function(e){return e?e.firstName+" "+e.lastName+" - "+e.email:""},ie.prototype.onSelected=function(e){this.selected.emit(e.option.value)},ie.prototype.clear=function(){this.control.setValue(null)},ie.prototype.onUserChange=function(e){e&&e.email||this.selected.emit(null)},ie.prototype.filterUsers=function(t){return t?(t=t.toLowerCase(),this.users.filter(function(e){return!!e.firstName.toLowerCase().includes(t)||(!!e.lastName.toLowerCase().includes(t)||!!e.email.toLowerCase().includes(t))})):[]},ie.decorators=[{type:d.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:[""]}]}],ie.ctorParameters=function(){return[]},ie.propDecorators={users:[{type:d.Input}],selected:[{type:d.Output}]},ie);function ie(){this.selected=new d.EventEmitter,this.control=new p.FormControl}var se=(re.prototype.ngOnInit=function(){var t=this;this.shareCases$.subscribe(function(e){t.shareCases=e,t.stateService.setCases(e)}),this.shareCases$=this.stateService.state},re.prototype.onUnselect=function(e){this.unselect.emit(e),this.stateService.removeCase(e.caseId)},re.prototype.onSynchronizeStore=function(e){this.synchronizeStore.emit(e)},re.prototype.onSelectedUser=function(e){this.selectedUser=e},re.prototype.addUser=function(){var e=this.stateService.requestShare(this.selectedUser);this.selectedUser=null,this.userSelect&&this.userSelect.clear(),this.synchronizeStore.emit(e)},re.prototype.isDisabledAdd=function(){return null===this.selectedUser||0===this.shareCases.length},re.prototype.isDisabledContinue=function(){var a=!0;return this.shareCases$.subscribe(function(e){var t,n;try{for(var o=b(e),i=o.next();!i.done;i=o.next()){var s=i.value;if(s.pendingShares&&0<s.pendingShares.length){a=!1;break}if(s.pendingUnshares&&0<s.pendingUnshares.length){a=!1;break}}}catch(r){t={error:r}}finally{try{i&&!i.done&&(n=o["return"])&&n.call(o)}finally{if(t)throw t.error}}}),a},re.prototype.onDeselect=function(e){var t,n;if(null!==e){var o=[];try{for(var i=b(this.shareCases),s=i.next();!s.done;s=i.next()){var r=s.value;r.caseId!==e.caseId&&o.push(r)}}catch(a){t={error:a}}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)},re.decorators=[{type:d.Component,args:[{selector:"xuilib-share-case",template:'<div id="add-user">\n <label class="govuk-label govuk-!-font-weight-bold" for="add-user-input">Enter email address</label>\n <span id="add-user-hint" class="govuk-hint">\n Search by name or email address. You can only add people from your organisation individually - but you can add as many as you like.\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" [disabled]="isDisabledAdd()" title="Add user to the case">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\n<div id="cases">\n <h3 id="title-selected-cases" class="govuk-heading-m">Selected cases</h3>\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 No cases to display.\n </div>\n\n</div>\n\n<div id="share-case-nav">\n <button class="govuk-button" [disabled]="isDisabledContinue()" title="Continue" [routerLink]="confirmLink">Continue</button>\n</div>\n',styles:[""]}]}],re.ctorParameters=function(){return[{type:B}]},re.propDecorators={removeUserFromCaseToggleOn:[{type:d.Input}],shareCases$:[{type:d.Input}],users:[{type:d.Input}],confirmLink:[{type:d.Input}],unselect:[{type:d.Output}],synchronizeStore:[{type:d.Output}],userSelect:[{type:d.ViewChild,args:[oe]}]},re);function re(e){this.stateService=e,this.shareCases=[],this.removeUserFromCaseToggleOn=!1,this.users=[],this.confirmLink="",this.unselect=new d.EventEmitter,this.synchronizeStore=new d.EventEmitter}var ae=(le.prototype.tabChanged=function(e){this.tabChange.emit(e)},le.decorators=[{type:d.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>'}]}],le.ctorParameters=function(){return[]},le.propDecorators={tabItems:[{type:d.Input}],tabChange:[{type:d.Output}]},le);function le(){this.tabChange=new d.EventEmitter}var ce=(ue.prototype.onClick=function(){this.confirm.emit()},ue.decorators=[{type:d.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:[""]}]}],ue.ctorParameters=function(){return[]},ue.propDecorators={buttonText:[{type:d.Input}],confirm:[{type:d.Output}]},ue);function ue(){this.confirm=new d.EventEmitter}var pe=(de.decorators=[{type:d.Component,args:[{selector:"xuilib-tc-display-html",template:"<ng-content></ng-content>",styles:[":host{display:block;width:100%}"]}]}],de.ctorParameters=function(){return[]},de);function de(){}var ge=(he.decorators=[{type:d.Component,args:[{selector:"xuilib-tc-display-plain",template:"<ng-content></ng-content>",styles:[":host{display:block;width:100%}"]}]}],he.ctorParameters=function(){return[]},he);function he(){}var me=(fe.decorators=[{type:d.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%}"]}]}],fe.ctorParameters=function(){return[]},fe.propDecorators={document:[{type:d.Input}]},fe);function fe(){}var ve=(be.prototype.reinviteClick=function(e){this.reinvite.emit(e)},be.prototype.suspendUser=function(e){this.suspendUserEvent.emit(e)},be.prototype.userHasRole=function(e){return!(!this.user||!this.user.roles)&&this.user.roles.includes(e)},be.decorators=[{type:d.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}"]}]}],be.propDecorators={user:[{type:d.Input}],editPermissionRouterLink:[{type:d.Input}],warningTitle:[{type:d.Input}],showEditLink:[{type:d.Input}],showHelpLink:[{type:d.Input}],suspendHelpLink:[{type:d.Input}],suspendUserEvent:[{type:d.Output}],showSuspendUserButton:[{type:d.Input}],reinvite:[{type:d.Output}]},be);function be(){this.showEditLink=!1,this.showHelpLink=!1,this.suspendUserEvent=new d.EventEmitter,this.showSuspendUserButton=!1,this.reinvite=new d.EventEmitter}var ye=(ke.prototype.ngOnInit=function(){this.pagination={itemsPerPage:50,currentPage:this.currentPageNumber,totalItems:this.pageTotalSize}},ke.prototype.onUserClick=function(e){this.userClick.emit(e)},ke.prototype.emitPageClickEvent=function(e){this.currentPageNumber=e,this.pageChange.emit(e)},ke.decorators=[{type:d.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}"]}]}],ke.propDecorators={users:[{type:d.Input}],currentPageNumber:[{type:d.Input}],pageTotalSize:[{type:d.Input}],userClick:[{type:d.Output}],pageChange:[{type:d.Output}]},ke);function ke(){this.users=[],this.userClick=new d.EventEmitter,this.pageChange=new d.EventEmitter}var Ce=(Ie.prototype.setCookie=function(e,t,n){this.document.cookie=e+"="+t+";"+(n?" expires="+n:"")},Ie.prototype.getCookie=function(t){return this.document.cookie.split("; ").find(function(e){return e.startsWith(t+"=")}).split("=")[1]},Ie.prototype.deleteCookie=function(e,t,n){this.document.cookie=e+"="+(t?"; path="+t:"")+(n?"; domain="+n:"")+"; expires=Thu, 01 Jan 1970 00:00:01 GMT; max-age=0"},Ie.prototype.deleteCookieByPartialMatch=function(t,n,o){var i=this;this.document.cookie.split("; ").filter(function(e){return e.startsWith(""+t)}).forEach(function(e){i.deleteCookie(e.split("=")[0],n,o)})},Ie.prototype.checkCookie=function(t){return this.document.cookie.split("; ").some(function(e){return e.trim().startsWith(t+"=")})},Ie.decorators=[{type:d.Injectable,args:[{providedIn:"root"}]}],Ie.ctorParameters=function(){return[{type:undefined,decorators:[{type:d.Inject,args:[r.DOCUMENT]}]}]},Ie.ngInjectableDef=d.defineInjectable({factory:function(){return new Ie(d.inject(r.DOCUMENT))},token:Ie,providedIn:"root"}),Ie);function Ie(e){this.document=e}var we=new d.InjectionToken("Window");function _e(){return window}var xe=(Se.prototype.ngOnInit=function(){this.setState()},Se.prototype.acceptCookie=function(){this.cookieService.setCookie(this.identifier,"true",this.getExpiryDate()),this.setState(!0)},Se.prototype.rejectCookie=function(){this.cookieService.setCookie(this.identifier,"false",this.getExpiryDate()),this.setState(!0)},Se.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()},Se.prototype.areCookiesAccepted=function(){return this.cookieService.checkCookie(this.identifier)&&"true"===this.cookieService.getCookie(this.identifier)},Se.prototype.notifyRejection=function(){this.rejectionNotifier.emit()},Se.prototype.notifyAcceptance=function(){this.acceptanceNotifier.emit()},Se.prototype.getExpiryDate=function(){var e=new Date,t=e.getTime();return e.setTime(t+31536e6),e.toUTCString()},Se.decorators=[{type:d.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>'}]}],Se.ctorParameters=function(){return[{type:Ce},{type:undefined,decorators:[{type:d.Inject,args:[we]}]}]},Se.propDecorators={identifier:[{type:d.Input}],appName:[{type:d.Input}],rejectionNotifier:[{type:d.Output}],acceptanceNotifier:[{type:d.Output}]},Se);function Se(e,t){this.cookieService=e,this.rejectionNotifier=new d.EventEmitter,this.acceptanceNotifier=new d.EventEmitter,this.isCookieBannerVisible=!1,this.window=t}var Le=(Te.prototype.getAllLocations=function(e,t,n){return this.http.get("api/locations/getLocations?serviceIds="+e+"&locationType="+t+"&searchTerm="+n)},Te.prototype.searchLocations=function(e,t,n){return this.http.get("api/prd/location/getLocations?serviceIds="+e+"&locationType="+t+"&searchTerm="+n)},Te.decorators=[{type:d.Injectable,args:[{providedIn:"root"}]}],Te.ctorParameters=function(){return[{type:i.HttpClient}]},Te.ngInjectableDef=d.defineInjectable({factory:function(){return new Te(d.inject(i.HttpClient))},token:Te,providedIn:"root"}),Te);function Te(e){this.http=e}var Fe=(Object.defineProperty(De.prototype,"reset",{get:function(){return this.pReset},set:function(e){this.pReset=e,this.resetSearchTerm()},enumerable:!0,configurable:!0}),Object.defineProperty(De.prototype,"selectedLocations",{get:function(){return this.pSelectedLocations},set:function(e){this.pSelectedLocations=e},enumerable:!0,configurable:!0}),De.prototype.ngOnInit=function(){var e;this.singleMode&&0<this.selectedLocations.length&&(e=this.selectedLocations[0],this.form.controls.searchTerm.patchValue(e.site_name,{emitEvent:!1,onlySelf:!0})),this.search()},De.prototype.filter=function(e){var t=this;this.getLocations(e).pipe(h.map(function(e){return t.removeSelectedLocations(e)}))},De.prototype.onSelectionChange=function(e){this.form.controls.searchTerm.patchValue(e.site_name,{emitEvent:!1,onlySelf:!0}),this.locationSelected.emit(e)},De.prototype.search=function(){var t=this;this.form.controls.searchTerm.valueChanges.pipe(h.tap(function(e){return t.locationInputChanged.next(e)}),h.tap(function(){return t.locations=[]}),h.tap(function(e){return t.term=e}),h.filter(function(e){return!!e&&e.length>=t.minSearchCharacters}),h.debounceTime(this.delay),h.mergeMap(function(e){return t.getLocations(e)}),h.map(function(e){return t.removeSelectedLocations(e)})).subscribe(function(e){return t.locations=e,t.cd.markForCheck(),1!==e.length||t.term!==e[0].site_name||t.singleMode?void(t.showAutocomplete=!0):(t.locationSelected.emit(e[0]),void(t.showAutocomplete=!1))})},De.prototype.onInput=function(){this.searchLocationChanged.emit()},De.prototype.getLocations=function(e){return this.locationService.getAllLocations(this.serviceIds,this.locationType,e)},De.prototype.resetSearchTerm=function(){this.form.controls.searchTerm.patchValue("",{emitEvent:!1,onlySelf:!0})},De.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})},De.decorators=[{type:d.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:rgba(0,0,0,.256863) 0 2px 6px;left:0;position:absolute;top:100%;z-index:100}.autocomplete__menu--inline{position:relative}.autocomplete__option{border-bottom:solid #b1b4b6;border-width:1px 0;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}"]}]}],De.ctorParameters=function(){return[{type:Le},{type:p.FormBuilder},{type:d.ChangeDetectorRef}]},De.propDecorators={control:[{type:d.Input}],disabled:[{type:d.Input}],singleMode:[{type:d.Input}],locationType:[{type:d.Input}],serviceIds:[{type:d.Input}],submitted:[{type:d.Input}],delay:[{type:d.Input}],form:[{type:d.Input}],showAutocomplete:[{type:d.Input}],locations:[{type:d.Input}],locationSelected:[{type:d.Output}],locationInputChanged:[{type:d.Output}],searchLocationChanged:[{type:d.Output}],reset:[{type:d.Input}],selectedLocations:[{type:d.Input}]},De);function De(e,t,n){this.locationService=e,this.fb=t,this.cd=n,this.disabled=null,this.singleMode=!1,this.locationType="",this.serviceIds="",this.submitted=!0,this.delay=500,this.showAutocomplete=!1,this.locations=[],this.locationSelected=new d.EventEmitter,this.locationInputChanged=new d.EventEmitter,this.searchLocationChanged=new d.EventEmitter,this.minSearchCharacters=3,this.term="",this.pSelectedLocations=[],this.pReset=!0,this.form=this.fb.group({searchTerm:[""]})}var Ee=(Object.defineProperty(Ae.prototype,"disabled",{get:function(){return this.pDisabled},set:function(e){e&&(this.searchLocationComponent.resetSearchTerm(),this.removeSelectedValues()),this.pDisabled=!0===this.disableInputField||null},enumerable:!0,configurable:!0}),Object.defineProperty(Ae.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:D(n.options,e).filter(function(e){return"services_all"!==e}).join(","))},enumerable:!0,configurable:!0}),Ae.prototype.addLocation=function(){this.tempSelectedLocation&&(this.selectedLocations=k(this.selectedLocations,[this.tempSelectedLocation]),this.addSelectedLocationsToForm([this.tempSelectedLocation]),this.tempSelectedLocation=null,this.locations=[],this.searchLocationComponent.resetSearchTerm())},Ae.prototype.removeLocation=function(t){var e,n;t.epimms_id&&(this.selectedLocations=this.selectedLocations.filter(function(e){return e.epimms_id!==t.epimms_id}),-1<(n=(e=this.form.get(this.field.name)).value.findIndex(function(e){return e.epimms_id===t.epimms_id}))&&e.removeAt(n))},Ae.prototype.onInputChanged=function(e){"string"==typeof e&&1===this.field.maxSelected&&this.removeSelectedValues()},Ae.prototype.onSearchInputChanged=function(){this.locationFieldChanged.emit()},Ae.prototype.onLocationSelected=function(t){1===this.field.maxSelected?(this.removeSelectedValues(),this.addSelectedLocationsToForm([t])):this.selectedLocations.find(function(e){return e.epimms_id===t.epimms_id})||t.epimms_id&&(this.tempSelectedLocation=t)},Ae.prototype.removeSelectedValues=function(){for(var e=this.form.get(this.field.name),t=0;t<e.length;t++)e.removeAt(t);this.selectedLocations=[]},Ae.prototype.addSelectedLocationsToForm=function(e){var t,n,o=this.form.get(this.field.name);try{for(var i=b(e),s=i.next();!s.done;s=i.next()){var r=s.value;o.push(new p.FormControl(r))}}catch(a){t={error:a}}finally{try{s&&!s.done&&(n=i["return"])&&n.call(i)}finally{if(t)throw t.error}}},Ae.decorators=[{type:d.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 [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:[""]}]}],Ae.propDecorators={locationFieldChanged:[{type:d.Output}],selectedLocations:[{type:d.Input}],submitted:[{type:d.Input}],enableAddLocationButton:[{type:d.Input}],form:[{type:d.Input}],field:[{type:d.Input}],fields:[{type:d.Input}],locationTitle:[{type:d.Input}],disableInputField:[{type:d.Input}],searchLocationComponent:[{type:d.ViewChild,args:[Fe]}],disabled:[{type:d.Input}],services:[{type:d.Input}]},Ae);function Ae(){this.locationFieldChanged=new d.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}var Ne=(Pe.prototype.onPrevious=function(){this.previousPage.emit(null)},Pe.prototype.onNext=function(){this.nextPage.emit(null)},Pe.decorators=[{type:d.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}"]}]}],Pe.ctorParameters=function(){return[]},Pe.propDecorators={moreItems:[{type:d.Input}],firstRecord:[{type:d.Input}],previousPage:[{type:d.Output}],nextPage:[{type:d.Output}]},Pe);function Pe(){this.previousPage=new d.EventEmitter,this.nextPage=new d.EventEmitter}var Me=(Object.defineProperty(Oe.prototype,"xuilibFeatureToggle",{set:function(e){this.feature=e,this.updateSubscription()},enumerable:!0,configurable:!0}),Oe.prototype.ngOnDestroy=function(){this.subscription&&this.subscription.unsubscribe()},Oe.prototype.updateSubscription=function(){var t=this;this.subscription=this.service.isEnabled(this.feature).subscribe(function(e){e?t.viewContainer.createEmbeddedView(t.templateRef):t.viewContainer.clear()})},Oe.decorators=[{type:d.Directive,args:[{selector:"[xuilibFeatureToggle]"}]}],Oe.ctorParameters=function(){return[{type:Q},{type:d.ViewContainerRef},{type:d.TemplateRef}]},Oe.propDecorators={xuilibFeatureToggle:[{type:d.Input}]},Oe);function Oe(e,t,n){this.service=e,this.viewContainer=t,this.templateRef=n}var je=function(){this.$implicit=null,this.xuilibLet=null},Ue=(Object.defineProperty(Ve.prototype,"xuilibLet",{set:function(e){this.context.$implicit=this.context.xuilibLet=e},enumerable:!0,configurable:!0}),Ve.decorators=[{type:d.Directive,args:[{selector:"[xuilibLet]"}]}],Ve.ctorParameters=function(){return[{type:d.ViewContainerRef},{type:d.TemplateRef}]},Ve.propDecorators={xuilibLet:[{type:d.Input}]},Ve);function Ve(e,t){this.viewContainer=e,this.context=new je,this.viewContainer.createEmbeddedView(t,this.context)}var Re=(Be.decorators=[{type:d.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%}"]}]}],Be.ctorParameters=function(){return[]},Be.propDecorators={backLink:[{type:d.Input}],title:[{type:d.Input}],fnTitle:[{type:d.Input}]},Be);function Be(){}var Ge=function(){},ze=function(){},We={JUDICIAL:"Judicial",CASEWORKER:"Legal Ops",ADMIN:"Admin",ALL:"All"},He={JUDICIAL:"JUDICIAL",CASEWORKER:"LEGAL_OPERATIONS",ADMIN:"ADMIN",ALL:"ALL"},$e=function(){},qe=function(e){var t=[];return e.forEach(function(e){t=t.concat(e.caseworkers)}),t},Je=function(e){return e+"-caseworkers"},Ke=(Ye.prototype.getItem=function(e,t){void 0===t&&(t=!1);var n=sessionStorage.getItem(e);return t&&this.removeItem(e),n},Ye.prototype.setItem=function(e,t){sessionStorage.setItem(e,t)},Ye.prototype.removeItem=function(e){sessionStorage.removeItem(e)},Ye.prototype.clear=function(){sessionStorage.clear()},Ye.decorators=[{type:d.Injectable,args:[{providedIn:"root"}]}],Ye.ngInjectableDef=d.defineInjectable({factory:function(){return new Ye},token:Ye,providedIn:"root"}),Ye);function Ye(){}var Qe=(Xe.prototype.find=function(e){var t=this,n=this.sessionStorageService.getItem("userDetails");return n&&!e.userIncluded&&(n=JSON.parse(n),this.userId=n.id||n.uid),this.assignedUser=e.assignedUser||null,this.http.post("/workallocation2/findPerson",{searchOptions:e}).pipe(h.map(function(e){return e.filter(function(e){return![t.assignedUser,t.userId].includes(e.id)})}))},Xe.prototype.findCaseworkers=function(t){var n=this,e=this.sessionStorageService.getItem("userDetails");e&&(o=JSON.parse(e),this.userId=o.id||o.uid),this.assignedUser=t.assignedUser||null;var o=t.services,i=[],s=[],r=[];if(o.forEach(function(e){var t=Je(e);n.sessionStorageService.getItem(t)?(i.push(e),r.push({service:e,caseworkers:JSON.parse(n.sessionStorageService.getItem(t))})):s.push(e)}),i.length!==o.length)return this.http.post("/workallocation2/retrieveCaseWorkersForServices",{fullServices:o}).pipe(h.tap(function(e){e.forEach(function(e){s.includes(e.service)&&function(e,t,n){e=Je(e);n.setItem(e,JSON.stringify(t))}(e.service,e.caseworkers,n.sessionStorageService)})}),h.map(function(e){e=qe(e);return n.searchInCaseworkers(e,t)}));o=qe(r);return g.of(this.searchInCaseworkers(o,t))},Xe.prototype.mapCaseworkers=function(e,n){var o=[];return e.forEach(function(e){var t={email:e.email,name:e.firstName+" "+e.lastName,id:e.idamId,domain:e.roleCategory===He.CASEWORKER?We.CASEWORKER:We.ADMIN};e.roleCategory!==n&&n!==He.ALL||o.push(t)}),o},Xe.prototype.searchInCaseworkers=function(e,t){var n=this,o=He.ALL;t.userRole!==We.ALL&&(o=t.userRole===We.CASEWORKER?He.CASEWORKER:He.ADMIN);var i=t&&t.searchTerm?t.searchTerm.toLowerCase():"",o=(e?this.mapCaseworkers(e,o):[]).filter(function(e){return e&&e.name&&e.name.toLowerCase().includes(i)});return t.userIncluded?o.filter(function(e){return e&&e.id!==n.assignedUser}):o.filter(function(e){return e&&e.id!==n.userId&&e.id!==n.assignedUser})},Xe.prototype.searchJudicial=function(e,t){return this.http.post("api/prd/judicial/getJudicialUsersSearch",{searchString:e,serviceCode:t})},Xe.caseworkersKey="caseworkers",Xe.decorators=[{type:d.Injectable,args:[{providedIn:"root"}]}],Xe.ctorParameters=function(){return[{type:i.HttpClient},{type:Ke}]},Xe.ngInjectableDef=d.defineInjectable({factory:function(){return new Xe(d.inject(i.HttpClient),d.inject(Ke))},token:Xe,providedIn:"root"}),Xe);function Xe(e,t){this.http=e,this.sessionStorageService=t}var Ze=(et.prototype.ngOnDestroy=function(){this.sub&&this.sub.unsubscribe()},et.prototype.ngOnInit=function(){var t=this;this.findPersonControl=new p.FormControl(this.selectedPerson),this.findPersonGroup.addControl("findPersonControl",this.findPersonControl),this.sub=this.findPersonControl.valueChanges.pipe(h.tap(function(){return t.showAutocomplete=!1}),h.tap(function(){return t.filteredOptions=[]}),h.debounceTime(300),h.tap(function(e){return"string"==typeof e?t.personSelected.emit(null):void 0}),h.filter(function(e){return e&&e.length>t.minSearchCharacters}),h.switchMap(function(e){return t.filter(e).pipe(h.tap(function(){return t.showAutocomplete=!0}),h.catchError(function(){return t.filteredOptions=[]}))})).subscribe(function(e){t.filteredOptions=e,t.cd.detectChanges()})},et.prototype.filter=function(e){var n=this,t=this.findPersonService.find({searchTerm:e,userRole:this.domain,services:this.services,userIncluded:this.userIncluded,assignedUser:this.assignedUser}),o=this.findPersonService.findCaseworkers({searchTerm:e,userRole:this.domain,services:this.services,userIncluded:this.userIncluded,assignedUser:this.assignedUser});if(e&&e.length>this.minSearchCharacters)switch(this.domain){case We.JUDICIAL:return t.pipe(h.map(function(e){var t=n.selectedPersons.map(function(e){return e.id});return e.filter(function(e){e=e.id;return!t.includes(e)})}));case We.ALL:return g.zip(t,o).pipe(h.map(function(e){return e[0].concat(e[1])}));case We.CASEWORKER:case We.ADMIN:return o;default:return g.of([])}return g.of([])},et.prototype.onSelectionChange=function(e){this.personSelected.emit(e),this.findPersonControl.setValue(this.getDisplayName(e),{emitEvent:!1,onlySelf:!0})},et.prototype.getDisplayName=function(e){return e?e.domain===We.JUDICIAL&&e.knownAs?e.knownAs+" ("+e.email+")":e.email?e.name+" ("+e.email+")":e.name:""},et.prototype.onInput=function(){this.personFieldChanged.emit()},et.decorators=[{type:d.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}"]}]}],et.ctorParameters=function(){return[{type:Qe},{type:d.ChangeDetectorRef}]},et.propDecorators={personSelected:[{type:d.Output}],personFieldChanged:[{type:d.Output}],title:[{type:d.Input}],boldTitle:[{type:d.Input}],subTitle:[{type:d.Input}],domain:[{type:d.Input}],findPersonGroup:[{type:d.Input}],selectedPerson:[{type:d.Input}],submitted:[{type:d.Input}],userIncluded:[{type:d.Input}],assignedUser:[{type:d.Input}],placeholderContent:[{type:d.Input}],isNoResultsShown:[{type:d.Input}],showUpdatedColor:[{type:d.Input}],selectedPersons:[{type:d.Input}],errorMessage:[{type:d.Input}],idValue:[{type:d.Input}],services:[{type:d.Input}],disabled:[{type:d.Input}]},et);function et(e,t){this.findPersonService=e,this.cd=t,this.personSelected=new d.EventEmitter,this.personFieldChanged=new d.EventEmitter,this.boldTitle="Find the person",this.subTitle="Type the name of the person and select them.",this.domain=We.ALL,this.findPersonGroup=new p.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}var tt=(nt.prototype.getTaskName=function(){var t=this;if(this.sessionStorageService.getItem(nt.taskNamesKey)){var e=JSON.parse(this.sessionStorageService.getItem(nt.taskNamesKey));return g.of(e)}return this.http.get("/workallocation2/taskNames").pipe(h.tap(function(e){return t.sessionStorageService.setItem(nt.taskNamesKey,JSON.stringify(e))}))},nt.taskNamesKey="taskNames",nt.decorators=[{type:d.Injectable,args:[{providedIn:"root"}]}],nt.ctorParameters=function(){return[{type:i.HttpClient},{type:Ke}]},nt.ngInjectableDef=d.defineInjectable({factory:function(){return new nt(d.inject(i.HttpClient),d.inject(Ke))},token:nt,providedIn:"root"}),nt);function nt(e,t){this.http=e,this.sessionStorageService=t}var ot=(it.prototype.ngOnDestroy=function(){this.sub&&this.sub.unsubscribe()},it.prototype.ngOnChanges=function(){var t=this;this.findTaskNameControl=new p.FormControl(this.selectedTaskName),this.findTaskNameGroup.addControl("findTaskNameControl",this.findTaskNameControl),this.sub=this.findTaskNameControl.valueChanges.pipe(h.tap(function(){return t.showAutocomplete=!1}),h.tap(function(){return t.filteredOptions=[]}),h.tap(function(e){return t.searchTerm=e}),h.debounceTime(300),h.tap(function(e){return e||t.taskNameSelected.emit(""),e}),h.filter(function(e){return e&&e.length>=t.minSearchCharacters}),h.mergeMap(function(){return t.getTaskName()})).subscribe(function(e){t.filteredOptions=e.map(function(e){return e.taskName}),t.searchTerm&&(t.filteredOptions=t.filteredOptions.filter(function(e){return e.toLocaleLowerCase().includes(t.searchTerm.toLocaleLowerCase())}).map(function(e){return e})),t.cd.detectChanges()})},it.prototype.getTaskName=function(){return this.taskService.getTaskName()},it.prototype.onSelectionChange=function(e){e&&(this.taskNameSelected.emit(e),this.findTaskNameControl.setValue(e))},it.prototype.onInput=function(){this.taskNameFieldChanged.emit()},it.decorators=[{type:d.Component,args:[{selector:"xuilib-find-task-name",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]="findTaskNameGroup"\n [ngClass]="{\'form-group-error\': findTaskNameGroup.get(\'findTaskNameControl\')?.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="findTaskNameGroup && findTaskNameGroup.errors">\n <span class="govuk-visually-hidden">Error:</span>{{findTaskNameGroup.errors.error ? findTaskNameGroup.errors.error : errorMessage}}\n </span>\n <input id="inputSelectTaskName{{idValue}}" type="text" aria-label="select a task name"\n formControlName="findTaskNameControl"\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 {{ 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:[""]}]}],it.ctorParameters=function(){return[{type:d.ChangeDetectorRef},{type:tt}]},it.propDecorators={taskNameSelected:[{type:d.Output}],taskNameFieldChanged:[{type:d.Output}],title:[{type:d.Input}],boldTitle:[{type:d.Input}],subTitle:[{type:d.Input}],domain:[{type:d.Input}],findTaskNameGroup:[{type:d.Input}],selectedTaskName:[{type:d.Input}],submitted:[{type:d.Input}],userIncluded:[{type:d.Input}],assignedUser:[{type:d.Input}],placeholderContent:[{type:d.Input}],isNoResultsShown:[{type:d.Input}],showUpdatedColor:[{type:d.Input}],selectedTaskNames:[{type:d.Input}],errorMessage:[{type:d.Input}],idValue:[{type:d.Input}],services:[{type:d.Input}],disabled:[{type:d.Input}]},it);function it(e,t){this.cd=e,this.taskService=t,this.taskNameSelected=new d.EventEmitter,this.taskNameFieldChanged=new d.EventEmitter,this.boldTitle="Find the task name",this.subTitle="Type the name of the task name and select them.",this.domain=We.ALL,this.findTaskNameGroup=new p.FormGroup({}),this.submitted=!0,this.userIncluded=!1,this.placeholderContent="",this.isNoResultsShown=!0,this.showUpdatedColor=!1,this.selectedTaskNames=[],this.errorMessage="You must select a name",this.idValue="",this.services=["IA"],this.disabled=null,this.showAutocomplete=!1,this.filteredOptions=[],this.minSearchCharacters=1,this.searchTerm=""}var st=(rt.prototype.ngOnInit=function(){var t=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(h.debounceTime(500)).subscribe(function(e){return t.search(e)})},rt.prototype.onKeyDown=function(){this.judicialChanged.emit()},rt.prototype.onKeyUp=function(e){this.showAutocomplete=!1,this.keyUpSubject$.next(e.target.value)},rt.prototype.onFocus=function(){this.showAutocomplete=!1},Object.defineProperty(rt.prototype,"displayedJudicialsDuplicationFiltered",{get:function(){var t=this;return this.displayedJudicials.filter(function(e){return!t.selectedJudicials.map(function(e){return e.idamId}).includes(e.idamId)})},enumerable:!0,configurable:!0}),rt.prototype.filter=function(t){var n=this;this.searchJudicials(t,this.serviceId).pipe(h.mergeMap(function(e){e=e.filter(function(e){return!n.selectedJudicials.map(function(e){return e.idamId}).includes(e.idamId)});return n.displayedJudicials=e,n.searchInProgress=!1,e})).subscribe(function(e){t===e.knownAs&&(n.formGroup.controls.selectedFormControl.setValue(e),n.displayedJudicials=[],n.judicialChanged.emit(e),n.showAutocomplete=!1),n.searchInProgress=!1})},rt.prototype.onSelectionChange=function(e){this.formGroup.controls.formControl instanceof p.FormArray?this.formGroup.controls.selectedFormControl.push(new p.FormControl(e.idamId)):this.formGroup.controls.selectedFormControl.setValue(e),this.judicialChanged.emit(e)},rt.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},rt.prototype.getDisplayName=function(e){return e.knownAs+" ("+e.emailId+")"},rt.prototype.searchJudicials=function(e,t){return this.judicialService.searchJudicial(e,t)},rt.prototype.getControlValueDisplayText=function(){return this.formGroup&&this.formGroup.controls&&this.formGroup.controls.selectedFormControl.value?this.getDisplayName(this.formGroup.controls.selectedFormControl.value):""},rt.decorators=[{type:d.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}"]}]}],rt.ctorParameters=function(){return[{type:Qe},{type:p.FormBuilder}]},rt.propDecorators={control:[{type:d.Input}],disabled:[{type:d.Input}],selectedJudicials:[{type:d.Input}],submitted:[{type:d.Input}],placeholderContent:[{type:d.Input}],showAutocomplete:[{type:d.Input}],displayedJudicials:[{type:d.Input}],judicialChanged:[{type:d.Output}],idValue:[{type:d.Input}],errorMessage:[{type:d.Input}],serviceId:[{type:d.Input}],autoCompleteInputBox:[{type:d.ViewChild,args:["inputSelection",{read:d.ElementRef}]}]},rt);function rt(e,t){this.judicialService=e,this.disabled=null,this.selectedJudicials=[],this.submitted=!0,this.placeholderContent="",this.showAutocomplete=!1,this.judicialChanged=new d.EventEmitter,this.idValue="",this.errorMessage="You must select a name",this.serviceId="",this.minSearchCharacters=3,this.keyUpSubject$=new g.Subject,this.searchInProgress=!1,this.formGroup=t.group({formControl:[null],selectedFormControl:[null]})}var at=(lt.prototype.ngAfterContentInit=function(){this.readyAfterContent=!0},lt.prototype.ngOnInit=function(){var t=this;this.displayedLocations=[],this.control&&this.findLocationFormGroup&&this.findLocationFormGroup.controls&&(this.findLocationFormGroup.controls.locationSelectedFormControl=this.control),this.keyUpSubject$.pipe(h.debounceTime(500)).subscribe(function(e){return t.search(e)})},lt.prototype.onKeyDown=function(){this.locationChanged.emit()},lt.prototype.onKeyUp=function(e){this.showAutocomplete=!1,this.keyUpSubject$.next(e.target.value)},lt.prototype.onFocus=function(){this.showAutocomplete=!1},Object.defineProperty(lt.prototype,"displayedLocationsDuplicationFiltered",{get:function(){var t=this;return this.displayedLocations.filter(function(e){return!t.selectedLocations.map(function(e){return e.epimms_id}).includes(e.epimms_id)&&e.court_name})},enumerable:!0,configurable:!0}),lt.prototype.filter=function(t){var n=this;this.searchLocations(t).pipe(h.mergeMap(function(e){e=e.filter(function(e){return!n.selectedLocations.map(function(e){return e.epimms_id}).includes(e.epimms_id)});return n.displayedLocations=e,n.searchInProgress=!1,e})).subscribe(function(e){t===e.court_name&&(n.findLocationFormGroup.controls.locationSelectedFormControl.setValue(e),n.displayedLocations=[],n.locationChanged.emit(e),n.showAutocomplete=!1),n.searchInProgress=!1})},lt.prototype.onSelectionChange=function(e){this.findLocationFormGroup.controls.findLocationFormControl instanceof p.FormArray?this.findLocationFormGroup.controls.locationSelectedFormControl.push(new p.FormControl(e.epimms_id)):this.findLocationFormGroup.controls.locationSelectedFormControl.setValue(e),this.locationChanged.emit(e)},lt.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},lt.prototype.getDisplayName=function(e){return e.court_name},lt.prototype.searchLocations=function(e){return this.locationService.searchLocations(this.serviceIds,this.locationType,e)},lt.prototype.getControlCourtNameValue=function(){return this.findLocationFormGroup&&this.findLocationFormGroup.controls&&this.findLocationFormGroup.controls.locationSelectedFormControl.value?this.findLocationFormGroup.controls.locationSelectedFormControl.value.court_name:""},lt.decorators=[{type:d.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%;background-color:transparent;position:relative}.autocomplete__hint{color:#b1b4b6;position:absolute}.autocomplete__input--default{padding:5px}.autocomplete__input--focused{outline:#fd0 solid 3px;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:rgba(0,0,0,.256863) 0 2px 6px;left:0;position:absolute;top:100%;z-index:100}.autocomplete__menu--inline{position:relative}.autocomplete__option{border-bottom:solid #b1b4b6;border-width:1px 0;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}"]}]}],lt.ctorParameters=function(){return[{type:Le},{type:p.FormBuilder}]},lt.propDecorators={control:[{type:d.Input}],disabled:[{type:d.Input}],locationType:[{type:d.Input}],selectedLocations:[{type:d.Input}],serviceIds:[{type:d.Input}],submitted:[{type:d.Input}],autoCompleteInputBox:[{type:d.ViewChild,args:["inputSelectedLocation",{read:d.ElementRef}]}],showAutocomplete:[{type:d.Input}],displayedLocations:[{type:d.Input}],locationChanged:[{type:d.Output}]},lt);function lt(e,t){this.locationService=e,this.disabled=null,this.locationType="",this.serviceIds="",this.submitted=!0,this.showAutocomplete=!1,this.locationChanged=new d.EventEmitter,this.minSearchCharacters=3,this.keyUpSubject$=new g.Subject,this.readyAfterContent=!1,this.searchInProgress=!1,this.findLocationFormGroup=t.group({findLocationFormControl:[null],locationSelectedFormControl:[null]}),this.selectedLocations=[]}var ct=(ut.prototype.ngOnInit=function(){var e=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"},ut.decorators=[{type:d.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>'}]}],ut.ctorParameters=function(){return[]},ut.propDecorators={group:[{type:d.Input}],config:[{type:d.Input}],isChecked:[{type:d.Input}]},ut);function ut(){this.isChecked=!1}var pt=(dt.decorators=[{type:d.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>'}]}],dt.propDecorators={options:[{type:d.Input}],errors:[{type:d.Input}]},dt);function dt(){}var gt=(ht.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)},ht.prototype.isValidDate=function(e,t,n){var o=!isNaN(e.getTime()),t=e.getMonth()===t,n=e.getFullYear()===n;return o&&t&&n},ht.prototype.isEmpty=function(e){return null==e||""===e||isNaN(e)||e<0},ht.prototype.DateValidator=function(){var o=this;return function(){var e=o.formGroup.get(o.day).value,t=o.formGroup.get(o.month).value-1,n=o.formGroup.get(o.year).value;return o.isOptional&&o.isEmpty(e)&&o.isEmpty(t)&&o.isEmpty(n)||o.isValidDate(new Date(n,t,e),t,+n)?null:{dateComponent:!0}}},ht.decorators=[{type:d.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}"]}]}],ht.ctorParameters=function(){return[]},ht.propDecorators={config:[{type:d.Input}],errorMessage:[{type:d.Input}],formGroup:[{type:d.Input}],isOptional:[{type:d.Input}]},ht);function ht(){this.isOptional=!1}var mt=(ft.decorators=[{type:d.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>'}]}],ft.ctorParameters=function(){return[]},ft.propDecorators={config:[{type:d.Input}],errorMessage:[{type:d.Input}]},ft);function ft(){}var vt=(bt.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},bt);function bt(){}var yt=(kt.prototype.setDescribedBy=function(){return vt.setDescribedBy(this.errorMessage,this.config)},kt.decorators=[{type:d.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>'}]}],kt.ctorParameters=function(){return[]},kt.propDecorators={config:[{type:d.Input}],errorMessage:[{type:d.Input}]},kt);function kt(){}var Ct=(It.prototype.ngOnInit=function(){this.config.classes="govuk-label--m"},It.prototype.setDescribedBy=function(){return vt.setDescribedBy(this.errorMessage,this.config)},It.decorators=[{type:d.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>'}]}],It.ctorParameters=function(){return[]},It.propDecorators={errorMessage:[{type:d.Input}],group:[{type:d.Input}],config:[{type:d.Input}]},It);function It(){this.reloadInput=!0}var wt=(_t.decorators=[{type:d.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>'}]}],_t.ctorParameters=function(){return[]},_t.propDecorators={error:[{type:d.Input}],group:[{type:d.Input}],config:[{type:d.Input}]},_t);function _t(){}var xt=(St.prototype.ngOnInit=function(){this.config.classes="govuk-label--m"},St.prototype.setDescribedBy=function(){return vt.setDescribedBy(this.errorMessage,this.config)},St.decorators=[{type:d.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}"]}]}],St.ctorParameters=function(){return[]},St.propDecorators={errorMessage:[{type:d.Input}],group:[{type:d.Input}],config:[{type:d.Input}]},St);function St(){}var Lt=(Tt.decorators=[{type:d.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>'}]}],Tt.ctorParameters=function(){return[]},Tt.propDecorators={config:[{type:d.Input}]},Tt);function Tt(){}var Ft=(Dt.prototype.ngOnInit=function(){var e=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"},Dt.decorators=[{type:d.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>'}]}],Dt.ctorParameters=function(){return[]},Dt.propDecorators={group:[{type:d.Input}],config:[{type:d.Input}]},Dt);function Dt(){}var Et=(At.decorators=[{type:d.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>'}]}],At.propDecorators={options:[{type:d.Input}],errors:[{type:d.Input}]},At);function At(){}var Nt=(Pt.prototype.setDescribedBy=function(){return vt.setDescribedBy(this.errorMessage,this.config)},Pt.decorators=[{type:d.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>'}]}],Pt.ctorParameters=function(){return[]},Pt.propDecorators={errorMessage:[{type:d.Input}],group:[{type:d.Input}],config:[{type:d.Input}],items:[{type:d.Input}]},Pt);function Pt(){}var Mt=(Ot.prototype.formatDate=function(e){return r.formatDate(e,"dd/MM/yyyy","en-UK")},Ot.decorators=[{type:d.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:[""]}]}],Ot.ctorParameters=function(){return[]},Ot.propDecorators={classes:[{type:d.Input}],caption:[{type:d.Input}],firstCellIsHeader:[{type:d.Input}],rows:[{type:d.Input}],columnConfig:[{type:d.Input}]},Ot);function Ot(){this.classes="",this.caption="Dates and amounts",this.firstCellIsHeader=!0,this.columnConfig=[{header:"Date",key:"date",type:"text"},{header:"Amount",key:"amount"}]}var jt=(Ut.prototype.setDescribedBy=function(){return vt.setDescribedBy(this.errorMessage,this.config)},Ut.decorators=[{type:d.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>'}]}],Ut.propDecorators={config:[{type:d.Input}],errorMessage:[{type:d.Input}],group:[{type:d.Input}]},Ut);function Ut(){}var Vt=(Rt.decorators=[{type:d.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%}"]}]}],Rt.ctorParameters=function(){return[]},Rt.propDecorators={type:[{type:d.Input}],message:[{type:d.Input}]},Rt);function Rt(){}var Bt=(Object.defineProperty(Gt.prototype,"errorMessages",{set:function(e){this.messages=e},enumerable:!0,configurable:!0}),Gt.prototype.ngAfterViewInit=function(){this.scrollTo("errorSummary")},Gt.prototype.ngOnChanges=function(e){e.errorMessages&&this.scrollTo("errorSummary")},Gt.prototype.scrollTo=function(e){this.document.querySelector("#"+e)&&this.document.querySelector("#"+e).focus()},Gt.prototype.hasElement=function(e){return this.document.querySelector("#"+e)},Gt.decorators=[{type:d.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>'}]}],Gt.ctorParameters=function(){return[{type:undefined,decorators:[{type:d.Inject,args:[r.DOCUMENT]}]}]},Gt.propDecorators={errorMessages:[{type:d.Input}],header:[{type:d.Input}],showWarningMessage:[{type:d.Input}]},Gt);function Gt(e){this.document=e}var zt=(Object.defineProperty(Wt.prototype,"content",{set:function(e){this.value=e.name},enumerable:!0,configurable:!0}),Wt.decorators=[{type:d.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:[""]}]}],Wt.ctorParameters=function(){return[]},Wt.propDecorators={content:[{type:d.Input}]},Wt);function Wt(){}var Ht=(Object.defineProperty($t.prototype,"banner",{set:function(e){this.bannerData=e},enumerable:!0,configurable:!0}),$t.prototype.ngOnInit=function(){this.hasBackLink=this.backLink!==undefined||0<this.backEvent.observers.length},$t.prototype.onGoBack=function(){this.backEvent.emit()},$t.decorators=[{type:d.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'}]}],$t.ctorParameters=function(){return[]},$t.propDecorators={backLink:[{type:d.Input}],title:[{type:d.Input}],summaryErrors:[{type:d.Input}],banner:[{type:d.Input}],actionButtons:[{type:d.Input}],showWarningMessage:[{type:d.Input}],backEvent:[{type:d.Output}]},$t);function $t(){this.backEvent=new d.EventEmitter}var qt=(Jt.decorators=[{type:d.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}"]}]}],Jt.propDecorators={id:[{type:d.Input}],maxSize:[{type:d.Input}],pageSize:[{type:d.Input}],showPageNumbers:[{type:d.Input}],showResultCount:[{type:d.Input}],pageChange:[{type:d.Output}],pageBoundsCorrection:[{type:d.Output}]},Jt);function Jt(){this.maxSize=7,this.pageSize=10,this.showPageNumbers=!0,this.showResultCount=!0,this.pageChange=new d.EventEmitter,this.pageBoundsCorrection=new d.EventEmitter}var Kt=(Object.defineProperty(Yt.prototype,"userLoggedIn",{set:function(e){this.isUserLoggedIn=e},enumerable:!0,configurable:!0}),Yt.decorators=[{type:d.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:[""]}]}],Yt.ctorParameters=function(){return[]},Yt.propDecorators={userLoggedIn:[{type:d.Input}],label:[{type:d.Input}],items:[{type:d.Input}],isBrandedHeader:[{type:d.Input}]},Yt);function Yt(){}var Qt=(Xt.decorators=[{type:d.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-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}"]}]}],Xt.propDecorators={label:[{type:d.Input}],items:[{type:d.Input}]},Xt);function Xt(){}var Zt=(en.prototype.ngOnInit=function(){for(var e=this.el.nativeElement,t=e.parentElement;e.firstChild;)t.insertBefore(e.firstChild,e);t.removeChild(e)},en.decorators=[{type:d.Directive,args:[{selector:"[appRemoveHost]"}]}],en.ctorParameters=function(){return[{type:d.ElementRef}]},en);function en(e){this.el=e}var tn=[Re,me,pe,ge,ce,w,Me,Ue,N,ye,ve,j,M,se,te,H,q,z,oe,ae,m,S,C,K,Z,V,E,xe,Ze,st,Ee,ot,Fe,at,Ne],nn=[zt,qt,Qt,Kt,Bt,Ht,Vt,Mt,xt,ct,wt,Lt,mt,yt,gt,pt,Ft,Et,Nt,jt,Ct,Zt],on=_e,sn=(rn.decorators=[{type:d.NgModule,args:[{declarations:k(tn,nn),imports:[r.CommonModule,p.FormsModule,p.ReactiveFormsModule,u.RouterModule.forChild([]),n.MatAutocompleteModule,t.MatTabsModule,t.MatInputModule,o.NgxPaginationModule],providers:[{provide:we,useFactory:on}],exports:k(tn,nn,[o.PaginatePipe])}]}],rn);function rn(){}var an=(ln.decorators=[{type:d.Injectable,args:[{providedIn:"root"}]}],ln.ctorParameters=function(){return[]},ln.ngInjectableDef=d.defineInjectable({factory:function(){return new ln},token:ln,providedIn:"root"}),ln);function ln(){}var cn=(un.prototype.canActivate=function(t){var n=this;return g.combineLatest.apply(void 0,k(t.data.needsFeaturesEnabled.map(function(e){return n.featureToggleService.getValueOnce(e,!1)}))).pipe(h.map(function(e){return e.every(function(e){return e})}),h.map(function(e){return e||n.router.parseUrl(t.data.featureDisabledRedirect)}))},un.decorators=[{type:d.Injectable,args:[{providedIn:"root"}]}],un.ctorParameters=function(){return[{type:Q},{type:u.Router}]},un.ngInjectableDef=d.defineInjectable({factory:function(){return new un(d.inject(Q),d.inject(u.Router))},token:un,providedIn:"root"}),un);function un(e,t){this.featureToggleService=e,this.router=t}var pn=(dn.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=s.initialize(this.clientId,this.user,{}),this.client.on("ready",function(){n.client.identify(n.user).then(function(){return n.ready.next(!0)})})},dn.prototype.isEnabled=function(e){return this.getValue(e,!1)},dn.prototype.getArray=function(e){return this.getValue(e,[])},dn.prototype.getValue=function(t,e){var n=this;return this.features.hasOwnProperty(t)||(this.features[t]=new g.BehaviorSubject(e),this.ready.pipe(h.filter(function(e){return e}),h.map(function(){return n.client.variation(t,e)})).subscribe(function(e){n.features[t].next(e),n.client.on("change:"+t,function(e){n.features[t].next(e)})})),this.features[t].pipe(h.distinctUntilChanged())},dn.prototype.getValueOnce=function(e,t){var n=this;return this.ready.pipe(h.filter(function(e){return e}),h.map(function(){return n.client.variation(e,t)}))},dn.decorators=[{type:d.Injectable,args:[{providedIn:"root"}]}],dn.ngInjectableDef=d.defineInjectable({factory:function(){return new dn},token:dn,providedIn:"root"}),dn);function dn(){this.ready=new g.BehaviorSubject(!1),this.features={},this.user={anonymous:!0},this.clientId=""}var gn=(hn.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(o){console.error("Error appending google analytics"),console.error(o)}this.listenForRouteChanges()},hn.prototype.listenForRouteChanges=function(){var t=this;this.googleAnalyticsKey&&this.router.events.subscribe(function(e){e instanceof u.NavigationEnd&&t.window.gtag("config",t.googleAnalyticsKey,{page_path:e.urlAfterRedirects,page_title:t.title.getTitle()})})},hn.prototype.event=function(e,t){this.window.gtag("event",e,t)},hn.decorators=[{type:d.Injectable,args:[{providedIn:"root"}]}],hn.ctorParameters=function(){return[{type:u.Router},{type:a.Title},{type:undefined,decorators:[{type:d.Inject,args:[we]}]},{type:undefined,decorators:[{type:d.Inject,args:[r.DOCUMENT]}]}]},hn.ngInjectableDef=d.defineInjectable({factory:function(){return new hn(d.inject(u.Router),d.inject(a.Title),d.inject(we),d.inject(r.DOCUMENT))},token:hn,providedIn:"root"}),hn);function hn(e,t,n,o){this.router=e,this.title=t,this.window=n,this.document=o}var mn=(fn.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(n){console.error("Error appending google tag manager"),console.error(n)}this.listenForRouteChanges()},fn.prototype.listenForRouteChanges=function(){var t=this;this.googleTagManagerKey&&this.router.events.subscribe(function(e){e instanceof u.NavigationEnd&&t.window.dataLayer.push({event:"pageview",page:{path:e.urlAfterRedirects,title:t.title.getTitle()}})})},fn.prototype.event=function(e,t){this.window.dataLayer.push({event:e,params:t})},fn.decorators=[{type:d.Injectable,args:[{providedIn:"root"}]}],fn.ctorParameters=function(){return[{type:u.Router},{type:a.Title},{type:undefined,decorators:[{type:d.Inject,args:[we]}]},{type:undefined,decorators:[{type:d.Inject,args:[r.DOCUMENT]}]}]},fn.ngInjectableDef=d.defineInjectable({factory:function(){return new fn(d.inject(u.Router),d.inject(a.Title),d.inject(we),d.inject(r.DOCUMENT))},token:fn,providedIn:"root"}),fn);function fn(e,t,n,o){this.router=e,this.title=t,this.window=n,this.document=o}var vn=(bn.prototype.init=function(e){var t=this;this.idle.setIdleName(e.idleServiceName),this.idle.setTimeout(e.timeout);var n=new l.DocumentInterruptSource("mousedown keydown DOMMouseScroll mousewheel touchstart touchmove scroll");this.idle.setInterrupts([n]),this.idle.onIdleEnd.pipe(h.delay(250)).subscribe(function(){t.appStateEmitter.next({type:"modal",countdown:undefined,isVisible:!1})}),this.idle.onTimeout.subscribe(function(){t.appStateEmitter.next({type:"signout"})}),this.idle.onTimeoutWarning.pipe(h.map(function(e){return 60<e?Math.ceil(e/60)+" minutes":e+" seconds"}),h.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"})});e=Math.floor(e.idleMilliseconds/1e3)-e.timeout;this.idle.setIdle(e),this.idle.watch()},bn.prototype.appStateChanges=function(){return this.appStateEmitter.asObservable()},bn.decorators=[{type:d.Injectable,args:[{providedIn:"root"}]}],bn.ctorParameters=function(){return[{type:l.Idle},{type:c.Keepalive}]},bn.ngInjectableDef=d.defineInjectable({factory:function(){return new bn(d.inject(l.Idle),d.inject(c.Keepalive))},token:bn,providedIn:"root"}),bn);function bn(e,t){this.idle=e,this.keepalive=t,this.appStateEmitter=new g.Subject}yn.prototype.initialise=function(e){var t=this,n=e.idleServiceName,o=e.idleModalDisplayTime,e=e.totalIdleTime;this.idle.setIdleName(n);n=this.millisecondsToSeconds(o),o=this.millisecondsToSeconds(e);this.idle.setTimeout(n);e=new l.DocumentInterruptSource("mousedown keydown DOMMouseScroll mousewheel touchstart touchmove scroll");this.idle.setInterrupts([e]),this.idle.onTimeout.subscribe(function(){t.eventEmitter.next({eventType:"sign-out"})}),this.idle.onTimeoutWarning.pipe(h.map(function(e){return 60<e?Math.ceil(e/60)+" minutes":e+" seconds"}),h.distinctUntilChanged()).subscribe(function(e){t.eventEmitter.next({eventType:"countdown",readableCountdown:e})}),this.keepalive.onPing.subscribe(function(){t.eventEmitter.next({eventType:"keep-alive"})});n=Math.floor(o)-n;this.idle.setIdle(n),this.idle.watch()},yn.prototype.notificationOnChange=function(){return this.eventEmitter.asObservable()},yn.decorators=[{type:d.Injectable,args:[{providedIn:"root"}]}],yn.ctorParameters=function(){return[{type:l.Idle},{type:c.Keepalive}]},yn.ngInjectableDef=d.defineInjectable({factory:function(){return new yn(d.inject(l.Idle),d.inject(c.Keepalive))},token:yn,providedIn:"root"}),n=yn;function yn(e,t){this.idle=e,this.keepalive=t,this.millisecondsToSeconds=function(e){return e/1e3},this.eventEmitter=new g.Subject}var kn=(Object.defineProperty(Cn.prototype,"roles",{get:function(){return this.pRoles},set:function(e){this.pRoles=e},enumerable:!0,configurable:!0}),Cn.decorators=[{type:d.Injectable,args:[{providedIn:"root"}]}],Cn.ngInjectableDef=d.defineInjectable({factory:function(){return new Cn},token:Cn,providedIn:"root"}),Cn);function Cn(){this.pRoles=[]}var In={ALL:0,ANY:1};In[In.ALL]="ALL",In[In.ANY]="ANY";wn.prototype.canActivate=function(e){var n=this,t=e.data.needsRole,o=function(e){var t=new RegExp(e);return n.roleService.roles.some(function(e){return t.test(e)})};return(e.data.roleMatching===In.ALL?t.every(o):t.some(o))||this.router.parseUrl(e.data.noRoleMatchRedirect)},wn.decorators=[{type:d.Injectable,args:[{providedIn:"root"}]}],wn.ctorParameters=function(){return[{type:kn},{type:u.Router}]},wn.ngInjectableDef=d.defineInjectable({factory:function(){return new wn(d.inject(kn),d.inject(u.Router))},token:wn,providedIn:"root"}),t=wn;function wn(e,t){this.roleService=e,this.router=t}Object.defineProperty(_n.prototype,"isLoading",{get:function(){},enumerable:!0,configurable:!0}),on=_n;function _n(){}Object.defineProperty(xn.prototype,"isLoading",{get:function(){return this.loading.asObservable().pipe(h.distinctUntilChanged())},enumerable:!0,configurable:!0}),xn.prototype.register=function(){var e=this.generateToken();return this.registered.set(e,e),this.loading.next(!0),e},xn.prototype.unregister=function(e){this.registered["delete"](e),this.loading.next(0<this.registered.size)},xn.prototype.generateToken=function(){return"common-lib-loading-"+window.performance.now()},xn.decorators=[{type:d.Injectable,args:[{providedIn:"root"}]}],xn.ngInjectableDef=d.defineInjectable({factory:function(){return new xn},token:xn,providedIn:"root"}),o=xn;function xn(){this.registered=new Map,this.loading=new g.BehaviorSubject(!1)}e.AccessibilityComponent=m,e.CheckboxListComponent=C,e.ContactDetailsComponent=w,e.DueDateComponent=S,e.GenericFilterComponent=E,e.HmctsSessionDialogComponent=N,e.InviteUserFormComponent=M,e.InviteUserPermissionComponent=j,e.LoadingSpinnerComponent=V,e.SelectedCaseConfirmComponent=z,e.SelectedCaseListComponent=H,e.SelectedCaseComponent=q,e.ServiceMessageComponent=K,e.ServiceMessagesComponent=Z,e.ShareCaseConfirmComponent=te,e.ShareCaseComponent=se,e.TabComponent=ae,e.TcConfirmComponent=ce,e.TcDisplayHtmlComponent=pe,e.TcDisplayPlainComponent=ge,e.TermsAndConditionsComponent=me,e.UserDetailsComponent=ve,e.UserListComponent=ye,e.CookieBannerComponent=xe,e.FindLocationComponent=Ee,e.SearchLocationComponent=Fe,e.PaginationComponent=Ne,e.FeatureToggleDirective=Me,e.LetContext=je,e.LetDirective=Ue,e.COMMON_COMPONENTS=tn,e.GOV_UI_COMPONENTS=nn,e.ExuiCommonLibModule=sn,e.GovUiService=an,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.HmctsSubNavigationComponent=Qt,e.BadgeColour={BADGE_RED:"hmcts-badge--red",BADGE_BLUE:"hmcts-badge--blue",BADGE_GREEN:"hmcts-badge--green"},e.DateBadgeColour=x,e.SECONDS_IN_A_DAY=86400,e.AnonymousFeatureUser=Ge,e.LoggedInFeatureUser=ze,e.PersonRole=We,e.RoleCategory=He,e.RadioFilterFieldConfig=$e,e.FeatureToggleGuard=cn,e.FeatureToggleService=Q,e.LaunchDarklyService=pn,e.GoogleAnalyticsService=gn,e.GoogleTagManagerService=mn,e.ManageSessionServices=vn,e.TimeoutNotificationsService=n,e.RoleMatching=In,e.RoleGuard=t,e.RoleService=kn,e.CookieService=Ce,e.HasLoadingState=on,e.LoadingService=o,e.FilterService=T,e.windowProvider=_e,e.windowToken=we,e.ɵx=m,e.ɵz=C,e.ɵf=w,e.ɵbf=xe,e.ɵy=S,e.ɵa=Re,e.ɵbl=Ee,e.ɵbh=Ze,e.ɵbo=ot,e.ɵbd=E,e.ɵk=N,e.ɵo=M,e.ɵn=j,e.ɵbc=V,e.ɵbr=Ne,e.ɵbk=st,e.ɵbm=Fe,e.ɵbq=at,e.ɵv=z,e.ɵt=H,e.ɵu=q,e.ɵba=K,e.ɵbb=Z,e.ɵs=te,e.ɵp=se,e.ɵw=ae,e.ɵe=ce,e.ɵc=pe,e.ɵd=ge,e.ɵb=me,e.ɵm=ve,e.ɵl=ye,e.ɵq=oe,e.ɵg=Me,e.ɵi=je,e.ɵj=Ue,e.ɵcb=ct,e.ɵch=pt,e.ɵcg=gt,e.ɵce=mt,e.ɵcf=yt,e.ɵcm=Ct,e.ɵcc=wt,e.ɵca=xt,e.ɵcd=Lt,e.ɵci=Ft,e.ɵcj=Et,e.ɵck=Nt,e.ɵbz=Mt,e.ɵcl=jt,e.ɵby=Vt,e.ɵbw=Bt,e.ɵbs=zt,e.ɵbx=Ht,e.ɵbt=qt,e.ɵbv=Kt,e.ɵbu=Qt,e.ɵcn=Zt,e.ɵr=B,e.ɵbg=Ce,e.ɵh=Q,e.ɵbe=T,e.ɵbi=Qe,e.ɵbn=Le,e.ɵbj=Ke,e.ɵbp=tt,Object.defineProperty(e,"__esModule",{value:!0})});
|
|
2
2
|
//# sourceMappingURL=hmcts-rpx-xui-common-lib.umd.min.js.map
|