@hmcts/rpx-xui-common-lib 1.8.10-generic-filter-readonly-changes → 1.8.10-generic-filter-readonly-changes-3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/common"),require("@angular/forms"),require("rxjs"),require("rxjs/operators"),require("@angular/router"),require("@angular/common/http"),require("rxjs/internal/observable/of"),require("@angular/material/autocomplete"),require("@angular/material/input"),require("@angular/material/tabs"),require("ngx-pagination"),require("launchdarkly-js-client-sdk"),require("@angular/platform-browser"),require("@ng-idle/core"),require("@ng-idle/keepalive")):"function"==typeof define&&define.amd?define("@hmcts/rpx-xui-common-lib",["exports","@angular/core","@angular/common","@angular/forms","rxjs","rxjs/operators","@angular/router","@angular/common/http","rxjs/internal/observable/of","@angular/material/autocomplete","@angular/material/input","@angular/material/tabs","ngx-pagination","launchdarkly-js-client-sdk","@angular/platform-browser","@ng-idle/core","@ng-idle/keepalive"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).hmcts=e.hmcts||{},e.hmcts["rpx-xui-common-lib"]={}),e.ng.core,e.ng.common,e.ng.forms,e.rxjs,e.rxjs.operators,e.ng.router,e.ng.common.http,e.rxjs["internal/observable/of"],e.ng.material.autocomplete,e.ng.material.input,e.ng.material.tabs,e.ngxPagination,e.LDClient,e.ng.platformBrowser,e.i1$2,e.i2$1)}(this,(function(e,t,n,o,i,s,r,a,l,c,u,d,p,g,h,m,f){"use strict";function v(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var o=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,o.get?o:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var b=v(t),y=v(n),k=v(r),C=v(a),S=v(g),I=v(h),w=v(m),x=v(f),_=function(){};_.decorators=[{type:t.Component,args:[{selector:"xuilib-accessibility",template:'<h1 class="govuk-heading-xl" id="Accessibility-statement-for-Expert-UI">Accessibility statement for Expert UI</h1>\n\n<ul class="govuk-list">\n <li><a href="accessibility#immigration">Immigration and Asylum</a></li>\n <li><a href="accessibility#family">Family Public Law </a></li>\n</ul>\n\n<p class="govuk-body">This website is run by HM Courts & Tribunals Service. We want as many people as possible to be\n able to use this website. For example, you should be able to:</p>\n\n<ul class="govuk-list govuk-list--bullet">\n <li>change colours, contrast levels and fonts</li>\n <li>zoom in up to 300% without the text spilling off the screen</li>\n <li>navigate most of the website using just a keyboard</li>\n <li>navigate most of the website using speech recognition software</li>\n <li>listen to most of the website using a screen reader (including the most recent versions of JAWS, NVDA and\n VoiceOver)\n </li>\n</ul>\n\n<p class="govuk-body">We’ve also made the website text as simple as possible to understand.</p>\n\n<p class="govuk-body"><a rel="noopener noreferrer" target="_blank" href="https://mcmw.abilitynet.org.uk/">AbilityNet</a>\n has advice on making your device easier to use if you have a disability.</p>\n\n<h2 class="govuk-heading-l" id="How-accessible-this-website-is">How accessible this website is</h2>\n\n<p class="govuk-body">We know some parts of the website are not fully accessible:</p>\n\n<ul class="govuk-list govuk-list--bullet">\n <li>some pages are difficult to navigate using just a keyboard</li>\n <li>some pages can’t be listened to in full using a screen reader</li>\n <li>some pages have problems with colour contrasts between text and background</li>\n <li>some PDFs may not be fully accessible to a screen reader</li>\n</ul>\n\n<h2 class="govuk-heading-l" id="What-to-do-if-you-cannot-access-parts-of-this-website">Feedback and contact\n information</h2>\n\n<p class="govuk-body">If you need information on this website in a different format like accessible PDF, large print,\n easy read, audio recording or braille, you can:</p>\n\n<ul class="govuk-list govuk-list--bullet">\n <li>email: <a href="mailto:HMCTSforms@justice.gov.uk"> HMCTSforms@justice.gov.uk</a></li>\n <li>call: +44 (0) 300 123 1711</li>\n <li>contact your service representative</li>\n</ul>\n\n<p class="govuk-body">We’ll consider your request and get back to you in 10 working days.</p>\n\n<h2 class="govuk-heading-l" id="Reporting-accessibility-problems-with-this-website">Reporting accessibility problems\n with this website</h2>\n\n<p class="govuk-body">We’re always looking to improve the accessibility of this website. If you find any problems not\n listed on this page or think we’re not meeting accessibility requirements, contact:</p>\n\n<ul class="govuk-list govuk-list--bullet">\n <li>email: <a href="mailto:customer.service@justice.gov.uk"> customer.service@justice.gov.uk</a></li>\n <li>telephone: +44 (0) 300 123 1711</li>\n</ul>\n\n<h2 class="govuk-heading-l" id="Enforcement-procedure ">Enforcement procedure</h2>\n\n<p class="govuk-body">The Equality and Human Rights Commission (EHRC) is responsible for enforcing the Public Sector\n Bodies (Websites and Mobile Applications) (No. 2) Accessibility Regulations 2018 (the ‘accessibility\n regulations’). </p>\n\n<p class="govuk-body">If you’re not happy with how we respond to your complaint, <a rel="noopener noreferrer"\n target="_blank"\n href="https://www.equalityadvisoryservice.com/">contact\n the Equality Advisory and Support Service (EASS).</a></p>\n\n<h1 class="govuk-heading-l" id="Contacting-us-by-phone-or-visiting-us-in-person">Contacting us by phone or visiting us\n in person</h1>\n\n<p class="govuk-body">We provide a text relay service for people who are D/deaf, hearing impaired or have a speech\n impediment.</p>\n\n<p class="govuk-body">Our offices and tribunal venues have audio induction loops, or if you contact us before your visit\n we can arrange a British Sign Language (BSL) interpreter. You can also request step-free access or a foreign language\n interpreter.</p>\n\n<p class="govuk-body">If you have a question about accessibility in our Tribunal venues, you can contact the First-tier\n Tribunal enquiry line: +44 (0) 300 123 1711. You can <a target="_blank"\n href="https://courttribunalfinder.service.gov.uk/search/">find\n the contact details for court and tribunal venues</a>. </p>\n\n<p class="govuk-body">You can also contact your service representative for more information.</p>\n\n<h1 class="govuk-heading-l" id="Technical-information-about-this-website’s-accessibility">Technical information about\n this website’s accessibility</h1>\n\n<p class="govuk-body">HMCTS is committed to making its website accessible, in accordance with the Public Sector Bodies\n (Websites and Mobile Applications) (No.2) Accessibility Regulations 2018.</p>\n\n<p class="govuk-body">This website is partially compliant with the <a rel="noopener noreferrer" target="_blank"\n href="https://www.w3.org/TR/WCAG21/">Web Content\n Accessibility Guidelines version 2.1</a>, due to the non-compliances listed below.</p>\n\n<h1 class="govuk-heading-l" id="Non-accessible-content">Non-accessible content </h1>\n\n<p class="govuk-body">The content listed below is non-compliant for the following reasons.</p>\n\n<h2 class="govuk-heading-l" id="Non-compliance-with-the-accessibility-regulations">Non-compliance with the accessibility\n regulations</h2>\n\n<p class="govuk-body">Some pages cannot be navigated completely using just a keyboard, so some people won’t be able to\n tab through the pages. This fails WCAG 2.1 success criterion 2.1 (keyboard accessible).</p>\n\n<p class="govuk-body">Some pages can’t be listened to in full using a screen reader, so some people won’t be able to\n access the information. This fails WCAG 2.1 success criterion 1.2.5 (audio description – prerecorded).</p>\n\n<p class="govuk-body">Some of the contrast ratios don’t meet the current accessibility requirements. This fails WCAG 2.1\n success criterion 1.4.3 (contrast – minimum).</p>\n\n<h3 class="govuk-heading-m" id="immigration">Immigration and Asylum</h3>\n\n<p class="govuk-body">Some of the images on the service include text and are not accessible for some low vision users.\n We have identified a solution for this issue that we will implement as soon as possible.</p>\n\n<h3 class="govuk-heading-m" id="family">Family Public Law </h3>\n\n<ol class="govuk-list govuk-list--alpha">\n <li>The navigation system used in family public law cannot be rendered well by screen readers, so features can’t be\n listened to in full\n </li>\n <li>Some essential functions within the family public law digital service cannot be accessed properly using screen\n readers\n </li>\n <li>Some complex forms within the service will not be rendered correctly or cannot be listened to by screen readers\n </li>\n</ol>\n\n<h2 class="govuk-heading-m" id="Disproportionate burden ">Disproportionate burden </h2>\n\n<p class="govuk-body">For Manage organisation, Register organisation, Approve organisations and Manage cases, we found\n the following issues that are currently being triaged to find out if there is a disproportionate burden:</p>\n\n<ol class="govuk-list govuk-list--alpha">\n <li>Screen readers can’t switch between headers, read content in tabs and buttons</li>\n <li>Screen readers can’t tab between radio buttons, read links or content</li>\n <li>Colour contrast ratios uneven between page background and content</li>\n <li>Some labels, fields, error messages and other content can’t be clearly identified by screen readers and voice\n activation software\n </li>\n <li>Some page headings and titles don’t follow a logical structure for screen readers</li>\n <li>The navigation of some pages isn’t clear</li>\n <li>Some headings, links and button labels aren’t clearly descriptive</li>\n</ol>\n\n<h2 class="govuk-heading-m" id="Content-that’s-not-within-the-scope-of-the-accessibility-regulations">Content that’s not\n within the scope of the accessibility regulations </h2>\n\n<p class="govuk-body">PDFs, documents and attachments to email notifications published before 23 September 2018 may not\n meet accessibility standards. For example, they may not be structured so they’re accessible to a screen reader.</p>\n\n<p class="govuk-body">Any new PDFs or Word documents we publish will meet accessibility standards.</p>\n\n<h1 class="govuk-heading-l" id="what-to-improve-accessibility">What we’re doing to improve accessibility</h1>\n\n<p class="govuk-body">We’re committed to ensuring our services are accessible to all our users and that they comply with\n level AA of the Web Content Accessibility Guidelines – WCAG 2.1.</p>\n\n<p class="govuk-body">We’re actively working to improve the identified issues and make them AA-compliant by 23 September\n 2020. We’re also continuing to improve all other AAA-level accessibility issues as we iterate the service.</p>\n\n<h1 class="govuk-heading-l" id="preparation-of-this-accessibility-statement">Preparation of this accessibility\n statement</h1>\n\n<p class="govuk-body">This statement was prepared on 16 September 2019. It was last reviewed on 16 September 2020.</p>\n\n<p class="govuk-body">This website was last tested on 19 May 2020. The test was carried out by the <a target="_blank"\n href="https://digitalaccessibilitycentre.org/">Digital\n Accessibility Centre (DAC)</a>.</p>\n\n<h3 class="govuk-heading-m">Family Private Law:</h3>\n\n<p class="govuk-body">This service has not yet been tested for accessibility issues. In the future, we will conduct an\n accessibility audit in order to find out if there are any accessibility issues. The accessibility statement will be\n updated with any relevant changes that we find.</p>\n\n<p class="govuk-body">If there are any issues with accessing information or using this website please contact:</p>\n\n<ol class="govuk-list govuk-list--bullet">\n <li>Nicola Whitcher - 02380 384324</li>\n <li>Hannah Townley - 02380 384313</li>\n</ol>',styles:[".govuk-list--alpha{padding-left:20px;list-style-type:lower-alpha}"]}]}],_.ctorParameters=function(){return[]};Object.create;function L(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],o=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&o>=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function T(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var o,i,s=n.call(e),r=[];try{for(;(void 0===t||t-- >0)&&!(o=s.next()).done;)r.push(o.value)}catch(e){i={error:e}}finally{try{o&&!o.done&&(n=s.return)&&n.call(s)}finally{if(i)throw i.error}}return r}function F(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(T(arguments[t]));return e}Object.create;var E=function(){function e(){this.options=[],this.selectionChange=new t.EventEmitter}return Object.defineProperty(e.prototype,"selection",{get:function(){return this.pSelection?F(this.pSelection):[]},set:function(e){this.pSelection=this.getSelection(e)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"allSelected",{get:function(){return this.selection.length===this.options.length},enumerable:!1,configurable:!0}),e.prototype.ngOnChanges=function(){this.setupPreselection(),this.checkSelection()},Object.defineProperty(e.prototype,"hasOptions",{get:function(){return this.options&&this.options.length>0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isFunctional",{get:function(){return this.labelFunction&&this.hasOptions},enumerable:!1,configurable:!0}),e.prototype.isSelected=function(e){return this.selection.includes(e)},e.prototype.toggleItemSelection=function(e){void 0===this.pSelection?this.pSelection=[e]:this.isSelected(e)?this.pSelection.splice(this.pSelection.indexOf(e),1):this.pSelection.push(e),this.pSelectionMade=!0,this.selectionChange.emit(this.selection)},e.prototype.toggleSelectAll=function(){this.allSelected?this.pSelection=[]:this.pSelection=F(this.options),this.pSelectionMade=!0,this.selectionChange.emit(this.pSelection)},e.prototype.containsItem=function(e,t){var n=this;if(this.isFunctional){var o=this.labelFunction(t);return e.some((function(e){return n.labelFunction(e)===o}))}return!1},Object.defineProperty(e.prototype,"hasPreselection",{get:function(){return this.preselection&&this.preselection.length>0},enumerable:!1,configurable:!0}),e.prototype.setupPreselection=function(){var e=this;if(this.isFunctional&&!this.pSelectionMade&&this.hasPreselection){var t=!0;this.pSelection&&(t=this.pSelection.filter((function(t){return!e.containsItem(e.preselection,t)})).length>0),t&&(this.pSelection=this.getSelection(this.preselection),this.selectionChange.emit(this.selection))}},e.prototype.getSelection=function(e){var t=this;return F(this.options.filter((function(n){return t.containsItem(e,n)})))},e.prototype.checkSelection=function(){var e=this;if(this.isFunctional){var t=this.selection.filter((function(t){return e.containsItem(e.options,t)}));t.length!==this.selection.length&&(this.pSelection=F(t),this.selectionChange.emit(this.selection))}},e}();E.decorators=[{type:t.Component,args:[{selector:"xuilib-checkbox-list",template:'<div class="xui-checkbox-list govuk-checkboxes govuk-checkboxes--small" *ngIf="isFunctional">\n <div class="select-all govuk-checkboxes__item">\n <input type="checkbox" id="select_all" class="govuk-checkboxes__input" [checked]="allSelected"\n (change)="toggleSelectAll()" />\n <label for="select_all" class="govuk-label govuk-checkboxes__label">Select all / Deselect all</label>\n </div>\n <div class="checkbox-items">\n <div *ngFor="let item of options; let i = index" class="govuk-checkboxes__item">\n <input type="checkbox" [id]="\'select_\' + i" class="govuk-checkboxes__input" [checked]="isSelected(item)"\n (change)="toggleItemSelection(item)" />\n <label [for]="\'select_\' + i" class="govuk-label govuk-checkboxes__label">{{labelFunction(item)}}</label>\n </div>\n </div>\n</div>\n',encapsulation:t.ViewEncapsulation.None,styles:[".xui-checkbox-list .select-all{margin-bottom:10px}.xui-checkbox-list .checkbox-items{display:flex;flex-direction:column;flex-wrap:wrap;height:100%;max-height:100%;align-items:flex-start;align-content:flex-start;width:100%;max-width:100%;overflow-x:scroll}"]}]}],E.propDecorators={options:[{type:t.Input}],preselection:[{type:t.Input}],labelFunction:[{type:t.Input}],selectionChange:[{type:t.Output}],selection:[{type:t.Input}]};var O,A=function(){};A.decorators=[{type:t.Component,args:[{selector:"xuilib-contact-details",template:'<div class="contact-details" *ngIf="data">\n <h3 class="govuk-heading-m" *ngIf="data.title">{{ data.title }}</h3>\n <p *ngIf="data.badgeText"><span [className]="\'hmcts-badge \' + data.badgeColour">{{ data.badgeText }}</span></p>\n <div class="email" *ngIf="data.email"><span class="govuk-!-font-weight-bold">Email: </span> <a href="mailto:{{ data.email }}">{{ data.email }}</a></div>\n <div class="phone" *ngIf="data.phone"><span class="govuk-!-font-weight-bold">Phone: </span>{{ data.phone }}</div>\n <div class="opening-times" *ngIf="data.openingTimes"><span class="govuk-!-font-weight-bold">Opening times: </span>{{ data.openingTimes}}</div>\n</div>\n\n',styles:[".contact-details{margin-top:30px}.contact-details h3,.contact-details p{margin-bottom:10px}"]}]}],A.ctorParameters=function(){return[]},A.propDecorators={data:[{type:t.Input}]},e.DateBadgeColour=void 0,(O=e.DateBadgeColour||(e.DateBadgeColour={})).RED="hmcts-badge--red",O.ORANGE="hmcts-badge--orange",O.GREEN="hmcts-badge--green";var N=function(){function t(){this.highUrgencyCutoff=0,this.mediumUrgencyCutoff=2}return Object.defineProperty(t.prototype,"badge",{get:function(){return this.pBadge},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"label",{get:function(){return this.pLabel},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"accessibleLabel",{get:function(){return this.pAccessibleLabel},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"daysDiff",{get:function(){return this.pDaysDiff},enumerable:!1,configurable:!0}),t.prototype.ngOnChanges=function(){this.handleInputChanges()},t.prototype.handleInputChanges=function(){if(this.dueDate)if(this.pDaysDiff=this.getDaysDifference(this.dueDate,new Date),this.daysDiff>0){this.pBadge=e.DateBadgeColour.RED;var t=1===this.daysDiff?"day":"days";this.pLabel="+"+this.daysDiff+" "+t,this.pAccessibleLabel="This task is "+this.daysDiff+" "+t+" past its due date"}else 0===this.daysDiff?(this.pLabel="TODAY",this.pAccessibleLabel="This task is due to be completed today"):(this.pLabel=""+n.formatDate(this.dueDate,"d MMM","en-GB"),this.pAccessibleLabel="This task is due to be completed by "+n.formatDate(this.dueDate,"d MMMM y","en-GB")),this.daysDiff+this.highUrgencyCutoff>0?this.pBadge=e.DateBadgeColour.RED:this.daysDiff+this.mediumUrgencyCutoff>0?this.pBadge=e.DateBadgeColour.ORANGE:this.pBadge=e.DateBadgeColour.GREEN},t.prototype.getDaysDifference=function(e,t){var n=e.getTime(),o=t.getTime(),i=Math.floor((o-n)/1e3);return Math.floor(i/86400)},t}();N.decorators=[{type:t.Component,args:[{selector:"xuilib-due-date",template:'<span *ngIf="dueDate" class="due-date hmcts-badge" [ngClass]="badge"\n [title]="accessibleLabel" [attr.aria-label]="accessibleLabel">\n {{label}}\n</span>',encapsulation:t.ViewEncapsulation.None,styles:[".due-date{white-space:nowrap}.due-date.hmcts-badge--orange{color:#f47738;border-color:#f47738}"]}]}],N.propDecorators={dueDate:[{type:t.Input}],highUrgencyCutoff:[{type:t.Input}],mediumUrgencyCutoff:[{type:t.Input}]};var M=function(){function e(){this.givenErrors=new i.BehaviorSubject(null),this.isInitialSetting=!1,this.filterSettings={},this.streams={}}return e.prototype.persist=function(e,t){switch(t){case"local":this.persistLocal(e);break;case"session":this.persistSession(e)}this.persistMemory(e),this.updateStreams(e)},e.prototype.get=function(e){return this.filterSettings[e]?this.filterSettings[e]:sessionStorage.getItem(e)?JSON.parse(sessionStorage.getItem(e)):localStorage.getItem(e)&&this.isSameUser(e)?JSON.parse(window.localStorage.getItem(e)):null},e.prototype.isSameUser=function(e){var t=JSON.parse(window.localStorage.getItem(e));return!!t.idamId&&t.idamId===this.getUserId()},e.prototype.getStream=function(e){return this.streams[e]||(this.streams[e]=new i.BehaviorSubject(this.get(e))),this.streams[e].asObservable()},e.prototype.clearSessionAndLocalPersistance=function(e){sessionStorage.removeItem(e),localStorage.removeItem(e),void 0!==this.filterSettings[e]&&(this.filterSettings[e]=null),void 0!==this.streams[e]&&this.streams[e].next(null)},e.prototype.persistLocal=function(e){e.idamId=this.getUserId(),window.localStorage.setItem(e.id,JSON.stringify(e))},e.prototype.persistSession=function(e){sessionStorage.setItem(e.id,JSON.stringify(e))},e.prototype.persistMemory=function(e){this.filterSettings[e.id]=e},e.prototype.updateStreams=function(e){this.streams[e.id]&&this.streams[e.id].next(e)},e.prototype.getUserId=function(){var e,t=window.sessionStorage.getItem("userDetails");if(t){var n=JSON.parse(t);e=n.id?n.id:n.uid}return e},e}();function P(e,t){return e.reduce((function(e,n,o){return t[o]?F(e,[n.key]):e}),[])}M.ɵprov=b.ɵɵdefineInjectable({factory:function(){return new M},token:M,providedIn:"root"}),M.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}];var D=function(){function e(e,t){var n=this;this.filterService=e,this.fb=t,this.submitted=!1,this.previousSelectedNestedCheckbox=[],this.clearFormArray=function(e){e.controls.forEach((function(e,t){"All"===e.value.key&&n.form.get("user-services").removeAt(t)}))},this.addAllOption=function(e){n.form.get("user-services")&&0===n.form.get("user-services").value.length&&e.minSelected>=0&&n.form.get("user-services").push(new o.FormControl({key:"All",label:"All"}))}}return Object.defineProperty(e.prototype,"config",{get:function(){return this._config},set:function(e){this._config=Object.assign(Object.assign({},e),{fields:e.fields.map((function(e){return Object.assign(Object.assign({},e),{displayMinSelectedError:!1,displayMaxSelectedError:!1})}))}),this._config=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"settings",{get:function(){return this._settings},set:function(e){e||this.getSettings(),e&&e.fields&&this.mergeDefaultFields(e),this._settings=e},enumerable:!1,configurable:!0}),e.addFormValidators=function(e){var t,n,o=[];return e&&e.minSelected>0&&o.push((t=e.minSelected,function(e){var n=e.value;return n.length&&n.filter((function(e){return e})).length>=t?null:{minlength:!0}})),e&&e.maxSelected>0&&o.push((n=e.maxSelected,function(e){var t=e.value;return t.length&&t.filter((function(e){return e})).length<=n?null:{maxLength:!0}})),o},e.prototype.ngOnInit=function(){var e=this;this.settings||this.getSettings(),this.mergeDefaultFields(this.settings),this.buildForm(this.config,this.settings),this._config.copyFields&&(this.form=this._config.copyFields(this.form)),this.formSub=this.form.valueChanges.subscribe((function(){return e.submitted=!1})),this.filterSkillsByServices(null,this.config);var t=this.config.fields.find((function(e){return"user-services"===e.name}));t&&(this.startFilterSkillsByServices(this.form,t),this.initValuesFromCacheForSkillsByServices())},e.prototype.ngOnDestroy=function(){this.formSub&&this.formSub.unsubscribe()},e.prototype.hidden=function(e,t){if(!e.showCondition)return!1;if("string"==typeof e.showCondition){var n=t.get(e.name),i=T(e.showCondition.split("="),2),s=i[0],r=i[1];if(t.value&&t.value[s]===r)return"find-person"===e.type?(n.get("email").setValidators(o.Validators.required),n.get("email").updateValueAndValidity()):(n.setValidators(o.Validators.required),n.updateValueAndValidity()),!1;"find-person"===e.type?(n.get("email").clearValidators(),n.get("email").updateValueAndValidity()):(n.clearValidators(),n.updateValueAndValidity())}return!0},e.prototype.disabled=function(e,t){if(!e.enableCondition)return null;if("string"==typeof e.enableCondition){var n=t.get(e.name),i=T(e.enableCondition.split("="),2),s=i[0],r=i[1];if(t.value&&t.value[s]===r)return"find-person"===e.type?(n.get("email").setValidators(o.Validators.required),n.get("email").updateValueAndValidity()):(n.setValidators(o.Validators.required),n.updateValueAndValidity()),null;"find-person"===e.type?(n.get("email").clearValidators(),n.get("email").updateValueAndValidity()):(n.clearValidators(),n.updateValueAndValidity())}return"find-location"===e.type||(e.disable?e.disable:null)},e.prototype.applyFilter=function(e){if(this.submitted=!0,e.markAsTouched(),e.valid){this._settings={id:this.config.id,idamId:this.filterService.getUserId(),fields:this.getSelectedValues(e.value,this.config)},this.filterService.givenErrors.next(null);var t=Object.assign(Object.assign({},this.settings),{reset:!1});this.filterService.persist(t,this.config.persistence)}else this.emitFormErrors(e);this._config.applyButtonCallback&&this._config.applyButtonCallback()},e.prototype.fieldChanged=function(e,t){var n,o;if(e.changeResetFields&&e.changeResetFields.length)try{for(var i=L(e.changeResetFields),s=i.next();!s.done;s=i.next()){var r=s.value;this.resetField(r,t)}}catch(e){n={error:e}}finally{try{s&&!s.done&&(o=i.return)&&o.call(i)}finally{if(n)throw n.error}}},e.prototype.inputChanged=function(e){if(e.radioSelectionChange&&"string"==typeof e.radioSelectionChange){var t=T(e.enableCondition.split("="),2),n=t[0],o=t[1];this.form.get(n).patchValue(o)}},e.prototype.inputServiceChanged=function(e,t){if(void 0===e?this.addAllOption(t):this.clearFormArray(this.form.get("user-services")),"user-services"===t.name){var n=this.getSelectedValuesForFields(this.form.controls,t);this.filterSkillsByServices(n,this.config)}},e.prototype.cancelFilter=function(){this.buildForm(this.config,this.settings,!0),this.config&&this.config.cancelSetting&&(this._settings.fields=JSON.parse(JSON.stringify(this.config.cancelSetting.fields)));var e=Object.assign(Object.assign({},this.settings),{reset:!0});this.filterService.persist(e,this.config.persistence),this.filterService.givenErrors.next(null),this.submitted=!1,this.config.cancelButtonCallback&&this.config.cancelButtonCallback()},e.prototype.updatePersonControls=function(e,t){var n,o,i;i=e?Object.keys(e):Object.keys(this.form.get(t.name).value);try{for(var s=L(i),r=s.next();!r.done;r=s.next()){var a=r.value;if(this.form.get(t.name)&&this.form.get(t.name).get(a)){var l=e&&e[a]?e[a]:null;this.form.get(t.name).get(a).patchValue(l)}}}catch(e){n={error:e}}finally{try{r&&!r.done&&(o=s.return)&&o.call(s)}finally{if(n)throw n.error}}},e.prototype.checkBoxChecked=function(e,t){return this.form.get(e.name).controls[t].value},e.prototype.updateTaskNameControls=function(e,t){this.form.get(t.name).patchValue(e)},e.prototype.toggleSelectAll=function(e,t,n,o){var i,s,r=e.target.checked,a=t.get(o.name);if(n.selectAll)a.controls.forEach((function(e){r?e.patchValue(!0):e.patchValue(!1)}));else{var l=a.controls.every((function(e){return e.value})),c=null,u=o.options.find((function(e,t){return!!e.hasOwnProperty("selectAll")&&(c=t,!0)})),d=a.controls.filter((function(e,t){return t!==c})).every((function(e){return e.value}));l||!u||r?u&&!l&&r&&d&&a.controls[c].patchValue(!0):a.controls.forEach((function(e,t){c!==t||e.patchValue(!1)}))}if(o.changeResetFields&&o.changeResetFields.length)try{for(var p=L(o.changeResetFields),g=p.next();!g.done;g=p.next()){var h=g.value;this.resetField(h,t)}}catch(e){i={error:e}}finally{try{g&&!g.done&&(s=p.return)&&s.call(p)}finally{if(i)throw i.error}}if("user-services"===o.name)this.startFilterSkillsByServices(t,o);else if("user-skills"===o.name)if(r){var m=o.options.findIndex((function(t){return Number(t.key)===Number(e.target.value)})),f=this.form.get("user-skills").value;f[m]=!0,this.form.get("user-skills").setValue(f),this.previousSelectedNestedCheckbox.push(e.target.value)}else{var v=this.previousSelectedNestedCheckbox.indexOf(e.target.value);-1!==v&&this.previousSelectedNestedCheckbox.splice(v,1)}},e.prototype.startFilterSkillsByServices=function(e,t){var n=[];e.value[t.name].map((function(e,o){e&&n.push(t.options[o].key)})),this.filterSkillsByServices(n,this.config)},e.prototype.resetField=function(e,t){var n,i,s=t.get(e),r=this.config.cancelSetting.fields.find((function(t){return t.name===e}));if(s instanceof o.FormArray)for(var a=0;a<s.length;a++)s.removeAt(a);else if(s instanceof o.FormGroup){var l=Object.keys(s.value);try{for(var c=L(l),u=c.next();!u.done;u=c.next()){var d=u.value;this.resetField(d,s)}}catch(e){n={error:e}}finally{try{u&&!u.done&&(i=c.return)&&i.call(c)}finally{if(n)throw n.error}}}else if(s instanceof o.FormControl){var p=r&&r.value&&r.value.length?r.value[0]:null;s.setValue(p)}},e.prototype.mergeDefaultFields=function(e){e?e.fields=this.filterService.get(this.config.id)?this.filterService.get(this.config.id).fields:e.fields:this.config&&this.config.cancelSetting&&(this._settings={id:this.config.id,fields:JSON.parse(JSON.stringify(this.config.cancelSetting.fields))})},e.prototype.getSettings=function(){this._settings=this.filterService.get(this.config.id)},e.prototype.buildForm=function(e,t,n){var i,s,r=this.form?this.form.get("findPersonControl"):null;this.form=this.fb.group({}),r&&this.form.addControl("findPersonControl",r);var a=function(i){if("checkbox"===i.type||"checkbox-large"===i.type||"nested-checkbox"===i.type){var s=l.buildCheckBoxFormArray(i,t);l.form.addControl(i.name,s)}else if("find-location"===i.type||"find-service"===i.type){s=l.buildFormArray(i,t);l.form.addControl(i.name,s),l.addAllOption(i)}else{var r=[];i.minSelected&&i.minSelected>0&&(r.push(o.Validators.required),"text-input"===i.type&&r.push(o.Validators.minLength(i.minSelected)),"email-input"===i.type&&r.push(o.Validators.email));var a=null;if(n&&e.cancelSetting){var c=e.cancelSetting.fields.find((function(e){return e.name===i.name}));a=c&&c.value?c.value[0]:""}else if(t&&t.fields){var u=t.fields.find((function(e){return e.name===i.name}));a=u&&u?u.value[0]:""}if("find-person"===i.type){var d=new o.FormGroup({domain:new o.FormControl(a&&a.hasOwnProperty("domain")?a.domain:""),email:new o.FormControl(a&&a.hasOwnProperty("email")?a.email:"",r),id:new o.FormControl(a&&a.hasOwnProperty("id")?a.id:""),name:new o.FormControl(a&&a.hasOwnProperty("name")?a.name:""),knownAs:new o.FormControl(a&&a.hasOwnProperty("knownAs")?a.knownAs:"")});l.form.addControl(i.name,d)}else if("group-title"!==i.type){var p=new o.FormControl(a,r);l.form.addControl(i.name,p)}i.findPersonField&&l.fieldChanged(i,l.form)}},l=this;try{for(var c=L(e.fields),u=c.next();!u.done;u=c.next()){a(u.value)}}catch(e){i={error:e}}finally{try{u&&!u.done&&(s=c.return)&&s.call(c)}finally{if(i)throw i.error}}},e.prototype.buildCheckBoxFormArray=function(t,n){var i,s,r,a=e.addFormValidators(t),l=this.fb.array([],a);n&&n.fields&&(r=n.fields.find((function(e){return e.name===t.name})));var c=function(e){var t=!1;r&&Array.isArray(r.value)&&(t=!!r.value.find((function(t){return t===e.key}))),l.push(new o.FormControl(t))};try{for(var u=L(t.options),d=u.next();!d.done;d=u.next()){c(d.value)}}catch(e){i={error:e}}finally{try{d&&!d.done&&(s=u.return)&&s.call(u)}finally{if(i)throw i.error}}return l},e.prototype.buildFormArray=function(t,n){var i,s,r,a=e.addFormValidators(t),l=this.fb.array([],a);if(n&&n.fields&&(r=n.fields.find((function(e){return e.name===t.name})))&&r.value&&r.value.length>0)try{for(var c=L(r.value),u=c.next();!u.done;u=c.next()){var d=u.value;l.push(new o.FormControl(d))}}catch(e){i={error:e}}finally{try{u&&!u.done&&(s=c.return)&&s.call(c)}finally{if(i)throw i.error}}return l},e.prototype.getSelectedValues=function(e,t){return Object.keys(e).map((function(n){var o=e[n];if(Array.isArray(o)){var i=t.fields.find((function(e){return e.name===n}));return"find-location"===i.type||"find-service"===i.type?{value:o,name:n}:{value:P(i.options,o),name:n}}return{value:[o],name:n}}))},e.prototype.emitFormErrors=function(e){var t,n,o=[];try{for(var i=L(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||a.errors.required)&&o.push({name:r.name,error:r.minSelectedError}),a&&a.errors&&a.errors.maxlength&&o.push({name:r.name,error:r.maxSelectedError})}}catch(e){t={error:e}}finally{try{s&&!s.done&&(n=i.return)&&n.call(i)}finally{if(t)throw t.error}}(o=o.filter((function(e,t,n){return o.indexOf(n.find((function(t){return t.name===e.name})))===t}))).length&&this.filterService.givenErrors.next(o)},e.prototype.initValuesFromCacheForSkillsByServices=function(){var e=this;if(this.settings&&this.settings.fields){var t=this.filteredSkillsByServicesCheckbox.map((function(t){var n=!1,o=e.settings.fields.find((function(e){return"user-skills"===e.name}));return o&&o.value&&o.value.length>0&&(n=-1!==o.value.findIndex((function(e){return String(e)===String(t.key)}))),n}));t.length>0&&this.form.get("user-skills").setValue(t)}},e.prototype.filterSkillsByServices=function(e,t){var n=this;this.filteredSkillsByServices=[],this.filteredSkillsByServicesCheckbox=[];var i=t.fields.find((function(e){return"user-skills"===e.name&&"group-select"===e.type})),s=t.fields.find((function(e){return"user-skills"===e.name&&"nested-checkbox"===e.type}));if(i){var r=i.groupOptions;e&&0!==e.length?e.forEach((function(e){var t=r.find((function(t){return t.group.toLowerCase()===e.toLowerCase()}));t&&n.filteredSkillsByServices.push(t)})):this.filteredSkillsByServices=r}else if(s){var a=s.groupOptions;if(e&&0!==e.length){e.forEach((function(e){var t=a.find((function(t){return t.group.toLowerCase()===e.toLowerCase()}));t&&n.filteredSkillsByServices.push(t)})),this.filteredSkillsByServicesCheckbox=this.filteredSkillsByServices.map((function(e){return e.options})).reduce((function(e,t){return e.concat(t)}),[]),s.options=[],s.options=this.filteredSkillsByServicesCheckbox,this.form.setControl("user-skills",new o.FormArray([])),this.filteredSkillsByServicesCheckbox.forEach((function(){n.form.get("user-skills").push(new o.FormControl(!1))}));var l=this.filteredSkillsByServicesCheckbox.map((function(e){var t=!1;if(n.settings&&n.settings.fields){n.previousSelectedNestedCheckbox.length>0&&(t=n.previousSelectedNestedCheckbox.includes(e.key));var o=n.settings.fields.find((function(e){return"user-skills"===e.name}));o&&o.value&&o.value.length>0&&(t=-1!==o.value.findIndex((function(t){return Number(t)===Number(e.key)}))),n.previousSelectedNestedCheckbox.length>0&&(t=n.previousSelectedNestedCheckbox.includes(String(e.key)))}return t}));return this.form.get("user-skills").setValue(l),this.filteredSkillsByServicesCheckbox}this.filteredSkillsByServices=a}return this.filteredSkillsByServices=this.sortGroupOptions(this.filteredSkillsByServices),this.filteredSkillsByServices},e.prototype.getSelectedValuesForFields=function(e,t){var n=[];return Object.keys(e).map((function(o){var i=e[o].value;o===t.name&&i.forEach((function(e){n.push(e.key)}))})),n},e.prototype.sortGroupOptions=function(e){var t=[];return e.map((function(e){return e.group})).sort().forEach((function(n){var o=e.find((function(e){return e.group===n})).options.sort((function(e,t){return e.label.toLowerCase()>t.label.toLowerCase()?1:t.label.toLowerCase()>e.label.toLowerCase()?-1:0})),i={group:n,options:o};t.push(i)})),t},e}();D.decorators=[{type:t.Component,args:[{selector:"xuilib-generic-filter",template:'<form [formGroup]="form" (ngSubmit)="applyFilter(form)">\n <div class="contain-classes" *ngFor="let field of config.fields">\n <hr *ngIf="field.lineBreakBefore" class="govuk-section-break govuk-section-break--visible elevated-break">\n <ng-container [ngSwitch]="field.type">\n <ng-container *ngSwitchCase="\'group-title\'">\n <div [class]="field.titleClasses ? field.titleClasses: \'govuk-label govuk-label--m govuk-!-margin-bottom-4\'">\n {{ field.name | capitalize }}\n </div>\n </ng-container>\n <ng-container *ngSwitchDefault>\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 <div *ngIf="field.title" class="xui-generic-filter__field-title">\n <h3 [class]="field.titleClasses ? field.titleClasses : \'govuk-heading-s\'" style="margin-bottom: 0!important">\n {{field.title | capitalize}}\n </h3>\n <div *ngIf="field?.titleHint" class="govuk-!-margin-left-2">\n {{ field.titleHint }}\n </div>\n </div>\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 <span [id]="field.name + \'-error\'" class="govuk-error-message"\n *ngIf="field.emailError && submitted && form.get(field.name).errors?.email">\n <span class="govuk-visually-hidden">Error:</span> {{field.emailError}}\n </span>\n <div class="govuk-body" [class.govuk-body--maxWidth480px]="field.maxWidth480px" [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 *ngIf="field.defaultOption" [attr.selected]="true" [value]="field.defaultOption.key">{{field.defaultOption.label}}</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="\'group-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 *ngIf="field.defaultOption" selected [value]="field.defaultOption.key">{{field.defaultOption.label}}</option>\n <optgroup *ngFor = \'let grp of filteredSkillsByServices\' label="{{grp.group | titlecase}}">\n <option *ngFor = \'let item of grp.options\' [value]="item.key">{{item.label}}</option>\n </optgroup>\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_\' + field.name + item.key"\n [name]="\'checkbox_\' + field.name + item.key"\n />\n <label\n [for]="\'checkbox_\' + field.name + 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="\'nested-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 filteredSkillsByServicesCheckbox; 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_\' + field.name + item.key"\n [name]="\'checkbox_\' + field.name + item.key"\n />\n <label\n [for]="\'checkbox_\' + field.name + 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_\' + field.name + item.key"\n [name]="\'checkbox_\' + field.name + item.key"\n />\n <label\n [for]="\'checkbox_\' + field.name + 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 [placeholderContent]="field.placeholderContent ? field.placeholderContent : \'\'"\n [services]="form.get(field.servicesField)?.value"\n ></xuilib-find-person>\n </ng-container>\n <ng-container *ngSwitchCase="\'find-location\'">\n <xuilib-find-location (locationFieldChanged)="inputChanged(field)"\n [form]="form"\n [fields]="config.fields"\n [locationTitle]="field.locationTitle"\n [enableAddLocationButton]="field.enableAddButton"\n [disabled]="disabled(field, form)"\n [disableInputField]="field.disable"\n [selectedLocations]="form.get(field.name)?.value"\n [submitted]="submitted"\n [field]="field"\n [services]="form.get(field.findLocationField)?.value"\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 <ng-container *ngSwitchCase="\'find-service\'">\n <xuilib-find-service (serviceFieldChanged)="inputServiceChanged($event, field)"\n [form]="form"\n [fields]="config.fields"\n [title]="field.title"\n [enableAddServiceButton]="field.enableAddButton"\n [disabled]="disabled(field, form)"\n [selectedServices]="form.get(field.name)?.value"\n [services]="field.options"\n [field]="field">\n ></xuilib-find-service>\n </ng-container>\n <ng-container *ngSwitchCase="\'text-input\'">\n <input class="govuk-input" type="text"\n [formControlName]="field.name"\n [id]="field.name"\n [attr.disabled]="disabled(field, form)"\n (change)="fieldChanged(field, form)"\n [attr.maxlength]="field.maxlength ? field.maxlength : null"\n [readonly]="field.readonly"\n />\n </ng-container>\n <ng-container *ngSwitchCase="\'email-input\'">\n <input class="govuk-input" type="email"\n [formControlName]="field.name"\n [id]="field.name"\n [attr.disabled]="disabled(field, form)"\n (change)="fieldChanged(field, form)"\n [readonly]="field.readonly"\n />\n </ng-container>\n </div>\n </div>\n </ng-container>\n</ng-container>\n </div>\n <hr class="govuk-section-break govuk-section-break--m govuk-section-break--visible"/>\n <div class="govuk-grid-row">\n <div class="govuk-grid-column-full">\n <button\n class="govuk-button govuk-!-margin-right-1 govuk-!-margin-bottom-0"\n type="submit"\n id="applyFilter"\n [disabled]="config.enableDisabledButton && form.invalid"\n >{{config.applyButtonText || \'Apply\'}}</button>\n <button *ngIf="config.showCancelFilterButton"\n class="govuk-button govuk-button--secondary govuk-!-margin-bottom-0"\n type="button"\n id="cancelFilter"\n (click)="cancelFilter()">{{ config.cancelButtonText || \'Cancel\'}}</button>\n </div>\n </div>\n</form>\n',changeDetection:t.ChangeDetectionStrategy.OnPush,encapsulation:t.ViewEncapsulation.None,styles:[".contain-classes .elevated-break{margin-bottom:20px}@media (min-width:40.0625em){.contain-classes .elevated-break{margin-bottom:30px}}.contain-classes .govuk-body--maxWidth480px{max-width:480px}.contain-classes .xui-generic-filter .select-all{margin-bottom:10px}.contain-classes .xui-generic-filter .govuk-checkboxes{display:flex;flex-direction:column;flex-wrap:wrap}.contain-classes .xui-generic-filter .govuk-checkboxes>div{flex-grow:1;flex-shrink:0}.contain-classes .xui-generic-filter__field-title{display:flex;align-items:center;margin-bottom:10px}.contain-classes .govuk-select{width:100%}"]}]}],D.ctorParameters=function(){return[{type:M},{type:o.FormBuilder}]},D.propDecorators={config:[{type:t.Input}],settings:[{type:t.Input}]};var U=function(){function e(){this.close=new t.EventEmitter}return e.prototype.onClose=function(){this.close.emit()},e}();U.decorators=[{type:t.Component,args:[{selector:"xuilib-session-dialog",template:'<div class="gem-c-modal-dialogue" data-module="modal-dialogue" id="modal-default" style="display: block;">\n <div class="gem-c-modal-dialogue__overlay"></div>\n <dialog class="gem-c-modal-dialogue__box" aria-modal="true" role="dialog" tabindex="0" [ngStyle]="{\'margin-top\': positionTop}">\n <div class="gem-c-modal-dialogue__header">\n <svg role="presentation" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 38 38" height="33" width="33">\n <style type="text/css">\n .st0{fill:#FFFFFF;}\n </style>\n <g id="_4_-_granular_components_warning_icon" transform="translate(0.5 0.5)">\n <g id="Warning_icon" transform="translate(0)">\n <path id="Exclusion_1" class="st0" d="M18.5,37.5c-5.04,0.01-9.88-1.99-13.44-5.57C1.49,28.38-0.51,23.54-0.5,18.5\n c-0.01-5.04,1.99-9.88,5.56-13.43C8.62,1.49,13.46-0.51,18.5-0.5c5.04-0.01,9.88,1.99,13.44,5.56c3.57,3.56,5.58,8.39,5.56,13.44\n c0.01,5.04-1.99,9.88-5.56,13.44C28.38,35.51,23.54,37.51,18.5,37.5z M18.52,24.29c-0.4,0-0.8,0.08-1.17,0.23\n c-0.36,0.15-0.69,0.37-0.97,0.64c-0.28,0.27-0.5,0.59-0.65,0.95c-0.16,0.36-0.24,0.76-0.23,1.15c0,0.4,0.08,0.8,0.23,1.17\n c0.15,0.36,0.37,0.68,0.65,0.96c0.28,0.27,0.61,0.49,0.97,0.64c0.37,0.16,0.77,0.24,1.17,0.24c0.4,0,0.79-0.08,1.15-0.24\n c0.35-0.15,0.67-0.37,0.95-0.64c0.27-0.27,0.49-0.6,0.64-0.96c0.16-0.37,0.24-0.77,0.23-1.17c0-0.4-0.08-0.79-0.23-1.15\n c-0.15-0.35-0.37-0.67-0.64-0.95c-0.27-0.27-0.6-0.49-0.95-0.64C19.31,24.37,18.92,24.29,18.52,24.29L18.52,24.29z M16.11,7.5\n l0.42,14.87h3.91L20.86,7.5H16.11z"/>\n </g>\n </g>\n </svg>\n <div class="gem-c-modal-dialogue__title">We are about to sign you out</div>\n </div>\n <div class="gem-c-modal-dialogue__content">\n <ng-content></ng-content>\n </div>\n </dialog>\n</div>\n',styles:[".gem-c-modal-dialogue{display:none;z-index:1000;overflow-x:hidden;overflow-y:scroll;outline:0}.gem-c-modal-dialogue,.gem-c-modal-dialogue__box{position:fixed;top:0;left:0;width:100%;height:100%}.gem-c-modal-dialogue__box{display:block;background:#fff;right:0;bottom:0;margin:0;padding:0;overflow-y:auto;border:0;font-family:GDS Transport,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-size:16px;font-size:1rem;line-height:1.25;color:#0b0c0c}.gem-c-modal-dialogue__box:focus{outline:3px solid #fd0}@media print{.gem-c-modal-dialogue__box{font-family:sans-serif}}@media (min-width:40.0625em){.gem-c-modal-dialogue__box{font-size:1.1875rem;line-height:1.3157894737}}@media print{.gem-c-modal-dialogue__box{font-size:14pt;line-height:1.15;color:#000}}@media (min-width:40.0625em){.gem-c-modal-dialogue__box{position:relative;top:inherit;right:inherit;bottom:inherit;left:inherit;width:auto;max-width:640px;height:auto;margin:30px auto;border:2px solid #0b0c0c}}@media (min-width:40.0625em){.gem-c-modal-dialogue__box--wide{max-width:960px}}@media (min-width:40.0625em) and (max-width:64em){.gem-c-modal-dialogue__box--wide{margin:30px}}.gem-c-modal-dialogue__overlay{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:.8;background:#0b0c0c;pointer-events:none;touch-action:none}@media screen{.gem-o-template--modal{overflow-y:inherit}}.gem-o-template__body--modal{overflow:hidden}.gem-o-template__body--blur .govuk-footer,.gem-o-template__body--blur .govuk-header,.gem-o-template__body--blur .govuk-main-wrapper,.gem-o-template__body--blur .govuk-phase-banner,.gem-o-template__body--blur .govuk-skip-link,.gem-o-template__body--blur .govuk-width-container .govuk-back-link{filter:blur(2px)}.govuk-warning-text__icon{margin:0 0 0 12px}.gem-c-modal-dialogue__header{padding:9px 15px 10px;color:#fff;background:#d4351d;display:flex}.gem-c-modal-dialogue__title{margin:5px 0 4px 12px}.gem-c-modal-dialogue__logotype-crown{fill:currentColor;vertical-align:middle}.gem-c-modal-dialogue__logotype-crown-fallback-image{width:30px;height:26px;border:0;vertical-align:middle}.gem-c-modal-dialogue__content{padding:15px;background:#fff}.gem-c-modal-dialogue__close-button{position:absolute;top:0;right:0;width:44px;height:44px;border:0;color:#fff;background:none;cursor:pointer;font-family:GDS Transport,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:700;font-size:1.5rem;line-height:1.3}@media print{.gem-c-modal-dialogue__close-button{font-family:sans-serif}}@media (min-width:40.0625em){.gem-c-modal-dialogue__close-button{font-size:2.25rem;line-height:1.3}}@media print{.gem-c-modal-dialogue__close-button{font-size:24pt;line-height:1.3}}@media (max-width:40.0525em){.gem-c-modal-dialogue__close-button{font-size:36px;line-height:1.3}}.gem-c-modal-dialogue__close-button:focus,.gem-c-modal-dialogue__close-button:hover{color:#0b0c0c;box-shadow:0 -2px #fd0,0 4px #0b0c0c;text-decoration:none;outline:none;background:#fd0}"]}]}],U.ctorParameters=function(){return[]},U.propDecorators={positionTop:[{type:t.Input}],close:[{type:t.Output}]};var j=function(){function e(){this.submitForm=new t.EventEmitter}return Object.defineProperty(e.prototype,"errorMessages",{set:function(e){this.isInvalid=e||{}},enumerable:!1,configurable:!0}),e.prototype.onSubmit=function(){this.submitForm.emit()},e}();j.decorators=[{type:t.Component,args:[{selector:"xuilib-invite-user-form",template:'\n<form [formGroup]="inviteUserForm" (ngSubmit)="onSubmit()" >\n\n <xuilib-gov-uk-input\n [config]="{label: \'First name\', hint: \'Include all middle names.\', name: \'firstName\', id: \'firstName\', type: \'text\', classes: \'testClass\'}"\n [errorMessage]="isInvalid.firstName"\n [group]="inviteUserForm">\n </xuilib-gov-uk-input>\n\n <xuilib-gov-uk-input\n [config]="{label: \'Last name\', name: \'lastName\', id: \'lastName\', type: \'text\'}"\n [errorMessage]="isInvalid.lastName"\n [group]="inviteUserForm">\n </xuilib-gov-uk-input>\n\n <xuilib-gov-uk-input\n [config]="{label: \'Email address\', name: \'email\', id: \'email\', type: \'email\'}"\n [errorMessage]="isInvalid.email"\n [group]="inviteUserForm">\n </xuilib-gov-uk-input>\n\n <xuilib-invite-permission-form [inviteUserForm]="inviteUserForm" [errorMessages]="isInvalid.roles">\n </xuilib-invite-permission-form>\n\n <button type="submit" class="govuk-button">\n Send invitation\n </button>\n</form>\n'}]}],j.propDecorators={submitForm:[{type:t.Output}],inviteUserForm:[{type:t.Input}],errorMessages:[{type:t.Input}]};var B=function(){this.isPuiCaseManager=!1,this.isPuiUserManager=!1,this.isPuiOrganisationManager=!1,this.isPuiFinanceManager=!1};B.decorators=[{type:t.Component,args:[{selector:"xuilib-invite-permission-form",template:" \x3c!--permissions --\x3e\n <ng-container [formGroup]=\"inviteUserForm\">\n <xuilib-gov-uk-form-group-wrapper\n [config]=\"{hint: 'Choose what the user will be able to do. You can change this later.', legend: 'Permissions', key: 'roles'}\"\n [formGroupName]=\"'roles'\"\n [error]=\"errorMessages\">\n\n <div class=\"govuk-checkboxes\">\n <xuilib-gov-checkbox\n [group]=\"inviteUserForm.controls['roles']\"\n [isChecked]=\"isPuiCaseManager\"\n [config]=\"{value: 'pui-case-manager', label: 'Manage Cases', name: 'roles', hint: 'View, create and progress cases.', focusOn: 'roles'}\">\n </xuilib-gov-checkbox>\n\n <xuilib-gov-checkbox\n [group]=\"inviteUserForm.controls['roles']\"\n [isChecked]=\"isPuiUserManager\"\n [config]=\"{value: 'pui-user-manager', label: 'Manage Users', name: 'roles',\n hint: 'Invite users.'}\">\n </xuilib-gov-checkbox>\n\n <xuilib-gov-checkbox\n [group]=\"inviteUserForm.controls['roles']\"\n [isChecked]=\"isPuiOrganisationManager\"\n [config]=\"{value: 'pui-organisation-manager', label: 'Manage Organisation', name: 'roles',\n hint: 'View organisation name and addresses.'}\">\n </xuilib-gov-checkbox>\n\n \x3c!-- <xuilib-gov-checkbox\n [group]=\"inviteUserForm.controls['roles']\"\n [isChecked]=\"isPuiFinanceManager\"\n [config]=\"{value: 'pui-finance-manager', label: 'Manage Payments', name: 'roles',\n hint: 'View account balances, available credit and transactions.'}\">\n </xuilib-gov-checkbox> --\x3e\n </div>\n\n </xuilib-gov-uk-form-group-wrapper>\n</ng-container>"}]}],B.propDecorators={inviteUserForm:[{type:t.Input}],isPuiCaseManager:[{type:t.Input}],isPuiUserManager:[{type:t.Input}],isPuiOrganisationManager:[{type:t.Input}],isPuiFinanceManager:[{type:t.Input}],errorMessages:[{type:t.Input}]};var R=function(){this.loadingText="Loading"};R.decorators=[{type:t.Component,args:[{selector:"xuilib-loading-spinner",template:'<div class="spinner-container">\n <div class="spinner-inner-container">\n <p>{{loadingText}}</p>\n <div class="spinner" style="margin: auto;"></div>\n </div>\n</div>\n',encapsulation:t.ViewEncapsulation.None,styles:[".spinner-container{position:fixed;top:0;left:0;height:100%;width:100%;display:flex;justify-content:center;align-items:center;background:hsla(0,0%,100%,.5);z-index:99}.spinner-container .spinner-inner-container p{text-align:center}.spinner-container .spinner-inner-container .spinner{border:10px solid #ddd;border-top-color:#000;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}"]}]}],R.propDecorators={loadingText:[{type:t.Input}]};var V=function(){function e(){this.caseState=[],this.subject=new i.BehaviorSubject(this.caseState)}return Object.defineProperty(e.prototype,"state",{get:function(){return this.subject.asObservable().pipe(s.distinctUntilChanged())},enumerable:!1,configurable:!0}),e.prototype.setCases=function(e){var t=this;this.caseState=[],e.forEach((function(e){t.caseState.push({caseId:e.caseId,caseTitle:e.caseTitle,caseTypeId:e.caseTypeId,roles:e.roles,sharedWith:e.sharedWith,pendingShares:e.pendingShares,pendingUnshares:e.pendingUnshares})})),this.subject.next(this.caseState)},e.prototype.getCases=function(){return this.caseState},e.prototype.requestShare=function(e){var t,n,o=this.caseState.slice(),i=[];try{for(var s=L(o),r=s.next();!r.done;r=s.next()){var a=r.value;a.pendingShares||(a.pendingShares=[]);var l=a.pendingShares.slice();a.pendingUnshares||(a.pendingUnshares=[]);var c=a.pendingUnshares.slice();if(this.userHasAccess(a,e)){for(var u=0,d=c.length;u<d;u++)if(c[u].email===e.email){c.splice(u,1);break}}else l.some((function(t){return t.email===e.email}))||l.push(e);var p=Object.assign(Object.assign({},a),{pendingUnshares:c,pendingShares:l});i.push(p)}}catch(e){t={error:e}}finally{try{r&&!r.done&&(n=s.return)&&n.call(s)}finally{if(t)throw t.error}}return this.subject.next(i),i},e.prototype.requestUnshare=function(e,t){var n,o,i=[];try{for(var s=L(this.caseState),r=s.next();!r.done;r=s.next()){var a=r.value;if(void 0===t||a.caseId===t){a.pendingUnshares||(a.pendingUnshares=[]);var l=a.pendingUnshares.slice(),c=void 0,u=-1;a.pendingShares&&(u=a.pendingShares.findIndex((function(t){return t.idamId===e.idamId})))>-1&&(c=a.pendingShares.slice()).splice(u,1),-1===u&&a.sharedWith&&a.sharedWith.findIndex((function(t){return t.idamId===e.idamId}))>-1&&(l.some((function(t){return t.email===e.email}))||l.push(e));var d=Object.assign(Object.assign(Object.assign({},a),{pendingUnshares:l}),c&&{pendingShares:c});i.push(d)}else i.push(a)}}catch(e){n={error:e}}finally{try{r&&!r.done&&(o=s.return)&&o.call(s)}finally{if(n)throw n.error}}return this.subject.next(i),i},e.prototype.requestCancel=function(e,t){var n,o,i=[];try{for(var s=L(this.caseState),r=s.next();!r.done;r=s.next()){var a=r.value;if(a.caseId===e){a.pendingUnshares||(a.pendingUnshares=[]);for(var l=a.pendingUnshares.slice(),c=0;c<l.length;c++)if(l[c].email===t.email){l.splice(c,1);break}a.pendingShares||(a.pendingShares=[]);for(var u=a.pendingShares.slice(),d=0;d<u.length;d++)if(u[d].email===t.email){u.splice(d,1);break}var p=Object.assign(Object.assign({},a),{pendingUnshares:l,pendingShares:u});i.push(p)}else i.push(a)}}catch(e){n={error:e}}finally{try{r&&!r.done&&(o=s.return)&&o.call(s)}finally{if(n)throw n.error}}this.subject.next(i)},e.prototype.removeCase=function(e){if(this.caseState.length>1)for(var t=0,n=this.caseState.length;t<n;t++)if(this.caseState[t].caseId===e)return this.caseState.splice(t,1),void this.subject.next(this.caseState)},e.prototype.userHasAccess=function(e,t){if(!e.sharedWith)return!1;for(var n=0,o=e.sharedWith.length;n<o;n++)if(e.sharedWith[n].email===t.email)return!0;return!1},e}();V.ɵprov=b.ɵɵdefineInjectable({factory:function(){return new V},token:V,providedIn:"root"}),V.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],V.ctorParameters=function(){return[]};var G=function(){function e(e){this.stateService=e,this.changeLink=""}return e.prototype.ngOnInit=function(){var e=this;this.shareCases$=this.stateService.state,this.shareCases$.subscribe((function(t){return e.shareCases=t}))},e.prototype.trackByUserId=function(e){return e.idamId},e.prototype.showUserAccessBlock=function(){return!!(this.sharedCase.pendingShares&&this.sharedCase.pendingShares.length>0)||this.sharedCase.pendingUnshares&&this.sharedCase.pendingUnshares.length>0},e}();G.decorators=[{type:t.Component,args:[{selector:"xuilib-selected-case-confirm",template:'<div id="user-access-block-{{ sharedCase.caseId }}" *ngIf="showUserAccessBlock()">\n <h2 class="govuk-heading-m case-share-confirm__title">{{ sharedCase.caseTitle }}</h2>\n <div class="case-share-confirm__caption-area">\n <div class="govuk-caption-m case-share-confirm__caption">\n {{ sharedCase.caseId }}\n </div>\n <a [routerLink]="changeLink" class="case-share-confirm__change-link govuk-link govuk-!-font-size-19">Change</a>\n </div>\n <table class="govuk-table">\n <thead class="govuk-table__head">\n <tr class="govuk-table__row">\n <th class="govuk-table__header govuk-table-column-header" scope="col">Name</th>\n <th class="govuk-table__header govuk-table-column-header" scope="col">Email address</th>\n <th class="govuk-table__header govuk-table-column-actions" scope="col">Actions</th>\n </tr>\n </thead>\n <tbody class="govuk-table__body">\n <tr class="govuk-table__row" *ngFor="let user of sharedCase.pendingShares; trackBy: trackByUserId">\n <td class="govuk-table__cell">{{ user.firstName + \' \' + user.lastName }}</td>\n <td class="govuk-table__cell">{{ user.email }}</td>\n <td class="govuk-table__cell">\n <span class="hmcts-badge">To be added</span>\n </td>\n </tr>\n <tr class="govuk-table__row" *ngFor="let user of sharedCase.pendingUnshares; trackBy: trackByUserId">\n <td class="govuk-table__cell">{{ user.firstName + \' \' + user.lastName }}</td>\n <td class="govuk-table__cell">{{ user.email }}</td>\n <td class="govuk-table__cell">\n <span class="hmcts-badge hmcts-badge--red">To be removed</span>\n </td>\n </tr>\n </tbody>\n </table>\n</div>\n',styles:[".case-share-confirm__title{margin-bottom:0}.case-share-confirm__caption-area{border-bottom:1px solid #b1b4b6;padding-bottom:10px;display:inline-block;width:100%;clear:both}.case-share-confirm__caption{float:left}.case-share-confirm__change-link{float:right}.govuk-table-column-header{width:45%}.govuk-table-column-actions{width:10%}"]}]}],G.ctorParameters=function(){return[{type:V}]},G.propDecorators={sharedCase:[{type:t.Input}],changeLink:[{type:t.Input}]};var z=function(){function e(e){this.stateService=e,this.shareCases=[],this.toConfirm=!1,this.changeLink="",this.unselect=new t.EventEmitter,this.synchronizeStore=new t.EventEmitter}return e.prototype.ngOnInit=function(){var e=this;this.shareCases$=this.stateService.state,this.shareCases$.subscribe((function(t){e.shareCases=t,e.caseCount=e.shareCases.length}))},e.prototype.onUnselect=function(e){this.unselect.emit(e),this.caseCount=this.shareCases.length},e.prototype.onSynchronizeStore=function(e){this.synchronizeStore.emit(e)},e.prototype.trackByCaseId=function(e){return e.caseId},e}();z.decorators=[{type:t.Component,args:[{selector:"xuilib-selected-case-list",template:'<ng-container *ngIf="!toConfirm">\n <xuilib-selected-case\n *ngFor="let sharedCase of (shareCases$ | async); trackBy: trackByCaseId"\n [sharedCase]="sharedCase"\n [caseCount]="caseCount"\n [removeUserFromCaseToggleOn]="removeUserFromCaseToggleOn"\n (unselect)="onUnselect($event)"\n (synchronizeStore)="onSynchronizeStore($event)"\n >\n </xuilib-selected-case>\n</ng-container>\n\n<ng-container *ngIf="toConfirm">\n <xuilib-selected-case-confirm\n *ngFor="let sharedCase of (shareCases$ | async); trackBy: trackByCaseId"\n [sharedCase]="sharedCase"\n [changeLink]="changeLink">\n </xuilib-selected-case-confirm>\n</ng-container>\n',styles:[""]}]}],z.ctorParameters=function(){return[{type:V}]},z.propDecorators={shareCases$:[{type:t.Input}],removeUserFromCaseToggleOn:[{type:t.Input}],toConfirm:[{type:t.Input}],changeLink:[{type:t.Input}],unselect:[{type:t.Output}],synchronizeStore:[{type:t.Output}]};var W=function(){function e(e){this.stateService=e,this.opened=!1,this.unselect=new t.EventEmitter,this.synchronizeStore=new t.EventEmitter}return e.prototype.ngOnInit=function(){var e=this;this.shareCases$=this.stateService.state,this.shareCases$.subscribe((function(t){return e.shareCases=t}))},e.prototype.ngOnChanges=function(e){if(e.sharedCase){var t=this.sharedCase.sharedWith?this.sharedCase.sharedWith:[],n=this.sharedCase.pendingShares?this.sharedCase.pendingShares:[];this.combinedSortedShares=this.combineAndSortShares(t,n)}},e.prototype.onDeselect=function(e){this.unselect.emit(e)},e.prototype.trackByUserId=function(e){return e.idamId},e.prototype.canRemove=function(e,t){var n=this;return this.shareCases$.pipe(s.map((function(o){var i,s;if(n.removeUserFromCaseToggleOn)try{for(var r=L(o),a=r.next();!a.done;a=r.next()){var l=a.value;if(l.caseId===e){if(l.pendingUnshares&&l.pendingUnshares.some((function(e){return e.idamId===t.idamId})))return!1;if(l.sharedWith&&l.sharedWith.some((function(e){return e.idamId===t.idamId})))return!0}}}catch(e){i={error:e}}finally{try{a&&!a.done&&(s=r.return)&&s.call(r)}finally{if(i)throw i.error}}return!1})))},e.prototype.canCancel=function(e,t){return this.shareCases$.pipe(s.map((function(n){var o,i;try{for(var s=L(n),r=s.next();!r.done;r=s.next()){var a=r.value;if(a.caseId===e)return!(!a.pendingShares||!a.pendingShares.some((function(e){return e.idamId===t.idamId})))||!(!a.pendingUnshares||!a.pendingUnshares.some((function(e){return e.idamId===t.idamId})))}}catch(e){o={error:e}}finally{try{r&&!r.done&&(i=s.return)&&i.call(s)}finally{if(o)throw o.error}}})))},e.prototype.isToBeRemoved=function(e,t){return this.shareCases$.pipe(s.map((function(n){var o,i;try{for(var s=L(n),r=s.next();!r.done;r=s.next()){var a=r.value;if(a.caseId===e)return a.pendingUnshares&&a.pendingUnshares.some((function(e){return e.idamId===t.idamId}))}}catch(e){o={error:e}}finally{try{r&&!r.done&&(i=s.return)&&i.call(s)}finally{if(o)throw o.error}}})))},e.prototype.isToBeAdded=function(e,t){return this.shareCases$.pipe(s.map((function(n){var o,i;try{for(var s=L(n),r=s.next();!r.done;r=s.next()){var a=r.value;if(a.caseId===e)return a.pendingShares&&a.pendingShares.some((function(e){return e.idamId===t.idamId}))}}catch(e){o={error:e}}finally{try{r&&!r.done&&(i=s.return)&&i.call(s)}finally{if(o)throw o.error}}})))},e.prototype.onRemove=function(e,t){this.stateService.requestUnshare(e,t.caseId),this.synchronizeStore.emit(this.shareCases)},e.prototype.onCancel=function(e,t){this.stateService.requestCancel(t.caseId,e),this.synchronizeStore.emit(this.shareCases)},e.prototype.showNoUsersAccessInfo=function(){return!(this.sharedCase.pendingShares&&this.sharedCase.pendingShares.length>0)&&(!(!this.sharedCase.sharedWith||0!==this.sharedCase.sharedWith.length)||!!(this.sharedCase.sharedWith&&this.sharedCase.pendingUnshares&&this.sharedCase.pendingUnshares.length>0&&this.sharedCase.sharedWith.length===this.sharedCase.pendingUnshares.length))},e.prototype.showUserHasAccessInfo=function(){return!this.showNoUsersAccessInfo()},e.prototype.showUserAccessTable=function(){return!!(this.sharedCase.pendingShares&&this.sharedCase.pendingShares.length>0)||!!(this.sharedCase.sharedWith&&this.sharedCase.sharedWith.length>0)},e.prototype.combineAndSortShares=function(e,t){return F(e,t).sort((function(e,t){return e.firstName.toLowerCase()>t.firstName.toLowerCase()?1:t.firstName.toLowerCase()>e.firstName.toLowerCase()?-1:0}))},e.prototype.userIdSetter=function(e,t){return e?"pendingShares-"+t:""+t},e.prototype.buildElementId=function(e){return e+"-"+this.sharedCase.caseId},e}();W.decorators=[{type:t.Component,args:[{selector:"xuilib-selected-case",template:'<div id="{{buildElementId(\'govuk-accordion__section\')}}" class="govuk-accordion__section">\n <div class="govuk-grid-row govuk-case-header">\n <div class="govuk-grid-column-three-quarters">\n <h3 id="{{buildElementId(\'case-title\')}}" class="govuk-case-title">{{ sharedCase.caseTitle }}</h3>\n <h1 id="{{buildElementId(\'case-id\')}}" class="govuk-case-sub-title">{{ sharedCase.caseId }}</h1>\n </div>\n <div class="govuk-grid-column-twenty-percent">\n <button *ngIf="caseCount > 1"\n id="{{buildElementId(\'btn-deselect-case\')}}" \n class="govuk-button hmcts-button--secondary" \n (click)="onDeselect(sharedCase)" \n title="Deselect case">Deselect case\n </button>\n </div>\n <div class="govuk-accordion__section-header govuk-grid-column-five-percent">\n <div class="govuk-accordion__section-heading">\n <button type="button" id="{{buildElementId(\'accordion-with-summary-sections-heading\')}}"\n aria-controls="accordion-with-summary-sections-content-1" class="govuk-accordion__section-button"\n aria-describedby="accordion-with-summary-sections-summary-1" aria-expanded="false" title="Expand or Collapse">\n <span class="govuk-accordion__icon" aria-hidden="true"></span></button>\n </div>\n </div>\n </div>\n <div id="{{buildElementId(\'accordion-with-summary-sections-content\')}}" class="govuk-accordion__section-content"\n aria-labelledby="buildElementId(\'accordion-with-summary-sections-heading\')" >\n <div class="govuk-grid-row" *ngIf="showNoUsersAccessInfo()">\n <span id="{{buildElementId(\'access-info-no-user\')}}" class="govuk-div-align-left">No users from your organisation currently have access to this case.</span>\n </div>\n <div class="govuk-grid-row" *ngIf="showUserHasAccessInfo()">\n <span id="{{buildElementId(\'access-info-has-users\')}}" class="govuk-div-align-left">Users from your organisation with access to this case.</span>\n </div>\n <table class="govuk-table" *ngIf="showUserAccessTable()">\n <thead class="govuk-table__head">\n <tr class="govuk-table__row">\n <th id="{{buildElementId(\'name-heading\')}}" class="govuk-table__header govuk-table-column-header" scope="col">Name</th>\n <th id="{{buildElementId(\'email-heading\')}}" class="govuk-table__header govuk-table-column-header" scope="col">Email address</th>\n <th id="{{buildElementId(\'action-heading\')}}" class="govuk-table__header govuk-table-column-actions" scope="col">Actions</th>\n <th id="{{buildElementId(\'label-heading\')}}" class="govuk-table__header govuk-table-column-label" scope="col">Status</th>\n </tr>\n </thead>\n <tbody class="govuk-table__body">\n <tr class="govuk-table__row" *ngFor="let user of combinedSortedShares; index as idx; trackBy: trackByUserId">\n <td id="user-full-name-{{ userIdSetter(canCancel(sharedCase.caseId, user) | async, idx) }}" class="govuk-table__cell">{{ user.firstName + \' \' + user.lastName }}</td>\n <td id="user-email-{{ userIdSetter(canCancel(sharedCase.caseId, user) | async, idx) }}" class="govuk-table__cell">{{ user.email }}</td>\n <td class="govuk-table__cell">\n <a *ngIf="canRemove(sharedCase.caseId, user) | async" (click)="onRemove(user, sharedCase)" href="javascript:void(0);">Remove <span class="govuk-visually-hidden">{{ user.firstName + \' \' + user.lastName }} from case</span></a>\n <a *ngIf="canCancel(sharedCase.caseId, user) | async" (click)="onCancel(user, sharedCase)" href="javascript:void(0);">Cancel <span class="govuk-visually-hidden">adding {{ user.firstName + \' \' + user.lastName }} to case</span></a>\n </td>\n <td class="govuk-table__cell">\n <span *ngIf="isToBeRemoved(sharedCase.caseId, user) | async" class="hmcts-badge hmcts-badge--red">To be removed</span>\n <span *ngIf="isToBeAdded(sharedCase.caseId, user) | async" class="hmcts-badge">To be added</span>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n</div>\n',styles:[".govuk-case-header{border-top:1px solid #bfc1c3}.govuk-case-title{font-size:24px;color:#005ea5;font-weight:700}.govuk-case-sub-title,.govuk-case-title{font-family:nta,Arial,sans-serif;padding-left:0}.govuk-case-sub-title{font-size:1rem!important;color:#6f777b;font-weight:400}.govuk-grid-row{margin-left:0;margin-right:0}.govuk-grid-column-three-quarters{padding-top:5px;padding-left:0}.govuk-grid-column-twenty-percent{box-sizing:border-box;padding-top:10px;width:20%;float:left}.govuk-grid-column-five-percent{box-sizing:border-box;padding-top:15px;width:5%;float:left}.govuk-table-column-header{width:38%}.govuk-table-column-actions,.govuk-table-column-label{width:12%}.govuk-div-align-left{font-family:nta,Arial,sans-serif;font-size:1.1875rem!important;line-height:1.31579!important;text-align:left;margin-bottom:20px;padding-left:0;color:#0b0c0c}.govuk-accordion__section-header{border-top:0}.govuk-accordion__section-content{padding-top:0}"]}]}],W.ctorParameters=function(){return[{type:V}]},W.propDecorators={sharedCase:[{type:t.Input}],selectedUser:[{type:t.Input}],opened:[{type:t.Input}],removeUserFromCaseToggleOn:[{type:t.Input}],caseCount:[{type:t.Input}],unselect:[{type:t.Output}],synchronizeStore:[{type:t.Output}]};var H=function(){function e(){this.hideMessage=new t.EventEmitter}return e.prototype.onHideMessageEvent=function(e){this.hideMessage.emit(e)},e}();H.decorators=[{type:t.Component,args:[{selector:"xuilib-service-message",template:'<div class="hmcts-banner hmcts-banner--warning">\n\n <svg class="hmcts-banner__icon" fill="currentColor" role="presentation" focusable="false"\n xmlns="http://www.w3.org/2000/svg" viewBox="0 0 25 25" height="25" width="25">\n <path d="M13.6,15.4h-2.3v-4.5h2.3V15.4z M13.6,19.8h-2.3v-2.2h2.3V19.8z M0,23.2h25L12.5,2L0,23.2z" />\n </svg>\n\n <div class="hmcts-banner__message">\n <span class="hmcts-banner__assistive">Warning</span>\n <h2 class="govuk-heading-s" [innerHTML]="message"></h2>\n <a [routerLink]="" class="govuk-link--no-visited-state" (click)="onHideMessageEvent(key)">Hide message</a>\n </div>\n\n</div>'}]}],H.ctorParameters=function(){return[]},H.propDecorators={message:[{type:t.Input}],key:[{type:t.Input}],hideMessage:[{type:t.Output}]};var $=function(){function e(){}return e.prototype.initialize=function(e,t){throw new Error("Not implemented")},e.prototype.isEnabled=function(e){throw new Error("Not implemented")},e.prototype.getValue=function(e,t){throw new Error("Not implemented")},e.prototype.getValueOnce=function(e,t){throw new Error("Not implemented")},e}();$.ɵprov=b.ɵɵdefineInjectable({factory:function(){return new $},token:$,providedIn:"root"}),$.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}];var q=function(){function e(e){this.featureToggleService=e,this.filteredMessages=new Map}return e.prototype.ngOnInit=function(){this.getServiceMessages()},e.prototype.getServiceMessages=function(){var e=this;this.featureToggleService.getValue(this.featureToggleKey,null).subscribe((function(t){t&&e.createFilteredMessages(t)}))},e.prototype.createFilteredMessages=function(e){var t=this;this.hiddenBanners=JSON.parse(window.sessionStorage.getItem(this.serviceMessageCookie))||[],Object.keys(e).forEach((function(n){var o=new RegExp(n);t.userRoles.some((function(e){return o.test(e)}))&&-1===t.hiddenBanners.indexOf(n)&&t.filteredMessages.set(n,e[n])}))},e.prototype.hideMessage=function(e){this.filteredMessages.delete(e),this.hiddenBanners.push(e),window.sessionStorage.setItem(this.serviceMessageCookie,JSON.stringify(this.hiddenBanners))},e}();q.decorators=[{type:t.Component,args:[{selector:"xuilib-service-messages",template:'<div *ngIf="filteredMessages?.size > 0" class="govuk-width-container govuk-!-margin-top-6">\n <xuilib-service-message *ngFor="let message of filteredMessages | keyvalue" [key]="message.key"\n [message]="message.value" (hideMessage)="hideMessage($event)"></xuilib-service-message>\n</div>'}]}],q.ctorParameters=function(){return[{type:$}]},q.propDecorators={userRoles:[{type:t.Input}],featureToggleKey:[{type:t.Input}],serviceMessageCookie:[{type:t.Input}]};var J,K=function(){function e(e){this.stateService=e,this.shareCases=[],this.changeLink="",this.completeLink=""}return e.prototype.ngOnInit=function(){var e=this;this.shareCases$.subscribe((function(t){e.shareCases=t,e.stateService.setCases(t)})),this.shareCases$=this.stateService.state},e}();K.decorators=[{type:t.Component,args:[{selector:"xuilib-share-case-confirm",template:'<div id="casesToConfirm">\n <h3 class="govuk-heading-l">Cases</h3>\n <div *ngIf="shareCases && shareCases.length > 0" id="summarySections">\n <xuilib-selected-case-list\n [shareCases$]="shareCases$"\n [toConfirm]="true"\n [changeLink]="changeLink">\n </xuilib-selected-case-list>\n </div>\n\n <div id="noCaseDisplay" *ngIf="shareCases && shareCases.length === 0" class="govuk-hint">\n No cases to display.\n </div>\n\n</div>\n\n<div id="share-case-nav" *ngIf="shareCases && shareCases.length > 0">\n <button class="govuk-button" title="Confirm" [routerLink]="completeLink">Confirm</button>\n</div>\n',styles:[""]}]}],K.ctorParameters=function(){return[{type:V}]},K.propDecorators={shareCases$:[{type:t.Input}],changeLink:[{type:t.Input}],completeLink:[{type:t.Input}]},e.SharedCaseErrorMessages=void 0,(J=e.SharedCaseErrorMessages||(e.SharedCaseErrorMessages={})).OneCaseMustBeSelected="At least one case must be selected",J.NoChangesRequested="You have not requested any changes to case sharing",J.OnePersonMustBeAssigned="At least one person must be assigned to each case";var Y=function(){function e(){this.selected=new t.EventEmitter,this.control=new o.FormControl}return e.prototype.ngOnInit=function(){var e=this;this.filteredUsers=this.control.valueChanges.pipe(s.map((function(t){return"string"==typeof t?e.filterUsers(t):e.users}))),this.selected.emit(null)},e.prototype.displayValue=function(e){return e?e.firstName+" "+e.lastName+" - "+e.email:""},e.prototype.onSelected=function(e){this.selected.emit(e.option.value)},e.prototype.clear=function(){this.control.setValue(null)},e.prototype.onUserChange=function(e){e&&e.email||this.selected.emit(null)},e.prototype.filterUsers=function(e){return e?(e=e.toLowerCase(),this.users.filter((function(t){return!!t.firstName.toLowerCase().includes(e)||(!!t.lastName.toLowerCase().includes(e)||!!t.email.toLowerCase().includes(e))}))):[]},e}();Y.decorators=[{type:t.Component,args:[{selector:"xuilib-user-select",template:'<input class="govuk-input" type="text" [matAutocomplete]="dropdown" [formControl]="control" (ngModelChange)="onUserChange($event)" aria-labelledby="add-user-hint">\n\n<mat-autocomplete #dropdown="matAutocomplete" [displayWith]="displayValue" autoActiveFirstOption (optionSelected)="onSelected($event)">\n <mat-option *ngFor="let user of filteredUsers | async" [value]="user">\n {{ user.firstName }} {{ user.lastName }} - {{ user.email }}\n </mat-option>\n</mat-autocomplete>',styles:[""]}]}],Y.ctorParameters=function(){return[]},Y.propDecorators={users:[{type:t.Input}],selected:[{type:t.Output}]};var Q=function(){function n(e,n){this.stateService=e,this.router=n,this.shareCases=[],this.continueAllowed=!1,this.selectedUserToRemove=null,this.removeUserFromCaseToggleOn=!1,this.users=[],this.confirmLink="",this.cancelLink="",this.showRemoveUsers=!1,this.fnTitle="",this.title="",this.unselect=new t.EventEmitter,this.synchronizeStore=new t.EventEmitter,this.validationErrors=[]}return n.prototype.ngOnInit=function(){var e=this;this.shareCases$.pipe(s.tap((function(t){e.getAssignedUsers(t.filter((function(e){return e.sharedWith&&e.sharedWith.length>0})))}))).subscribe((function(t){e.shareCases=t,e.stateService.setCases(t),t&&(e.selectedCasesErrorMessageConfig={id:t.length>0?"cases":"noCaseDisplay"})})),this.shareCases$=this.stateService.state,this.shareCaseErrorMessage={isInvalid:!1,messages:[]}},n.prototype.onUnselect=function(t){this.validationErrors=[],1===this.stateService.getCases().length?(this.validationErrors.push({id:"cases",message:e.SharedCaseErrorMessages.OneCaseMustBeSelected}),this.shareCaseErrorMessage={isInvalid:!0,messages:[e.SharedCaseErrorMessages.OneCaseMustBeSelected]},window.scrollTo({top:0,left:0,behavior:"smooth"})):(this.unselect.emit(t),this.stateService.removeCase(t.caseId))},n.prototype.onSynchronizeStore=function(e){this.synchronizeStore.emit(e)},n.prototype.onSelectedUser=function(e){this.selectedUser=e},n.prototype.addUser=function(){var e=this.stateService.requestShare(this.selectedUser);this.selectedUser=null,this.userSelect&&this.userSelect.clear(),this.synchronizeStore.emit(e),this.getAssignedUsers(e)},n.prototype.removeUser=function(){if(this.selectedUserToRemove){var e=this.stateService.requestUnshare(this.selectedUserToRemove);this.synchronizeStore.emit(e)}},n.prototype.isDisabledAdd=function(){return null===this.selectedUser||0===this.shareCases.length},n.prototype.setContinueAllowed=function(){var e=this;this.continueAllowed=!1,this.shareCases$.subscribe((function(t){var n,o;try{for(var i=L(t),s=i.next();!s.done;s=i.next()){var r=s.value;if(r.pendingShares&&r.pendingShares.length>0){e.continueAllowed=!0;break}if(r.pendingUnshares&&r.pendingUnshares.length>0){e.continueAllowed=!0;break}}}catch(e){n={error:e}}finally{try{s&&!s.done&&(o=i.return)&&o.call(i)}finally{if(n)throw n.error}}}))},n.prototype.onDeselect=function(e){var t,n;if(null!==e){var o=[];try{for(var i=L(this.shareCases),s=i.next();!s.done;s=i.next()){var r=s.value;r.caseId!==e.caseId&&o.push(r)}}catch(e){t={error:e}}finally{try{s&&!s.done&&(n=i.return)&&n.call(i)}finally{if(t)throw t.error}}this.shareCases=o}this.stateService.setCases(this.shareCases)},n.prototype.onContinue=function(){this.setContinueAllowed(),this.continueAllowed||(this.validationErrors=[],this.validationErrors.push({id:"cases",message:e.SharedCaseErrorMessages.NoChangesRequested}),this.shareCaseErrorMessage={isInvalid:!0,messages:[e.SharedCaseErrorMessages.NoChangesRequested]},window.scrollTo({top:0,left:0,behavior:"smooth"})),this.continueAllowed&&(this.hasCasesLeftUnassigned(this.shareCases)?(this.validationErrors=[],this.validationErrors.push({id:"cases",message:e.SharedCaseErrorMessages.OnePersonMustBeAssigned}),this.shareCaseErrorMessage={isInvalid:!0,messages:[e.SharedCaseErrorMessages.OnePersonMustBeAssigned]},window.scrollTo({top:0,left:0,behavior:"smooth"})):this.router.navigate([this.confirmLink]))},n.prototype.getAssignedUsers=function(e){var t=[];e.forEach((function(e){e.sharedWith&&e.sharedWith.forEach((function(e){t.some((function(t){return e.idamId===t.idamId}))||t.push(e)})),e.pendingShares&&e.pendingShares.forEach((function(e){t.some((function(t){return e.idamId===t.idamId}))||t.push(e)}))})),this.assignedUsers=t},n.prototype.hasCasesLeftUnassigned=function(e){return e.some((function(e){return e.pendingUnshares&&e.sharedWith&&e.pendingUnshares.length===e.sharedWith.length&&(!e.pendingShares||0===e.pendingShares.length)}))},n}();Q.decorators=[{type:t.Component,args:[{selector:"xuilib-share-case",template:'<xuilib-hmcts-error-summary\n [errorMessages]="validationErrors"\n [header]="\'There is a problem\'"\n></xuilib-hmcts-error-summary>\n<h1 *ngIf="title" class="govuk-heading-xl govuk-!-margin-top-2">\n <span *ngIf="fnTitle" class="govuk-caption-xl">{{fnTitle}}</span>\n {{title}}\n</h1>\n<div id="add-user">\n <div class="govuk-form-group">\n <label class="govuk-label govuk-!-font-weight-bold" for="add-user-input">{{addUserLabel}}</label>\n <span id="add-user-hint" class="govuk-hint">\n Search by name or email address. You can share access with as many people as you need.\n </span>\n <div class="govuk-grid-row">\n <div class="govuk-grid-column-two-thirds">\n <xuilib-user-select\n id="add-user-input"\n aria-describedby="add-user-hint"\n [users]="users"\n (selected)="onSelectedUser($event)">\n </xuilib-user-select>\n </div>\n <div class="govuk-grid-column-one-thirds">\n <button id="btn-add-user" (click)="addUser()" class="govuk-button govuk-button--secondary" [disabled]="isDisabledAdd()" title="Add user to selected cases">Add</button>\n </div>\n </div>\n <details id="add-user-help" class="govuk-details" data-module="govuk-details">\n <summary class="govuk-details__summary">\n <span id="content-why-can-not-find-email" class="govuk-details__summary-text">\n Can\'t find an email address?\n </span>\n </summary>\n <div id="content-reason-can-not-find-email" class="govuk-details__text">\n If you can\'t find your colleague\'s email address, they will need to complete their registration. Contact your\n administrator for help.\n </div>\n </details>\n </div>\n <div class="govuk-form-group" *ngIf="showRemoveUsers">\n <label class="govuk-label govuk-!-font-weight-bold" for="remove-user-input">Remove a person from all cases</label>\n <span id="remove-user-hint" class="govuk-hint">\n Select a person to remove them from all selected cases.\n </span>\n <div class="govuk-grid-row">\n <div class="govuk-grid-column-two-thirds">\n <select [(ngModel)]="selectedUserToRemove" class="govuk-select" id="remove-user-input" aria-describedby="remove-user-hint">\n <option [ngValue]="null" selected>Select a person</option>\n <option *ngFor="let user of assignedUsers" [ngValue]="user">{{user.firstName}} {{user.lastName}} - {{user.email}}</option>\n </select>\n </div>\n <div class="govuk-grid-column-one-thirds">\n <button id="btn-remove-user" (click)="removeUser()" class="govuk-button govuk-button--secondary" title="Remove user from selected cases">Remove</button>\n </div>\n </div>\n </div>\n</div>\n\n<div id="cases" [ngClass]="{\'govuk-form-group--error\': shareCaseErrorMessage.messages && shareCaseErrorMessage.messages.length > 0}">\n <h3 id="title-selected-cases" class="govuk-heading-m">Selected cases</h3>\n <xuilib-gov-uk-error-message [config]="selectedCasesErrorMessageConfig" [errorMessage]="shareCaseErrorMessage"></xuilib-gov-uk-error-message>\n <div *ngIf="shareCases && shareCases.length > 0" class="govuk-accordion" data-module="govuk-accordion" id="accordion-with-summary-sections">\n <xuilib-selected-case-list\n [shareCases$]="shareCases$"\n [removeUserFromCaseToggleOn]="removeUserFromCaseToggleOn"\n (unselect)="onUnselect($event)"\n (synchronizeStore)="onSynchronizeStore($event)"\n >\n </xuilib-selected-case-list>\n </div>\n\n <div id="noCaseDisplay" *ngIf="shareCases && shareCases.length === 0" class="govuk-hint"\n [ngClass]="{\'govuk-form-group--error\': shareCaseErrorMessage.messages && shareCaseErrorMessage.messages.length > 0}">\n No cases to display.\n </div>\n\n</div>\n\n<div id="share-case-nav" class="govuk-button-group">\n <button id="btn-continue" class="govuk-button" data-module="govuk-button" (click)="onContinue()" title="Continue">Continue</button>\n <button id="btn-cancel" class="govuk-button govuk-button--secondary" data-module="govuk-button" title="Cancel" [routerLink]="cancelLink">Cancel</button>\n</div>\n',styles:["select{width:100%}"]}]}],Q.ctorParameters=function(){return[{type:V},{type:r.Router}]},Q.propDecorators={removeUserFromCaseToggleOn:[{type:t.Input}],shareCases$:[{type:t.Input}],users:[{type:t.Input}],confirmLink:[{type:t.Input}],cancelLink:[{type:t.Input}],addUserLabel:[{type:t.Input}],showRemoveUsers:[{type:t.Input}],fnTitle:[{type:t.Input}],title:[{type:t.Input}],unselect:[{type:t.Output}],synchronizeStore:[{type:t.Output}],userSelect:[{type:t.ViewChild,args:[Y,{static:!0}]}]};var X=function(){function e(){this.tabChange=new t.EventEmitter}return e.prototype.tabChanged=function(e){this.tabChange.emit(e)},e}();X.decorators=[{type:t.Component,args:[{selector:"xuilib-tab",template:'<mat-tab-group animationDuration="0ms" (selectedTabChange)="tabChanged($event)">\n <mat-tab *ngFor="let tabItem of tabItems; let last = last;" [label]="tabItem.text">\n </mat-tab>\n</mat-tab-group>'}]}],X.ctorParameters=function(){return[]},X.propDecorators={tabItems:[{type:t.Input}],tabChange:[{type:t.Output}]};var Z=function(){function e(){this.confirm=new t.EventEmitter}return e.prototype.onClick=function(){this.confirm.emit()},e}();Z.decorators=[{type:t.Component,args:[{selector:"xuilib-tc-confirm",template:'<div class="govuk-width-container">\n <main role="main" class="govuk-main-wrapper">\n <div class="govuk-grid-row">\n <div class="govuk-grid-column-two-thirds">\n <div class="column-two-thirds">\n <h1 class="govuk-heading-xl">Using this service</h1>\n <h2 class="govuk-heading-m">Terms and conditions</h2>\n <p>We\'ve recently updated the\n <a\n routerLink="/terms-and-conditions"\n rel="noopener noreferrer"\n target="_blank"\n >terms and conditions</a\n >.\n </p>\n <p>You must review and accept them.\n </p>\n <p>\n <button class="govuk-button" (click)="onClick()">\n {{ buttonText }}\n </button>\n </p>\n </div>\n </div>\n </div>\n <div class="govuk-grid-column-one-third"></div>\n </main>\n</div>\n',styles:[""]}]}],Z.ctorParameters=function(){return[]},Z.propDecorators={buttonText:[{type:t.Input}],confirm:[{type:t.Output}]};var ee=function(){};ee.decorators=[{type:t.Component,args:[{selector:"xuilib-tc-display-html",template:"<ng-content></ng-content>",styles:[":host{display:block;width:100%}"]}]}],ee.ctorParameters=function(){return[]};var te=function(){};te.decorators=[{type:t.Component,args:[{selector:"xuilib-tc-display-plain",template:"<ng-content></ng-content>",styles:[":host{display:block;width:100%}"]}]}],te.ctorParameters=function(){return[]};var ne=function(){};ne.decorators=[{type:t.Component,args:[{selector:"xuilib-terms-and-conditions",template:'<ng-container [ngSwitch]="document.mimeType">\n <xuilib-tc-display-html *ngSwitchCase="\'text/html\'">\n <div [innerHTML]="document.content"></div>\n </xuilib-tc-display-html>\n <xuilib-tc-display-plain *ngSwitchCase="\'text/plain\'">\n {{ document.content }}\n </xuilib-tc-display-plain>\n <div *ngSwitchDefault>\n An error occured. Please try again.\n </div>\n</ng-container>\n',styles:[":host{display:block;width:100%}"]}]}],ne.ctorParameters=function(){return[]},ne.propDecorators={document:[{type:t.Input}]};var oe=function(){function e(){this.showEditLink=!1,this.showHelpLink=!1,this.suspendUserEvent=new t.EventEmitter,this.showSuspendUserButton=!1,this.reinvite=new t.EventEmitter}return e.prototype.reinviteClick=function(e){this.reinvite.emit(e)},e.prototype.suspendUser=function(e){this.suspendUserEvent.emit(e)},e.prototype.userHasRole=function(e){return!(!this.user||!this.user.roles)&&this.user.roles.includes(e)},e}();oe.decorators=[{type:t.Component,args:[{selector:"xuilib-user-details",template:'<div class="govuk-warning-text" *ngIf="warningTitle && warningTitle !== \'\'">\n<span class="govuk-warning-text__icon">!</span>\n<strong class="govuk-warning-text__text">\n {{ warningTitle }}\n</strong>\n</div>\n<table class="govuk-table" *ngIf="user">\n <tbody class="govuk-table__body">\n <tr class="govuk-table__row">\n <th class="govuk-table__header" scope="row">Name</th>\n <td class="govuk-table__cell">{{user.fullName}}</td>\n <td class="govuk-table__cell"></td>\n </tr>\n <tr class="govuk-table__row">\n <th class="govuk-table__header" scope="row">Email address</th>\n <td class="govuk-table__cell">{{user.email}}</td>\n <td class="govuk-table__cell"></td>\n </tr>\n <tr class="govuk-table__row" *ngIf="!user.resendInvite">\n <th class="govuk-table__header" scope="row">Permissions</th>\n <td class="govuk-table__cell">\n <div *ngIf="user.manageOrganisations === \'Yes\'">Manage organisations</div>\n <div *ngIf="user.manageUsers === \'Yes\'">Manage users</div>\n <div *ngIf="user.manageCases === \'Yes\'">Manage cases</div>\n <div *ngIf="userHasRole(\'pui-caa\')">Case access administrator</div>\n <div *ngIf="userHasRole(\'pui-finance-manager\')">Manage fee accounts</div>\n </td>\n <td class="govuk-table__cell"><a *ngIf="editPermissionRouterLink && showEditLink" [routerLink]="editPermissionRouterLink">Change <span class="govuk-visually-hidden">roles</span></a></td>\n </tr>\n </tbody>\n</table>\n<button *ngIf="showSuspendUserButton" class="govuk-button govuk-button--warning" (click)="suspendUser(user)">\n Suspend account\n</button>\n<div *ngIf="user && user.resendInvite">\n <div class="govuk-inset-text">\n <p>This user has already been invited but has not activated their account.</p>\n <p>If you resend an invitation, they\'ll receive an email from HM Courts and Tribunals to finish setting up their account.</p>\n <p>You can\'t invite the same user more than once an hour.</p>\n </div>\n <a role="button" draggable="false" class="govuk-button" (click)="reinviteClick(user)" id="resend-invite-button">\n Resend invitation\n </a>\n</div>\n<p class="govuk-body" *ngIf="showHelpLink && suspendHelpLink"><a [routerLink]="suspendHelpLink" target="_blank">Get help</a> to reactivate this account.</p>\n',styles:[":host{display:block}"]}]}],oe.propDecorators={user:[{type:t.Input}],editPermissionRouterLink:[{type:t.Input}],warningTitle:[{type:t.Input}],showEditLink:[{type:t.Input}],showHelpLink:[{type:t.Input}],suspendHelpLink:[{type:t.Input}],suspendUserEvent:[{type:t.Output}],showSuspendUserButton:[{type:t.Input}],reinvite:[{type:t.Output}]};var ie=function(){function e(){this.users=[],this.userClick=new t.EventEmitter,this.pageChange=new t.EventEmitter}return e.prototype.ngOnInit=function(){this.pagination={itemsPerPage:50,currentPage:this.currentPageNumber,totalItems:this.pageTotalSize}},e.prototype.onUserClick=function(e){this.userClick.emit(e)},e.prototype.emitPageClickEvent=function(e){this.currentPageNumber=e,this.pageChange.emit(e)},e}();ie.decorators=[{type:t.Component,args:[{selector:"xuilib-user-list",template:'<table class="govuk-table">\n\n <thead clas="govuk-table__head">\n <tr class="govuk-table__row">\n <th class="govuk-table__header" scope="col">Name</th>\n <th class="govuk-table__header" scope="col">Email</th>\n <th class="govuk-table__header" scope="col">Status</th>\n </tr>\n </thead>\n <tbody class="govuk-table__body">\n <ng-container *ngFor="let u of users | paginate: { itemsPerPage: pagination.itemsPerPage, currentPage: currentPageNumber, totalItems: pagination.totalItems }">\n <tr class="govuk-table__row" data-selector="table-row">\n <td class="govuk-table__cell" data-selector="table-cell">\n <a class="govuk-link" [attr.title]="u.routerLinkTitle" [routerLink]="u.routerLink" (click)="onUserClick(u)">{{ u.fullName }}</a>\n </td>\n <td class="govuk-table__cell" data-selector="table-cell">{{ u.email }}</td>\n <td class="govuk-table__cell" data-selector="table-cell">{{ u.status }}</td>\n </tr>\n </ng-container>\n </tbody>\n</table>\n<xuilib-hmcts-pagination (pageChange)="emitPageClickEvent($event)" [pageSize]="pagination.itemsPerPage"></xuilib-hmcts-pagination>\n',styles:[":host{display:block}"]}]}],ie.propDecorators={users:[{type:t.Input}],currentPageNumber:[{type:t.Input}],pageTotalSize:[{type:t.Input}],userClick:[{type:t.Output}],pageChange:[{type:t.Output}]};var se=function(){function e(e){this.document=e}return e.prototype.setCookie=function(e,t,n){var o=e+"="+t+";"+(n?" expires="+n:"");this.document.cookie=o},e.prototype.getCookie=function(e){return this.document.cookie.split("; ").find((function(t){return t.startsWith(e+"=")})).split("=")[1]},e.prototype.deleteCookie=function(e,t,n){var o=t?"; path="+t:"",i=n?"; domain="+n:"";this.document.cookie=e+"="+o+i+"; expires=Thu, 01 Jan 1970 00:00:01 GMT; max-age=0"},e.prototype.deleteCookieByPartialMatch=function(e,t,n){var o=this;this.document.cookie.split("; ").filter((function(t){return t.startsWith(""+e)})).forEach((function(e){o.deleteCookie(e.split("=")[0],t,n)}))},e.prototype.checkCookie=function(e){return this.document.cookie.split("; ").some((function(t){return t.trim().startsWith(e+"=")}))},e}();se.ɵprov=b.ɵɵdefineInjectable({factory:function(){return new se(b.ɵɵinject(y.DOCUMENT))},token:se,providedIn:"root"}),se.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],se.ctorParameters=function(){return[{type:void 0,decorators:[{type:t.Inject,args:[n.DOCUMENT]}]}]};var re=new t.InjectionToken("Window");function ae(){return window}var le,ce=function(){function e(e,n){this.cookieService=e,this.rejectionNotifier=new t.EventEmitter,this.acceptanceNotifier=new t.EventEmitter,this.isCookieBannerVisible=!1,this.window=n}return e.prototype.ngOnInit=function(){this.setState()},e.prototype.acceptCookie=function(){this.cookieService.setCookie(this.identifier,"true",this.getExpiryDate()),this.setState(!0)},e.prototype.rejectCookie=function(){this.cookieService.setCookie(this.identifier,"false",this.getExpiryDate()),this.setState(!0)},e.prototype.setState=function(e){void 0===e&&(e=!1),this.isCookieBannerVisible=!this.cookieService.checkCookie(this.identifier),this.areCookiesAccepted()?this.notifyAcceptance():this.notifyRejection(),e&&this.window.location.reload()},e.prototype.areCookiesAccepted=function(){return this.cookieService.checkCookie(this.identifier)&&"true"===this.cookieService.getCookie(this.identifier)},e.prototype.notifyRejection=function(){this.rejectionNotifier.emit()},e.prototype.notifyAcceptance=function(){this.acceptanceNotifier.emit()},e.prototype.getExpiryDate=function(){var e=new Date,t=e.getTime()+31536e6;return e.setTime(t),e.toUTCString()},e}();ce.decorators=[{type:t.Component,args:[{selector:"xuilib-cookie-banner",template:'<div class="govuk-cookie-banner " role="region" attr.aria-label="\'Cookies on {{appName}}\'" *ngIf="isCookieBannerVisible">\n <div class="govuk-cookie-banner__message govuk-width-container">\n\n <div class="govuk-grid-row">\n <div class="govuk-grid-column-two-thirds">\n <h2 class="govuk-cookie-banner__heading govuk-heading-m">Cookies on {{appName}}</h2>\n\n <div class="govuk-cookie-banner__content">\n <p>We use some essential cookies to make this service work.</p>\n <p>We’d also like to use analytics cookies so we can understand how you use the service and make improvements.</p>\n </div>\n </div>\n </div>\n\n <div class="govuk-button-group">\n <button value="accept" type="button" name="cookies" class="govuk-button" data-module="govuk-button" (click)="acceptCookie()">\n Accept analytics cookies\n </button>\n <button value="reject" type="button" name="cookies" class="govuk-button" data-module="govuk-button" (click)="rejectCookie()">\n Reject analytics cookies\n </button>\n <a class="govuk-link" routerLink="/cookies">View cookies</a>\n </div>\n </div>\n</div>'}]}],ce.ctorParameters=function(){return[{type:se},{type:void 0,decorators:[{type:t.Inject,args:[re]}]}]},ce.propDecorators={identifier:[{type:t.Input}],appName:[{type:t.Input}],rejectionNotifier:[{type:t.Output}],acceptanceNotifier:[{type:t.Output}]},e.BadgeColour=void 0,(le=e.BadgeColour||(e.BadgeColour={})).BADGE_RED="hmcts-badge--red",le.BADGE_BLUE="hmcts-badge--blue",le.BADGE_GREEN="hmcts-badge--green";var ue,de,pe,ge=function(){},he=function(){},me=function(){};e.BookingCheckType=void 0,(ue=e.BookingCheckType||(e.BookingCheckType={})).NO_CHECK="NO_CHECK",ue.BOOKINGS_AND_BASE="BOOKINGS_AND_BASE",ue.POSSIBLE_BOOKINGS="POSSIBLE_BOOKINGS",e.PersonRole=void 0,(de=e.PersonRole||(e.PersonRole={})).JUDICIAL="Judicial",de.CASEWORKER="Legal Ops",de.ADMIN="Admin",de.CTSC="CTSC",de.ALL="All",e.RoleCategory=void 0,(pe=e.RoleCategory||(e.RoleCategory={})).JUDICIAL="JUDICIAL",pe.CASEWORKER="LEGAL_OPERATIONS",pe.ADMIN="ADMIN",pe.CTSC="CTSC",pe.ALL="ALL";var fe=function(){function e(e){this.http=e}return e.prototype.getAllLocations=function(e,t,n,o,i){return this.http.post("api/locations/getLocations",{serviceIds:e,locationType:t,searchTerm:n,userLocations:o,bookingLocations:i})},e.prototype.searchLocations=function(e,t,n){return this.http.get("api/prd/location/getLocations?serviceIds="+e+"&locationType="+t+"&searchTerm="+n)},e}();fe.ɵprov=b.ɵɵdefineInjectable({factory:function(){return new fe(b.ɵɵinject(C.HttpClient))},token:fe,providedIn:"root"}),fe.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],fe.ctorParameters=function(){return[{type:a.HttpClient}]};var ve=function(){function e(){}return e.prototype.getItem=function(e,t){void 0===t&&(t=!1);var n=sessionStorage.getItem(e);return t&&this.removeItem(e),n},e.prototype.setItem=function(e,t){sessionStorage.setItem(e,t)},e.prototype.removeItem=function(e){sessionStorage.removeItem(e)},e.prototype.clear=function(){sessionStorage.clear()},e}();ve.ɵprov=b.ɵɵdefineInjectable({factory:function(){return new ve},token:ve,providedIn:"root"}),ve.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}];var be=function(){function n(e,n,o,i){this.locationService=e,this.sessionStorageService=n,this.fb=o,this.cd=i,this.disabled=null,this.singleMode=!1,this.locationType="",this.serviceIds="",this.submitted=!0,this.delay=500,this.showAutocomplete=!1,this.locations=[],this.locationSelected=new t.EventEmitter,this.locationInputChanged=new t.EventEmitter,this.searchLocationChanged=new t.EventEmitter,this.minSearchCharacters=3,this.term="",this.pSelectedLocations=[],this.pReset=!0,this.form=this.fb.group({searchTerm:[""]})}return Object.defineProperty(n.prototype,"reset",{get:function(){return this.pReset},set:function(e){this.pReset=e,this.resetSearchTerm()},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"selectedLocations",{get:function(){return this.pSelectedLocations},set:function(e){this.pSelectedLocations=e},enumerable:!1,configurable:!0}),n.prototype.ngOnInit=function(){if(this.singleMode&&this.selectedLocations.length>0){var e=this.selectedLocations[0];this.form.controls.searchTerm.patchValue(e.site_name,{emitEvent:!1,onlySelf:!0})}this.search()},n.prototype.filter=function(e){var t=this;this.getLocations(e).pipe(s.map((function(e){return t.removeSelectedLocations(e)})))},n.prototype.onSelectionChange=function(e){this.form.controls.searchTerm.patchValue(e.site_name,{emitEvent:!1,onlySelf:!0}),this.locationSelected.emit(e)},n.prototype.search=function(){var e=this;this.form.controls.searchTerm.valueChanges.pipe(s.tap((function(t){return e.locationInputChanged.next(t)})),s.tap((function(){return e.locations=[]})),s.tap((function(t){return e.term=t})),s.filter((function(t){return!!t&&t.length>=e.minSearchCharacters})),s.debounceTime(this.delay),s.mergeMap((function(t){return e.getLocations(t)})),s.map((function(t){return e.removeSelectedLocations(t)}))).subscribe((function(t){if(e.locations=t,e.cd.markForCheck(),1===t.length&&e.term===t[0].site_name&&!e.singleMode)return e.locationSelected.emit(t[0]),void(e.showAutocomplete=!1);e.showAutocomplete=!0}))},n.prototype.onInput=function(){this.searchLocationChanged.emit()},n.prototype.getLocations=function(t){var n,o;if(this.bookingCheck===e.BookingCheckType.BOOKINGS_AND_BASE){n=JSON.parse(this.sessionStorageService.getItem("userLocations")),o=JSON.parse(this.sessionStorageService.getItem("bookingLocations"));var i=JSON.parse(this.sessionStorageService.getItem("bookableServices")),s=[];n.forEach((function(e){e.bookable&&s.push(e.service)})),i.forEach((function(e){s.includes(e)||n.push({service:e,locations:[],bookable:!0})}))}else this.bookingCheck===e.BookingCheckType.POSSIBLE_BOOKINGS&&(this.serviceIds=this.serviceIds&&this.serviceIds.length?this.serviceIds:JSON.parse(this.sessionStorageService.getItem("bookableServices")),n=(n=JSON.parse(this.sessionStorageService.getItem("userLocations"))).filter((function(e){return e.bookable})));return this.locationService.getAllLocations(this.serviceIds,this.locationType,t,n,o)},n.prototype.resetSearchTerm=function(){this.form.controls.searchTerm.patchValue("",{emitEvent:!1,onlySelf:!0})},n.prototype.removeSelectedLocations=function(e){var t=this;return this.singleMode?e:e.filter((function(e){return!t.selectedLocations.map((function(e){return e.epimms_id})).includes(e.epimms_id)&&e.site_name}))},n}();be.decorators=[{type:t.Component,args:[{selector:"exui-search-location",template:'<div class="auto-complete-container">\n <input\n id="inputLocationSearch"\n (input)="onInput()"\n [formControl]="form.controls.searchTerm"\n [matAutocomplete]="autoSearchLocation"\n class="govuk-input"\n [attr.disabled]="disabled">\n <mat-autocomplete class="mat-autocomplete-panel-extend" autoActiveFirstOption #autoSearchLocation="matAutocomplete">\n <mat-option *ngFor="let location of locations"\n (onSelectionChange)="onSelectionChange(location)">\n {{ location.site_name }}\n </mat-option>\n <mat-option *ngIf="!locations.length && showAutocomplete && term && term.length >= this.minSearchCharacters">No results found</mat-option>\n </mat-autocomplete>\n</div>\n',styles:[".autocomplete__input--show-all-values{padding:5px 34px 5px 5px;cursor:pointer}.autocomplete__dropdown-arrow-down{z-index:-1;display:inline-block;position:absolute;right:8px;width:24px;height:24px;top:10px}.autocomplete__menu{background-color:#fff;border:2px solid #0b0c0c;border-top:0;color:#0b0c0c;margin:0;max-height:342px;overflow-x:hidden;padding:0;width:calc(100% - 4px)}.autocomplete__menu--visible{display:block}.autocomplete__menu--hidden{display:none}.autocomplete__menu--overlay{box-shadow:0 2px 6px rgba(0,0,0,.256863);left:0;position:absolute;top:100%;z-index:100}.autocomplete__menu--inline{position:relative}.autocomplete__option{border-left-width:0;border-bottom:1px solid #b1b4b6;border-right-width:0;border-top-width:1px;cursor:pointer;display:block;position:relative}.autocomplete__option>*{pointer-events:none}.autocomplete__option:first-of-type{border-top-width:0}.autocomplete__option:last-of-type{border-bottom-width:0}.autocomplete__option--odd{background-color:#fafafa}.autocomplete__option--focused,.autocomplete__option:hover{background-color:#1d70b8;border-color:#1d70b8;color:#fff;outline:0}.autocomplete__option--no-results{background-color:#fafafa;color:#646b6f;cursor:not-allowed}.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.25}.autocomplete__hint,.autocomplete__option{padding:5px}@media (min-width:641px){.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.31579}}.div-action{display:inline-block}.add-location{display:inline}.remove-location-button{margin:5px}.hide-autocomplete{display:none}.auto-complete-container{display:inline-block;margin-right:4px;width:calc(100% - 4px)}.autocomplete__input{line-height:24px;font-size:19px}"]}]}],be.ctorParameters=function(){return[{type:fe},{type:ve},{type:o.FormBuilder},{type:t.ChangeDetectorRef}]},be.propDecorators={control:[{type:t.Input}],disabled:[{type:t.Input}],singleMode:[{type:t.Input}],locationType:[{type:t.Input}],serviceIds:[{type:t.Input}],submitted:[{type:t.Input}],delay:[{type:t.Input}],form:[{type:t.Input}],showAutocomplete:[{type:t.Input}],locations:[{type:t.Input}],bookingCheck:[{type:t.Input}],locationSelected:[{type:t.Output}],locationInputChanged:[{type:t.Output}],searchLocationChanged:[{type:t.Output}],reset:[{type:t.Input}],selectedLocations:[{type:t.Input}]};var ye=function(){function e(){this.locationFieldChanged=new t.EventEmitter,this.selectedLocations=[],this.submitted=!0,this.enableAddLocationButton=!0,this.locationTitle="Search for a location by name",this.disableInputField=!1,this.locations=[],this.tempSelectedLocation=null,this.serviceIds="SSCS,IA",this.pServices=[],this.pDisabled=!1}return Object.defineProperty(e.prototype,"disabled",{get:function(){return this.pDisabled},set:function(e){e&&(this.searchLocationComponent.resetSearchTerm(),this.removeSelectedValues()),this.pDisabled=!0===this.disableInputField||null},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"services",{get:function(){return this.pServices},set:function(e){var t=this;this.pServices=e;var n=this.fields.find((function(e){if(t.field)return e.name===t.field.findLocationField}));n&&(this.serviceIds="string"==typeof e?e:P(n.options,e).filter((function(e){return"services_all"!==e})).join(","))},enumerable:!1,configurable:!0}),e.prototype.ngOnInit=function(){this.selectedLocations=this.selectedLocations.filter((function(e){return e.epimms_id}))},e.prototype.addLocation=function(){this.tempSelectedLocation&&(this.selectedLocations=F(this.selectedLocations,[this.tempSelectedLocation]),this.addSelectedLocationsToForm([this.tempSelectedLocation]),this.tempSelectedLocation=null,this.locations=[],this.searchLocationComponent.resetSearchTerm())},e.prototype.removeLocation=function(e){if(e.epimms_id){this.selectedLocations=this.selectedLocations.filter((function(t){return t.epimms_id!==e.epimms_id}));var t=this.form.get(this.field.name),n=t.value.findIndex((function(t){return t.epimms_id===e.epimms_id}));n>-1&&t.removeAt(n)}},e.prototype.onInputChanged=function(e){"string"==typeof e&&1===this.field.maxSelected&&this.removeSelectedValues()},e.prototype.onSearchInputChanged=function(){this.locationFieldChanged.emit()},e.prototype.onLocationSelected=function(e){1===this.field.maxSelected?(this.removeSelectedValues(),this.addSelectedLocationsToForm([e])):this.selectedLocations.find((function(t){return t.epimms_id===e.epimms_id}))||e.epimms_id&&(this.tempSelectedLocation=e)},e.prototype.removeSelectedValues=function(){for(var e=this.form.get(this.field.name),t=0;t<e.length;t++)e.removeAt(t);this.selectedLocations=[]},e.prototype.addSelectedLocationsToForm=function(e){var t,n,i=this.form.get(this.field.name);try{for(var s=L(e),r=s.next();!r.done;r=s.next()){var a=r.value;i.push(new o.FormControl(a))}}catch(e){t={error:e}}finally{try{r&&!r.done&&(n=s.return)&&n.call(s)}finally{if(t)throw t.error}}},e}();ye.decorators=[{type:t.Component,args:[{selector:"xuilib-find-location",template:'<div class="location-picker-custom">\n <div class="search-location">\n <div>\n <label id="input-selected-location-label" *ngIf="locationTitle">{{locationTitle}}</label>\n </div>\n <exui-search-location class="search-location"\n [locations]="locations"\n [selectedLocations]="selectedLocations"\n [singleMode]="field.maxSelected === 1"\n [bookingCheck]="field.bookingCheckType"\n [delay]="300"\n [disabled]="disabled"\n [serviceIds]="serviceIds"\n (locationInputChanged)="onInputChanged($event)"\n (locationSelected)="onLocationSelected($event)"\n (searchLocationChanged)="onSearchInputChanged()"\n [locationType]="\'case-management\'"></exui-search-location>\n <a href="javascript:void(0)" (click)="addLocation()" class="govuk-button" data-module="govuk-button" *ngIf="enableAddLocationButton">\n Add location\n </a>\n </div>\n <ul class="hmcts-filter-tags selection-container" *ngIf="field.maxSelected != 1">\n <li class="location-selection" *ngFor="let selection of selectedLocations">\n <a class="hmcts-filter__tag" (click)="removeLocation(selection)" href="javascript:void(0)">\n {{ selection.site_name }}\n </a>\n </li>\n </ul>\n</div>\n',styles:[".search-location__input-container{display:flex}.search-location .auto-complete-container{min-width:unset;width:calc(100% - 4px)}.search-location__input{flex:1 0 auto}.search-location .govuk-button--secondary{background-color:#ddd}"]}]}],ye.propDecorators={locationFieldChanged:[{type:t.Output}],selectedLocations:[{type:t.Input}],submitted:[{type:t.Input}],enableAddLocationButton:[{type:t.Input}],form:[{type:t.Input}],field:[{type:t.Input}],fields:[{type:t.Input}],locationTitle:[{type:t.Input}],disableInputField:[{type:t.Input}],searchLocationComponent:[{type:t.ViewChild,args:[be,{static:!0}]}],disabled:[{type:t.Input}],services:[{type:t.Input}]};var ke=function(){function e(){this.previousPage=new t.EventEmitter,this.nextPage=new t.EventEmitter}return e.prototype.onPrevious=function(){this.previousPage.emit(null)},e.prototype.onNext=function(){this.nextPage.emit(null)},e}();ke.decorators=[{type:t.Component,args:[{selector:"xuilib-pagination",template:'<nav class="hmcts-pagination" id="pagination-label">\n\n <p class="govuk-visually-hidden" aria-labelledby="pagination-label">Pagination navigation</p>\n\n <ul class="hmcts-pagination__list">\n <li class="hmcts-pagination__item hmcts-pagination__item--prev">\n <a *ngIf="firstRecord > 1; else noPrevious" class="hmcts-pagination__link" (click)="onPrevious()" href="javascript:void(0)">\n Previous page\n </a>\n <ng-template #noPrevious>\n <span class="hmcts-pagination__link">Previous page</span>\n </ng-template>\n </li>\n\n <li class="hmcts-pagination__item hmcts-pagination__item--next">\n <a *ngIf="moreItems; else noNext" class="hmcts-pagination__link" (click)="onNext()" href="javascript:void(0)">Next page</a>\n <ng-template #noNext>\n <span class="hmcts-pagination__link">Next page</span>\n </ng-template>\n </li>\n </ul>\n</nav>\n',styles:["span.hmcts-pagination__link:hover{color:revert}"]}]}],ke.ctorParameters=function(){return[]},ke.propDecorators={moreItems:[{type:t.Input}],firstRecord:[{type:t.Input}],previousPage:[{type:t.Output}],nextPage:[{type:t.Output}]};var Ce=function(){function e(e,n){this.locationService=e,this.disabled=null,this.locationType="",this.serviceIds="",this.submitted=!0,this.showAutocomplete=!1,this.locationChanged=new t.EventEmitter,this.minSearchCharacters=3,this.keyUpSubject$=new i.Subject,this.readyAfterContent=!1,this.searchInProgress=!1,this.findLocationFormGroup=n.group({findLocationFormControl:[null],locationSelectedFormControl:[null]}),this.selectedLocations=[]}return e.prototype.ngAfterContentInit=function(){this.readyAfterContent=!0},e.prototype.ngOnInit=function(){var e=this;this.displayedLocations=[],this.control&&this.findLocationFormGroup&&this.findLocationFormGroup.controls&&(this.findLocationFormGroup.controls.locationSelectedFormControl=this.control),this.keyUpSubject$.pipe(s.debounceTime(500)).subscribe((function(t){return e.search(t)}))},e.prototype.onKeyDown=function(){this.locationChanged.emit()},e.prototype.onKeyUp=function(e){this.showAutocomplete=!1,this.keyUpSubject$.next(e.target.value)},e.prototype.onFocus=function(){this.showAutocomplete=!1},Object.defineProperty(e.prototype,"displayedLocationsDuplicationFiltered",{get:function(){var e=this;return this.displayedLocations.filter((function(t){return!e.selectedLocations.map((function(e){return e.epimms_id})).includes(t.epimms_id)&&t.court_name}))},enumerable:!1,configurable:!0}),e.prototype.filter=function(e){var t=this;this.searchLocations(e).pipe(s.mergeMap((function(e){var n=e.filter((function(e){return!t.selectedLocations.map((function(e){return e.epimms_id})).includes(e.epimms_id)}));return t.displayedLocations=n,t.searchInProgress=!1,n}))).subscribe((function(n){e===n.court_name&&(t.findLocationFormGroup.controls.locationSelectedFormControl.setValue(n),t.displayedLocations=[],t.locationChanged.emit(n),t.showAutocomplete=!1),t.searchInProgress=!1}))},e.prototype.onSelectionChange=function(e){this.findLocationFormGroup.controls.findLocationFormControl instanceof o.FormArray?this.findLocationFormGroup.controls.locationSelectedFormControl.push(new o.FormControl(e.epimms_id)):this.findLocationFormGroup.controls.locationSelectedFormControl.setValue(e),this.locationChanged.emit(e)},e.prototype.search=function(e){this.searchInProgress=!0,this.showAutocomplete=!!e&&e.length>=this.minSearchCharacters,e&&e.length||(this.findLocationFormGroup.controls.locationSelectedFormControl.markAsPristine(),this.findLocationFormGroup.controls.locationSelectedFormControl.reset()),this.showAutocomplete?this.filter(e):this.searchInProgress=!1},e.prototype.getDisplayName=function(e){return e.court_name},e.prototype.searchLocations=function(e){return this.locationService.searchLocations(this.serviceIds,this.locationType,e)},e.prototype.getControlCourtNameValue=function(){return this.findLocationFormGroup&&this.findLocationFormGroup.controls&&this.findLocationFormGroup.controls.locationSelectedFormControl.value?this.findLocationFormGroup.controls.locationSelectedFormControl.value.court_name:""},e}();Ce.decorators=[{type:t.Component,args:[{selector:"xuilib-search-venue",template:'<div class="auto-complete-container">\n <div *ngIf="readyAfterContent" class="autocomplete__wrapper">\n <input\n [formControl]="findLocationFormGroup.controls.findLocationFormControl"\n [matAutocomplete]="autoSearchLocation"\n (keydown)="onKeyDown()"\n (keyup)="onKeyUp($event)"\n (focus)="onFocus()"\n class="autocomplete__input autocomplete__input--default search-box"\n [attr.disabled]="!disabled ? null: disabled"\n [value]="getControlCourtNameValue()"\n #inputSelectedLocation>\n <mat-autocomplete class="mat-autocomplete-panel-extend" autoActiveFirstOption #autoSearchLocation="matAutocomplete">\n <mat-option *ngFor="let location of displayedLocationsDuplicationFiltered"\n [value]="getDisplayName(location)"\n (onSelectionChange)="onSelectionChange(location)"\n [ngClass]="{\'hide-autocomplete\': !showAutocomplete}">\n {{ getDisplayName(location) }}\n </mat-option>\n <mat-option *ngIf="!displayedLocationsDuplicationFiltered?.length && showAutocomplete && !searchInProgress">{{ \'No results found\' }}</mat-option>\n </mat-autocomplete>\n </div>\n</div>\n',styles:[".autocomplete__input{-webkit-appearance:none;border:2px solid #0b0c0c;border-radius:0;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;margin-bottom:0;width:100%;line-height:24px;font-size:19px;background-color:transparent;position:relative}.autocomplete__hint{color:#b1b4b6;position:absolute}.autocomplete__input--default{padding:5px}.autocomplete__input--focused{outline:3px solid #fd0;outline-offset:0;box-shadow:inset 0 0 0 2px}.autocomplete__input--show-all-values{padding:5px 34px 5px 5px;cursor:pointer}.autocomplete__dropdown-arrow-down{z-index:-1;display:inline-block;position:absolute;right:8px;width:24px;height:24px;top:10px}.autocomplete__menu{background-color:#fff;border:2px solid #0b0c0c;border-top:0;color:#0b0c0c;margin:0;max-height:342px;overflow-x:hidden;padding:0;width:100%;width:calc(100% - 4px)}.autocomplete__menu--visible{display:block}.autocomplete__menu--hidden{display:none}.autocomplete__menu--overlay{box-shadow:0 2px 6px rgba(0,0,0,.256863);left:0;position:absolute;top:100%;z-index:100}.autocomplete__menu--inline{position:relative}.autocomplete__option{border-left-width:0;border-bottom:1px solid #b1b4b6;border-right-width:0;border-top-width:1px;cursor:pointer;display:block;position:relative}.autocomplete__option>*{pointer-events:none}.autocomplete__option:first-of-type{border-top-width:0}.autocomplete__option:last-of-type{border-bottom-width:0}.autocomplete__option--odd{background-color:#fafafa}.autocomplete__option--focused,.autocomplete__option:hover{background-color:#1d70b8;border-color:#1d70b8;color:#fff;outline:0}.autocomplete__option--no-results{background-color:#fafafa;color:#646b6f;cursor:not-allowed}.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.25}.autocomplete__hint,.autocomplete__option{padding:5px}@media (min-width:641px){.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.31579}}.div-action{display:inline-block}.add-location{display:inline}.remove-location-button{margin:5px}.hide-autocomplete{display:none}.auto-complete-container{min-width:550px;display:inline-block;margin-right:4px}"]}]}],Ce.ctorParameters=function(){return[{type:fe},{type:o.FormBuilder}]},Ce.propDecorators={control:[{type:t.Input}],disabled:[{type:t.Input}],locationType:[{type:t.Input}],selectedLocations:[{type:t.Input}],serviceIds:[{type:t.Input}],submitted:[{type:t.Input}],autoCompleteInputBox:[{type:t.ViewChild,args:["inputSelectedLocation",{read:t.ElementRef}]}],showAutocomplete:[{type:t.Input}],displayedLocations:[{type:t.Input}],locationChanged:[{type:t.Output}]};var Se=function(e){var t=[];return e.forEach((function(e){t=t.concat(e.caseworkers)})),t},Ie=function(e){return e+"-caseworkers"},we=function(){function t(e,t){this.http=e,this.sessionStorageService=t}return t.prototype.find=function(e){var t=this,n=this.sessionStorageService.getItem("userDetails");if(n&&!e.userIncluded){var o=JSON.parse(n);this.userId=o.id?o.id:o.uid}return this.assignedUser=e.assignedUser?e.assignedUser:null,this.http.post("/workallocation/findPerson",{searchOptions:e}).pipe(s.map((function(e){return e.filter((function(e){return![t.assignedUser,t.userId].includes(e.id)}))})))},t.prototype.findCaseworkers=function(e){var t=this,n=this.sessionStorageService.getItem("userDetails");if(n){var o=JSON.parse(n);this.userId=o.id?o.id:o.uid}this.assignedUser=e.assignedUser?e.assignedUser:null;var r=e.services,a=[],l=[],c=[];if(r.forEach((function(e){var n=Ie(e);t.sessionStorageService.getItem(n)?(a.push(e),c.push({service:e,caseworkers:JSON.parse(t.sessionStorageService.getItem(n))})):l.push(e)})),a.length===r.length){var u=Se(c);return i.of(this.searchInCaseworkers(u,e))}return this.http.post("/workallocation/retrieveCaseWorkersForServices",{fullServices:r}).pipe(s.tap((function(e){e.forEach((function(e){var n,o,i,s;l.includes(e.service)&&(n=e.service,o=e.caseworkers,i=t.sessionStorageService,s=Ie(n),i.setItem(s,JSON.stringify(o)))}))})),s.map((function(n){var o=Se(n);return t.searchInCaseworkers(o,e)})))},t.prototype.mapCaseworkers=function(t,n){var o=[];return t.forEach((function(t){var i={email:t.email,name:t.firstName+" "+t.lastName,id:t.idamId,domain:t.roleCategory===e.RoleCategory.CASEWORKER?e.PersonRole.CASEWORKER:e.PersonRole.ADMIN};t.roleCategory!==n&&n!==e.RoleCategory.ALL||o.push(i)})),o},t.prototype.searchInCaseworkers=function(t,n){var o=this,i=e.RoleCategory.ALL;n.userRole!==e.PersonRole.ALL&&(n.userRole===e.PersonRole.CASEWORKER?i=e.RoleCategory.CASEWORKER:n.userRole===e.PersonRole.ADMIN?i=e.RoleCategory.ADMIN:n.userRole===e.PersonRole.CTSC&&(i=e.RoleCategory.CTSC));var s=n&&n.searchTerm?n.searchTerm.toLowerCase():"",r=(t?this.mapCaseworkers(t,i):[]).filter((function(e){return e&&e.name&&e.name.toLowerCase().includes(s)}));return n.userIncluded?r.filter((function(e){return e&&e.id!==o.assignedUser})):r.filter((function(e){return e&&e.id!==o.userId&&e.id!==o.assignedUser}))},t.prototype.searchJudicial=function(e,t){return this.http.post("api/prd/judicial/getJudicialUsersSearch",{searchString:e,serviceCode:t})},t}();we.caseworkersKey="caseworkers",we.ɵprov=b.ɵɵdefineInjectable({factory:function(){return new we(b.ɵɵinject(C.HttpClient),b.ɵɵinject(ve))},token:we,providedIn:"root"}),we.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],we.ctorParameters=function(){return[{type:a.HttpClient},{type:ve}]};var xe=function(){function e(e,n){this.judicialService=e,this.disabled=null,this.selectedJudicials=[],this.submitted=!0,this.placeholderContent="",this.showAutocomplete=!1,this.judicialChanged=new t.EventEmitter,this.idValue="",this.errorMessage="You must select a name",this.serviceId="",this.minSearchCharacters=3,this.keyUpSubject$=new i.Subject,this.searchInProgress=!1,this.formGroup=n.group({formControl:[null],selectedFormControl:[null]})}return e.prototype.ngOnInit=function(){var e=this;this.displayedJudicials=[],this.control&&this.formGroup&&this.formGroup.controls&&(this.formGroup.controls.selectedFormControl=this.control,this.formGroup.controls.formControl.setValue(this.getControlValueDisplayText())),this.keyUpSubject$.pipe(s.debounceTime(500)).subscribe((function(t){return e.search(t)}))},e.prototype.onKeyDown=function(){this.judicialChanged.emit()},e.prototype.onKeyUp=function(e){this.showAutocomplete=!1,this.keyUpSubject$.next(e.target.value)},e.prototype.onFocus=function(){this.showAutocomplete=!1},Object.defineProperty(e.prototype,"displayedJudicialsDuplicationFiltered",{get:function(){var e=this;return this.displayedJudicials.filter((function(t){return!e.selectedJudicials.map((function(e){return e.idamId})).includes(t.idamId)}))},enumerable:!1,configurable:!0}),e.prototype.filter=function(e){var t=this;this.searchJudicials(e,this.serviceId).pipe(s.mergeMap((function(e){var n=e.filter((function(e){return!t.selectedJudicials.map((function(e){return e.idamId})).includes(e.idamId)}));return t.displayedJudicials=n,t.searchInProgress=!1,n}))).subscribe((function(n){e===n.fullName&&(t.formGroup.controls.selectedFormControl.setValue(n),t.displayedJudicials=[],t.judicialChanged.emit(n),t.showAutocomplete=!1),t.searchInProgress=!1}))},e.prototype.onSelectionChange=function(e){this.formGroup.controls.formControl instanceof o.FormArray?this.formGroup.controls.selectedFormControl.push(new o.FormControl(e.idamId)):this.formGroup.controls.selectedFormControl.setValue(e),this.judicialChanged.emit(e)},e.prototype.search=function(e){this.searchInProgress=!0,this.showAutocomplete=!!e&&e.length>=this.minSearchCharacters,e?this.formGroup.controls.selectedFormControl.markAsDirty():this.formGroup.controls.selectedFormControl.reset(),this.showAutocomplete?this.filter(e):this.searchInProgress=!1},e.prototype.getDisplayName=function(e){return e.fullName+" ("+e.emailId+")"},e.prototype.searchJudicials=function(e,t){return this.judicialService.searchJudicial(e,t)},e.prototype.getControlValueDisplayText=function(){return this.formGroup&&this.formGroup.controls&&this.formGroup.controls.selectedFormControl.value?this.getDisplayName(this.formGroup.controls.selectedFormControl.value):""},e}();xe.decorators=[{type:t.Component,args:[{selector:"xuilib-search-judicials",template:'<div class="govuk-form-group">\n <input id="inputSelectPerson{{idValue}}" [placeholder]="placeholderContent" [formControl]="formGroup.controls.formControl"\n [matAutocomplete]="autoComplete" (keydown)="onKeyDown()" (keyup)="onKeyUp($event)" (focus)="onFocus()"\n class="govuk-input" [attr.disabled]="!disabled ? null: disabled" [value]="getControlValueDisplayText()"\n #inputSelection>\n <mat-autocomplete autoActiveFirstOption #autoComplete="matAutocomplete">\n <mat-option *ngFor="let judicial of displayedJudicialsDuplicationFiltered" class="select-option"\n [value]="getDisplayName(judicial)" (onSelectionChange)="onSelectionChange(judicial)"\n [ngClass]="{\'hide-autocomplete\': !showAutocomplete}">\n {{ getDisplayName(judicial) }}\n </mat-option>\n <mat-option class="select-option"\n *ngIf="!displayedJudicialsDuplicationFiltered?.length && showAutocomplete && !searchInProgress">\n {{ \'No results found\' }}</mat-option>\n </mat-autocomplete>\n</div>\n',styles:[".hide-autocomplete{display:none}.mat-option:hover{background:#2596be}.mat-option.select-option:hover{background:#1d70b8;color:#fff}"]}]}],xe.ctorParameters=function(){return[{type:we},{type:o.FormBuilder}]},xe.propDecorators={control:[{type:t.Input}],disabled:[{type:t.Input}],selectedJudicials:[{type:t.Input}],submitted:[{type:t.Input}],placeholderContent:[{type:t.Input}],showAutocomplete:[{type:t.Input}],displayedJudicials:[{type:t.Input}],judicialChanged:[{type:t.Output}],idValue:[{type:t.Input}],errorMessage:[{type:t.Input}],serviceId:[{type:t.Input}],autoCompleteInputBox:[{type:t.ViewChild,args:["inputSelection",{read:t.ElementRef,static:!0}]}]};var _e=function(){function n(n,i){this.findPersonService=n,this.cd=i,this.personSelected=new t.EventEmitter,this.personFieldChanged=new t.EventEmitter,this.boldTitle="Find the person",this.subTitle="Type the name of the person and select them.",this.domain=e.PersonRole.ALL,this.findPersonGroup=new o.FormGroup({}),this.submitted=!0,this.userIncluded=!1,this.placeholderContent="",this.isNoResultsShown=!0,this.showUpdatedColor=!1,this.selectedPersons=[],this.errorMessage="You must select a name",this.idValue="",this.services="IA",this.disabled=null,this.showAutocomplete=!1,this.filteredOptions=[],this.minSearchCharacters=2}return n.prototype.ngOnDestroy=function(){this.sub&&this.sub.unsubscribe()},n.prototype.ngOnInit=function(){var e=this;this.findPersonControl=new o.FormControl(this.selectedPerson),this.findPersonGroup.addControl("findPersonControl",this.findPersonControl),this.sub=this.findPersonControl.valueChanges.pipe(s.tap((function(){return e.showAutocomplete=!1})),s.tap((function(){return e.filteredOptions=[]})),s.debounceTime(300),s.tap((function(t){return"string"==typeof t?e.personSelected.emit(null):void 0})),s.filter((function(t){return t&&t.length>e.minSearchCharacters})),s.switchMap((function(t){return e.filter(t).pipe(s.tap((function(){return e.showAutocomplete=!0})),s.catchError((function(){return e.filteredOptions=[]})))}))).subscribe((function(t){e.filteredOptions=t,e.cd.detectChanges()}))},n.prototype.filter=function(t){var n=this,o=this.findPersonService.find({searchTerm:t,userRole:this.domain,services:[this.services],userIncluded:this.userIncluded,assignedUser:this.assignedUser}),r=this.findPersonService.findCaseworkers({searchTerm:t,userRole:this.domain,services:[this.services],userIncluded:this.userIncluded,assignedUser:this.assignedUser});if(t&&t.length>this.minSearchCharacters)switch(this.domain){case e.PersonRole.JUDICIAL:return o.pipe(s.map((function(e){var t=n.selectedPersons.map((function(e){return e.id}));return e.filter((function(e){var n=e.id;return!t.includes(n)}))})));case e.PersonRole.ALL:return i.zip(o,r).pipe(s.map((function(e){return e[0].concat(e[1])})));case e.PersonRole.CTSC:case e.PersonRole.CASEWORKER:case e.PersonRole.ADMIN:return r;default:return l.of([])}return l.of([])},n.prototype.onSelectionChange=function(e){this.personSelected.emit(e),this.findPersonControl.setValue(this.getDisplayName(e),{emitEvent:!1,onlySelf:!0})},n.prototype.getDisplayName=function(t){return t?t.domain===e.PersonRole.JUDICIAL&&t.fullName?t.fullName+" ("+t.email+")":t.email?t.name+" ("+t.email+")":t.name:""},n.prototype.onInput=function(){this.personFieldChanged.emit()},n}();_e.decorators=[{type:t.Component,args:[{selector:"xuilib-find-person",template:'<h1 class="govuk-heading-l" *ngIf="title && title.length">\n <span class="govuk-caption-l">{{title}}</span>\n {{boldTitle}}\n</h1>\n<div class="govuk-form-group" [formGroup]="findPersonGroup"\n [ngClass]="{\'form-group-error\': findPersonGroup.get(\'findPersonControl\').invalid && submitted}">\n <fieldset class="govuk-fieldset" aria-describedby="sub-title-hint">\n <div id="sub-title-hint" class="govuk-hint" *ngIf="subTitle && subTitle.length">\n {{subTitle}}\n </div>\n <span id="validation-error" class="govuk-error-message" *ngIf="findPersonGroup && findPersonGroup.errors">\n <span class="govuk-visually-hidden">Error:</span>{{findPersonGroup.errors.error ? findPersonGroup.errors.error : errorMessage}}\n </span>\n <input id="inputSelectPerson{{idValue}}" type="text" aria-label="select a person"\n formControlName="findPersonControl"\n [matAutocomplete]="auto"\n class="govuk-input govuk-!-width-one-third"\n [placeholder]="placeholderContent"\n [attr.disabled]="disabled"\n (input)="onInput()">\n <mat-autocomplete autoActiveFirstOption #auto="matAutocomplete" (optionSelected)="onSelectionChange($event.option.value)">\n <mat-option *ngFor="let option of filteredOptions"\n [value]="option"\n [ngClass]="{\'hide-autocomplete\': !showAutocomplete, \'select-option\': showUpdatedColor}">\n {{getDisplayName(option)}}\n </mat-option>\n <mat-option [ngClass]="{\'select-option\': showUpdatedColor}" *ngIf="isNoResultsShown && !filteredOptions.length && showAutocomplete">No results found</mat-option>\n </mat-autocomplete>\n </fieldset>\n</div>\n',styles:[".mat-option:hover{background:#2596be}.mat-option.select-option:hover{background:#1d70b8;color:#fff}.hide-autocomplete{display:none}"]}]}],_e.ctorParameters=function(){return[{type:we},{type:t.ChangeDetectorRef}]},_e.propDecorators={personSelected:[{type:t.Output}],personFieldChanged:[{type:t.Output}],title:[{type:t.Input}],boldTitle:[{type:t.Input}],subTitle:[{type:t.Input}],domain:[{type:t.Input}],findPersonGroup:[{type:t.Input}],selectedPerson:[{type:t.Input}],submitted:[{type:t.Input}],userIncluded:[{type:t.Input}],assignedUser:[{type:t.Input}],placeholderContent:[{type:t.Input}],isNoResultsShown:[{type:t.Input}],showUpdatedColor:[{type:t.Input}],selectedPersons:[{type:t.Input}],errorMessage:[{type:t.Input}],idValue:[{type:t.Input}],services:[{type:t.Input}],disabled:[{type:t.Input}]};var Le=function(){};Le.decorators=[{type:t.Component,args:[{selector:"exui-page-wrapper",template:'<div class="page">\n <a *ngIf="backLink" [routerLink]="backLink" class="govuk-back-link">Back</a>\n <div class="govuk-width-container">\n <main id="content" role="main" class="govuk-main-wrapper">\n <div class="govuk-grid-row">\n <h1 *ngIf="title" class="govuk-heading-xl">\n <span *ngIf="fnTitle" class="govuk-caption-xl">{{fnTitle}}</span>\n {{title}}\n </h1>\n <ng-content>\n\n </ng-content>\n </div>\n </main>\n </div>\n</div>\n',styles:[".page{width:100%}"]}]}],Le.ctorParameters=function(){return[]},Le.propDecorators={backLink:[{type:t.Input}],title:[{type:t.Input}],fnTitle:[{type:t.Input}]};var Te=function(){function e(e,t,n){this.service=e,this.viewContainer=t,this.templateRef=n}return Object.defineProperty(e.prototype,"xuilibFeatureToggle",{set:function(e){this.feature=e,this.updateSubscription()},enumerable:!1,configurable:!0}),e.prototype.ngOnDestroy=function(){this.subscription&&this.subscription.unsubscribe()},e.prototype.updateSubscription=function(){var e=this;this.subscription=this.service.isEnabled(this.feature).subscribe((function(t){t?e.viewContainer.createEmbeddedView(e.templateRef):e.viewContainer.clear()}))},e}();Te.decorators=[{type:t.Directive,args:[{selector:"[xuilibFeatureToggle]"}]}],Te.ctorParameters=function(){return[{type:$},{type:t.ViewContainerRef},{type:t.TemplateRef}]},Te.propDecorators={xuilibFeatureToggle:[{type:t.Input}]};var Fe=function(){this.$implicit=null,this.xuilibLet=null},Ee=function(){function e(e,t){this.viewContainer=e,this.context=new Fe,this.viewContainer.createEmbeddedView(t,this.context)}return Object.defineProperty(e.prototype,"xuilibLet",{set:function(e){this.context.$implicit=this.context.xuilibLet=e},enumerable:!1,configurable:!0}),e}();Ee.decorators=[{type:t.Directive,args:[{selector:"[xuilibLet]"}]}],Ee.ctorParameters=function(){return[{type:t.ViewContainerRef},{type:t.TemplateRef}]},Ee.propDecorators={xuilibLet:[{type:t.Input}]};var Oe=function(){function e(){this.services=[],this.selectedServices=[],this.enableAddServiceButton=!0,this.disabled=!1,this.disableInputField=!1,this.serviceFieldChanged=new t.EventEmitter,this.tempSelectedService=null,this.allServiceOption={key:"all",label:"All"},this.allServices=[]}return e.prototype.ngOnInit=function(){this.allServices=this.services,this.selectedServices=null!==this.selectedServices?this.selectedServices.filter((function(e){return e.key})):[],this.SortAnOptions()},e.prototype.addService=function(){var e=this;if(this.selectedServices.find((function(t){return t.key===e.allServiceOption.key}))){if(null===this.tempSelectedService)return;this.tempSelectedService.key!==this.allServiceOption.key&&this.removeService(this.allServiceOption)}if(null===this.tempSelectedService&&(this.tempSelectedService=this.allServiceOption),!this.selectedServices.find((function(t){return t.key===e.tempSelectedService.key}))&&this.tempSelectedService.key){if(this.tempSelectedService.key===this.allServiceOption.key){this.selectedServices=[];for(var t=this.form.get(this.field.name);t.length>0;)t.removeAt(0);this.services=this.allServices}this.selectedServices=F(this.selectedServices,[this.tempSelectedService]),this.addSelectedServicesToForm([this.tempSelectedService]),this.services=this.services.filter((function(t){return t.key!==e.tempSelectedService.key}))}this.tempSelectedService=null,this.serviceFieldChanged.emit(this.tempSelectedService)},e.prototype.removeService=function(e){if(e.key){this.selectedServices=null!==this.selectedServices?this.selectedServices.filter((function(t){return t.key!==e.key})):[];var t=this.form.get(this.field.name),n=t.value.findIndex((function(t){return t.key===e.key}));n>-1&&(t.removeAt(n),e.key!==this.allServiceOption.key&&(this.services.splice(n,0,e),this.SortAnOptions())),this.serviceFieldChanged.emit(e)}},e.prototype.onServiceSelected=function(e){if(!e)return this.tempSelectedService=this.allServiceOption,e=this.allServiceOption,void this.serviceFieldChanged.emit(e);1===this.field.maxSelected?(this.removeSelectedValues(),this.addSelectedServicesToForm([e])):this.selectedServices.find((function(t){return t.key===e.key}))||e.key&&(this.tempSelectedService=e),this.serviceFieldChanged.emit(e)},e.prototype.removeSelectedValues=function(){for(var e=this.form.get(this.field.name),t=0;t<e.length;t++)e.removeAt(t);this.selectedServices=[]},e.prototype.addSelectedServicesToForm=function(e){var t,n,i=this.form.get(this.field.name);try{for(var s=L(e),r=s.next();!r.done;r=s.next()){var a=r.value;i.push(new o.FormControl(a))}}catch(e){t={error:e}}finally{try{r&&!r.done&&(n=s.return)&&n.call(s)}finally{if(t)throw t.error}}},e.prototype.SortAnOptions=function(){return this.services.sort((function(e,t){return e.label.toLowerCase()>t.label.toLowerCase()?1:t.label.toLowerCase()>e.label.toLowerCase()?-1:0}))},e}();Oe.decorators=[{type:t.Component,args:[{selector:"xuilib-find-service",template:'<div class="service-picker-custom">\n <div class="search-service">\n <div class="govuk-body">\n <label id="selectServiceSearch-label" for="serviceSearch__select" *ngIf="serviceTitle">\n {{ serviceTitle}}\n </label>\n </div>\n <div class="search-service__input-container">\n <exui-search-service class="search-service__input"\n [services]="services"\n [selectedServices]="selectedServices"\n [delay]="300"\n [disabled]="disabled"\n (serviceChanged)="onServiceSelected($event)">\n </exui-search-service>\n <a href="javascript:void(0)" (click)="addService()"\n class="govuk-button govuk-button--secondary govuk-!-margin-bottom-0" data-module="govuk-button"\n *ngIf="enableAddServiceButton" id="add-service">\n Add\n </a>\n </div>\n </div>\n <ul class="hmcts-filter-tags selection-container" *ngIf="field.maxSelected != 1">\n <li class="location-selection" *ngFor="let selection of selectedServices">\n <a *ngIf="selection.key!==\'All\'" class="hmcts-filter__tag" (click)="removeService(selection)" href="javascript:void(0)">\n {{ selection.label }}\n </a>\n </li>\n </ul>\n</div>\n',styles:["#add-service{background-color:#ddd}"]}]}],Oe.propDecorators={field:[{type:t.Input}],fields:[{type:t.Input}],serviceTitle:[{type:t.Input}],form:[{type:t.Input}],services:[{type:t.Input}],selectedServices:[{type:t.Input}],enableAddServiceButton:[{type:t.Input}],disabled:[{type:t.Input}],disableInputField:[{type:t.Input}],serviceFieldChanged:[{type:t.Output}]};var Ae=function(){function e(e,t){this.http=e,this.sessionStorageService=t}return e.prototype.getTaskName=function(){var t=this;if(this.sessionStorageService.getItem(e.taskNamesKey)){var n=JSON.parse(this.sessionStorageService.getItem(e.taskNamesKey));return i.of(n)}return this.http.get("/workallocation/taskNames").pipe(s.tap((function(n){return t.sessionStorageService.setItem(e.taskNamesKey,JSON.stringify(n))})))},e}();Ae.taskNamesKey="taskNames",Ae.ɵprov=b.ɵɵdefineInjectable({factory:function(){return new Ae(b.ɵɵinject(C.HttpClient),b.ɵɵinject(ve))},token:Ae,providedIn:"root"}),Ae.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],Ae.ctorParameters=function(){return[{type:a.HttpClient},{type:ve}]};var Ne=function(){function n(n,i){this.cd=n,this.taskService=i,this.taskNameSelected=new t.EventEmitter,this.taskNameFieldChanged=new t.EventEmitter,this.boldTitle="Find the task name",this.subTitle="Type the name of the task name and select them.",this.domain=e.PersonRole.ALL,this.findTaskNameGroup=new o.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=""}return n.prototype.ngOnDestroy=function(){this.sub&&this.sub.unsubscribe()},n.prototype.ngOnChanges=function(){var e=this;this.findTaskNameControl=new o.FormControl(this.selectedTaskName),this.findTaskNameGroup.addControl("findTaskNameControl",this.findTaskNameControl),this.sub=this.findTaskNameControl.valueChanges.pipe(s.tap((function(){return e.showAutocomplete=!1})),s.tap((function(){return e.filteredOptions=[]})),s.tap((function(t){return e.searchTerm=t})),s.debounceTime(300),s.tap((function(t){return t||e.taskNameSelected.emit(""),t})),s.filter((function(t){return t&&t.length>=e.minSearchCharacters})),s.mergeMap((function(){return e.getTaskName()}))).subscribe((function(t){e.filteredOptions=t.map((function(e){return e.taskName})),e.searchTerm&&(e.filteredOptions=e.filteredOptions.filter((function(t){return t.toLocaleLowerCase().includes(e.searchTerm.toLocaleLowerCase())})).map((function(e){return e}))),e.cd.detectChanges()}))},n.prototype.getTaskName=function(){return this.taskService.getTaskName()},n.prototype.onSelectionChange=function(e){e&&(this.taskNameSelected.emit(e),this.findTaskNameControl.setValue(e))},n.prototype.onInput=function(){this.taskNameFieldChanged.emit()},n}();Ne.decorators=[{type:t.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:[""]}]}],Ne.ctorParameters=function(){return[{type:t.ChangeDetectorRef},{type:Ae}]},Ne.propDecorators={taskNameSelected:[{type:t.Output}],taskNameFieldChanged:[{type:t.Output}],title:[{type:t.Input}],boldTitle:[{type:t.Input}],subTitle:[{type:t.Input}],domain:[{type:t.Input}],findTaskNameGroup:[{type:t.Input}],selectedTaskName:[{type:t.Input}],submitted:[{type:t.Input}],userIncluded:[{type:t.Input}],assignedUser:[{type:t.Input}],placeholderContent:[{type:t.Input}],isNoResultsShown:[{type:t.Input}],showUpdatedColor:[{type:t.Input}],selectedTaskNames:[{type:t.Input}],errorMessage:[{type:t.Input}],idValue:[{type:t.Input}],services:[{type:t.Input}],disabled:[{type:t.Input}]};var Me=function(){function e(e){this.fb=e,this.showAutocomplete=!1,this.serviceChanged=new t.EventEmitter,this.minSearchCharacters=3,this.term="",this.form=this.fb.group({searchTerm:[""]})}return e.prototype.onInput=function(){},e.prototype.onSelectionChanged=function(e){var t=this.services.find((function(t){return t.label===e}));this.serviceChanged.emit(t)},e}();Me.decorators=[{type:t.Component,args:[{selector:"exui-search-service",template:'<div class="auto-complete-container">\n <input\n id="inputServiceSearch"\n (input)="onInput()"\n [formControl]="form?.controls.searchTerm"\n [matAutocomplete]="autoSearchService"\n class="govuk-input"\n [attr.disabled]="disabled">\n <mat-autocomplete class="mat-autocomplete-panel-extend" autoActiveFirstOption #autoSearchService="matAutocomplete">\n <mat-option *ngFor="let service of services" (onSelectionChange)="onSelectionChanged($event.source.value)" [value]="service.label">\n {{ service.label }}\n </mat-option>\n <mat-option *ngIf="!services?.length && showAutocomplete && term && term.length >= this.minSearchCharacters">No results found</mat-option>\n </mat-autocomplete>\n</div>\n',styles:[".autocomplete__input--show-all-values{padding:5px 34px 5px 5px;cursor:pointer}.autocomplete__dropdown-arrow-down{z-index:-1;display:inline-block;position:absolute;right:8px;width:24px;height:24px;top:10px}.autocomplete__menu{background-color:#fff;border:2px solid #0b0c0c;border-top:0;color:#0b0c0c;margin:0;max-height:342px;overflow-x:hidden;padding:0;width:100%;width:calc(100% - 4px)}.autocomplete__menu--visible{display:block}.autocomplete__menu--hidden{display:none}.autocomplete__menu--overlay{box-shadow:0 2px 6px rgba(0,0,0,.256863);left:0;position:absolute;top:100%;z-index:100}.autocomplete__menu--inline{position:relative}.autocomplete__option{border-left-width:0;border-bottom:1px solid #b1b4b6;border-right-width:0;border-top-width:1px;cursor:pointer;display:block;position:relative}.autocomplete__option>*{pointer-events:none}.autocomplete__option:first-of-type{border-top-width:0}.autocomplete__option:last-of-type{border-bottom-width:0}.autocomplete__option--odd{background-color:#fafafa}.autocomplete__option--focused,.autocomplete__option:hover{background-color:#1d70b8;border-color:#1d70b8;color:#fff;outline:0}.autocomplete__option--no-results{background-color:#fafafa;color:#646b6f;cursor:not-allowed}.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.25}.autocomplete__hint,.autocomplete__option{padding:5px}@media (min-width:641px){.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.31579}}.div-action{display:inline-block}.add-location{display:inline}.remove-location-button{margin:5px}.hide-autocomplete{display:none}.auto-complete-container{min-width:250px;display:inline-block;margin-right:4px}.autocomplete__input{line-height:24px;font-size:19px}"]}]}],Me.ctorParameters=function(){return[{type:o.FormBuilder}]},Me.propDecorators={services:[{type:t.Input}],selectedServices:[{type:t.Input}],disabled:[{type:t.Input}],delay:[{type:t.Input}],form:[{type:t.Input}],showAutocomplete:[{type:t.Input}],serviceChanged:[{type:t.Output}]};var Pe=function(){function e(){this.isChecked=!1}return e.prototype.ngOnInit=function(){var e=this.config.focusOn?this.config.focusOn:this.config.value;this.config.id=e,this.config.classes=this.config.classes?this.config.classes.concat(" govuk-checkboxes__label"):"govuk-checkboxes__label"},e}();Pe.decorators=[{type:t.Component,args:[{selector:"xuilib-gov-checkbox",template:'<div class="govuk-checkboxes__item" [formGroup]="group">\n <input class="govuk-checkboxes__input" type="checkbox" [attr.aria-describedby]="config.hint ? config.value+\'-item-hint\' : null"\n [id]="config.id" [name]="config.name" [formControlName]="config.value" [checked]="isChecked">\n <xuilib-gov-label appRemoveHost [config]="config"></xuilib-gov-label>\n <span [id]="config.value+\'-item-hint\'" class="govuk-hint govuk-checkboxes__hint">\n {{config.hint}}\n </span>\n</div>'}]}],Pe.ctorParameters=function(){return[]},Pe.propDecorators={group:[{type:t.Input}],config:[{type:t.Input}],isChecked:[{type:t.Input}]};var De=function(){function e(){}return e.setDescribedBy=function(e,t){return e&&e&&e.isInvalid?t.hint?t.id+"-hint "+t.id+"-error":t.id+"-error":t.hint?t.id+"-hint":null},e}(),Ue=function(){function e(){}return e.prototype.ngOnInit=function(){this.columns=this.setColumns()},e.prototype.setDescribedBy=function(){return De.setDescribedBy(this.errorMessage,this.config)},e.prototype.onChecked=function(e,t){var n=this.group.get(this.config.name),o=n.value?n.value:[];if(e)n.setValue(F(o,[t]));else{var i=o.filter((function(e){return e!==t}));n.setValue(i)}},e.prototype.isChecked=function(e){var t=this.group.get(this.config.name);return t.value&&t.value.includes(e)},e.prototype.setColumns=function(){if(this.config.rows&&this.config.rows>1){for(var e=[],t=0;t<this.items.length;t+=this.config.rows){var n=this.items.slice(t,t+this.config.rows);e.push(n)}return e}return[this.items]},e}();Ue.decorators=[{type:t.Component,args:[{selector:"xuilib-gov-uk-checkboxes",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 <div class="govuk-checkboxes govuk-checkboxes--small govuk-checkboxes-multi-column" data-module="govuk-checkboxes">\n <div class="govuk-checkboxes-multi-column__single" *ngFor="let columnItems of columns">\n <div class="govuk-checkboxes__item" *ngFor="let item of columnItems">\n <input type="checkbox" class="govuk-checkboxes__input"\n [id]="item.id" [name]="item.id" [checked]="isChecked(item.value)" [value]="item.value"\n [attr.aria-describedby]="setDescribedBy()"\n (change)="onChecked($event.target.checked, item.value)"\n >\n <label class="govuk-label govuk-checkboxes__label" [for]="item.id">\n {{ item.label }}\n </label>\n <div *ngIf="item.hint" class="govuk-hint govuk-checkboxes__hint">\n {{ item.hint }}\n </div>\n </div>\n </div>\n </div>\n</div>\n',styles:[".govuk-checkboxes-multi-column{display:flex;flex-wrap:wrap;margin-left:-20px;margin-right:-20px}.govuk-checkboxes-multi-column__single{padding-left:20px;padding-right:20px}"]}]}],Ue.propDecorators={group:[{type:t.Input}],config:[{type:t.Input}],items:[{type:t.Input}],errorMessage:[{type:t.Input}]};var je=function(){function e(){this.isOptional=!1}return e.prototype.ngOnInit=function(){this.day=this.config.id+"_day",this.month=this.config.id+"_month",this.year=this.config.id+"_year";var e=this.DateValidator();this.formGroup.get(this.day).setValidators(e)},e.prototype.isValidDate=function(e,t,n){var o=!isNaN(e.getTime()),i=e.getMonth()===t,s=e.getFullYear()===n;return o&&i&&s},e.prototype.isEmpty=function(e){return null==e||""===e||isNaN(e)||e<0},e.prototype.DateValidator=function(){var e=this;return function(){var t=e.formGroup.get(e.day).value,n=e.formGroup.get(e.month).value-1,o=e.formGroup.get(e.year).value;return e.isOptional&&e.isEmpty(t)&&e.isEmpty(n)&&e.isEmpty(o)||e.isValidDate(new Date(o,n,t),n,+o)?null:{dateComponent:!0}}},e}();je.decorators=[{type:t.Component,args:[{selector:"xuilib-gov-uk-date",template:'<div class="govuk-form-group" [ngClass]="{\'govuk-form-group--error\': errorMessage?.isInvalid}" [formGroup]="formGroup">\n <div class="date-input-container">\n <xuilib-gov-uk-fieldset\n [config]="{\n legend: config.label || \'Date component\',\n classes: config.classes || \'govuk-label--m\',\n id: config.id,\n hint: config.hint != null ? config.hint : \'For example, 12 11 2007\',\n isPageHeading: config.isPageHeading || false}"\n [errorMessage]="errorMessage">\n <xuilib-gov-uk-error-message\n [config]="{id: \'passport\'}"\n *ngIf="errorMessage"\n [errorMessage]="errorMessage">\n </xuilib-gov-uk-error-message>\n <div class="govuk-date-input" [id]="config.id+\'-date\'">\n <div class="govuk-date-input__item">\n <div class="govuk-form-group">\n <xuilib-gov-label\n [config]="{label: \'Day\', name: config.id+\'-day\', id: config.id+\'-day\', classes: \'govuk-date-input__label\'}">\n </xuilib-gov-label>\n <input class="govuk-input govuk-date-input__input govuk-input--width-2"\n [ngClass]="{\'govuk-input--error\': errorMessage?.isInvalid}"\n [id]="config.id"\n [name]="config.id+\'-day\'" type="number" value="" pattern="[0-9]*"\n [formControlName]="config.id+\'_day\'">\n </div>\n </div>\n <div class="govuk-date-input__item">\n <div class="govuk-form-group">\n <xuilib-gov-label\n [config]="{label: \'Month\', name: config.id+\'-month\', id: config.id+\'-month\', classes: \'govuk-date-input__label\'}">\n </xuilib-gov-label>\n <input class="govuk-input govuk-date-input__input govuk-input--width-2"\n [ngClass]="{\'govuk-input--error\': errorMessage?.isInvalid}"\n [id]="config.id+\'-month\'"\n [name]="config.id+\'-month\'" type="number" value="" pattern="[0-9]*"\n [formControlName]="config.id+\'_month\'">\n </div>\n </div>\n <div class="govuk-date-input__item">\n <div class="govuk-form-group">\n <xuilib-gov-label\n [config]="{label: \'Year\', name: config.id+\'-year\', id: config.id+\'-year\', classes: \'govuk-date-input__label\'}">\n </xuilib-gov-label>\n <input class="govuk-input govuk-date-input__input govuk-input--width-4"\n [ngClass]="{\'govuk-input--error\': errorMessage?.isInvalid}"\n [id]="config.id+\'-year\'"\n [name]="config.id+\'-year\'" type="number" value="" pattern="[0-9]*"\n [formControlName]="config.id+\'_year\'">\n </div>\n </div>\n </div>\n </xuilib-gov-uk-fieldset>\n </div>\n</div>\n',styles:[".govuk-form-group .date-input-container{margin-bottom:30px}.govuk-form-group .date-input-container .govuk-date-input .govuk-date-input__item .govuk-form-group{margin-bottom:0}"]}]}],je.ctorParameters=function(){return[]},je.propDecorators={config:[{type:t.Input}],errorMessage:[{type:t.Input}],formGroup:[{type:t.Input}],isOptional:[{type:t.Input}]};var Be=function(){};Be.decorators=[{type:t.Component,args:[{selector:" xuilib-gov-uk-error-message",template:'<span class="govuk-error-message" [id]="config.id + \'-error\'" *ngFor="let message of errorMessage?.messages">\n <span class="govuk-visually-hidden">Error:</span>{{message}}\n</span>'}]}],Be.ctorParameters=function(){return[]},Be.propDecorators={config:[{type:t.Input}],errorMessage:[{type:t.Input}]};var Re=function(){function e(){}return e.prototype.setDescribedBy=function(){return De.setDescribedBy(this.errorMessage,this.config)},e}();Re.decorators=[{type:t.Component,args:[{selector:"xuilib-gov-uk-fieldset",template:'<fieldset class="govuk-fieldset" [attr.aria-describedby]="setDescribedBy()">\n <legend [class]="config.classes + \' govuk-fieldset__legend\'" *ngIf="!config.isPageHeading">\n {{config.legend}}\n </legend>\n\n <legend [class]="config.classes + \' govuk-fieldset__legend\'" *ngIf="config.isPageHeading">\n <h1>{{config.legend}}</h1>\n </legend>\n\n <span [id]="config.id+\'-hint\'" class="govuk-hint" *ngIf="config.hint">\n {{config.hint}}\n </span>\n <ng-content></ng-content>\n</fieldset>'}]}],Re.ctorParameters=function(){return[]},Re.propDecorators={config:[{type:t.Input}],errorMessage:[{type:t.Input}]};var Ve=function(){function e(){this.reloadInput=!0}return e.prototype.ngOnInit=function(){this.config.classes="govuk-label--m"},e.prototype.setDescribedBy=function(){return De.setDescribedBy(this.errorMessage,this.config)},e}();Ve.decorators=[{type:t.Component,args:[{selector:"xuilib-gov-uk-file-upload",template:'<div class="govuk-form-group" [formGroup]="group"\n [ngClass]="{\'govuk-form-group--error\': errorMessage?.isInvalid}">\n\n <xuilib-gov-label [config]="config"></xuilib-gov-label>\n\n <span *ngIf="config.hint" [id]="config.id +\'-hint\'" class="govuk-hint">\n {{config.hint}}\n </span>\n\n <xuilib-gov-uk-error-message [config]="config" [errorMessage]="errorMessage"></xuilib-gov-uk-error-message>\n\n <input class="govuk-file-upload"\n *ngIf="reloadInput"\n [formControlName]="config.id"\n [ngClass]="{\'govuk-file-upload--error\': errorMessage?.isInvalid}"\n [id]="config.id" [name]="config.name"\n [attr.aria-describedby]="setDescribedBy()"\n type="file">\n </div>'}]}],Ve.ctorParameters=function(){return[]},Ve.propDecorators={errorMessage:[{type:t.Input}],group:[{type:t.Input}],config:[{type:t.Input}]};var Ge=function(){};Ge.decorators=[{type:t.Component,args:[{selector:"xuilib-gov-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>'}]}],Ge.ctorParameters=function(){return[]},Ge.propDecorators={error:[{type:t.Input}],group:[{type:t.Input}],config:[{type:t.Input}]};var ze=function(){function e(){}return e.prototype.ngOnInit=function(){this.config.classes="string"==typeof this.config.classes?this.config.classes:"govuk-label govuk-label--m"},e.prototype.setDescribedBy=function(){return De.setDescribedBy(this.errorMessage,this.config)},e}();ze.decorators=[{type:t.Component,args:[{selector:"xuilib-gov-uk-input",template:'<div class="govuk-form-group gov-uk-input" [formGroup]="group"\n[ngClass]="{\'govuk-form-group--error\': errorMessage?.isInvalid}">\n\n<xuilib-gov-label [config]="config"></xuilib-gov-label>\n\n<span *ngIf="config.hint" [id]="config.id +\'-hint\'" class="govuk-hint">\n {{config.hint}}\n</span>\n\n<xuilib-gov-uk-error-message [config]="config" [errorMessage]="errorMessage"></xuilib-gov-uk-error-message>\n\n<input class="govuk-input"\n [class.govuk-!-width-full]="config.fullWidth"\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}"]}]}],ze.ctorParameters=function(){return[]},ze.propDecorators={errorMessage:[{type:t.Input}],group:[{type:t.Input}],config:[{type:t.Input}]};var We=function(){};We.decorators=[{type:t.Component,args:[{selector:"xuilib-gov-label",template:'<h1 *ngIf="config.isPageHeading else noHeading">\n <label *ngIf="config.label" [for]="config.id" [class]="config.classes + \' govuk-label\'">\n <span>{{ config.label }}</span>\n <span class="govuk-label__optional" *ngIf="config.optional">(optional)</span>\n </label>\n</h1>\n<ng-template #noHeading>\n <label *ngIf="config.label" [for]="config.id" [class]="config.classes + \' govuk-label\'">\n <span>{{ config.label }}</span>\n <span class="govuk-label__optional" *ngIf="config.optional">(optional)</span>\n </label>\n</ng-template>\n',styles:[".govuk-label{display:flex;align-items:center;flex-wrap:wrap}.govuk-label__optional{font-weight:400;font-size:16px;display:inline-block;margin-left:.75rem}"]}]}],We.ctorParameters=function(){return[]},We.propDecorators={config:[{type:t.Input}]};var He=function(){function e(){}return e.prototype.ngOnInit=function(){var e=this.config.focusOn?this.config.focusOn:this.config.value;this.config.id=e,this.config.classes=this.config.classes?this.config.classes.concat(" govuk-radios__label"):"govuk-radios__label"},e}();He.decorators=[{type:t.Component,args:[{selector:"xuilib-gov-radio",template:'<div class="govuk-radios__item" [formGroup]="group">\n <input [className]="\'govuk-radios__input \' + config.classes"\n [id]="config.id"\n [value]="config.value" type="radio"\n [attr.data-aria-controls]="config.id"\n [name]="config.name"\n [formControl]="group.controls[config.name]">\n <xuilib-gov-label appRemoveHost [config]="config"></xuilib-gov-label>\n</div>'}]}],He.ctorParameters=function(){return[]},He.propDecorators={group:[{type:t.Input}],config:[{type:t.Input}]};var $e=function(){};$e.decorators=[{type:t.Component,args:[{selector:"xuilib-gov-uk-radios",template:'<xuilib-gov-uk-form-group-wrapper\n[error]="errors"\n[config]="options.config"\n[group]="options.key">\n<div class="govuk-radios">\n <xuilib-gov-radio\n appRemoveHost\n *ngFor="let item of options.items"\n [group]="options.group"\n [config]="item.config">\n </xuilib-gov-radio>\n</div>\n</xuilib-gov-uk-form-group-wrapper>'}]}],$e.propDecorators={options:[{type:t.Input}],errors:[{type:t.Input}]};var qe=function(){function e(){}return e.prototype.setDescribedBy=function(){return De.setDescribedBy(this.errorMessage,this.config)},e}();qe.decorators=[{type:t.Component,args:[{selector:"xuilib-gov-select",template:'<div class="govuk-form-group" [formGroup]="group"\n[ngClass]="{\'govuk-form-group--error\': errorMessage?.isInvalid}">\n<xuilib-gov-label [config]="config"></xuilib-gov-label>\n<span *ngIf="config.hint" [id]="config.id +\'-hint\'" class="govuk-hint">\n {{config.hint}}\n</span>\n<xuilib-gov-uk-error-message [config]="config" [errorMessage]="errorMessage"></xuilib-gov-uk-error-message>\n\n<select class="govuk-select"\n [class.govuk-!-width-full]="config.fullWidth"\n [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>\n'}]}],qe.ctorParameters=function(){return[]},qe.propDecorators={errorMessage:[{type:t.Input}],group:[{type:t.Input}],config:[{type:t.Input}],items:[{type:t.Input}]};var Je=function(){function e(){this.classes="",this.caption="Dates and amounts",this.firstCellIsHeader=!0,this.columnConfig=[{header:"Date",key:"date",type:"text"},{header:"Amount",key:"amount"}]}return e.prototype.formatDate=function(e){return n.formatDate(e,"dd/MM/yyyy","en-UK")},e}();Je.decorators=[{type:t.Component,args:[{selector:"xuilib-gov-uk-table",template:'<table class="{{\'govuk-table \' + classes}}">\n <caption class="govuk-table__caption">{{caption}}</caption>\n <thead class="govuk-table__head" >\n <tr class="govuk-table__row">\n <th class="govuk-table__header" scope="col" *ngFor="let h of columnConfig">{{h.header}}</th>\n </tr>\n </thead>\n <tbody class="govuk-table__body">\n <tr data-selector="table-row" class="govuk-table__row" *ngFor="let r of rows">\n <ng-container *ngFor="let col of columnConfig; first as isFirst">\n <th data-selector="table-header" class="govuk-table__header" scope="row" *ngIf="isFirst && firstCellIsHeader">\n <ng-container *ngIf="!col.type || col.type === \'text\' || !r.routerLink">{{r[col.key]}}</ng-container>\n <ng-container *ngIf="col.type === \'link\' && r.routerLink">\n <a class="govuk-link" [routerLink]="r.routerLink">{{r[col.key]}}</a>\n </ng-container>\n </th>\n <td data-selector="table-cell" class="govuk-table__cell" *ngIf="!(isFirst && firstCellIsHeader)">\n <ng-container *ngIf="col.type === \'date\'">{{formatDate(r[col.key])}}</ng-container>\n <ng-container *ngIf="!col.type || col.type === \'text\' || !r.routerLink">{{r[col.key]}}</ng-container>\n <ng-container *ngIf="col.type === \'link\' && r.routerLink">\n <a class="govuk-link" [routerLink]="r.routerLink">{{r[col.key]}}</a>\n </ng-container>\n </td>\n </ng-container>\n </tr>\n </tbody>\n</table>\n',styles:[""]}]}],Je.ctorParameters=function(){return[]},Je.propDecorators={classes:[{type:t.Input}],caption:[{type:t.Input}],firstCellIsHeader:[{type:t.Input}],rows:[{type:t.Input}],columnConfig:[{type:t.Input}]};var Ke=function(){this.header="",this.key="",this.type="text"},Ye=function(){function e(){}return e.prototype.setDescribedBy=function(){return De.setDescribedBy(this.errorMessage,this.config)},e}();Ye.decorators=[{type:t.Component,args:[{selector:"xuilib-gov-uk-textarea",template:'<div [formGroup]="group" \nclass="govuk-form-group" [ngClass]="{\'govuk-form-group--error\': errorMessage?.isInvalid}">\n<xuilib-gov-label [config]="config"></xuilib-gov-label>\n<span id="more-detail-hint" class="govuk-hint">\n {{config.hint}}\n</span>\n<xuilib-gov-uk-error-message [config]="config" [errorMessage]="errorMessage"></xuilib-gov-uk-error-message>\n<textarea\n class="govuk-textarea" [formControlName]="config.key"\n [ngClass]="{\'govuk-textarea--error\': errorMessage?.isInvalid}"\n [id]="config.id" name="more-detail" [rows]="config.rows" [attr.aria-describedby]="setDescribedBy()"></textarea>\n</div>'}]}],Ye.propDecorators={config:[{type:t.Input}],errorMessage:[{type:t.Input}],group:[{type:t.Input}]};var Qe=function(){this.title="",this.showMessageIcon=!1,this.messageBoldText=!1};Qe.decorators=[{type:t.Component,args:[{selector:"xuilib-hmcts-banner",template:'<ng-container *ngIf="message && type">\n <div *ngIf="title"\n class="hmcts-banner-title hmcts-banner-title--{{ type }}">\n {{ title }}\n </div>\n <div class="hmcts-banner hmcts-banner--{{ type }}">\n <ng-container *ngIf="showMessageIcon">\n <ng-container [ngSwitch]="type">\n <ng-container *ngSwitchCase="\'warning\'">\n <svg class="hmcts-banner__icon hmcts-banner__icon--warning" 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"></path>\n </svg>\n </ng-container>\n <ng-container *ngSwitchCase="\'success\'">\n <svg class="hmcts-banner__icon hmcts-banner__icon--success" 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="M25,6.2L8.7,23.2L0,14.1l4-4.2l4.7,4.9L21,2L25,6.2z"></path>\n </svg>\n </ng-container>\n <ng-container *ngSwitchCase="\'information\'">\n <svg class="hmcts-banner__icon hmcts-banner__icon--information" 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.7,18.5h-2.4v-2.4h2.4V18.5z M12.5,13.7c-0.7,0-1.2-0.5-1.2-1.2V7.7c0-0.7,0.5-1.2,1.2-1.2s1.2,0.5,1.2,1.2v4.8\n C13.7,13.2,13.2,13.7,12.5,13.7z M12.5,0.5c-6.6,0-12,5.4-12,12s5.4,12,12,12s12-5.4,12-12S19.1,0.5,12.5,0.5z"></path>\n </svg>\n </ng-container>\n </ng-container>\n </ng-container>\n\n <div class="hmcts-banner__message" [class.hmcts-banner__message--bold]="messageBoldText">\n <span class="hmcts-banner__assistive">{{ type }}</span>\n <span class="hmcts-banner__message-text govuk-!-font-weight-bold">{{ message }}</span>\n </div>\n </div>\n</ng-container>\n',styles:[".hmcts-banner-title{color:#fff;background-color:#1d70b8;font-weight:700;padding:10px 15px 5px}.hmcts-banner-title--success{background-color:#00703c}.hmcts-banner-title--warning{background-color:#d4351c}.hmcts-banner__message--bold{font-weight:700}"]}]}],Qe.propDecorators={message:[{type:t.Input}],type:[{type:t.Input}],title:[{type:t.Input}],showMessageIcon:[{type:t.Input}],messageBoldText:[{type:t.Input}]};var Xe=function(){function e(e){this.document=e}return Object.defineProperty(e.prototype,"errorMessages",{set:function(e){this.messages=e},enumerable:!1,configurable:!0}),e.prototype.ngAfterViewInit=function(){this.scrollTo("errorSummary")},e.prototype.ngOnChanges=function(e){e.errorMessages&&this.scrollTo("errorSummary")},e.prototype.scrollTo=function(e){this.document.querySelector("#"+e)&&this.document.querySelector("#"+e).focus()},e.prototype.hasElement=function(e){return this.document.querySelector("#"+e)},e}();Xe.decorators=[{type:t.Component,args:[{selector:"xuilib-hmcts-error-summary",template:'<div *ngIf="!showWarningMessage && messages && messages.length > 0" id="errorSummary" class="govuk-error-summary" aria-labelledby="error-summary-title" role="alert" tabindex="-1"\n data-module="error-summary">\n <h2 class="govuk-error-summary__title" id="error-summary-title">\n {{header}}\n </h2>\n <div class="govuk-error-summary__body">\n <ul class="govuk-list govuk-error-summary__list">\n <li *ngFor="let message of messages">\n <a (click)="scrollTo(message[\'id\'])" [routerLink]="" [fragment]="message[\'id\']"\n *ngIf="hasElement(message[\'id\'])">{{message[\'message\']}}</a>\n <span *ngIf="!hasElement(message[\'id\'])">{{message[\'message\']}}</span>\n </li>\n </ul>\n </div>\n</div>\n<div *ngIf="showWarningMessage" class="hmcts-banner hmcts-banner--warning">\n <svg class="hmcts-banner__icon" fill="currentColor" role="presentation" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 25 25" height="25" width="25">\n <path d="M13.6,15.4h-2.3v-4.5h2.3V15.4z M13.6,19.8h-2.3v-2.2h2.3V19.8z M0,23.2h25L12.5,2L0,23.2z" /></svg>\n <div class="hmcts-banner__message">\n <span class="hmcts-banner__assistive">Warning</span>\n <p class="govuk-body" *ngFor="let message of messages">{{ message[\'message\'] }}</p>\n </div>\n</div>'}]}],Xe.ctorParameters=function(){return[{type:void 0,decorators:[{type:t.Inject,args:[n.DOCUMENT]}]}]},Xe.propDecorators={errorMessages:[{type:t.Input}],header:[{type:t.Input}],showWarningMessage:[{type:t.Input}]};var Ze=function(){function e(){}return Object.defineProperty(e.prototype,"content",{set:function(e){this.value=e.name},enumerable:!1,configurable:!0}),e}();Ze.decorators=[{type:t.Component,args:[{selector:"xuilib-hmcts-identity-bar",template:'<div class="hmcts-identity-bar" *ngIf="value">\n\n <div class="hmcts-identity-bar__container">\n\n <div class="hmcts-identity-bar__details">\n \n <span class="hmcts-identity-bar__title">{{value}}</span>\n \n </div> \n\n </div>\n\n</div>',styles:[""]}]}],Ze.ctorParameters=function(){return[]},Ze.propDecorators={content:[{type:t.Input}]};var et=function(){function e(){this.backEvent=new t.EventEmitter}return Object.defineProperty(e.prototype,"banner",{set:function(e){this.bannerData=e},enumerable:!1,configurable:!0}),e.prototype.ngOnInit=function(){this.hasBackLink=void 0!==this.backLink||this.backEvent.observers.length>0},e.prototype.onGoBack=function(){this.backEvent.emit()},e}();et.decorators=[{type:t.Component,args:[{selector:"xuilib-hmcts-main-wrapper",template:'<a *ngIf="hasBackLink" [routerLink]="backLink" (click)="onGoBack()" class="govuk-back-link">Back</a>\n<main id="content" role="main" class="govuk-main-wrapper">\n <div class="govuk-grid-row">\n <div class="govuk-grid-column-two-thirds">\n <xuilib-hmcts-error-summary\n *ngIf="summaryErrors && !summaryErrors.isFromValid"\n [errorMessages]="summaryErrors.items"\n [header]="summaryErrors.header"\n [showWarningMessage]="showWarningMessage">\n </xuilib-hmcts-error-summary>\n <xuilib-hmcts-banner *ngIf="bannerData"\n [type]="bannerData.type"\n [message]="bannerData.message"\n ></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'}]}],et.ctorParameters=function(){return[]},et.propDecorators={backLink:[{type:t.Input}],title:[{type:t.Input}],summaryErrors:[{type:t.Input}],banner:[{type:t.Input}],actionButtons:[{type:t.Input}],showWarningMessage:[{type:t.Input}],backEvent:[{type:t.Output}]};var tt=function(){this.maxSize=7,this.pageSize=10,this.showPageNumbers=!0,this.showResultCount=!0,this.pageChange=new t.EventEmitter,this.pageBoundsCorrection=new t.EventEmitter};tt.decorators=[{type:t.Component,args:[{selector:"xuilib-hmcts-pagination",template:'<pagination-template #p="paginationApi" [id]="id" [maxSize]="maxSize" (pageChange)="pageChange.emit($event)"\n (pageBoundsCorrection)="pageBoundsCorrection.emit($event)">\n\n <nav class="hmcts-pagination" id="pagination-label">\n <p class="govuk-visually-hidden" aria-labelledby="pagination-label">Pagination navigation</p>\n <ul class="hmcts-pagination__list" *ngIf="!(p.pages.length <= 1)">\n\n <li class="hmcts-pagination__item hmcts-pagination__item--prev" [class.disabled]="p.isFirstPage()">\n <a [routerLink]="" class="hmcts-pagination__link" *ngIf="1 < p.getCurrent()" (keyup.enter)="p.previous()"\n (click)="p.previous()">Previous <span class="govuk-visually-hidden">set of pages</span></a>\n </li>\n\n <ng-container *ngIf="showPageNumbers">\n <li class="hmcts-pagination__item" [class.hmcts-pagination__item--active]="p.getCurrent() === page.value"\n [class.hmcts-pagination__item--dots]="page.label === \'...\'" *ngFor="let page of p.pages">\n <a class="hmcts-pagination__link" [routerLink]="" (keyup.enter)="p.setCurrent(page.value)"\n (click)="p.setCurrent(page.value)" *ngIf="p.getCurrent() !== page.value">\n <span class="govuk-visually-hidden">page </span>\n <span>{{ (page.label === \'...\') ? page.label : (page.label | number:\'\') }}</span>\n </a>\n <ng-container *ngIf="p.getCurrent() === page.value">\n <span>{{ (page.label === \'...\') ? page.label : (page.label | number:\'\') }}</span>\n </ng-container>\n </li>\n </ng-container>\n\n <li class="hmcts-pagination__item hmcts-pagination__item--next" [class.disabled]="p.isLastPage()">\n <a [routerLink]="" class="hmcts-pagination__link" *ngIf="!p.isLastPage()" (keyup.enter)="p.next()"\n (click)="p.next()">Next<span class="govuk-visually-hidden"> page</span></a>\n </li>\n\n </ul>\n <p class="hmcts-pagination__results" *ngIf="showResultCount">Showing <b>{{(p.getCurrent() * pageSize) - pageSize + 1}}</b>\n to <b>{{ p.getCurrent() * pageSize > p.getTotalItems() ? p.getTotalItems() : p.getCurrent() *\n pageSize}}</b> of <b>{{p.getTotalItems()}}</b> results</p>\n </nav>\n\n</pagination-template>',styles:[".hmcts-pagination__results{float:right}"]}]}],tt.propDecorators={id:[{type:t.Input}],maxSize:[{type:t.Input}],pageSize:[{type:t.Input}],showPageNumbers:[{type:t.Input}],showResultCount:[{type:t.Input}],pageChange:[{type:t.Output}],pageBoundsCorrection:[{type:t.Output}]};var nt=function(){function e(){}return Object.defineProperty(e.prototype,"userLoggedIn",{set:function(e){this.isUserLoggedIn=e},enumerable:!1,configurable:!0}),e}();nt.decorators=[{type:t.Component,args:[{selector:"xuilib-hmcts-primary-navigation",template:'<nav *ngIf="isUserLoggedIn" class="hmcts-primary-navigation" [attr.aria-label]="label">\n <div class="hmcts-primary-navigation__container">\n <div class="govuk-header__logo" *ngIf="isBrandedHeader"></div>\n <ul class="hmcts-primary-navigation__list">\n <li class="hmcts-primary-navigation__item" *ngFor="let item of items">\n <a class="hmcts-primary-navigation__link" [attr.aria-current]="item.active ? true: null" [routerLink]="item.href" [innerHTML]="item.text"></a>\n </li>\n </ul>\n </div>\n</nav>\n',styles:[""]}]}],nt.ctorParameters=function(){return[]},nt.propDecorators={userLoggedIn:[{type:t.Input}],label:[{type:t.Input}],items:[{type:t.Input}],isBrandedHeader:[{type:t.Input}]};var ot=function(){};ot.decorators=[{type:t.Component,args:[{selector:"xuilib-hmcts-sub-navigation",template:'<nav class="hmcts-sub-navigation" attr.aria-label="{{label}}" role="navigation" *ngIf="items">\n <ul class="hmcts-sub-navigation__list">\n <li class="hmcts-sub-navigation__item" *ngFor="let item of items">\n <a data-selector="sub-nav-link" class="hmcts-sub-navigation__link" [routerLink]="item.href"\n [attr.aria-current]="item.active ? \'page\' : null">\n {{item.text}}\n\n <span *ngIf="item.roundel && item.roundel > 0 " class="xui-alert-link__number"> {{item.roundel}} </span>\n </a>\n </li>\n </ul>\n</nav>\n',styles:[".xui-alert-link__number{font-family:nta,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-size:14px;font-size:.875rem;line-height:1.78571;border-radius:50%;background-color:#1d70b8;color:#fff;font-weight:700;width:25px;height:25px;margin-left:5px;text-align:center;display:inline-block;text-decoration:none}"]}]}],ot.propDecorators={label:[{type:t.Input}],items:[{type:t.Input}]};var it=function(){function e(e){this.el=e}return e.prototype.ngOnInit=function(){for(var e=this.el.nativeElement,t=e.parentElement;e.firstChild;)t.insertBefore(e.firstChild,e);t.removeChild(e)},e}();it.decorators=[{type:t.Directive,args:[{selector:"[appRemoveHost]"}]}],it.ctorParameters=function(){return[{type:t.ElementRef}]};var st=function(){function e(){}return e.prototype.transform=function(e){var t=e.toLowerCase();return t.charAt(0).toUpperCase()+t.slice(1)},e}();st.decorators=[{type:t.Pipe,args:[{name:"capitalize"}]}];var rt=[Le,ne,ee,te,Z,A,Te,Ee,U,ie,oe,B,j,Q,K,z,W,G,Y,X,_,N,E,H,q,R,D,ce,_e,xe,ye,Ne,be,Oe,Me,Ce,ke],at=[Ze,tt,ot,nt,Xe,et,Qe,Je,ze,Pe,Ge,We,Be,Re,je,Ue,He,$e,qe,Ye,Ve,it],lt=[st],ct=ae,ut=function(){};ut.decorators=[{type:t.NgModule,args:[{declarations:F(rt,at,lt),imports:[n.CommonModule,o.FormsModule,o.ReactiveFormsModule,r.RouterModule.forChild([]),c.MatAutocompleteModule,d.MatTabsModule,u.MatInputModule,p.NgxPaginationModule],providers:[{provide:re,useFactory:ct}],exports:F(rt,at,[p.PaginatePipe],lt)}]}];var dt=function(){};dt.ɵprov=b.ɵɵdefineInjectable({factory:function(){return new dt},token:dt,providedIn:"root"}),dt.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],dt.ctorParameters=function(){return[]};var pt=function(){function e(e,t){this.featureToggleService=e,this.router=t}return e.prototype.canActivate=function(e){var t=this;return i.combineLatest.apply(void 0,F(e.data.needsFeaturesEnabled.map((function(e){return t.featureToggleService.getValueOnce(e,!1)})))).pipe(s.map((function(e){return e.every((function(e){return e}))})),s.map((function(n){return n||t.router.parseUrl(e.data.featureDisabledRedirect)})))},e}();pt.ɵprov=b.ɵɵdefineInjectable({factory:function(){return new pt(b.ɵɵinject($),b.ɵɵinject(k.Router))},token:pt,providedIn:"root"}),pt.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],pt.ctorParameters=function(){return[{type:$},{type:r.Router}]};var gt=function(){function e(){this.ready=new i.BehaviorSubject(!1),this.features={},this.user={anonymous:!0},this.clientId=""}return e.prototype.initialize=function(e,t){var n=this;void 0===e&&(e={anonymous:!0}),this.ready.next(!1),this.user=e,this.clientId=t,this.client=S.initialize(this.clientId,this.user,{}),this.client.on("ready",(function(){n.client.identify(n.user).then((function(){return n.ready.next(!0)}))}))},e.prototype.isEnabled=function(e){return this.getValue(e,!1)},e.prototype.getArray=function(e){return this.getValue(e,[])},e.prototype.getValue=function(e,t){var n=this;return this.features.hasOwnProperty(e)||(this.features[e]=new i.BehaviorSubject(t),this.ready.pipe(s.filter((function(e){return e})),s.map((function(){return n.client.variation(e,t)}))).subscribe((function(t){n.features[e].next(t),n.client.on("change:"+e,(function(t){n.features[e].next(t)}))}))),this.features[e].pipe(s.distinctUntilChanged())},e.prototype.getValueOnce=function(e,t){var n=this;return this.ready.pipe(s.filter((function(e){return e})),s.map((function(){return n.client.variation(e,t)})))},e}();gt.ɵprov=b.ɵɵdefineInjectable({factory:function(){return new gt},token:gt,providedIn:"root"}),gt.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}];var ht=function(){function e(e,t,n,o){this.router=e,this.title=t,this.window=n,this.document=o}return e.prototype.init=function(e){this.googleAnalyticsKey=e;try{var t=this.document.createElement("script");t.async=!0,t.src="https://www.googletagmanager.com/gtag/js?id="+this.googleAnalyticsKey,this.document.head.appendChild(t);var n=this.document.createElement("script");n.innerHTML="\n window.dataLayer = window.dataLayer || [];\n function gtag(){dataLayer.push(arguments);}\n gtag('js', new Date());\n gtag('config', '"+this.googleAnalyticsKey+"', {'send_page_view': false});\n ",this.document.head.appendChild(n)}catch(e){console.error("Error appending google analytics"),console.error(e)}this.listenForRouteChanges()},e.prototype.listenForRouteChanges=function(){var e=this;this.googleAnalyticsKey&&this.router.events.subscribe((function(t){t instanceof r.NavigationEnd&&e.window.gtag("config",e.googleAnalyticsKey,{page_path:t.urlAfterRedirects,page_title:e.title.getTitle()})}))},e.prototype.event=function(e,t){this.window.gtag("event",e,t)},e}();ht.ɵprov=b.ɵɵdefineInjectable({factory:function(){return new ht(b.ɵɵinject(k.Router),b.ɵɵinject(I.Title),b.ɵɵinject(re),b.ɵɵinject(y.DOCUMENT))},token:ht,providedIn:"root"}),ht.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],ht.ctorParameters=function(){return[{type:r.Router},{type:h.Title},{type:void 0,decorators:[{type:t.Inject,args:[re]}]},{type:void 0,decorators:[{type:t.Inject,args:[n.DOCUMENT]}]}]};var mt=function(){function e(e,t,n,o){this.router=e,this.title=t,this.window=n,this.document=o}return e.prototype.init=function(e){this.googleTagManagerKey=e;try{this.window.dataLayer=this.window.dataLayer||[],this.window.dataLayer.push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var t=this.document.createElement("script");t.async=!0,t.src="https://www.googletagmanager.com/gtm.js?id="+this.googleTagManagerKey,this.document.head.appendChild(t)}catch(e){console.error("Error appending google tag manager"),console.error(e)}this.listenForRouteChanges()},e.prototype.listenForRouteChanges=function(){var e=this;this.googleTagManagerKey&&this.router.events.subscribe((function(t){t instanceof r.NavigationEnd&&e.window.dataLayer.push({event:"pageview",page:{path:t.urlAfterRedirects,title:e.title.getTitle()}})}))},e.prototype.event=function(e,t){this.window.dataLayer.push({event:e,params:t})},e}();mt.ɵprov=b.ɵɵdefineInjectable({factory:function(){return new mt(b.ɵɵinject(k.Router),b.ɵɵinject(I.Title),b.ɵɵinject(re),b.ɵɵinject(y.DOCUMENT))},token:mt,providedIn:"root"}),mt.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],mt.ctorParameters=function(){return[{type:r.Router},{type:h.Title},{type:void 0,decorators:[{type:t.Inject,args:[re]}]},{type:void 0,decorators:[{type:t.Inject,args:[n.DOCUMENT]}]}]};var ft=function(){function e(e,t){this.idle=e,this.keepalive=t,this.appStateEmitter=new i.Subject}return e.prototype.init=function(e){var t=this;this.idle.setIdleName(e.idleServiceName),this.idle.setTimeout(e.timeout);var n=new m.DocumentInterruptSource("mousedown keydown DOMMouseScroll mousewheel touchstart touchmove scroll");this.idle.setInterrupts([n]),this.idle.onIdleEnd.pipe(s.delay(250)).subscribe((function(){t.appStateEmitter.next({type:"modal",countdown:void 0,isVisible:!1})})),this.idle.onTimeout.subscribe((function(){t.appStateEmitter.next({type:"signout"})})),this.idle.onTimeoutWarning.pipe(s.map((function(e){return e>60?Math.ceil(e/60)+" minutes":e+" seconds"})),s.distinctUntilChanged()).subscribe((function(e){t.appStateEmitter.next({type:"modal",countdown:e,isVisible:!0})})),this.keepalive.interval(e.keepAliveInSeconds),this.keepalive.onPing.subscribe((function(){t.appStateEmitter.next({type:"keepalive"})}));var o=Math.floor(e.idleMilliseconds/1e3)-e.timeout;this.idle.setIdle(o),this.idle.watch()},e.prototype.appStateChanges=function(){return this.appStateEmitter.asObservable()},e}();ft.ɵprov=b.ɵɵdefineInjectable({factory:function(){return new ft(b.ɵɵinject(w.Idle),b.ɵɵinject(x.Keepalive))},token:ft,providedIn:"root"}),ft.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],ft.ctorParameters=function(){return[{type:m.Idle},{type:f.Keepalive}]};var vt=function(){function e(e,t){this.idle=e,this.keepalive=t,this.millisecondsToSeconds=function(e){return e/1e3},this.eventEmitter=new i.Subject}return e.prototype.initialise=function(e){var t=this,n="mousedown keydown DOMMouseScroll mousewheel touchstart touchmove scroll",o=e.idleServiceName,i=e.idleModalDisplayTime,r=e.totalIdleTime;this.idle.setIdleName(o);var a=this.millisecondsToSeconds(i),l=this.millisecondsToSeconds(r);this.idle.setTimeout(a);var c=new m.DocumentInterruptSource(n),u=new m.WindowInterruptSource(n);this.idle.setInterrupts([c,u]),this.idle.onTimeout.subscribe((function(){t.eventEmitter.next({eventType:"sign-out"})})),this.idle.onTimeoutWarning.pipe(s.map((function(e){return e>60?Math.ceil(e/60)+" minutes":e+" seconds"})),s.distinctUntilChanged()).subscribe((function(e){t.eventEmitter.next({eventType:"countdown",readableCountdown:e})})),this.idle.onIdleStart.subscribe((function(){return console.log("You've gone idle!")})),this.idle.onIdleEnd.subscribe((function(){return console.log("You're no longer idle!")})),this.keepalive.interval(15),this.keepalive.onPing.subscribe((function(){t.eventEmitter.next({eventType:"keep-alive"})}));var d=Math.floor(l)-a;this.idle.setIdle(d),this.idle.watch()},e.prototype.notificationOnChange=function(){return this.eventEmitter.asObservable()},e}();vt.ɵprov=b.ɵɵdefineInjectable({factory:function(){return new vt(b.ɵɵinject(w.Idle),b.ɵɵinject(x.Keepalive))},token:vt,providedIn:"root"}),vt.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],vt.ctorParameters=function(){return[{type:m.Idle},{type:f.Keepalive}]};var bt,yt=function(){function e(){this.pRoles=new i.BehaviorSubject(null),this.roles$=this.pRoles.asObservable().pipe(s.skipWhile((function(e){return null===e})))}return Object.defineProperty(e.prototype,"roles",{set:function(e){this.pRoles.next(e)},enumerable:!1,configurable:!0}),e}();yt.ɵprov=b.ɵɵdefineInjectable({factory:function(){return new yt},token:yt,providedIn:"root"}),yt.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.RoleMatching=void 0,(bt=e.RoleMatching||(e.RoleMatching={}))[bt.ALL=0]="ALL",bt[bt.ANY=1]="ANY";var kt=function(){function t(e,t){this.roleService=e,this.router=t}return t.prototype.canActivate=function(t){var n=this;return this.roleService.roles$.pipe(s.map((function(o){var i=t.data.needsRole,s=function(e){var t=new RegExp(e);return o.some((function(e){return t.test(e)}))};return(t.data.roleMatching===e.RoleMatching.ALL?i.every(s):i.some(s))||n.router.parseUrl(t.data.noRoleMatchRedirect)})))},t}();kt.ɵprov=b.ɵɵdefineInjectable({factory:function(){return new kt(b.ɵɵinject(yt),b.ɵɵinject(k.Router))},token:kt,providedIn:"root"}),kt.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],kt.ctorParameters=function(){return[{type:yt},{type:r.Router}]};var Ct=function(){function e(){}return Object.defineProperty(e.prototype,"isLoading",{get:function(){},enumerable:!1,configurable:!0}),e}(),St=function(){function e(){this.registered=new Map,this.loading=new i.BehaviorSubject(!1)}return Object.defineProperty(e.prototype,"isLoading",{get:function(){return this.loading.asObservable().pipe(s.distinctUntilChanged())},enumerable:!1,configurable:!0}),e.prototype.register=function(){var e=this.generateToken();return this.registered.set(e,e),this.loading.next(!0),e},e.prototype.unregister=function(e){this.registered.delete(e),this.loading.next(this.registered.size>0)},e.prototype.generateToken=function(){return"common-lib-loading-"+window.performance.now()},e}();St.ɵprov=b.ɵɵdefineInjectable({factory:function(){return new St},token:St,providedIn:"root"}),St.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.AccessibilityComponent=_,e.AnonymousFeatureUser=ge,e.COMMON_COMPONENTS=rt,e.CheckboxListComponent=E,e.ContactDetailsComponent=A,e.CookieBannerComponent=ce,e.CookieService=se,e.DueDateComponent=N,e.ExuiCommonLibModule=ut,e.ExuiPageWrapperComponent=Le,e.FeatureToggleDirective=Te,e.FeatureToggleGuard=pt,e.FeatureToggleService=$,e.FilterService=M,e.FindLocationComponent=ye,e.FindPersonComponent=_e,e.GOV_UI_COMPONENTS=at,e.GenericFilterComponent=D,e.GoogleAnalyticsService=ht,e.GoogleTagManagerService=mt,e.GovUiService=dt,e.GovUkCheckboxComponent=Pe,e.GovUkCheckboxesComponent=Ue,e.GovUkDateComponent=je,e.GovUkErrorMessageComponent=Be,e.GovUkFieldsetComponent=Re,e.GovUkFileUploadComponent=Ve,e.GovUkFormGroupWrapperComponent=Ge,e.GovUkInputComponent=ze,e.GovUkLabelComponent=We,e.GovUkRadioComponent=He,e.GovUkRadiosComponent=$e,e.GovUkSelectComponent=qe,e.GovUkTextareaComponent=Ye,e.GovukTableColumnConfig=Ke,e.GovukTableComponent=Je,e.HasLoadingState=Ct,e.HmctsBannerComponent=Qe,e.HmctsErrorSummaryComponent=Xe,e.HmctsIdentityBarComponent=Ze,e.HmctsMainWrapperComponent=et,e.HmctsPaginationComponent=tt,e.HmctsPrimaryNavigationComponent=nt,e.HmctsSessionDialogComponent=U,e.HmctsSubNavigationComponent=ot,e.InviteUserFormComponent=j,e.InviteUserPermissionComponent=B,e.LaunchDarklyService=gt,e.LetContext=Fe,e.LetDirective=Ee,e.LoadingService=St,e.LoadingSpinnerComponent=R,e.LoggedInFeatureUser=he,e.ManageSessionServices=ft,e.PaginationComponent=ke,e.RadioFilterFieldConfig=me,e.RemoveHostDirective=it,e.RoleGuard=kt,e.RoleService=yt,e.SECONDS_IN_A_DAY=86400,e.SearchJudicialsComponent=xe,e.SearchLocationComponent=be,e.SearchVenueComponent=Ce,e.SelectedCaseComponent=W,e.SelectedCaseConfirmComponent=G,e.SelectedCaseListComponent=z,e.ServiceMessageComponent=H,e.ServiceMessagesComponent=q,e.ShareCaseComponent=Q,e.ShareCaseConfirmComponent=K,e.TabComponent=X,e.TcConfirmComponent=Z,e.TcDisplayHtmlComponent=ee,e.TcDisplayPlainComponent=te,e.TermsAndConditionsComponent=ne,e.TimeoutNotificationsService=vt,e.UserDetailsComponent=oe,e.UserListComponent=ie,e.UserSelectComponent=Y,e.checkboxesBeCheckedValidator=function(e){return void 0===e&&(e=1),function(t){var n=0;return Object.keys(t.controls).forEach((function(e){!0===t.controls[e].value&&n++})),n<e?{requireOneCheckboxToBeChecked:!0}:null}},e.dateValidator=function(){return function(e){var t=new Date(parseInt(e.controls.day.value,10),parseInt(e.controls.month.value,10)-1,parseInt(e.controls.year.value,10)-1);return t instanceof Date&&!isNaN(+t)?null:{dateIsInvalid:!0}}},e.radioGroupValidator=function(){return function(e){if(e.controls)for(var t in e.controls)if(!e.controls[t].valid)return{isRadioGroupInvalid:!0};return null}},e.windowProvider=ae,e.windowToken=re,e["ɵ0"]=ct,e["ɵa"]=Le,e["ɵb"]=ne,e["ɵba"]=H,e["ɵbb"]=q,e["ɵbc"]=R,e["ɵbd"]=D,e["ɵbe"]=M,e["ɵbf"]=ce,e["ɵbg"]=se,e["ɵbh"]=_e,e["ɵbi"]=we,e["ɵbj"]=ve,e["ɵbk"]=xe,e["ɵbl"]=ye,e["ɵbm"]=be,e["ɵbn"]=fe,e["ɵbo"]=Ne,e["ɵbp"]=Ae,e["ɵbq"]=Oe,e["ɵbr"]=Me,e["ɵbs"]=Ce,e["ɵbt"]=ke,e["ɵbu"]=Ze,e["ɵbv"]=tt,e["ɵbw"]=ot,e["ɵbx"]=nt,e["ɵby"]=Xe,e["ɵbz"]=et,e["ɵc"]=ee,e["ɵca"]=Qe,e["ɵcb"]=Je,e["ɵcc"]=ze,e["ɵcd"]=Pe,e["ɵce"]=Ge,e["ɵcf"]=We,e["ɵcg"]=Be,e["ɵch"]=Re,e["ɵci"]=je,e["ɵcj"]=Ue,e["ɵck"]=He,e["ɵcl"]=$e,e["ɵcm"]=qe,e["ɵcn"]=Ye,e["ɵco"]=Ve,e["ɵcp"]=it,e["ɵcq"]=st,e["ɵd"]=te,e["ɵe"]=Z,e["ɵf"]=A,e["ɵg"]=Te,e["ɵh"]=$,e["ɵi"]=Fe,e["ɵj"]=Ee,e["ɵk"]=U,e["ɵl"]=ie,e["ɵm"]=oe,e["ɵn"]=B,e["ɵo"]=j,e["ɵp"]=Q,e["ɵq"]=Y,e["ɵr"]=V,e["ɵs"]=K,e["ɵt"]=z,e["ɵu"]=W,e["ɵv"]=G,e["ɵw"]=X,e["ɵx"]=_,e["ɵy"]=N,e["ɵz"]=E,Object.defineProperty(e,"__esModule",{value:!0})}));
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/common"),require("@angular/forms"),require("rxjs"),require("rxjs/operators"),require("@angular/router"),require("@angular/common/http"),require("rxjs/internal/observable/of"),require("@angular/material/autocomplete"),require("@angular/material/input"),require("@angular/material/tabs"),require("ngx-pagination"),require("launchdarkly-js-client-sdk"),require("@angular/platform-browser"),require("@ng-idle/core"),require("@ng-idle/keepalive")):"function"==typeof define&&define.amd?define("@hmcts/rpx-xui-common-lib",["exports","@angular/core","@angular/common","@angular/forms","rxjs","rxjs/operators","@angular/router","@angular/common/http","rxjs/internal/observable/of","@angular/material/autocomplete","@angular/material/input","@angular/material/tabs","ngx-pagination","launchdarkly-js-client-sdk","@angular/platform-browser","@ng-idle/core","@ng-idle/keepalive"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).hmcts=e.hmcts||{},e.hmcts["rpx-xui-common-lib"]={}),e.ng.core,e.ng.common,e.ng.forms,e.rxjs,e.rxjs.operators,e.ng.router,e.ng.common.http,e.rxjs["internal/observable/of"],e.ng.material.autocomplete,e.ng.material.input,e.ng.material.tabs,e.ngxPagination,e.LDClient,e.ng.platformBrowser,e.i1$2,e.i2$1)}(this,(function(e,t,n,o,i,s,r,a,l,c,u,d,p,g,h,m,f){"use strict";function v(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var o=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,o.get?o:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var b=v(t),y=v(n),k=v(r),C=v(a),S=v(g),I=v(h),w=v(m),x=v(f),_=function(){};_.decorators=[{type:t.Component,args:[{selector:"xuilib-accessibility",template:'<h1 class="govuk-heading-xl" id="Accessibility-statement-for-Expert-UI">Accessibility statement for Expert UI</h1>\n\n<ul class="govuk-list">\n <li><a href="accessibility#immigration">Immigration and Asylum</a></li>\n <li><a href="accessibility#family">Family Public Law </a></li>\n</ul>\n\n<p class="govuk-body">This website is run by HM Courts & Tribunals Service. We want as many people as possible to be\n able to use this website. For example, you should be able to:</p>\n\n<ul class="govuk-list govuk-list--bullet">\n <li>change colours, contrast levels and fonts</li>\n <li>zoom in up to 300% without the text spilling off the screen</li>\n <li>navigate most of the website using just a keyboard</li>\n <li>navigate most of the website using speech recognition software</li>\n <li>listen to most of the website using a screen reader (including the most recent versions of JAWS, NVDA and\n VoiceOver)\n </li>\n</ul>\n\n<p class="govuk-body">We’ve also made the website text as simple as possible to understand.</p>\n\n<p class="govuk-body"><a rel="noopener noreferrer" target="_blank" href="https://mcmw.abilitynet.org.uk/">AbilityNet</a>\n has advice on making your device easier to use if you have a disability.</p>\n\n<h2 class="govuk-heading-l" id="How-accessible-this-website-is">How accessible this website is</h2>\n\n<p class="govuk-body">We know some parts of the website are not fully accessible:</p>\n\n<ul class="govuk-list govuk-list--bullet">\n <li>some pages are difficult to navigate using just a keyboard</li>\n <li>some pages can’t be listened to in full using a screen reader</li>\n <li>some pages have problems with colour contrasts between text and background</li>\n <li>some PDFs may not be fully accessible to a screen reader</li>\n</ul>\n\n<h2 class="govuk-heading-l" id="What-to-do-if-you-cannot-access-parts-of-this-website">Feedback and contact\n information</h2>\n\n<p class="govuk-body">If you need information on this website in a different format like accessible PDF, large print,\n easy read, audio recording or braille, you can:</p>\n\n<ul class="govuk-list govuk-list--bullet">\n <li>email: <a href="mailto:HMCTSforms@justice.gov.uk"> HMCTSforms@justice.gov.uk</a></li>\n <li>call: +44 (0) 300 123 1711</li>\n <li>contact your service representative</li>\n</ul>\n\n<p class="govuk-body">We’ll consider your request and get back to you in 10 working days.</p>\n\n<h2 class="govuk-heading-l" id="Reporting-accessibility-problems-with-this-website">Reporting accessibility problems\n with this website</h2>\n\n<p class="govuk-body">We’re always looking to improve the accessibility of this website. If you find any problems not\n listed on this page or think we’re not meeting accessibility requirements, contact:</p>\n\n<ul class="govuk-list govuk-list--bullet">\n <li>email: <a href="mailto:customer.service@justice.gov.uk"> customer.service@justice.gov.uk</a></li>\n <li>telephone: +44 (0) 300 123 1711</li>\n</ul>\n\n<h2 class="govuk-heading-l" id="Enforcement-procedure ">Enforcement procedure</h2>\n\n<p class="govuk-body">The Equality and Human Rights Commission (EHRC) is responsible for enforcing the Public Sector\n Bodies (Websites and Mobile Applications) (No. 2) Accessibility Regulations 2018 (the ‘accessibility\n regulations’). </p>\n\n<p class="govuk-body">If you’re not happy with how we respond to your complaint, <a rel="noopener noreferrer"\n target="_blank"\n href="https://www.equalityadvisoryservice.com/">contact\n the Equality Advisory and Support Service (EASS).</a></p>\n\n<h1 class="govuk-heading-l" id="Contacting-us-by-phone-or-visiting-us-in-person">Contacting us by phone or visiting us\n in person</h1>\n\n<p class="govuk-body">We provide a text relay service for people who are D/deaf, hearing impaired or have a speech\n impediment.</p>\n\n<p class="govuk-body">Our offices and tribunal venues have audio induction loops, or if you contact us before your visit\n we can arrange a British Sign Language (BSL) interpreter. You can also request step-free access or a foreign language\n interpreter.</p>\n\n<p class="govuk-body">If you have a question about accessibility in our Tribunal venues, you can contact the First-tier\n Tribunal enquiry line: +44 (0) 300 123 1711. You can <a target="_blank"\n href="https://courttribunalfinder.service.gov.uk/search/">find\n the contact details for court and tribunal venues</a>. </p>\n\n<p class="govuk-body">You can also contact your service representative for more information.</p>\n\n<h1 class="govuk-heading-l" id="Technical-information-about-this-website’s-accessibility">Technical information about\n this website’s accessibility</h1>\n\n<p class="govuk-body">HMCTS is committed to making its website accessible, in accordance with the Public Sector Bodies\n (Websites and Mobile Applications) (No.2) Accessibility Regulations 2018.</p>\n\n<p class="govuk-body">This website is partially compliant with the <a rel="noopener noreferrer" target="_blank"\n href="https://www.w3.org/TR/WCAG21/">Web Content\n Accessibility Guidelines version 2.1</a>, due to the non-compliances listed below.</p>\n\n<h1 class="govuk-heading-l" id="Non-accessible-content">Non-accessible content </h1>\n\n<p class="govuk-body">The content listed below is non-compliant for the following reasons.</p>\n\n<h2 class="govuk-heading-l" id="Non-compliance-with-the-accessibility-regulations">Non-compliance with the accessibility\n regulations</h2>\n\n<p class="govuk-body">Some pages cannot be navigated completely using just a keyboard, so some people won’t be able to\n tab through the pages. This fails WCAG 2.1 success criterion 2.1 (keyboard accessible).</p>\n\n<p class="govuk-body">Some pages can’t be listened to in full using a screen reader, so some people won’t be able to\n access the information. This fails WCAG 2.1 success criterion 1.2.5 (audio description – prerecorded).</p>\n\n<p class="govuk-body">Some of the contrast ratios don’t meet the current accessibility requirements. This fails WCAG 2.1\n success criterion 1.4.3 (contrast – minimum).</p>\n\n<h3 class="govuk-heading-m" id="immigration">Immigration and Asylum</h3>\n\n<p class="govuk-body">Some of the images on the service include text and are not accessible for some low vision users.\n We have identified a solution for this issue that we will implement as soon as possible.</p>\n\n<h3 class="govuk-heading-m" id="family">Family Public Law </h3>\n\n<ol class="govuk-list govuk-list--alpha">\n <li>The navigation system used in family public law cannot be rendered well by screen readers, so features can’t be\n listened to in full\n </li>\n <li>Some essential functions within the family public law digital service cannot be accessed properly using screen\n readers\n </li>\n <li>Some complex forms within the service will not be rendered correctly or cannot be listened to by screen readers\n </li>\n</ol>\n\n<h2 class="govuk-heading-m" id="Disproportionate burden ">Disproportionate burden </h2>\n\n<p class="govuk-body">For Manage organisation, Register organisation, Approve organisations and Manage cases, we found\n the following issues that are currently being triaged to find out if there is a disproportionate burden:</p>\n\n<ol class="govuk-list govuk-list--alpha">\n <li>Screen readers can’t switch between headers, read content in tabs and buttons</li>\n <li>Screen readers can’t tab between radio buttons, read links or content</li>\n <li>Colour contrast ratios uneven between page background and content</li>\n <li>Some labels, fields, error messages and other content can’t be clearly identified by screen readers and voice\n activation software\n </li>\n <li>Some page headings and titles don’t follow a logical structure for screen readers</li>\n <li>The navigation of some pages isn’t clear</li>\n <li>Some headings, links and button labels aren’t clearly descriptive</li>\n</ol>\n\n<h2 class="govuk-heading-m" id="Content-that’s-not-within-the-scope-of-the-accessibility-regulations">Content that’s not\n within the scope of the accessibility regulations </h2>\n\n<p class="govuk-body">PDFs, documents and attachments to email notifications published before 23 September 2018 may not\n meet accessibility standards. For example, they may not be structured so they’re accessible to a screen reader.</p>\n\n<p class="govuk-body">Any new PDFs or Word documents we publish will meet accessibility standards.</p>\n\n<h1 class="govuk-heading-l" id="what-to-improve-accessibility">What we’re doing to improve accessibility</h1>\n\n<p class="govuk-body">We’re committed to ensuring our services are accessible to all our users and that they comply with\n level AA of the Web Content Accessibility Guidelines – WCAG 2.1.</p>\n\n<p class="govuk-body">We’re actively working to improve the identified issues and make them AA-compliant by 23 September\n 2020. We’re also continuing to improve all other AAA-level accessibility issues as we iterate the service.</p>\n\n<h1 class="govuk-heading-l" id="preparation-of-this-accessibility-statement">Preparation of this accessibility\n statement</h1>\n\n<p class="govuk-body">This statement was prepared on 16 September 2019. It was last reviewed on 16 September 2020.</p>\n\n<p class="govuk-body">This website was last tested on 19 May 2020. The test was carried out by the <a target="_blank"\n href="https://digitalaccessibilitycentre.org/">Digital\n Accessibility Centre (DAC)</a>.</p>\n\n<h3 class="govuk-heading-m">Family Private Law:</h3>\n\n<p class="govuk-body">This service has not yet been tested for accessibility issues. In the future, we will conduct an\n accessibility audit in order to find out if there are any accessibility issues. The accessibility statement will be\n updated with any relevant changes that we find.</p>\n\n<p class="govuk-body">If there are any issues with accessing information or using this website please contact:</p>\n\n<ol class="govuk-list govuk-list--bullet">\n <li>Nicola Whitcher - 02380 384324</li>\n <li>Hannah Townley - 02380 384313</li>\n</ol>',styles:[".govuk-list--alpha{padding-left:20px;list-style-type:lower-alpha}"]}]}],_.ctorParameters=function(){return[]};Object.create;function L(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],o=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&o>=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function T(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var o,i,s=n.call(e),r=[];try{for(;(void 0===t||t-- >0)&&!(o=s.next()).done;)r.push(o.value)}catch(e){i={error:e}}finally{try{o&&!o.done&&(n=s.return)&&n.call(s)}finally{if(i)throw i.error}}return r}function F(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(T(arguments[t]));return e}Object.create;var E=function(){function e(){this.options=[],this.selectionChange=new t.EventEmitter}return Object.defineProperty(e.prototype,"selection",{get:function(){return this.pSelection?F(this.pSelection):[]},set:function(e){this.pSelection=this.getSelection(e)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"allSelected",{get:function(){return this.selection.length===this.options.length},enumerable:!1,configurable:!0}),e.prototype.ngOnChanges=function(){this.setupPreselection(),this.checkSelection()},Object.defineProperty(e.prototype,"hasOptions",{get:function(){return this.options&&this.options.length>0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isFunctional",{get:function(){return this.labelFunction&&this.hasOptions},enumerable:!1,configurable:!0}),e.prototype.isSelected=function(e){return this.selection.includes(e)},e.prototype.toggleItemSelection=function(e){void 0===this.pSelection?this.pSelection=[e]:this.isSelected(e)?this.pSelection.splice(this.pSelection.indexOf(e),1):this.pSelection.push(e),this.pSelectionMade=!0,this.selectionChange.emit(this.selection)},e.prototype.toggleSelectAll=function(){this.allSelected?this.pSelection=[]:this.pSelection=F(this.options),this.pSelectionMade=!0,this.selectionChange.emit(this.pSelection)},e.prototype.containsItem=function(e,t){var n=this;if(this.isFunctional){var o=this.labelFunction(t);return e.some((function(e){return n.labelFunction(e)===o}))}return!1},Object.defineProperty(e.prototype,"hasPreselection",{get:function(){return this.preselection&&this.preselection.length>0},enumerable:!1,configurable:!0}),e.prototype.setupPreselection=function(){var e=this;if(this.isFunctional&&!this.pSelectionMade&&this.hasPreselection){var t=!0;this.pSelection&&(t=this.pSelection.filter((function(t){return!e.containsItem(e.preselection,t)})).length>0),t&&(this.pSelection=this.getSelection(this.preselection),this.selectionChange.emit(this.selection))}},e.prototype.getSelection=function(e){var t=this;return F(this.options.filter((function(n){return t.containsItem(e,n)})))},e.prototype.checkSelection=function(){var e=this;if(this.isFunctional){var t=this.selection.filter((function(t){return e.containsItem(e.options,t)}));t.length!==this.selection.length&&(this.pSelection=F(t),this.selectionChange.emit(this.selection))}},e}();E.decorators=[{type:t.Component,args:[{selector:"xuilib-checkbox-list",template:'<div class="xui-checkbox-list govuk-checkboxes govuk-checkboxes--small" *ngIf="isFunctional">\n <div class="select-all govuk-checkboxes__item">\n <input type="checkbox" id="select_all" class="govuk-checkboxes__input" [checked]="allSelected"\n (change)="toggleSelectAll()" />\n <label for="select_all" class="govuk-label govuk-checkboxes__label">Select all / Deselect all</label>\n </div>\n <div class="checkbox-items">\n <div *ngFor="let item of options; let i = index" class="govuk-checkboxes__item">\n <input type="checkbox" [id]="\'select_\' + i" class="govuk-checkboxes__input" [checked]="isSelected(item)"\n (change)="toggleItemSelection(item)" />\n <label [for]="\'select_\' + i" class="govuk-label govuk-checkboxes__label">{{labelFunction(item)}}</label>\n </div>\n </div>\n</div>\n',encapsulation:t.ViewEncapsulation.None,styles:[".xui-checkbox-list .select-all{margin-bottom:10px}.xui-checkbox-list .checkbox-items{display:flex;flex-direction:column;flex-wrap:wrap;height:100%;max-height:100%;align-items:flex-start;align-content:flex-start;width:100%;max-width:100%;overflow-x:scroll}"]}]}],E.propDecorators={options:[{type:t.Input}],preselection:[{type:t.Input}],labelFunction:[{type:t.Input}],selectionChange:[{type:t.Output}],selection:[{type:t.Input}]};var O,A=function(){};A.decorators=[{type:t.Component,args:[{selector:"xuilib-contact-details",template:'<div class="contact-details" *ngIf="data">\n <h3 class="govuk-heading-m" *ngIf="data.title">{{ data.title }}</h3>\n <p *ngIf="data.badgeText"><span [className]="\'hmcts-badge \' + data.badgeColour">{{ data.badgeText }}</span></p>\n <div class="email" *ngIf="data.email"><span class="govuk-!-font-weight-bold">Email: </span> <a href="mailto:{{ data.email }}">{{ data.email }}</a></div>\n <div class="phone" *ngIf="data.phone"><span class="govuk-!-font-weight-bold">Phone: </span>{{ data.phone }}</div>\n <div class="opening-times" *ngIf="data.openingTimes"><span class="govuk-!-font-weight-bold">Opening times: </span>{{ data.openingTimes}}</div>\n</div>\n\n',styles:[".contact-details{margin-top:30px}.contact-details h3,.contact-details p{margin-bottom:10px}"]}]}],A.ctorParameters=function(){return[]},A.propDecorators={data:[{type:t.Input}]},e.DateBadgeColour=void 0,(O=e.DateBadgeColour||(e.DateBadgeColour={})).RED="hmcts-badge--red",O.ORANGE="hmcts-badge--orange",O.GREEN="hmcts-badge--green";var N=function(){function t(){this.highUrgencyCutoff=0,this.mediumUrgencyCutoff=2}return Object.defineProperty(t.prototype,"badge",{get:function(){return this.pBadge},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"label",{get:function(){return this.pLabel},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"accessibleLabel",{get:function(){return this.pAccessibleLabel},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"daysDiff",{get:function(){return this.pDaysDiff},enumerable:!1,configurable:!0}),t.prototype.ngOnChanges=function(){this.handleInputChanges()},t.prototype.handleInputChanges=function(){if(this.dueDate)if(this.pDaysDiff=this.getDaysDifference(this.dueDate,new Date),this.daysDiff>0){this.pBadge=e.DateBadgeColour.RED;var t=1===this.daysDiff?"day":"days";this.pLabel="+"+this.daysDiff+" "+t,this.pAccessibleLabel="This task is "+this.daysDiff+" "+t+" past its due date"}else 0===this.daysDiff?(this.pLabel="TODAY",this.pAccessibleLabel="This task is due to be completed today"):(this.pLabel=""+n.formatDate(this.dueDate,"d MMM","en-GB"),this.pAccessibleLabel="This task is due to be completed by "+n.formatDate(this.dueDate,"d MMMM y","en-GB")),this.daysDiff+this.highUrgencyCutoff>0?this.pBadge=e.DateBadgeColour.RED:this.daysDiff+this.mediumUrgencyCutoff>0?this.pBadge=e.DateBadgeColour.ORANGE:this.pBadge=e.DateBadgeColour.GREEN},t.prototype.getDaysDifference=function(e,t){var n=e.getTime(),o=t.getTime(),i=Math.floor((o-n)/1e3);return Math.floor(i/86400)},t}();N.decorators=[{type:t.Component,args:[{selector:"xuilib-due-date",template:'<span *ngIf="dueDate" class="due-date hmcts-badge" [ngClass]="badge"\n [title]="accessibleLabel" [attr.aria-label]="accessibleLabel">\n {{label}}\n</span>',encapsulation:t.ViewEncapsulation.None,styles:[".due-date{white-space:nowrap}.due-date.hmcts-badge--orange{color:#f47738;border-color:#f47738}"]}]}],N.propDecorators={dueDate:[{type:t.Input}],highUrgencyCutoff:[{type:t.Input}],mediumUrgencyCutoff:[{type:t.Input}]};var M=function(){function e(){this.givenErrors=new i.BehaviorSubject(null),this.isInitialSetting=!1,this.filterSettings={},this.streams={}}return e.prototype.persist=function(e,t){switch(t){case"local":this.persistLocal(e);break;case"session":this.persistSession(e)}this.persistMemory(e),this.updateStreams(e)},e.prototype.get=function(e){return this.filterSettings[e]?this.filterSettings[e]:sessionStorage.getItem(e)?JSON.parse(sessionStorage.getItem(e)):localStorage.getItem(e)&&this.isSameUser(e)?JSON.parse(window.localStorage.getItem(e)):null},e.prototype.isSameUser=function(e){var t=JSON.parse(window.localStorage.getItem(e));return!!t.idamId&&t.idamId===this.getUserId()},e.prototype.getStream=function(e){return this.streams[e]||(this.streams[e]=new i.BehaviorSubject(this.get(e))),this.streams[e].asObservable()},e.prototype.clearSessionAndLocalPersistance=function(e){sessionStorage.removeItem(e),localStorage.removeItem(e),void 0!==this.filterSettings[e]&&(this.filterSettings[e]=null),void 0!==this.streams[e]&&this.streams[e].next(null)},e.prototype.persistLocal=function(e){e.idamId=this.getUserId(),window.localStorage.setItem(e.id,JSON.stringify(e))},e.prototype.persistSession=function(e){sessionStorage.setItem(e.id,JSON.stringify(e))},e.prototype.persistMemory=function(e){this.filterSettings[e.id]=e},e.prototype.updateStreams=function(e){this.streams[e.id]&&this.streams[e.id].next(e)},e.prototype.getUserId=function(){var e,t=window.sessionStorage.getItem("userDetails");if(t){var n=JSON.parse(t);e=n.id?n.id:n.uid}return e},e}();function P(e,t){return e.reduce((function(e,n,o){return t[o]?F(e,[n.key]):e}),[])}M.ɵprov=b.ɵɵdefineInjectable({factory:function(){return new M},token:M,providedIn:"root"}),M.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}];var D=function(){function e(e,t){var n=this;this.filterService=e,this.fb=t,this.submitted=!1,this.previousSelectedNestedCheckbox=[],this.clearFormArray=function(e){e.controls.forEach((function(e,t){"All"===e.value.key&&n.form.get("user-services").removeAt(t)}))},this.addAllOption=function(e){n.form.get("user-services")&&0===n.form.get("user-services").value.length&&e.minSelected>=0&&n.form.get("user-services").push(new o.FormControl({key:"All",label:"All"}))},this.searchTermServiceForm=this.fb.group({searchTerm:[""]})}return Object.defineProperty(e.prototype,"config",{get:function(){return this._config},set:function(e){this._config=Object.assign(Object.assign({},e),{fields:e.fields.map((function(e){return Object.assign(Object.assign({},e),{displayMinSelectedError:!1,displayMaxSelectedError:!1})}))}),this._config=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"settings",{get:function(){return this._settings},set:function(e){e||this.getSettings(),e&&e.fields&&this.mergeDefaultFields(e),this._settings=e},enumerable:!1,configurable:!0}),e.addFormValidators=function(e){var t,n,o=[];return e&&e.minSelected>0&&o.push((t=e.minSelected,function(e){var n=e.value;return n.length&&n.filter((function(e){return e})).length>=t?null:{minlength:!0}})),e&&e.maxSelected>0&&o.push((n=e.maxSelected,function(e){var t=e.value;return t.length&&t.filter((function(e){return e})).length<=n?null:{maxLength:!0}})),o},e.prototype.ngOnInit=function(){var e=this;this.settings||this.getSettings(),this.mergeDefaultFields(this.settings),this.buildForm(this.config,this.settings),this._config.copyFields&&(this.form=this._config.copyFields(this.form)),this.formSub=this.form.valueChanges.subscribe((function(){return e.submitted=!1})),this.filterSkillsByServices(null,this.config);var t=this.config.fields.find((function(e){return"user-services"===e.name}));t&&(this.startFilterSkillsByServices(this.form,t),this._config.copyFields||this.initValuesFromCacheForSkillsByServices())},e.prototype.ngOnDestroy=function(){this.formSub&&this.formSub.unsubscribe()},e.prototype.hidden=function(e,t){if(!e.showCondition)return!1;if("string"==typeof e.showCondition){var n=t.get(e.name),i=T(e.showCondition.split("="),2),s=i[0],r=i[1];if(t.value&&t.value[s]===r)return"find-person"===e.type?(n.get("email").setValidators(o.Validators.required),n.get("email").updateValueAndValidity()):(n.setValidators(o.Validators.required),n.updateValueAndValidity()),!1;"find-person"===e.type?(n.get("email").clearValidators(),n.get("email").updateValueAndValidity()):(n.clearValidators(),n.updateValueAndValidity())}return!0},e.prototype.disabled=function(e,t){if(!e.enableCondition)return null;if("string"==typeof e.enableCondition){var n=t.get(e.name),i=T(e.enableCondition.split("="),2),s=i[0],r=i[1];if(t.value&&t.value[s]===r)return"find-person"===e.type?(n.get("email").setValidators(o.Validators.required),n.get("email").updateValueAndValidity()):(n.setValidators(o.Validators.required),n.updateValueAndValidity()),null;"find-person"===e.type?(n.get("email").clearValidators(),n.get("email").updateValueAndValidity()):(n.clearValidators(),n.updateValueAndValidity())}return"find-location"===e.type||(e.disable?e.disable:null)},e.prototype.applyFilter=function(e){var t,n;if(this.submitted=!0,e.markAsTouched(),e.valid){this._settings={id:this.config.id,idamId:this.filterService.getUserId(),fields:this.getSelectedValues(e.value,this.config)},this.filterService.givenErrors.next(null);var o=Object.assign(Object.assign({},this.settings),{reset:!1});this.filterService.persist(o,this.config.persistence)}else this.emitFormErrors(e);try{for(var i=L(this.config.fields),s=i.next();!s.done;s=i.next()){"user-services"===s.value.name&&this.searchTermServiceForm.reset()}}catch(e){t={error:e}}finally{try{s&&!s.done&&(n=i.return)&&n.call(i)}finally{if(t)throw t.error}}this._config.applyButtonCallback&&this._config.applyButtonCallback()},e.prototype.fieldChanged=function(e,t){var n,o;if(e.changeResetFields&&e.changeResetFields.length)try{for(var i=L(e.changeResetFields),s=i.next();!s.done;s=i.next()){var r=s.value;this.resetField(r,t)}}catch(e){n={error:e}}finally{try{s&&!s.done&&(o=i.return)&&o.call(i)}finally{if(n)throw n.error}}},e.prototype.inputChanged=function(e){if(e.radioSelectionChange&&"string"==typeof e.radioSelectionChange){var t=T(e.enableCondition.split("="),2),n=t[0],o=t[1];this.form.get(n).patchValue(o)}},e.prototype.inputServiceChanged=function(e,t){if(void 0===e?this.addAllOption(t):this.clearFormArray(this.form.get("user-services")),"user-services"===t.name){var n=this.getSelectedValuesForFields(this.form.controls,t);this.filterSkillsByServices(n,this.config)}},e.prototype.cancelFilter=function(){this.buildForm(this.config,this.settings,!0),this.config&&this.config.cancelSetting&&(this._settings.fields=JSON.parse(JSON.stringify(this.config.cancelSetting.fields)));var e=Object.assign(Object.assign({},this.settings),{reset:!0});this.filterService.persist(e,this.config.persistence),this.filterService.givenErrors.next(null),this.submitted=!1,this.config.cancelButtonCallback&&this.config.cancelButtonCallback()},e.prototype.updatePersonControls=function(e,t){var n,o,i;i=e?Object.keys(e):Object.keys(this.form.get(t.name).value);try{for(var s=L(i),r=s.next();!r.done;r=s.next()){var a=r.value;if(this.form.get(t.name)&&this.form.get(t.name).get(a)){var l=e&&e[a]?e[a]:null;this.form.get(t.name).get(a).patchValue(l)}}}catch(e){n={error:e}}finally{try{r&&!r.done&&(o=s.return)&&o.call(s)}finally{if(n)throw n.error}}},e.prototype.checkBoxChecked=function(e,t){return this.form.get(e.name).controls[t].value},e.prototype.updateTaskNameControls=function(e,t){this.form.get(t.name).patchValue(e)},e.prototype.toggleSelectAll=function(e,t,n,o){var i,s,r=e.target.checked,a=t.get(o.name);if(n.selectAll)a.controls.forEach((function(e){r?e.patchValue(!0):e.patchValue(!1)}));else{var l=a.controls.every((function(e){return e.value})),c=null,u=o.options.find((function(e,t){return!!e.hasOwnProperty("selectAll")&&(c=t,!0)})),d=a.controls.filter((function(e,t){return t!==c})).every((function(e){return e.value}));l||!u||r?u&&!l&&r&&d&&a.controls[c].patchValue(!0):a.controls.forEach((function(e,t){c!==t||e.patchValue(!1)}))}if(o.changeResetFields&&o.changeResetFields.length)try{for(var p=L(o.changeResetFields),g=p.next();!g.done;g=p.next()){var h=g.value;this.resetField(h,t)}}catch(e){i={error:e}}finally{try{g&&!g.done&&(s=p.return)&&s.call(p)}finally{if(i)throw i.error}}if("user-services"===o.name)this.startFilterSkillsByServices(t,o);else if("user-skills"===o.name)if(r){var m=o.options.findIndex((function(t){return Number(t.key)===Number(e.target.value)})),f=this.form.get("user-skills").value;f[m]=!0,this.form.get("user-skills").setValue(f),this.previousSelectedNestedCheckbox.push(e.target.value)}else{var v=this.previousSelectedNestedCheckbox.indexOf(e.target.value);-1!==v&&this.previousSelectedNestedCheckbox.splice(v,1)}},e.prototype.startFilterSkillsByServices=function(e,t){var n=[];e.value[t.name].map((function(e,o){e&&n.push(t.options[o].key)})),this.filterSkillsByServices(n,this.config)},e.prototype.resetField=function(e,t){var n,i,s=t.get(e),r=this.config.cancelSetting.fields.find((function(t){return t.name===e}));if(s instanceof o.FormArray)for(var a=0;a<s.length;a++)s.removeAt(a);else if(s instanceof o.FormGroup){var l=Object.keys(s.value);try{for(var c=L(l),u=c.next();!u.done;u=c.next()){var d=u.value;this.resetField(d,s)}}catch(e){n={error:e}}finally{try{u&&!u.done&&(i=c.return)&&i.call(c)}finally{if(n)throw n.error}}}else if(s instanceof o.FormControl){var p=r&&r.value&&r.value.length?r.value[0]:null;s.setValue(p)}},e.prototype.mergeDefaultFields=function(e){e?e.fields=this.filterService.get(this.config.id)?this.filterService.get(this.config.id).fields:e.fields:this.config&&this.config.cancelSetting&&(this._settings={id:this.config.id,fields:JSON.parse(JSON.stringify(this.config.cancelSetting.fields))})},e.prototype.getSettings=function(){this._settings=this.filterService.get(this.config.id)},e.prototype.buildForm=function(e,t,n){var i,s,r=this.form?this.form.get("findPersonControl"):null;this.form=this.fb.group({}),r&&this.form.addControl("findPersonControl",r);var a=function(i){if("checkbox"===i.type||"checkbox-large"===i.type||"nested-checkbox"===i.type){var s=l.buildCheckBoxFormArray(i,t);l.form.addControl(i.name,s)}else if("find-location"===i.type||"find-service"===i.type){s=l.buildFormArray(i,t);l.form.addControl(i.name,s),l.addAllOption(i)}else{var r=[];i.minSelected&&i.minSelected>0&&(r.push(o.Validators.required),"text-input"===i.type&&r.push(o.Validators.minLength(i.minSelected)),"email-input"===i.type&&r.push(o.Validators.email));var a=null;if(n&&e.cancelSetting){var c=e.cancelSetting.fields.find((function(e){return e.name===i.name}));a=c&&c.value?c.value[0]:""}else if(t&&t.fields){var u=t.fields.find((function(e){return e.name===i.name}));a=u&&u?u.value[0]:""}if("find-person"===i.type){var d=new o.FormGroup({domain:new o.FormControl(a&&a.hasOwnProperty("domain")?a.domain:""),email:new o.FormControl(a&&a.hasOwnProperty("email")?a.email:"",r),id:new o.FormControl(a&&a.hasOwnProperty("id")?a.id:""),name:new o.FormControl(a&&a.hasOwnProperty("name")?a.name:""),knownAs:new o.FormControl(a&&a.hasOwnProperty("knownAs")?a.knownAs:"")});l.form.addControl(i.name,d)}else if("group-title"!==i.type){var p=new o.FormControl(a,r);l.form.addControl(i.name,p)}i.findPersonField&&l.fieldChanged(i,l.form)}},l=this;try{for(var c=L(e.fields),u=c.next();!u.done;u=c.next()){a(u.value)}}catch(e){i={error:e}}finally{try{u&&!u.done&&(s=c.return)&&s.call(c)}finally{if(i)throw i.error}}},e.prototype.buildCheckBoxFormArray=function(t,n){var i,s,r,a=e.addFormValidators(t),l=this.fb.array([],a);n&&n.fields&&(r=n.fields.find((function(e){return e.name===t.name})));var c=function(e){var t=!1;r&&Array.isArray(r.value)&&(t=!!r.value.find((function(t){return t===e.key}))),l.push(new o.FormControl(t))};try{for(var u=L(t.options),d=u.next();!d.done;d=u.next()){c(d.value)}}catch(e){i={error:e}}finally{try{d&&!d.done&&(s=u.return)&&s.call(u)}finally{if(i)throw i.error}}return l},e.prototype.buildFormArray=function(t,n){var i,s,r,a=e.addFormValidators(t),l=this.fb.array([],a);if(n&&n.fields&&(r=n.fields.find((function(e){return e.name===t.name})))&&r.value&&r.value.length>0)try{for(var c=L(r.value),u=c.next();!u.done;u=c.next()){var d=u.value;l.push(new o.FormControl(d))}}catch(e){i={error:e}}finally{try{u&&!u.done&&(s=c.return)&&s.call(c)}finally{if(i)throw i.error}}return l},e.prototype.getSelectedValues=function(e,t){return Object.keys(e).map((function(n){var o=e[n];if(Array.isArray(o)){var i=t.fields.find((function(e){return e.name===n}));return"find-location"===i.type||"find-service"===i.type?{value:o,name:n}:{value:P(i.options,o),name:n}}return{value:[o],name:n}}))},e.prototype.emitFormErrors=function(e){var t,n,o=[];try{for(var i=L(this.config.fields),s=i.next();!s.done;s=i.next()){var r=s.value,a=r.name,l=e.get(a);l&&l.errors&&(l.errors.minlength||l.errors.required)&&(o.push({name:a,error:r.minSelectedError}),"user-services"===a&&this.searchTermServiceForm.reset()),l&&l.errors&&l.errors.maxlength&&o.push({name:a,error:r.maxSelectedError})}}catch(e){t={error:e}}finally{try{s&&!s.done&&(n=i.return)&&n.call(i)}finally{if(t)throw t.error}}(o=o.filter((function(e,t,n){return o.indexOf(n.find((function(t){return t.name===e.name})))===t}))).length&&this.filterService.givenErrors.next(o)},e.prototype.initValuesFromCacheForSkillsByServices=function(){var e=this;if(this.settings&&this.settings.fields){var t=this.filteredSkillsByServicesCheckbox.map((function(t){var n=!1,o=e.settings.fields.find((function(e){return"user-skills"===e.name}));return o&&o.value&&o.value.length>0&&(n=-1!==o.value.findIndex((function(e){return String(e)===String(t.key)}))),n}));t.length>0&&this.form.get("user-skills").setValue(t)}},e.prototype.filterSkillsByServices=function(e,t){var n=this;this.filteredSkillsByServices=[],this.filteredSkillsByServicesCheckbox=[];var i=t.fields.find((function(e){return"user-skills"===e.name&&"group-select"===e.type})),s=t.fields.find((function(e){return"user-skills"===e.name&&"nested-checkbox"===e.type}));if(i){var r=i.groupOptions;e&&0!==e.length?e.forEach((function(e){var t=r.find((function(t){return t.group.toLowerCase()===e.toLowerCase()}));t&&n.filteredSkillsByServices.push(t)})):this.filteredSkillsByServices=r}else if(s){var a=s.groupOptions;if(e&&0!==e.length){if(e.forEach((function(e){var t=a.find((function(t){return t.group.toLowerCase()===e.toLowerCase()}));t&&n.filteredSkillsByServices.push(t)})),this.filteredSkillsByServicesCheckbox=this.filteredSkillsByServices.map((function(e){return e.options})).reduce((function(e,t){return e.concat(t)}),[]),s.options=[],s.options=this.filteredSkillsByServicesCheckbox,this.form.setControl("user-skills",new o.FormArray([])),this._config.copyFields){var l=[];this.filteredSkillsByServicesCheckbox.map((function(e,t){for(var o=0;o<n._config.preSelectedNestedCheckbox.length;o++){if(n._config.preSelectedNestedCheckbox[o].toString()===e.key.toString()){l[t]=!0;break}l[t]=!1}})),l.length>0?l.forEach((function(e){n.form.get("user-skills").push(new o.FormControl(e))})):this.filteredSkillsByServicesCheckbox.map((function(){n.form.get("user-skills").push(new o.FormControl(!1))}))}else{this.filteredSkillsByServicesCheckbox.forEach((function(){n.form.get("user-skills").push(new o.FormControl(!1))}));var c=this.filteredSkillsByServicesCheckbox.map((function(e){var t=!1;if(n.settings&&n.settings.fields){n.previousSelectedNestedCheckbox.length>0&&(t=n.previousSelectedNestedCheckbox.includes(e.key));var o=n.settings.fields.find((function(e){return"user-skills"===e.name}));o&&o.value&&o.value.length>0&&(t=-1!==o.value.findIndex((function(t){return Number(t)===Number(e.key)}))),n.previousSelectedNestedCheckbox.length>0&&(t=n.previousSelectedNestedCheckbox.includes(String(e.key)))}return t}));this.form.get("user-skills").setValue(c)}return this.filteredSkillsByServicesCheckbox}this.filteredSkillsByServices=a}return this.filteredSkillsByServices=this.sortGroupOptions(this.filteredSkillsByServices),this.filteredSkillsByServices},e.prototype.getSelectedValuesForFields=function(e,t){var n=[];return Object.keys(e).map((function(o){var i=e[o].value;o===t.name&&i.forEach((function(e){n.push(e.key)}))})),n},e.prototype.sortGroupOptions=function(e){var t=[];return e.map((function(e){return e.group})).sort().forEach((function(n){var o=e.find((function(e){return e.group===n})).options.sort((function(e,t){return e.label.toLowerCase()>t.label.toLowerCase()?1:t.label.toLowerCase()>e.label.toLowerCase()?-1:0})),i={group:n,options:o};t.push(i)})),t},e}();D.decorators=[{type:t.Component,args:[{selector:"xuilib-generic-filter",template:'<form [formGroup]="form" (ngSubmit)="applyFilter(form)">\n <div class="contain-classes" *ngFor="let field of config.fields">\n <hr *ngIf="field.lineBreakBefore" class="govuk-section-break govuk-section-break--visible elevated-break">\n <ng-container [ngSwitch]="field.type">\n <ng-container *ngSwitchCase="\'group-title\'">\n <div [class]="field.titleClasses ? field.titleClasses: \'govuk-label govuk-label--m govuk-!-margin-bottom-4\'">\n {{ field.name | capitalize }}\n </div>\n </ng-container>\n <ng-container *ngSwitchDefault>\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 <div *ngIf="field.title" class="xui-generic-filter__field-title">\n <h3 [class]="field.titleClasses ? field.titleClasses : \'govuk-heading-s\'" style="margin-bottom: 0!important">\n {{field.title | capitalize}}\n </h3>\n <div *ngIf="field?.titleHint" class="govuk-!-margin-left-2">\n {{ field.titleHint }}\n </div>\n </div>\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 <span [id]="field.name + \'-error\'" class="govuk-error-message"\n *ngIf="field.emailError && submitted && form.get(field.name).errors?.email">\n <span class="govuk-visually-hidden">Error:</span> {{field.emailError}}\n </span>\n <div class="govuk-body" [class.govuk-body--maxWidth480px]="field.maxWidth480px" [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 *ngIf="field.defaultOption" [attr.selected]="true" [value]="field.defaultOption.key">{{field.defaultOption.label}}</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="\'group-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 *ngIf="field.defaultOption" selected [value]="field.defaultOption.key">{{field.defaultOption.label}}</option>\n <optgroup *ngFor = \'let grp of filteredSkillsByServices\' label="{{grp.group | titlecase}}">\n <option *ngFor = \'let item of grp.options\' [value]="item.key">{{item.label}}</option>\n </optgroup>\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_\' + field.name + item.key"\n [name]="\'checkbox_\' + field.name + item.key"\n />\n <label\n [for]="\'checkbox_\' + field.name + 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="\'nested-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 filteredSkillsByServicesCheckbox; 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_\' + field.name + item.key"\n [name]="\'checkbox_\' + field.name + item.key"\n />\n <label\n [for]="\'checkbox_\' + field.name + 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_\' + field.name + item.key"\n [name]="\'checkbox_\' + field.name + item.key"\n />\n <label\n [for]="\'checkbox_\' + field.name + 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 [placeholderContent]="field.placeholderContent ? field.placeholderContent : \'\'"\n [services]="form.get(field.servicesField)?.value"\n ></xuilib-find-person>\n </ng-container>\n <ng-container *ngSwitchCase="\'find-location\'">\n <xuilib-find-location (locationFieldChanged)="inputChanged(field)"\n [form]="form"\n [fields]="config.fields"\n [locationTitle]="field.locationTitle"\n [enableAddLocationButton]="field.enableAddButton"\n [disabled]="disabled(field, form)"\n [disableInputField]="field.disable"\n [selectedLocations]="form.get(field.name)?.value"\n [submitted]="submitted"\n [field]="field"\n [services]="form.get(field.findLocationField)?.value"\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 <ng-container *ngSwitchCase="\'find-service\'">\n <xuilib-find-service (serviceFieldChanged)="inputServiceChanged($event, field)"\n [form]="form"\n [searchTermServiceForm]="searchTermServiceForm"\n [fields]="config.fields"\n [title]="field.title"\n [enableAddServiceButton]="field.enableAddButton"\n [disabled]="disabled(field, form)"\n [selectedServices]="form.get(field.name)?.value"\n [services]="field.options"\n [field]="field">\n ></xuilib-find-service>\n </ng-container>\n <ng-container *ngSwitchCase="\'text-input\'">\n <input class="govuk-input" type="text"\n [formControlName]="field.name"\n [id]="field.name"\n [attr.disabled]="disabled(field, form)"\n (change)="fieldChanged(field, form)"\n [attr.maxlength]="field.maxlength ? field.maxlength : null"\n [readonly]="field.readonly"\n />\n </ng-container>\n <ng-container *ngSwitchCase="\'email-input\'">\n <input class="govuk-input" type="email"\n [formControlName]="field.name"\n [id]="field.name"\n [attr.disabled]="disabled(field, form)"\n (change)="fieldChanged(field, form)"\n [readonly]="field.readonly"\n />\n </ng-container>\n </div>\n </div>\n </ng-container>\n</ng-container>\n </div>\n <hr class="govuk-section-break govuk-section-break--m govuk-section-break--visible"/>\n <div class="govuk-grid-row">\n <div class="govuk-grid-column-full">\n <button\n class="govuk-button govuk-!-margin-right-1 govuk-!-margin-bottom-0"\n type="submit"\n id="applyFilter"\n [disabled]="config.enableDisabledButton && form.invalid"\n >{{config.applyButtonText || \'Apply\'}}</button>\n <button *ngIf="config.showCancelFilterButton"\n class="govuk-button govuk-button--secondary govuk-!-margin-bottom-0"\n type="button"\n id="cancelFilter"\n (click)="cancelFilter()">{{ config.cancelButtonText || \'Cancel\'}}</button>\n </div>\n </div>\n</form>\n',changeDetection:t.ChangeDetectionStrategy.OnPush,encapsulation:t.ViewEncapsulation.None,styles:[".contain-classes .elevated-break{margin-bottom:20px}@media (min-width:40.0625em){.contain-classes .elevated-break{margin-bottom:30px}}.contain-classes .govuk-body--maxWidth480px{max-width:480px}.contain-classes .xui-generic-filter .select-all{margin-bottom:10px}.contain-classes .xui-generic-filter .govuk-checkboxes{display:flex;flex-direction:column;flex-wrap:wrap}.contain-classes .xui-generic-filter .govuk-checkboxes>div{flex-grow:1;flex-shrink:0}.contain-classes .xui-generic-filter__field-title{display:flex;align-items:center;margin-bottom:10px}.contain-classes .govuk-select{width:100%}"]}]}],D.ctorParameters=function(){return[{type:M},{type:o.FormBuilder}]},D.propDecorators={config:[{type:t.Input}],settings:[{type:t.Input}]};var U=function(){function e(){this.close=new t.EventEmitter}return e.prototype.onClose=function(){this.close.emit()},e}();U.decorators=[{type:t.Component,args:[{selector:"xuilib-session-dialog",template:'<div class="gem-c-modal-dialogue" data-module="modal-dialogue" id="modal-default" style="display: block;">\n <div class="gem-c-modal-dialogue__overlay"></div>\n <dialog class="gem-c-modal-dialogue__box" aria-modal="true" role="dialog" tabindex="0" [ngStyle]="{\'margin-top\': positionTop}">\n <div class="gem-c-modal-dialogue__header">\n <svg role="presentation" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 38 38" height="33" width="33">\n <style type="text/css">\n .st0{fill:#FFFFFF;}\n </style>\n <g id="_4_-_granular_components_warning_icon" transform="translate(0.5 0.5)">\n <g id="Warning_icon" transform="translate(0)">\n <path id="Exclusion_1" class="st0" d="M18.5,37.5c-5.04,0.01-9.88-1.99-13.44-5.57C1.49,28.38-0.51,23.54-0.5,18.5\n c-0.01-5.04,1.99-9.88,5.56-13.43C8.62,1.49,13.46-0.51,18.5-0.5c5.04-0.01,9.88,1.99,13.44,5.56c3.57,3.56,5.58,8.39,5.56,13.44\n c0.01,5.04-1.99,9.88-5.56,13.44C28.38,35.51,23.54,37.51,18.5,37.5z M18.52,24.29c-0.4,0-0.8,0.08-1.17,0.23\n c-0.36,0.15-0.69,0.37-0.97,0.64c-0.28,0.27-0.5,0.59-0.65,0.95c-0.16,0.36-0.24,0.76-0.23,1.15c0,0.4,0.08,0.8,0.23,1.17\n c0.15,0.36,0.37,0.68,0.65,0.96c0.28,0.27,0.61,0.49,0.97,0.64c0.37,0.16,0.77,0.24,1.17,0.24c0.4,0,0.79-0.08,1.15-0.24\n c0.35-0.15,0.67-0.37,0.95-0.64c0.27-0.27,0.49-0.6,0.64-0.96c0.16-0.37,0.24-0.77,0.23-1.17c0-0.4-0.08-0.79-0.23-1.15\n c-0.15-0.35-0.37-0.67-0.64-0.95c-0.27-0.27-0.6-0.49-0.95-0.64C19.31,24.37,18.92,24.29,18.52,24.29L18.52,24.29z M16.11,7.5\n l0.42,14.87h3.91L20.86,7.5H16.11z"/>\n </g>\n </g>\n </svg>\n <div class="gem-c-modal-dialogue__title">We are about to sign you out</div>\n </div>\n <div class="gem-c-modal-dialogue__content">\n <ng-content></ng-content>\n </div>\n </dialog>\n</div>\n',styles:[".gem-c-modal-dialogue{display:none;z-index:1000;overflow-x:hidden;overflow-y:scroll;outline:0}.gem-c-modal-dialogue,.gem-c-modal-dialogue__box{position:fixed;top:0;left:0;width:100%;height:100%}.gem-c-modal-dialogue__box{display:block;background:#fff;right:0;bottom:0;margin:0;padding:0;overflow-y:auto;border:0;font-family:GDS Transport,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-size:16px;font-size:1rem;line-height:1.25;color:#0b0c0c}.gem-c-modal-dialogue__box:focus{outline:3px solid #fd0}@media print{.gem-c-modal-dialogue__box{font-family:sans-serif}}@media (min-width:40.0625em){.gem-c-modal-dialogue__box{font-size:1.1875rem;line-height:1.3157894737}}@media print{.gem-c-modal-dialogue__box{font-size:14pt;line-height:1.15;color:#000}}@media (min-width:40.0625em){.gem-c-modal-dialogue__box{position:relative;top:inherit;right:inherit;bottom:inherit;left:inherit;width:auto;max-width:640px;height:auto;margin:30px auto;border:2px solid #0b0c0c}}@media (min-width:40.0625em){.gem-c-modal-dialogue__box--wide{max-width:960px}}@media (min-width:40.0625em) and (max-width:64em){.gem-c-modal-dialogue__box--wide{margin:30px}}.gem-c-modal-dialogue__overlay{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:.8;background:#0b0c0c;pointer-events:none;touch-action:none}@media screen{.gem-o-template--modal{overflow-y:inherit}}.gem-o-template__body--modal{overflow:hidden}.gem-o-template__body--blur .govuk-footer,.gem-o-template__body--blur .govuk-header,.gem-o-template__body--blur .govuk-main-wrapper,.gem-o-template__body--blur .govuk-phase-banner,.gem-o-template__body--blur .govuk-skip-link,.gem-o-template__body--blur .govuk-width-container .govuk-back-link{filter:blur(2px)}.govuk-warning-text__icon{margin:0 0 0 12px}.gem-c-modal-dialogue__header{padding:9px 15px 10px;color:#fff;background:#d4351d;display:flex}.gem-c-modal-dialogue__title{margin:5px 0 4px 12px}.gem-c-modal-dialogue__logotype-crown{fill:currentColor;vertical-align:middle}.gem-c-modal-dialogue__logotype-crown-fallback-image{width:30px;height:26px;border:0;vertical-align:middle}.gem-c-modal-dialogue__content{padding:15px;background:#fff}.gem-c-modal-dialogue__close-button{position:absolute;top:0;right:0;width:44px;height:44px;border:0;color:#fff;background:none;cursor:pointer;font-family:GDS Transport,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:700;font-size:1.5rem;line-height:1.3}@media print{.gem-c-modal-dialogue__close-button{font-family:sans-serif}}@media (min-width:40.0625em){.gem-c-modal-dialogue__close-button{font-size:2.25rem;line-height:1.3}}@media print{.gem-c-modal-dialogue__close-button{font-size:24pt;line-height:1.3}}@media (max-width:40.0525em){.gem-c-modal-dialogue__close-button{font-size:36px;line-height:1.3}}.gem-c-modal-dialogue__close-button:focus,.gem-c-modal-dialogue__close-button:hover{color:#0b0c0c;box-shadow:0 -2px #fd0,0 4px #0b0c0c;text-decoration:none;outline:none;background:#fd0}"]}]}],U.ctorParameters=function(){return[]},U.propDecorators={positionTop:[{type:t.Input}],close:[{type:t.Output}]};var j=function(){function e(){this.submitForm=new t.EventEmitter}return Object.defineProperty(e.prototype,"errorMessages",{set:function(e){this.isInvalid=e||{}},enumerable:!1,configurable:!0}),e.prototype.onSubmit=function(){this.submitForm.emit()},e}();j.decorators=[{type:t.Component,args:[{selector:"xuilib-invite-user-form",template:'\n<form [formGroup]="inviteUserForm" (ngSubmit)="onSubmit()" >\n\n <xuilib-gov-uk-input\n [config]="{label: \'First name\', hint: \'Include all middle names.\', name: \'firstName\', id: \'firstName\', type: \'text\', classes: \'testClass\'}"\n [errorMessage]="isInvalid.firstName"\n [group]="inviteUserForm">\n </xuilib-gov-uk-input>\n\n <xuilib-gov-uk-input\n [config]="{label: \'Last name\', name: \'lastName\', id: \'lastName\', type: \'text\'}"\n [errorMessage]="isInvalid.lastName"\n [group]="inviteUserForm">\n </xuilib-gov-uk-input>\n\n <xuilib-gov-uk-input\n [config]="{label: \'Email address\', name: \'email\', id: \'email\', type: \'email\'}"\n [errorMessage]="isInvalid.email"\n [group]="inviteUserForm">\n </xuilib-gov-uk-input>\n\n <xuilib-invite-permission-form [inviteUserForm]="inviteUserForm" [errorMessages]="isInvalid.roles">\n </xuilib-invite-permission-form>\n\n <button type="submit" class="govuk-button">\n Send invitation\n </button>\n</form>\n'}]}],j.propDecorators={submitForm:[{type:t.Output}],inviteUserForm:[{type:t.Input}],errorMessages:[{type:t.Input}]};var B=function(){this.isPuiCaseManager=!1,this.isPuiUserManager=!1,this.isPuiOrganisationManager=!1,this.isPuiFinanceManager=!1};B.decorators=[{type:t.Component,args:[{selector:"xuilib-invite-permission-form",template:" \x3c!--permissions --\x3e\n <ng-container [formGroup]=\"inviteUserForm\">\n <xuilib-gov-uk-form-group-wrapper\n [config]=\"{hint: 'Choose what the user will be able to do. You can change this later.', legend: 'Permissions', key: 'roles'}\"\n [formGroupName]=\"'roles'\"\n [error]=\"errorMessages\">\n\n <div class=\"govuk-checkboxes\">\n <xuilib-gov-checkbox\n [group]=\"inviteUserForm.controls['roles']\"\n [isChecked]=\"isPuiCaseManager\"\n [config]=\"{value: 'pui-case-manager', label: 'Manage Cases', name: 'roles', hint: 'View, create and progress cases.', focusOn: 'roles'}\">\n </xuilib-gov-checkbox>\n\n <xuilib-gov-checkbox\n [group]=\"inviteUserForm.controls['roles']\"\n [isChecked]=\"isPuiUserManager\"\n [config]=\"{value: 'pui-user-manager', label: 'Manage Users', name: 'roles',\n hint: 'Invite users.'}\">\n </xuilib-gov-checkbox>\n\n <xuilib-gov-checkbox\n [group]=\"inviteUserForm.controls['roles']\"\n [isChecked]=\"isPuiOrganisationManager\"\n [config]=\"{value: 'pui-organisation-manager', label: 'Manage Organisation', name: 'roles',\n hint: 'View organisation name and addresses.'}\">\n </xuilib-gov-checkbox>\n\n \x3c!-- <xuilib-gov-checkbox\n [group]=\"inviteUserForm.controls['roles']\"\n [isChecked]=\"isPuiFinanceManager\"\n [config]=\"{value: 'pui-finance-manager', label: 'Manage Payments', name: 'roles',\n hint: 'View account balances, available credit and transactions.'}\">\n </xuilib-gov-checkbox> --\x3e\n </div>\n\n </xuilib-gov-uk-form-group-wrapper>\n</ng-container>"}]}],B.propDecorators={inviteUserForm:[{type:t.Input}],isPuiCaseManager:[{type:t.Input}],isPuiUserManager:[{type:t.Input}],isPuiOrganisationManager:[{type:t.Input}],isPuiFinanceManager:[{type:t.Input}],errorMessages:[{type:t.Input}]};var R=function(){this.loadingText="Loading"};R.decorators=[{type:t.Component,args:[{selector:"xuilib-loading-spinner",template:'<div class="spinner-container">\n <div class="spinner-inner-container">\n <p>{{loadingText}}</p>\n <div class="spinner" style="margin: auto;"></div>\n </div>\n</div>\n',encapsulation:t.ViewEncapsulation.None,styles:[".spinner-container{position:fixed;top:0;left:0;height:100%;width:100%;display:flex;justify-content:center;align-items:center;background:hsla(0,0%,100%,.5);z-index:99}.spinner-container .spinner-inner-container p{text-align:center}.spinner-container .spinner-inner-container .spinner{border:10px solid #ddd;border-top-color:#000;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}"]}]}],R.propDecorators={loadingText:[{type:t.Input}]};var V=function(){function e(){this.caseState=[],this.subject=new i.BehaviorSubject(this.caseState)}return Object.defineProperty(e.prototype,"state",{get:function(){return this.subject.asObservable().pipe(s.distinctUntilChanged())},enumerable:!1,configurable:!0}),e.prototype.setCases=function(e){var t=this;this.caseState=[],e.forEach((function(e){t.caseState.push({caseId:e.caseId,caseTitle:e.caseTitle,caseTypeId:e.caseTypeId,roles:e.roles,sharedWith:e.sharedWith,pendingShares:e.pendingShares,pendingUnshares:e.pendingUnshares})})),this.subject.next(this.caseState)},e.prototype.getCases=function(){return this.caseState},e.prototype.requestShare=function(e){var t,n,o=this.caseState.slice(),i=[];try{for(var s=L(o),r=s.next();!r.done;r=s.next()){var a=r.value;a.pendingShares||(a.pendingShares=[]);var l=a.pendingShares.slice();a.pendingUnshares||(a.pendingUnshares=[]);var c=a.pendingUnshares.slice();if(this.userHasAccess(a,e)){for(var u=0,d=c.length;u<d;u++)if(c[u].email===e.email){c.splice(u,1);break}}else l.some((function(t){return t.email===e.email}))||l.push(e);var p=Object.assign(Object.assign({},a),{pendingUnshares:c,pendingShares:l});i.push(p)}}catch(e){t={error:e}}finally{try{r&&!r.done&&(n=s.return)&&n.call(s)}finally{if(t)throw t.error}}return this.subject.next(i),i},e.prototype.requestUnshare=function(e,t){var n,o,i=[];try{for(var s=L(this.caseState),r=s.next();!r.done;r=s.next()){var a=r.value;if(void 0===t||a.caseId===t){a.pendingUnshares||(a.pendingUnshares=[]);var l=a.pendingUnshares.slice(),c=void 0,u=-1;a.pendingShares&&(u=a.pendingShares.findIndex((function(t){return t.idamId===e.idamId})))>-1&&(c=a.pendingShares.slice()).splice(u,1),-1===u&&a.sharedWith&&a.sharedWith.findIndex((function(t){return t.idamId===e.idamId}))>-1&&(l.some((function(t){return t.email===e.email}))||l.push(e));var d=Object.assign(Object.assign(Object.assign({},a),{pendingUnshares:l}),c&&{pendingShares:c});i.push(d)}else i.push(a)}}catch(e){n={error:e}}finally{try{r&&!r.done&&(o=s.return)&&o.call(s)}finally{if(n)throw n.error}}return this.subject.next(i),i},e.prototype.requestCancel=function(e,t){var n,o,i=[];try{for(var s=L(this.caseState),r=s.next();!r.done;r=s.next()){var a=r.value;if(a.caseId===e){a.pendingUnshares||(a.pendingUnshares=[]);for(var l=a.pendingUnshares.slice(),c=0;c<l.length;c++)if(l[c].email===t.email){l.splice(c,1);break}a.pendingShares||(a.pendingShares=[]);for(var u=a.pendingShares.slice(),d=0;d<u.length;d++)if(u[d].email===t.email){u.splice(d,1);break}var p=Object.assign(Object.assign({},a),{pendingUnshares:l,pendingShares:u});i.push(p)}else i.push(a)}}catch(e){n={error:e}}finally{try{r&&!r.done&&(o=s.return)&&o.call(s)}finally{if(n)throw n.error}}this.subject.next(i)},e.prototype.removeCase=function(e){if(this.caseState.length>1)for(var t=0,n=this.caseState.length;t<n;t++)if(this.caseState[t].caseId===e)return this.caseState.splice(t,1),void this.subject.next(this.caseState)},e.prototype.userHasAccess=function(e,t){if(!e.sharedWith)return!1;for(var n=0,o=e.sharedWith.length;n<o;n++)if(e.sharedWith[n].email===t.email)return!0;return!1},e}();V.ɵprov=b.ɵɵdefineInjectable({factory:function(){return new V},token:V,providedIn:"root"}),V.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],V.ctorParameters=function(){return[]};var G=function(){function e(e){this.stateService=e,this.changeLink=""}return e.prototype.ngOnInit=function(){var e=this;this.shareCases$=this.stateService.state,this.shareCases$.subscribe((function(t){return e.shareCases=t}))},e.prototype.trackByUserId=function(e){return e.idamId},e.prototype.showUserAccessBlock=function(){return!!(this.sharedCase.pendingShares&&this.sharedCase.pendingShares.length>0)||this.sharedCase.pendingUnshares&&this.sharedCase.pendingUnshares.length>0},e}();G.decorators=[{type:t.Component,args:[{selector:"xuilib-selected-case-confirm",template:'<div id="user-access-block-{{ sharedCase.caseId }}" *ngIf="showUserAccessBlock()">\n <h2 class="govuk-heading-m case-share-confirm__title">{{ sharedCase.caseTitle }}</h2>\n <div class="case-share-confirm__caption-area">\n <div class="govuk-caption-m case-share-confirm__caption">\n {{ sharedCase.caseId }}\n </div>\n <a [routerLink]="changeLink" class="case-share-confirm__change-link govuk-link govuk-!-font-size-19">Change</a>\n </div>\n <table class="govuk-table">\n <thead class="govuk-table__head">\n <tr class="govuk-table__row">\n <th class="govuk-table__header govuk-table-column-header" scope="col">Name</th>\n <th class="govuk-table__header govuk-table-column-header" scope="col">Email address</th>\n <th class="govuk-table__header govuk-table-column-actions" scope="col">Actions</th>\n </tr>\n </thead>\n <tbody class="govuk-table__body">\n <tr class="govuk-table__row" *ngFor="let user of sharedCase.pendingShares; trackBy: trackByUserId">\n <td class="govuk-table__cell">{{ user.firstName + \' \' + user.lastName }}</td>\n <td class="govuk-table__cell">{{ user.email }}</td>\n <td class="govuk-table__cell">\n <span class="hmcts-badge">To be added</span>\n </td>\n </tr>\n <tr class="govuk-table__row" *ngFor="let user of sharedCase.pendingUnshares; trackBy: trackByUserId">\n <td class="govuk-table__cell">{{ user.firstName + \' \' + user.lastName }}</td>\n <td class="govuk-table__cell">{{ user.email }}</td>\n <td class="govuk-table__cell">\n <span class="hmcts-badge hmcts-badge--red">To be removed</span>\n </td>\n </tr>\n </tbody>\n </table>\n</div>\n',styles:[".case-share-confirm__title{margin-bottom:0}.case-share-confirm__caption-area{border-bottom:1px solid #b1b4b6;padding-bottom:10px;display:inline-block;width:100%;clear:both}.case-share-confirm__caption{float:left}.case-share-confirm__change-link{float:right}.govuk-table-column-header{width:45%}.govuk-table-column-actions{width:10%}"]}]}],G.ctorParameters=function(){return[{type:V}]},G.propDecorators={sharedCase:[{type:t.Input}],changeLink:[{type:t.Input}]};var z=function(){function e(e){this.stateService=e,this.shareCases=[],this.toConfirm=!1,this.changeLink="",this.unselect=new t.EventEmitter,this.synchronizeStore=new t.EventEmitter}return e.prototype.ngOnInit=function(){var e=this;this.shareCases$=this.stateService.state,this.shareCases$.subscribe((function(t){e.shareCases=t,e.caseCount=e.shareCases.length}))},e.prototype.onUnselect=function(e){this.unselect.emit(e),this.caseCount=this.shareCases.length},e.prototype.onSynchronizeStore=function(e){this.synchronizeStore.emit(e)},e.prototype.trackByCaseId=function(e){return e.caseId},e}();z.decorators=[{type:t.Component,args:[{selector:"xuilib-selected-case-list",template:'<ng-container *ngIf="!toConfirm">\n <xuilib-selected-case\n *ngFor="let sharedCase of (shareCases$ | async); trackBy: trackByCaseId"\n [sharedCase]="sharedCase"\n [caseCount]="caseCount"\n [removeUserFromCaseToggleOn]="removeUserFromCaseToggleOn"\n (unselect)="onUnselect($event)"\n (synchronizeStore)="onSynchronizeStore($event)"\n >\n </xuilib-selected-case>\n</ng-container>\n\n<ng-container *ngIf="toConfirm">\n <xuilib-selected-case-confirm\n *ngFor="let sharedCase of (shareCases$ | async); trackBy: trackByCaseId"\n [sharedCase]="sharedCase"\n [changeLink]="changeLink">\n </xuilib-selected-case-confirm>\n</ng-container>\n',styles:[""]}]}],z.ctorParameters=function(){return[{type:V}]},z.propDecorators={shareCases$:[{type:t.Input}],removeUserFromCaseToggleOn:[{type:t.Input}],toConfirm:[{type:t.Input}],changeLink:[{type:t.Input}],unselect:[{type:t.Output}],synchronizeStore:[{type:t.Output}]};var W=function(){function e(e){this.stateService=e,this.opened=!1,this.unselect=new t.EventEmitter,this.synchronizeStore=new t.EventEmitter}return e.prototype.ngOnInit=function(){var e=this;this.shareCases$=this.stateService.state,this.shareCases$.subscribe((function(t){return e.shareCases=t}))},e.prototype.ngOnChanges=function(e){if(e.sharedCase){var t=this.sharedCase.sharedWith?this.sharedCase.sharedWith:[],n=this.sharedCase.pendingShares?this.sharedCase.pendingShares:[];this.combinedSortedShares=this.combineAndSortShares(t,n)}},e.prototype.onDeselect=function(e){this.unselect.emit(e)},e.prototype.trackByUserId=function(e){return e.idamId},e.prototype.canRemove=function(e,t){var n=this;return this.shareCases$.pipe(s.map((function(o){var i,s;if(n.removeUserFromCaseToggleOn)try{for(var r=L(o),a=r.next();!a.done;a=r.next()){var l=a.value;if(l.caseId===e){if(l.pendingUnshares&&l.pendingUnshares.some((function(e){return e.idamId===t.idamId})))return!1;if(l.sharedWith&&l.sharedWith.some((function(e){return e.idamId===t.idamId})))return!0}}}catch(e){i={error:e}}finally{try{a&&!a.done&&(s=r.return)&&s.call(r)}finally{if(i)throw i.error}}return!1})))},e.prototype.canCancel=function(e,t){return this.shareCases$.pipe(s.map((function(n){var o,i;try{for(var s=L(n),r=s.next();!r.done;r=s.next()){var a=r.value;if(a.caseId===e)return!(!a.pendingShares||!a.pendingShares.some((function(e){return e.idamId===t.idamId})))||!(!a.pendingUnshares||!a.pendingUnshares.some((function(e){return e.idamId===t.idamId})))}}catch(e){o={error:e}}finally{try{r&&!r.done&&(i=s.return)&&i.call(s)}finally{if(o)throw o.error}}})))},e.prototype.isToBeRemoved=function(e,t){return this.shareCases$.pipe(s.map((function(n){var o,i;try{for(var s=L(n),r=s.next();!r.done;r=s.next()){var a=r.value;if(a.caseId===e)return a.pendingUnshares&&a.pendingUnshares.some((function(e){return e.idamId===t.idamId}))}}catch(e){o={error:e}}finally{try{r&&!r.done&&(i=s.return)&&i.call(s)}finally{if(o)throw o.error}}})))},e.prototype.isToBeAdded=function(e,t){return this.shareCases$.pipe(s.map((function(n){var o,i;try{for(var s=L(n),r=s.next();!r.done;r=s.next()){var a=r.value;if(a.caseId===e)return a.pendingShares&&a.pendingShares.some((function(e){return e.idamId===t.idamId}))}}catch(e){o={error:e}}finally{try{r&&!r.done&&(i=s.return)&&i.call(s)}finally{if(o)throw o.error}}})))},e.prototype.onRemove=function(e,t){this.stateService.requestUnshare(e,t.caseId),this.synchronizeStore.emit(this.shareCases)},e.prototype.onCancel=function(e,t){this.stateService.requestCancel(t.caseId,e),this.synchronizeStore.emit(this.shareCases)},e.prototype.showNoUsersAccessInfo=function(){return!(this.sharedCase.pendingShares&&this.sharedCase.pendingShares.length>0)&&(!(!this.sharedCase.sharedWith||0!==this.sharedCase.sharedWith.length)||!!(this.sharedCase.sharedWith&&this.sharedCase.pendingUnshares&&this.sharedCase.pendingUnshares.length>0&&this.sharedCase.sharedWith.length===this.sharedCase.pendingUnshares.length))},e.prototype.showUserHasAccessInfo=function(){return!this.showNoUsersAccessInfo()},e.prototype.showUserAccessTable=function(){return!!(this.sharedCase.pendingShares&&this.sharedCase.pendingShares.length>0)||!!(this.sharedCase.sharedWith&&this.sharedCase.sharedWith.length>0)},e.prototype.combineAndSortShares=function(e,t){return F(e,t).sort((function(e,t){return e.firstName.toLowerCase()>t.firstName.toLowerCase()?1:t.firstName.toLowerCase()>e.firstName.toLowerCase()?-1:0}))},e.prototype.userIdSetter=function(e,t){return e?"pendingShares-"+t:""+t},e.prototype.buildElementId=function(e){return e+"-"+this.sharedCase.caseId},e}();W.decorators=[{type:t.Component,args:[{selector:"xuilib-selected-case",template:'<div id="{{buildElementId(\'govuk-accordion__section\')}}" class="govuk-accordion__section">\n <div class="govuk-grid-row govuk-case-header">\n <div class="govuk-grid-column-three-quarters">\n <h3 id="{{buildElementId(\'case-title\')}}" class="govuk-case-title">{{ sharedCase.caseTitle }}</h3>\n <h1 id="{{buildElementId(\'case-id\')}}" class="govuk-case-sub-title">{{ sharedCase.caseId }}</h1>\n </div>\n <div class="govuk-grid-column-twenty-percent">\n <button *ngIf="caseCount > 1"\n id="{{buildElementId(\'btn-deselect-case\')}}" \n class="govuk-button hmcts-button--secondary" \n (click)="onDeselect(sharedCase)" \n title="Deselect case">Deselect case\n </button>\n </div>\n <div class="govuk-accordion__section-header govuk-grid-column-five-percent">\n <div class="govuk-accordion__section-heading">\n <button type="button" id="{{buildElementId(\'accordion-with-summary-sections-heading\')}}"\n aria-controls="accordion-with-summary-sections-content-1" class="govuk-accordion__section-button"\n aria-describedby="accordion-with-summary-sections-summary-1" aria-expanded="false" title="Expand or Collapse">\n <span class="govuk-accordion__icon" aria-hidden="true"></span></button>\n </div>\n </div>\n </div>\n <div id="{{buildElementId(\'accordion-with-summary-sections-content\')}}" class="govuk-accordion__section-content"\n aria-labelledby="buildElementId(\'accordion-with-summary-sections-heading\')" >\n <div class="govuk-grid-row" *ngIf="showNoUsersAccessInfo()">\n <span id="{{buildElementId(\'access-info-no-user\')}}" class="govuk-div-align-left">No users from your organisation currently have access to this case.</span>\n </div>\n <div class="govuk-grid-row" *ngIf="showUserHasAccessInfo()">\n <span id="{{buildElementId(\'access-info-has-users\')}}" class="govuk-div-align-left">Users from your organisation with access to this case.</span>\n </div>\n <table class="govuk-table" *ngIf="showUserAccessTable()">\n <thead class="govuk-table__head">\n <tr class="govuk-table__row">\n <th id="{{buildElementId(\'name-heading\')}}" class="govuk-table__header govuk-table-column-header" scope="col">Name</th>\n <th id="{{buildElementId(\'email-heading\')}}" class="govuk-table__header govuk-table-column-header" scope="col">Email address</th>\n <th id="{{buildElementId(\'action-heading\')}}" class="govuk-table__header govuk-table-column-actions" scope="col">Actions</th>\n <th id="{{buildElementId(\'label-heading\')}}" class="govuk-table__header govuk-table-column-label" scope="col">Status</th>\n </tr>\n </thead>\n <tbody class="govuk-table__body">\n <tr class="govuk-table__row" *ngFor="let user of combinedSortedShares; index as idx; trackBy: trackByUserId">\n <td id="user-full-name-{{ userIdSetter(canCancel(sharedCase.caseId, user) | async, idx) }}" class="govuk-table__cell">{{ user.firstName + \' \' + user.lastName }}</td>\n <td id="user-email-{{ userIdSetter(canCancel(sharedCase.caseId, user) | async, idx) }}" class="govuk-table__cell">{{ user.email }}</td>\n <td class="govuk-table__cell">\n <a *ngIf="canRemove(sharedCase.caseId, user) | async" (click)="onRemove(user, sharedCase)" href="javascript:void(0);">Remove <span class="govuk-visually-hidden">{{ user.firstName + \' \' + user.lastName }} from case</span></a>\n <a *ngIf="canCancel(sharedCase.caseId, user) | async" (click)="onCancel(user, sharedCase)" href="javascript:void(0);">Cancel <span class="govuk-visually-hidden">adding {{ user.firstName + \' \' + user.lastName }} to case</span></a>\n </td>\n <td class="govuk-table__cell">\n <span *ngIf="isToBeRemoved(sharedCase.caseId, user) | async" class="hmcts-badge hmcts-badge--red">To be removed</span>\n <span *ngIf="isToBeAdded(sharedCase.caseId, user) | async" class="hmcts-badge">To be added</span>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n</div>\n',styles:[".govuk-case-header{border-top:1px solid #bfc1c3}.govuk-case-title{font-size:24px;color:#005ea5;font-weight:700}.govuk-case-sub-title,.govuk-case-title{font-family:nta,Arial,sans-serif;padding-left:0}.govuk-case-sub-title{font-size:1rem!important;color:#6f777b;font-weight:400}.govuk-grid-row{margin-left:0;margin-right:0}.govuk-grid-column-three-quarters{padding-top:5px;padding-left:0}.govuk-grid-column-twenty-percent{box-sizing:border-box;padding-top:10px;width:20%;float:left}.govuk-grid-column-five-percent{box-sizing:border-box;padding-top:15px;width:5%;float:left}.govuk-table-column-header{width:38%}.govuk-table-column-actions,.govuk-table-column-label{width:12%}.govuk-div-align-left{font-family:nta,Arial,sans-serif;font-size:1.1875rem!important;line-height:1.31579!important;text-align:left;margin-bottom:20px;padding-left:0;color:#0b0c0c}.govuk-accordion__section-header{border-top:0}.govuk-accordion__section-content{padding-top:0}"]}]}],W.ctorParameters=function(){return[{type:V}]},W.propDecorators={sharedCase:[{type:t.Input}],selectedUser:[{type:t.Input}],opened:[{type:t.Input}],removeUserFromCaseToggleOn:[{type:t.Input}],caseCount:[{type:t.Input}],unselect:[{type:t.Output}],synchronizeStore:[{type:t.Output}]};var H=function(){function e(){this.hideMessage=new t.EventEmitter}return e.prototype.onHideMessageEvent=function(e){this.hideMessage.emit(e)},e}();H.decorators=[{type:t.Component,args:[{selector:"xuilib-service-message",template:'<div class="hmcts-banner hmcts-banner--warning">\n\n <svg class="hmcts-banner__icon" fill="currentColor" role="presentation" focusable="false"\n xmlns="http://www.w3.org/2000/svg" viewBox="0 0 25 25" height="25" width="25">\n <path d="M13.6,15.4h-2.3v-4.5h2.3V15.4z M13.6,19.8h-2.3v-2.2h2.3V19.8z M0,23.2h25L12.5,2L0,23.2z" />\n </svg>\n\n <div class="hmcts-banner__message">\n <span class="hmcts-banner__assistive">Warning</span>\n <h2 class="govuk-heading-s" [innerHTML]="message"></h2>\n <a [routerLink]="" class="govuk-link--no-visited-state" (click)="onHideMessageEvent(key)">Hide message</a>\n </div>\n\n</div>'}]}],H.ctorParameters=function(){return[]},H.propDecorators={message:[{type:t.Input}],key:[{type:t.Input}],hideMessage:[{type:t.Output}]};var $=function(){function e(){}return e.prototype.initialize=function(e,t){throw new Error("Not implemented")},e.prototype.isEnabled=function(e){throw new Error("Not implemented")},e.prototype.getValue=function(e,t){throw new Error("Not implemented")},e.prototype.getValueOnce=function(e,t){throw new Error("Not implemented")},e}();$.ɵprov=b.ɵɵdefineInjectable({factory:function(){return new $},token:$,providedIn:"root"}),$.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}];var q=function(){function e(e){this.featureToggleService=e,this.filteredMessages=new Map}return e.prototype.ngOnInit=function(){this.getServiceMessages()},e.prototype.getServiceMessages=function(){var e=this;this.featureToggleService.getValue(this.featureToggleKey,null).subscribe((function(t){t&&e.createFilteredMessages(t)}))},e.prototype.createFilteredMessages=function(e){var t=this;this.hiddenBanners=JSON.parse(window.sessionStorage.getItem(this.serviceMessageCookie))||[],Object.keys(e).forEach((function(n){var o=new RegExp(n);t.userRoles.some((function(e){return o.test(e)}))&&-1===t.hiddenBanners.indexOf(n)&&t.filteredMessages.set(n,e[n])}))},e.prototype.hideMessage=function(e){this.filteredMessages.delete(e),this.hiddenBanners.push(e),window.sessionStorage.setItem(this.serviceMessageCookie,JSON.stringify(this.hiddenBanners))},e}();q.decorators=[{type:t.Component,args:[{selector:"xuilib-service-messages",template:'<div *ngIf="filteredMessages?.size > 0" class="govuk-width-container govuk-!-margin-top-6">\n <xuilib-service-message *ngFor="let message of filteredMessages | keyvalue" [key]="message.key"\n [message]="message.value" (hideMessage)="hideMessage($event)"></xuilib-service-message>\n</div>'}]}],q.ctorParameters=function(){return[{type:$}]},q.propDecorators={userRoles:[{type:t.Input}],featureToggleKey:[{type:t.Input}],serviceMessageCookie:[{type:t.Input}]};var J,K=function(){function e(e){this.stateService=e,this.shareCases=[],this.changeLink="",this.completeLink=""}return e.prototype.ngOnInit=function(){var e=this;this.shareCases$.subscribe((function(t){e.shareCases=t,e.stateService.setCases(t)})),this.shareCases$=this.stateService.state},e}();K.decorators=[{type:t.Component,args:[{selector:"xuilib-share-case-confirm",template:'<div id="casesToConfirm">\n <h3 class="govuk-heading-l">Cases</h3>\n <div *ngIf="shareCases && shareCases.length > 0" id="summarySections">\n <xuilib-selected-case-list\n [shareCases$]="shareCases$"\n [toConfirm]="true"\n [changeLink]="changeLink">\n </xuilib-selected-case-list>\n </div>\n\n <div id="noCaseDisplay" *ngIf="shareCases && shareCases.length === 0" class="govuk-hint">\n No cases to display.\n </div>\n\n</div>\n\n<div id="share-case-nav" *ngIf="shareCases && shareCases.length > 0">\n <button class="govuk-button" title="Confirm" [routerLink]="completeLink">Confirm</button>\n</div>\n',styles:[""]}]}],K.ctorParameters=function(){return[{type:V}]},K.propDecorators={shareCases$:[{type:t.Input}],changeLink:[{type:t.Input}],completeLink:[{type:t.Input}]},e.SharedCaseErrorMessages=void 0,(J=e.SharedCaseErrorMessages||(e.SharedCaseErrorMessages={})).OneCaseMustBeSelected="At least one case must be selected",J.NoChangesRequested="You have not requested any changes to case sharing",J.OnePersonMustBeAssigned="At least one person must be assigned to each case";var Y=function(){function e(){this.selected=new t.EventEmitter,this.control=new o.FormControl}return e.prototype.ngOnInit=function(){var e=this;this.filteredUsers=this.control.valueChanges.pipe(s.map((function(t){return"string"==typeof t?e.filterUsers(t):e.users}))),this.selected.emit(null)},e.prototype.displayValue=function(e){return e?e.firstName+" "+e.lastName+" - "+e.email:""},e.prototype.onSelected=function(e){this.selected.emit(e.option.value)},e.prototype.clear=function(){this.control.setValue(null)},e.prototype.onUserChange=function(e){e&&e.email||this.selected.emit(null)},e.prototype.filterUsers=function(e){return e?(e=e.toLowerCase(),this.users.filter((function(t){return!!t.firstName.toLowerCase().includes(e)||(!!t.lastName.toLowerCase().includes(e)||!!t.email.toLowerCase().includes(e))}))):[]},e}();Y.decorators=[{type:t.Component,args:[{selector:"xuilib-user-select",template:'<input class="govuk-input" type="text" [matAutocomplete]="dropdown" [formControl]="control" (ngModelChange)="onUserChange($event)" aria-labelledby="add-user-hint">\n\n<mat-autocomplete #dropdown="matAutocomplete" [displayWith]="displayValue" autoActiveFirstOption (optionSelected)="onSelected($event)">\n <mat-option *ngFor="let user of filteredUsers | async" [value]="user">\n {{ user.firstName }} {{ user.lastName }} - {{ user.email }}\n </mat-option>\n</mat-autocomplete>',styles:[""]}]}],Y.ctorParameters=function(){return[]},Y.propDecorators={users:[{type:t.Input}],selected:[{type:t.Output}]};var Q=function(){function n(e,n){this.stateService=e,this.router=n,this.shareCases=[],this.continueAllowed=!1,this.selectedUserToRemove=null,this.removeUserFromCaseToggleOn=!1,this.users=[],this.confirmLink="",this.cancelLink="",this.showRemoveUsers=!1,this.fnTitle="",this.title="",this.unselect=new t.EventEmitter,this.synchronizeStore=new t.EventEmitter,this.validationErrors=[]}return n.prototype.ngOnInit=function(){var e=this;this.shareCases$.pipe(s.tap((function(t){e.getAssignedUsers(t.filter((function(e){return e.sharedWith&&e.sharedWith.length>0})))}))).subscribe((function(t){e.shareCases=t,e.stateService.setCases(t),t&&(e.selectedCasesErrorMessageConfig={id:t.length>0?"cases":"noCaseDisplay"})})),this.shareCases$=this.stateService.state,this.shareCaseErrorMessage={isInvalid:!1,messages:[]}},n.prototype.onUnselect=function(t){this.validationErrors=[],1===this.stateService.getCases().length?(this.validationErrors.push({id:"cases",message:e.SharedCaseErrorMessages.OneCaseMustBeSelected}),this.shareCaseErrorMessage={isInvalid:!0,messages:[e.SharedCaseErrorMessages.OneCaseMustBeSelected]},window.scrollTo({top:0,left:0,behavior:"smooth"})):(this.unselect.emit(t),this.stateService.removeCase(t.caseId))},n.prototype.onSynchronizeStore=function(e){this.synchronizeStore.emit(e)},n.prototype.onSelectedUser=function(e){this.selectedUser=e},n.prototype.addUser=function(){var e=this.stateService.requestShare(this.selectedUser);this.selectedUser=null,this.userSelect&&this.userSelect.clear(),this.synchronizeStore.emit(e),this.getAssignedUsers(e)},n.prototype.removeUser=function(){if(this.selectedUserToRemove){var e=this.stateService.requestUnshare(this.selectedUserToRemove);this.synchronizeStore.emit(e)}},n.prototype.isDisabledAdd=function(){return null===this.selectedUser||0===this.shareCases.length},n.prototype.setContinueAllowed=function(){var e=this;this.continueAllowed=!1,this.shareCases$.subscribe((function(t){var n,o;try{for(var i=L(t),s=i.next();!s.done;s=i.next()){var r=s.value;if(r.pendingShares&&r.pendingShares.length>0){e.continueAllowed=!0;break}if(r.pendingUnshares&&r.pendingUnshares.length>0){e.continueAllowed=!0;break}}}catch(e){n={error:e}}finally{try{s&&!s.done&&(o=i.return)&&o.call(i)}finally{if(n)throw n.error}}}))},n.prototype.onDeselect=function(e){var t,n;if(null!==e){var o=[];try{for(var i=L(this.shareCases),s=i.next();!s.done;s=i.next()){var r=s.value;r.caseId!==e.caseId&&o.push(r)}}catch(e){t={error:e}}finally{try{s&&!s.done&&(n=i.return)&&n.call(i)}finally{if(t)throw t.error}}this.shareCases=o}this.stateService.setCases(this.shareCases)},n.prototype.onContinue=function(){this.setContinueAllowed(),this.continueAllowed||(this.validationErrors=[],this.validationErrors.push({id:"cases",message:e.SharedCaseErrorMessages.NoChangesRequested}),this.shareCaseErrorMessage={isInvalid:!0,messages:[e.SharedCaseErrorMessages.NoChangesRequested]},window.scrollTo({top:0,left:0,behavior:"smooth"})),this.continueAllowed&&(this.hasCasesLeftUnassigned(this.shareCases)?(this.validationErrors=[],this.validationErrors.push({id:"cases",message:e.SharedCaseErrorMessages.OnePersonMustBeAssigned}),this.shareCaseErrorMessage={isInvalid:!0,messages:[e.SharedCaseErrorMessages.OnePersonMustBeAssigned]},window.scrollTo({top:0,left:0,behavior:"smooth"})):this.router.navigate([this.confirmLink]))},n.prototype.getAssignedUsers=function(e){var t=[];e.forEach((function(e){e.sharedWith&&e.sharedWith.forEach((function(e){t.some((function(t){return e.idamId===t.idamId}))||t.push(e)})),e.pendingShares&&e.pendingShares.forEach((function(e){t.some((function(t){return e.idamId===t.idamId}))||t.push(e)}))})),this.assignedUsers=t},n.prototype.hasCasesLeftUnassigned=function(e){return e.some((function(e){return e.pendingUnshares&&e.sharedWith&&e.pendingUnshares.length===e.sharedWith.length&&(!e.pendingShares||0===e.pendingShares.length)}))},n}();Q.decorators=[{type:t.Component,args:[{selector:"xuilib-share-case",template:'<xuilib-hmcts-error-summary\n [errorMessages]="validationErrors"\n [header]="\'There is a problem\'"\n></xuilib-hmcts-error-summary>\n<h1 *ngIf="title" class="govuk-heading-xl govuk-!-margin-top-2">\n <span *ngIf="fnTitle" class="govuk-caption-xl">{{fnTitle}}</span>\n {{title}}\n</h1>\n<div id="add-user">\n <div class="govuk-form-group">\n <label class="govuk-label govuk-!-font-weight-bold" for="add-user-input">{{addUserLabel}}</label>\n <span id="add-user-hint" class="govuk-hint">\n Search by name or email address. You can share access with as many people as you need.\n </span>\n <div class="govuk-grid-row">\n <div class="govuk-grid-column-two-thirds">\n <xuilib-user-select\n id="add-user-input"\n aria-describedby="add-user-hint"\n [users]="users"\n (selected)="onSelectedUser($event)">\n </xuilib-user-select>\n </div>\n <div class="govuk-grid-column-one-thirds">\n <button id="btn-add-user" (click)="addUser()" class="govuk-button govuk-button--secondary" [disabled]="isDisabledAdd()" title="Add user to selected cases">Add</button>\n </div>\n </div>\n <details id="add-user-help" class="govuk-details" data-module="govuk-details">\n <summary class="govuk-details__summary">\n <span id="content-why-can-not-find-email" class="govuk-details__summary-text">\n Can\'t find an email address?\n </span>\n </summary>\n <div id="content-reason-can-not-find-email" class="govuk-details__text">\n If you can\'t find your colleague\'s email address, they will need to complete their registration. Contact your\n administrator for help.\n </div>\n </details>\n </div>\n <div class="govuk-form-group" *ngIf="showRemoveUsers">\n <label class="govuk-label govuk-!-font-weight-bold" for="remove-user-input">Remove a person from all cases</label>\n <span id="remove-user-hint" class="govuk-hint">\n Select a person to remove them from all selected cases.\n </span>\n <div class="govuk-grid-row">\n <div class="govuk-grid-column-two-thirds">\n <select [(ngModel)]="selectedUserToRemove" class="govuk-select" id="remove-user-input" aria-describedby="remove-user-hint">\n <option [ngValue]="null" selected>Select a person</option>\n <option *ngFor="let user of assignedUsers" [ngValue]="user">{{user.firstName}} {{user.lastName}} - {{user.email}}</option>\n </select>\n </div>\n <div class="govuk-grid-column-one-thirds">\n <button id="btn-remove-user" (click)="removeUser()" class="govuk-button govuk-button--secondary" title="Remove user from selected cases">Remove</button>\n </div>\n </div>\n </div>\n</div>\n\n<div id="cases" [ngClass]="{\'govuk-form-group--error\': shareCaseErrorMessage.messages && shareCaseErrorMessage.messages.length > 0}">\n <h3 id="title-selected-cases" class="govuk-heading-m">Selected cases</h3>\n <xuilib-gov-uk-error-message [config]="selectedCasesErrorMessageConfig" [errorMessage]="shareCaseErrorMessage"></xuilib-gov-uk-error-message>\n <div *ngIf="shareCases && shareCases.length > 0" class="govuk-accordion" data-module="govuk-accordion" id="accordion-with-summary-sections">\n <xuilib-selected-case-list\n [shareCases$]="shareCases$"\n [removeUserFromCaseToggleOn]="removeUserFromCaseToggleOn"\n (unselect)="onUnselect($event)"\n (synchronizeStore)="onSynchronizeStore($event)"\n >\n </xuilib-selected-case-list>\n </div>\n\n <div id="noCaseDisplay" *ngIf="shareCases && shareCases.length === 0" class="govuk-hint"\n [ngClass]="{\'govuk-form-group--error\': shareCaseErrorMessage.messages && shareCaseErrorMessage.messages.length > 0}">\n No cases to display.\n </div>\n\n</div>\n\n<div id="share-case-nav" class="govuk-button-group">\n <button id="btn-continue" class="govuk-button" data-module="govuk-button" (click)="onContinue()" title="Continue">Continue</button>\n <button id="btn-cancel" class="govuk-button govuk-button--secondary" data-module="govuk-button" title="Cancel" [routerLink]="cancelLink">Cancel</button>\n</div>\n',styles:["select{width:100%}"]}]}],Q.ctorParameters=function(){return[{type:V},{type:r.Router}]},Q.propDecorators={removeUserFromCaseToggleOn:[{type:t.Input}],shareCases$:[{type:t.Input}],users:[{type:t.Input}],confirmLink:[{type:t.Input}],cancelLink:[{type:t.Input}],addUserLabel:[{type:t.Input}],showRemoveUsers:[{type:t.Input}],fnTitle:[{type:t.Input}],title:[{type:t.Input}],unselect:[{type:t.Output}],synchronizeStore:[{type:t.Output}],userSelect:[{type:t.ViewChild,args:[Y,{static:!0}]}]};var X=function(){function e(){this.tabChange=new t.EventEmitter}return e.prototype.tabChanged=function(e){this.tabChange.emit(e)},e}();X.decorators=[{type:t.Component,args:[{selector:"xuilib-tab",template:'<mat-tab-group animationDuration="0ms" (selectedTabChange)="tabChanged($event)">\n <mat-tab *ngFor="let tabItem of tabItems; let last = last;" [label]="tabItem.text">\n </mat-tab>\n</mat-tab-group>'}]}],X.ctorParameters=function(){return[]},X.propDecorators={tabItems:[{type:t.Input}],tabChange:[{type:t.Output}]};var Z=function(){function e(){this.confirm=new t.EventEmitter}return e.prototype.onClick=function(){this.confirm.emit()},e}();Z.decorators=[{type:t.Component,args:[{selector:"xuilib-tc-confirm",template:'<div class="govuk-width-container">\n <main role="main" class="govuk-main-wrapper">\n <div class="govuk-grid-row">\n <div class="govuk-grid-column-two-thirds">\n <div class="column-two-thirds">\n <h1 class="govuk-heading-xl">Using this service</h1>\n <h2 class="govuk-heading-m">Terms and conditions</h2>\n <p>We\'ve recently updated the\n <a\n routerLink="/terms-and-conditions"\n rel="noopener noreferrer"\n target="_blank"\n >terms and conditions</a\n >.\n </p>\n <p>You must review and accept them.\n </p>\n <p>\n <button class="govuk-button" (click)="onClick()">\n {{ buttonText }}\n </button>\n </p>\n </div>\n </div>\n </div>\n <div class="govuk-grid-column-one-third"></div>\n </main>\n</div>\n',styles:[""]}]}],Z.ctorParameters=function(){return[]},Z.propDecorators={buttonText:[{type:t.Input}],confirm:[{type:t.Output}]};var ee=function(){};ee.decorators=[{type:t.Component,args:[{selector:"xuilib-tc-display-html",template:"<ng-content></ng-content>",styles:[":host{display:block;width:100%}"]}]}],ee.ctorParameters=function(){return[]};var te=function(){};te.decorators=[{type:t.Component,args:[{selector:"xuilib-tc-display-plain",template:"<ng-content></ng-content>",styles:[":host{display:block;width:100%}"]}]}],te.ctorParameters=function(){return[]};var ne=function(){};ne.decorators=[{type:t.Component,args:[{selector:"xuilib-terms-and-conditions",template:'<ng-container [ngSwitch]="document.mimeType">\n <xuilib-tc-display-html *ngSwitchCase="\'text/html\'">\n <div [innerHTML]="document.content"></div>\n </xuilib-tc-display-html>\n <xuilib-tc-display-plain *ngSwitchCase="\'text/plain\'">\n {{ document.content }}\n </xuilib-tc-display-plain>\n <div *ngSwitchDefault>\n An error occured. Please try again.\n </div>\n</ng-container>\n',styles:[":host{display:block;width:100%}"]}]}],ne.ctorParameters=function(){return[]},ne.propDecorators={document:[{type:t.Input}]};var oe=function(){function e(){this.showEditLink=!1,this.showHelpLink=!1,this.suspendUserEvent=new t.EventEmitter,this.showSuspendUserButton=!1,this.reinvite=new t.EventEmitter}return e.prototype.reinviteClick=function(e){this.reinvite.emit(e)},e.prototype.suspendUser=function(e){this.suspendUserEvent.emit(e)},e.prototype.userHasRole=function(e){return!(!this.user||!this.user.roles)&&this.user.roles.includes(e)},e}();oe.decorators=[{type:t.Component,args:[{selector:"xuilib-user-details",template:'<div class="govuk-warning-text" *ngIf="warningTitle && warningTitle !== \'\'">\n<span class="govuk-warning-text__icon">!</span>\n<strong class="govuk-warning-text__text">\n {{ warningTitle }}\n</strong>\n</div>\n<table class="govuk-table" *ngIf="user">\n <tbody class="govuk-table__body">\n <tr class="govuk-table__row">\n <th class="govuk-table__header" scope="row">Name</th>\n <td class="govuk-table__cell">{{user.fullName}}</td>\n <td class="govuk-table__cell"></td>\n </tr>\n <tr class="govuk-table__row">\n <th class="govuk-table__header" scope="row">Email address</th>\n <td class="govuk-table__cell">{{user.email}}</td>\n <td class="govuk-table__cell"></td>\n </tr>\n <tr class="govuk-table__row" *ngIf="!user.resendInvite">\n <th class="govuk-table__header" scope="row">Permissions</th>\n <td class="govuk-table__cell">\n <div *ngIf="user.manageOrganisations === \'Yes\'">Manage organisations</div>\n <div *ngIf="user.manageUsers === \'Yes\'">Manage users</div>\n <div *ngIf="user.manageCases === \'Yes\'">Manage cases</div>\n <div *ngIf="userHasRole(\'pui-caa\')">Case access administrator</div>\n <div *ngIf="userHasRole(\'pui-finance-manager\')">Manage fee accounts</div>\n </td>\n <td class="govuk-table__cell"><a *ngIf="editPermissionRouterLink && showEditLink" [routerLink]="editPermissionRouterLink">Change <span class="govuk-visually-hidden">roles</span></a></td>\n </tr>\n </tbody>\n</table>\n<button *ngIf="showSuspendUserButton" class="govuk-button govuk-button--warning" (click)="suspendUser(user)">\n Suspend account\n</button>\n<div *ngIf="user && user.resendInvite">\n <div class="govuk-inset-text">\n <p>This user has already been invited but has not activated their account.</p>\n <p>If you resend an invitation, they\'ll receive an email from HM Courts and Tribunals to finish setting up their account.</p>\n <p>You can\'t invite the same user more than once an hour.</p>\n </div>\n <a role="button" draggable="false" class="govuk-button" (click)="reinviteClick(user)" id="resend-invite-button">\n Resend invitation\n </a>\n</div>\n<p class="govuk-body" *ngIf="showHelpLink && suspendHelpLink"><a [routerLink]="suspendHelpLink" target="_blank">Get help</a> to reactivate this account.</p>\n',styles:[":host{display:block}"]}]}],oe.propDecorators={user:[{type:t.Input}],editPermissionRouterLink:[{type:t.Input}],warningTitle:[{type:t.Input}],showEditLink:[{type:t.Input}],showHelpLink:[{type:t.Input}],suspendHelpLink:[{type:t.Input}],suspendUserEvent:[{type:t.Output}],showSuspendUserButton:[{type:t.Input}],reinvite:[{type:t.Output}]};var ie=function(){function e(){this.users=[],this.userClick=new t.EventEmitter,this.pageChange=new t.EventEmitter}return e.prototype.ngOnInit=function(){this.pagination={itemsPerPage:50,currentPage:this.currentPageNumber,totalItems:this.pageTotalSize}},e.prototype.onUserClick=function(e){this.userClick.emit(e)},e.prototype.emitPageClickEvent=function(e){this.currentPageNumber=e,this.pageChange.emit(e)},e}();ie.decorators=[{type:t.Component,args:[{selector:"xuilib-user-list",template:'<table class="govuk-table">\n\n <thead clas="govuk-table__head">\n <tr class="govuk-table__row">\n <th class="govuk-table__header" scope="col">Name</th>\n <th class="govuk-table__header" scope="col">Email</th>\n <th class="govuk-table__header" scope="col">Status</th>\n </tr>\n </thead>\n <tbody class="govuk-table__body">\n <ng-container *ngFor="let u of users | paginate: { itemsPerPage: pagination.itemsPerPage, currentPage: currentPageNumber, totalItems: pagination.totalItems }">\n <tr class="govuk-table__row" data-selector="table-row">\n <td class="govuk-table__cell" data-selector="table-cell">\n <a class="govuk-link" [attr.title]="u.routerLinkTitle" [routerLink]="u.routerLink" (click)="onUserClick(u)">{{ u.fullName }}</a>\n </td>\n <td class="govuk-table__cell" data-selector="table-cell">{{ u.email }}</td>\n <td class="govuk-table__cell" data-selector="table-cell">{{ u.status }}</td>\n </tr>\n </ng-container>\n </tbody>\n</table>\n<xuilib-hmcts-pagination (pageChange)="emitPageClickEvent($event)" [pageSize]="pagination.itemsPerPage"></xuilib-hmcts-pagination>\n',styles:[":host{display:block}"]}]}],ie.propDecorators={users:[{type:t.Input}],currentPageNumber:[{type:t.Input}],pageTotalSize:[{type:t.Input}],userClick:[{type:t.Output}],pageChange:[{type:t.Output}]};var se=function(){function e(e){this.document=e}return e.prototype.setCookie=function(e,t,n){var o=e+"="+t+";"+(n?" expires="+n:"");this.document.cookie=o},e.prototype.getCookie=function(e){return this.document.cookie.split("; ").find((function(t){return t.startsWith(e+"=")})).split("=")[1]},e.prototype.deleteCookie=function(e,t,n){var o=t?"; path="+t:"",i=n?"; domain="+n:"";this.document.cookie=e+"="+o+i+"; expires=Thu, 01 Jan 1970 00:00:01 GMT; max-age=0"},e.prototype.deleteCookieByPartialMatch=function(e,t,n){var o=this;this.document.cookie.split("; ").filter((function(t){return t.startsWith(""+e)})).forEach((function(e){o.deleteCookie(e.split("=")[0],t,n)}))},e.prototype.checkCookie=function(e){return this.document.cookie.split("; ").some((function(t){return t.trim().startsWith(e+"=")}))},e}();se.ɵprov=b.ɵɵdefineInjectable({factory:function(){return new se(b.ɵɵinject(y.DOCUMENT))},token:se,providedIn:"root"}),se.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],se.ctorParameters=function(){return[{type:void 0,decorators:[{type:t.Inject,args:[n.DOCUMENT]}]}]};var re=new t.InjectionToken("Window");function ae(){return window}var le,ce=function(){function e(e,n){this.cookieService=e,this.rejectionNotifier=new t.EventEmitter,this.acceptanceNotifier=new t.EventEmitter,this.isCookieBannerVisible=!1,this.window=n}return e.prototype.ngOnInit=function(){this.setState()},e.prototype.acceptCookie=function(){this.cookieService.setCookie(this.identifier,"true",this.getExpiryDate()),this.setState(!0)},e.prototype.rejectCookie=function(){this.cookieService.setCookie(this.identifier,"false",this.getExpiryDate()),this.setState(!0)},e.prototype.setState=function(e){void 0===e&&(e=!1),this.isCookieBannerVisible=!this.cookieService.checkCookie(this.identifier),this.areCookiesAccepted()?this.notifyAcceptance():this.notifyRejection(),e&&this.window.location.reload()},e.prototype.areCookiesAccepted=function(){return this.cookieService.checkCookie(this.identifier)&&"true"===this.cookieService.getCookie(this.identifier)},e.prototype.notifyRejection=function(){this.rejectionNotifier.emit()},e.prototype.notifyAcceptance=function(){this.acceptanceNotifier.emit()},e.prototype.getExpiryDate=function(){var e=new Date,t=e.getTime()+31536e6;return e.setTime(t),e.toUTCString()},e}();ce.decorators=[{type:t.Component,args:[{selector:"xuilib-cookie-banner",template:'<div class="govuk-cookie-banner " role="region" attr.aria-label="\'Cookies on {{appName}}\'" *ngIf="isCookieBannerVisible">\n <div class="govuk-cookie-banner__message govuk-width-container">\n\n <div class="govuk-grid-row">\n <div class="govuk-grid-column-two-thirds">\n <h2 class="govuk-cookie-banner__heading govuk-heading-m">Cookies on {{appName}}</h2>\n\n <div class="govuk-cookie-banner__content">\n <p>We use some essential cookies to make this service work.</p>\n <p>We’d also like to use analytics cookies so we can understand how you use the service and make improvements.</p>\n </div>\n </div>\n </div>\n\n <div class="govuk-button-group">\n <button value="accept" type="button" name="cookies" class="govuk-button" data-module="govuk-button" (click)="acceptCookie()">\n Accept analytics cookies\n </button>\n <button value="reject" type="button" name="cookies" class="govuk-button" data-module="govuk-button" (click)="rejectCookie()">\n Reject analytics cookies\n </button>\n <a class="govuk-link" routerLink="/cookies">View cookies</a>\n </div>\n </div>\n</div>'}]}],ce.ctorParameters=function(){return[{type:se},{type:void 0,decorators:[{type:t.Inject,args:[re]}]}]},ce.propDecorators={identifier:[{type:t.Input}],appName:[{type:t.Input}],rejectionNotifier:[{type:t.Output}],acceptanceNotifier:[{type:t.Output}]},e.BadgeColour=void 0,(le=e.BadgeColour||(e.BadgeColour={})).BADGE_RED="hmcts-badge--red",le.BADGE_BLUE="hmcts-badge--blue",le.BADGE_GREEN="hmcts-badge--green";var ue,de,pe,ge=function(){},he=function(){},me=function(){};e.BookingCheckType=void 0,(ue=e.BookingCheckType||(e.BookingCheckType={})).NO_CHECK="NO_CHECK",ue.BOOKINGS_AND_BASE="BOOKINGS_AND_BASE",ue.POSSIBLE_BOOKINGS="POSSIBLE_BOOKINGS",e.PersonRole=void 0,(de=e.PersonRole||(e.PersonRole={})).JUDICIAL="Judicial",de.CASEWORKER="Legal Ops",de.ADMIN="Admin",de.CTSC="CTSC",de.ALL="All",e.RoleCategory=void 0,(pe=e.RoleCategory||(e.RoleCategory={})).JUDICIAL="JUDICIAL",pe.CASEWORKER="LEGAL_OPERATIONS",pe.ADMIN="ADMIN",pe.CTSC="CTSC",pe.ALL="ALL";var fe=function(){function e(e){this.http=e}return e.prototype.getAllLocations=function(e,t,n,o,i){return this.http.post("api/locations/getLocations",{serviceIds:e,locationType:t,searchTerm:n,userLocations:o,bookingLocations:i})},e.prototype.searchLocations=function(e,t,n){return this.http.get("api/prd/location/getLocations?serviceIds="+e+"&locationType="+t+"&searchTerm="+n)},e}();fe.ɵprov=b.ɵɵdefineInjectable({factory:function(){return new fe(b.ɵɵinject(C.HttpClient))},token:fe,providedIn:"root"}),fe.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],fe.ctorParameters=function(){return[{type:a.HttpClient}]};var ve=function(){function e(){}return e.prototype.getItem=function(e,t){void 0===t&&(t=!1);var n=sessionStorage.getItem(e);return t&&this.removeItem(e),n},e.prototype.setItem=function(e,t){sessionStorage.setItem(e,t)},e.prototype.removeItem=function(e){sessionStorage.removeItem(e)},e.prototype.clear=function(){sessionStorage.clear()},e}();ve.ɵprov=b.ɵɵdefineInjectable({factory:function(){return new ve},token:ve,providedIn:"root"}),ve.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}];var be=function(){function n(e,n,o,i){this.locationService=e,this.sessionStorageService=n,this.fb=o,this.cd=i,this.disabled=null,this.singleMode=!1,this.locationType="",this.serviceIds="",this.submitted=!0,this.delay=500,this.showAutocomplete=!1,this.locations=[],this.locationSelected=new t.EventEmitter,this.locationInputChanged=new t.EventEmitter,this.searchLocationChanged=new t.EventEmitter,this.minSearchCharacters=3,this.term="",this.pSelectedLocations=[],this.pReset=!0,this.form=this.fb.group({searchTerm:[""]})}return Object.defineProperty(n.prototype,"reset",{get:function(){return this.pReset},set:function(e){this.pReset=e,this.resetSearchTerm()},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"selectedLocations",{get:function(){return this.pSelectedLocations},set:function(e){this.pSelectedLocations=e},enumerable:!1,configurable:!0}),n.prototype.ngOnInit=function(){if(this.singleMode&&this.selectedLocations.length>0){var e=this.selectedLocations[0];this.form.controls.searchTerm.patchValue(e.site_name,{emitEvent:!1,onlySelf:!0})}this.search()},n.prototype.filter=function(e){var t=this;this.getLocations(e).pipe(s.map((function(e){return t.removeSelectedLocations(e)})))},n.prototype.onSelectionChange=function(e){this.form.controls.searchTerm.patchValue(e.site_name,{emitEvent:!1,onlySelf:!0}),this.locationSelected.emit(e)},n.prototype.search=function(){var e=this;this.form.controls.searchTerm.valueChanges.pipe(s.tap((function(t){return e.locationInputChanged.next(t)})),s.tap((function(){return e.locations=[]})),s.tap((function(t){return e.term=t})),s.filter((function(t){return!!t&&t.length>=e.minSearchCharacters})),s.debounceTime(this.delay),s.mergeMap((function(t){return e.getLocations(t)})),s.map((function(t){return e.removeSelectedLocations(t)}))).subscribe((function(t){if(e.locations=t,e.cd.markForCheck(),1===t.length&&e.term===t[0].site_name&&!e.singleMode)return e.locationSelected.emit(t[0]),void(e.showAutocomplete=!1);e.showAutocomplete=!0}))},n.prototype.onInput=function(){this.searchLocationChanged.emit()},n.prototype.getLocations=function(t){var n,o;if(this.bookingCheck===e.BookingCheckType.BOOKINGS_AND_BASE){n=JSON.parse(this.sessionStorageService.getItem("userLocations")),o=JSON.parse(this.sessionStorageService.getItem("bookingLocations"));var i=JSON.parse(this.sessionStorageService.getItem("bookableServices")),s=[];n.forEach((function(e){e.bookable&&s.push(e.service)})),i.forEach((function(e){s.includes(e)||n.push({service:e,locations:[],bookable:!0})}))}else this.bookingCheck===e.BookingCheckType.POSSIBLE_BOOKINGS&&(this.serviceIds=this.serviceIds&&this.serviceIds.length?this.serviceIds:JSON.parse(this.sessionStorageService.getItem("bookableServices")),n=(n=JSON.parse(this.sessionStorageService.getItem("userLocations"))).filter((function(e){return e.bookable})));return this.locationService.getAllLocations(this.serviceIds,this.locationType,t,n,o)},n.prototype.resetSearchTerm=function(){this.form.controls.searchTerm.patchValue("",{emitEvent:!1,onlySelf:!0})},n.prototype.removeSelectedLocations=function(e){var t=this;return this.singleMode?e:e.filter((function(e){return!t.selectedLocations.map((function(e){return e.epimms_id})).includes(e.epimms_id)&&e.site_name}))},n}();be.decorators=[{type:t.Component,args:[{selector:"exui-search-location",template:'<div class="auto-complete-container">\n <input\n id="inputLocationSearch"\n (input)="onInput()"\n [formControl]="form.controls.searchTerm"\n [matAutocomplete]="autoSearchLocation"\n class="govuk-input"\n [attr.disabled]="disabled">\n <mat-autocomplete class="mat-autocomplete-panel-extend" autoActiveFirstOption #autoSearchLocation="matAutocomplete">\n <mat-option *ngFor="let location of locations"\n (onSelectionChange)="onSelectionChange(location)">\n {{ location.site_name }}\n </mat-option>\n <mat-option *ngIf="!locations.length && showAutocomplete && term && term.length >= this.minSearchCharacters">No results found</mat-option>\n </mat-autocomplete>\n</div>\n',styles:[".autocomplete__input--show-all-values{padding:5px 34px 5px 5px;cursor:pointer}.autocomplete__dropdown-arrow-down{z-index:-1;display:inline-block;position:absolute;right:8px;width:24px;height:24px;top:10px}.autocomplete__menu{background-color:#fff;border:2px solid #0b0c0c;border-top:0;color:#0b0c0c;margin:0;max-height:342px;overflow-x:hidden;padding:0;width:calc(100% - 4px)}.autocomplete__menu--visible{display:block}.autocomplete__menu--hidden{display:none}.autocomplete__menu--overlay{box-shadow:0 2px 6px rgba(0,0,0,.256863);left:0;position:absolute;top:100%;z-index:100}.autocomplete__menu--inline{position:relative}.autocomplete__option{border-left-width:0;border-bottom:1px solid #b1b4b6;border-right-width:0;border-top-width:1px;cursor:pointer;display:block;position:relative}.autocomplete__option>*{pointer-events:none}.autocomplete__option:first-of-type{border-top-width:0}.autocomplete__option:last-of-type{border-bottom-width:0}.autocomplete__option--odd{background-color:#fafafa}.autocomplete__option--focused,.autocomplete__option:hover{background-color:#1d70b8;border-color:#1d70b8;color:#fff;outline:0}.autocomplete__option--no-results{background-color:#fafafa;color:#646b6f;cursor:not-allowed}.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.25}.autocomplete__hint,.autocomplete__option{padding:5px}@media (min-width:641px){.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.31579}}.div-action{display:inline-block}.add-location{display:inline}.remove-location-button{margin:5px}.hide-autocomplete{display:none}.auto-complete-container{display:inline-block;margin-right:4px;width:calc(100% - 4px)}.autocomplete__input{line-height:24px;font-size:19px}"]}]}],be.ctorParameters=function(){return[{type:fe},{type:ve},{type:o.FormBuilder},{type:t.ChangeDetectorRef}]},be.propDecorators={control:[{type:t.Input}],disabled:[{type:t.Input}],singleMode:[{type:t.Input}],locationType:[{type:t.Input}],serviceIds:[{type:t.Input}],submitted:[{type:t.Input}],delay:[{type:t.Input}],form:[{type:t.Input}],showAutocomplete:[{type:t.Input}],locations:[{type:t.Input}],bookingCheck:[{type:t.Input}],locationSelected:[{type:t.Output}],locationInputChanged:[{type:t.Output}],searchLocationChanged:[{type:t.Output}],reset:[{type:t.Input}],selectedLocations:[{type:t.Input}]};var ye=function(){function e(){this.locationFieldChanged=new t.EventEmitter,this.selectedLocations=[],this.submitted=!0,this.enableAddLocationButton=!0,this.locationTitle="Search for a location by name",this.disableInputField=!1,this.locations=[],this.tempSelectedLocation=null,this.serviceIds="SSCS,IA",this.pServices=[],this.pDisabled=!1}return Object.defineProperty(e.prototype,"disabled",{get:function(){return this.pDisabled},set:function(e){e&&(this.searchLocationComponent.resetSearchTerm(),this.removeSelectedValues()),this.pDisabled=!0===this.disableInputField||null},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"services",{get:function(){return this.pServices},set:function(e){var t=this;this.pServices=e;var n=this.fields.find((function(e){if(t.field)return e.name===t.field.findLocationField}));n&&(this.serviceIds="string"==typeof e?e:P(n.options,e).filter((function(e){return"services_all"!==e})).join(","))},enumerable:!1,configurable:!0}),e.prototype.ngOnInit=function(){this.selectedLocations=this.selectedLocations.filter((function(e){return e.epimms_id}))},e.prototype.addLocation=function(){this.tempSelectedLocation&&(this.selectedLocations=F(this.selectedLocations,[this.tempSelectedLocation]),this.addSelectedLocationsToForm([this.tempSelectedLocation]),this.tempSelectedLocation=null,this.locations=[],this.searchLocationComponent.resetSearchTerm())},e.prototype.removeLocation=function(e){if(e.epimms_id){this.selectedLocations=this.selectedLocations.filter((function(t){return t.epimms_id!==e.epimms_id}));var t=this.form.get(this.field.name),n=t.value.findIndex((function(t){return t.epimms_id===e.epimms_id}));n>-1&&t.removeAt(n)}},e.prototype.onInputChanged=function(e){"string"==typeof e&&1===this.field.maxSelected&&this.removeSelectedValues()},e.prototype.onSearchInputChanged=function(){this.locationFieldChanged.emit()},e.prototype.onLocationSelected=function(e){1===this.field.maxSelected?(this.removeSelectedValues(),this.addSelectedLocationsToForm([e])):this.selectedLocations.find((function(t){return t.epimms_id===e.epimms_id}))||e.epimms_id&&(this.tempSelectedLocation=e)},e.prototype.removeSelectedValues=function(){for(var e=this.form.get(this.field.name),t=0;t<e.length;t++)e.removeAt(t);this.selectedLocations=[]},e.prototype.addSelectedLocationsToForm=function(e){var t,n,i=this.form.get(this.field.name);try{for(var s=L(e),r=s.next();!r.done;r=s.next()){var a=r.value;i.push(new o.FormControl(a))}}catch(e){t={error:e}}finally{try{r&&!r.done&&(n=s.return)&&n.call(s)}finally{if(t)throw t.error}}},e}();ye.decorators=[{type:t.Component,args:[{selector:"xuilib-find-location",template:'<div class="location-picker-custom">\n <div class="search-location">\n <div>\n <label id="input-selected-location-label" *ngIf="locationTitle">{{locationTitle}}</label>\n </div>\n <exui-search-location class="search-location"\n [locations]="locations"\n [selectedLocations]="selectedLocations"\n [singleMode]="field.maxSelected === 1"\n [bookingCheck]="field.bookingCheckType"\n [delay]="300"\n [disabled]="disabled"\n [serviceIds]="serviceIds"\n (locationInputChanged)="onInputChanged($event)"\n (locationSelected)="onLocationSelected($event)"\n (searchLocationChanged)="onSearchInputChanged()"\n [locationType]="\'case-management\'"></exui-search-location>\n <a href="javascript:void(0)" (click)="addLocation()" class="govuk-button" data-module="govuk-button" *ngIf="enableAddLocationButton">\n Add location\n </a>\n </div>\n <ul class="hmcts-filter-tags selection-container" *ngIf="field.maxSelected != 1">\n <li class="location-selection" *ngFor="let selection of selectedLocations">\n <a class="hmcts-filter__tag" (click)="removeLocation(selection)" href="javascript:void(0)">\n {{ selection.site_name }}\n </a>\n </li>\n </ul>\n</div>\n',styles:[".search-location__input-container{display:flex}.search-location .auto-complete-container{min-width:unset;width:calc(100% - 4px)}.search-location__input{flex:1 0 auto}.search-location .govuk-button--secondary{background-color:#ddd}"]}]}],ye.propDecorators={locationFieldChanged:[{type:t.Output}],selectedLocations:[{type:t.Input}],submitted:[{type:t.Input}],enableAddLocationButton:[{type:t.Input}],form:[{type:t.Input}],field:[{type:t.Input}],fields:[{type:t.Input}],locationTitle:[{type:t.Input}],disableInputField:[{type:t.Input}],searchLocationComponent:[{type:t.ViewChild,args:[be,{static:!0}]}],disabled:[{type:t.Input}],services:[{type:t.Input}]};var ke=function(){function e(){this.previousPage=new t.EventEmitter,this.nextPage=new t.EventEmitter}return e.prototype.onPrevious=function(){this.previousPage.emit(null)},e.prototype.onNext=function(){this.nextPage.emit(null)},e}();ke.decorators=[{type:t.Component,args:[{selector:"xuilib-pagination",template:'<nav class="hmcts-pagination" id="pagination-label">\n\n <p class="govuk-visually-hidden" aria-labelledby="pagination-label">Pagination navigation</p>\n\n <ul class="hmcts-pagination__list">\n <li class="hmcts-pagination__item hmcts-pagination__item--prev">\n <a *ngIf="firstRecord > 1; else noPrevious" class="hmcts-pagination__link" (click)="onPrevious()" href="javascript:void(0)">\n Previous page\n </a>\n <ng-template #noPrevious>\n <span class="hmcts-pagination__link">Previous page</span>\n </ng-template>\n </li>\n\n <li class="hmcts-pagination__item hmcts-pagination__item--next">\n <a *ngIf="moreItems; else noNext" class="hmcts-pagination__link" (click)="onNext()" href="javascript:void(0)">Next page</a>\n <ng-template #noNext>\n <span class="hmcts-pagination__link">Next page</span>\n </ng-template>\n </li>\n </ul>\n</nav>\n',styles:["span.hmcts-pagination__link:hover{color:revert}"]}]}],ke.ctorParameters=function(){return[]},ke.propDecorators={moreItems:[{type:t.Input}],firstRecord:[{type:t.Input}],previousPage:[{type:t.Output}],nextPage:[{type:t.Output}]};var Ce=function(){function e(e,n){this.locationService=e,this.disabled=null,this.locationType="",this.serviceIds="",this.submitted=!0,this.showAutocomplete=!1,this.locationChanged=new t.EventEmitter,this.minSearchCharacters=3,this.keyUpSubject$=new i.Subject,this.readyAfterContent=!1,this.searchInProgress=!1,this.findLocationFormGroup=n.group({findLocationFormControl:[null],locationSelectedFormControl:[null]}),this.selectedLocations=[]}return e.prototype.ngAfterContentInit=function(){this.readyAfterContent=!0},e.prototype.ngOnInit=function(){var e=this;this.displayedLocations=[],this.control&&this.findLocationFormGroup&&this.findLocationFormGroup.controls&&(this.findLocationFormGroup.controls.locationSelectedFormControl=this.control),this.keyUpSubject$.pipe(s.debounceTime(500)).subscribe((function(t){return e.search(t)}))},e.prototype.onKeyDown=function(){this.locationChanged.emit()},e.prototype.onKeyUp=function(e){this.showAutocomplete=!1,this.keyUpSubject$.next(e.target.value)},e.prototype.onFocus=function(){this.showAutocomplete=!1},Object.defineProperty(e.prototype,"displayedLocationsDuplicationFiltered",{get:function(){var e=this;return this.displayedLocations.filter((function(t){return!e.selectedLocations.map((function(e){return e.epimms_id})).includes(t.epimms_id)&&t.court_name}))},enumerable:!1,configurable:!0}),e.prototype.filter=function(e){var t=this;this.searchLocations(e).pipe(s.mergeMap((function(e){var n=e.filter((function(e){return!t.selectedLocations.map((function(e){return e.epimms_id})).includes(e.epimms_id)}));return t.displayedLocations=n,t.searchInProgress=!1,n}))).subscribe((function(n){e===n.court_name&&(t.findLocationFormGroup.controls.locationSelectedFormControl.setValue(n),t.displayedLocations=[],t.locationChanged.emit(n),t.showAutocomplete=!1),t.searchInProgress=!1}))},e.prototype.onSelectionChange=function(e){this.findLocationFormGroup.controls.findLocationFormControl instanceof o.FormArray?this.findLocationFormGroup.controls.locationSelectedFormControl.push(new o.FormControl(e.epimms_id)):this.findLocationFormGroup.controls.locationSelectedFormControl.setValue(e),this.locationChanged.emit(e)},e.prototype.search=function(e){this.searchInProgress=!0,this.showAutocomplete=!!e&&e.length>=this.minSearchCharacters,e&&e.length||(this.findLocationFormGroup.controls.locationSelectedFormControl.markAsPristine(),this.findLocationFormGroup.controls.locationSelectedFormControl.reset()),this.showAutocomplete?this.filter(e):this.searchInProgress=!1},e.prototype.getDisplayName=function(e){return e.court_name},e.prototype.searchLocations=function(e){return this.locationService.searchLocations(this.serviceIds,this.locationType,e)},e.prototype.getControlCourtNameValue=function(){return this.findLocationFormGroup&&this.findLocationFormGroup.controls&&this.findLocationFormGroup.controls.locationSelectedFormControl.value?this.findLocationFormGroup.controls.locationSelectedFormControl.value.court_name:""},e}();Ce.decorators=[{type:t.Component,args:[{selector:"xuilib-search-venue",template:'<div class="auto-complete-container">\n <div *ngIf="readyAfterContent" class="autocomplete__wrapper">\n <input\n [formControl]="findLocationFormGroup.controls.findLocationFormControl"\n [matAutocomplete]="autoSearchLocation"\n (keydown)="onKeyDown()"\n (keyup)="onKeyUp($event)"\n (focus)="onFocus()"\n class="autocomplete__input autocomplete__input--default search-box"\n [attr.disabled]="!disabled ? null: disabled"\n [value]="getControlCourtNameValue()"\n #inputSelectedLocation>\n <mat-autocomplete class="mat-autocomplete-panel-extend" autoActiveFirstOption #autoSearchLocation="matAutocomplete">\n <mat-option *ngFor="let location of displayedLocationsDuplicationFiltered"\n [value]="getDisplayName(location)"\n (onSelectionChange)="onSelectionChange(location)"\n [ngClass]="{\'hide-autocomplete\': !showAutocomplete}">\n {{ getDisplayName(location) }}\n </mat-option>\n <mat-option *ngIf="!displayedLocationsDuplicationFiltered?.length && showAutocomplete && !searchInProgress">{{ \'No results found\' }}</mat-option>\n </mat-autocomplete>\n </div>\n</div>\n',styles:[".autocomplete__input{-webkit-appearance:none;border:2px solid #0b0c0c;border-radius:0;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;margin-bottom:0;width:100%;line-height:24px;font-size:19px;background-color:transparent;position:relative}.autocomplete__hint{color:#b1b4b6;position:absolute}.autocomplete__input--default{padding:5px}.autocomplete__input--focused{outline:3px solid #fd0;outline-offset:0;box-shadow:inset 0 0 0 2px}.autocomplete__input--show-all-values{padding:5px 34px 5px 5px;cursor:pointer}.autocomplete__dropdown-arrow-down{z-index:-1;display:inline-block;position:absolute;right:8px;width:24px;height:24px;top:10px}.autocomplete__menu{background-color:#fff;border:2px solid #0b0c0c;border-top:0;color:#0b0c0c;margin:0;max-height:342px;overflow-x:hidden;padding:0;width:100%;width:calc(100% - 4px)}.autocomplete__menu--visible{display:block}.autocomplete__menu--hidden{display:none}.autocomplete__menu--overlay{box-shadow:0 2px 6px rgba(0,0,0,.256863);left:0;position:absolute;top:100%;z-index:100}.autocomplete__menu--inline{position:relative}.autocomplete__option{border-left-width:0;border-bottom:1px solid #b1b4b6;border-right-width:0;border-top-width:1px;cursor:pointer;display:block;position:relative}.autocomplete__option>*{pointer-events:none}.autocomplete__option:first-of-type{border-top-width:0}.autocomplete__option:last-of-type{border-bottom-width:0}.autocomplete__option--odd{background-color:#fafafa}.autocomplete__option--focused,.autocomplete__option:hover{background-color:#1d70b8;border-color:#1d70b8;color:#fff;outline:0}.autocomplete__option--no-results{background-color:#fafafa;color:#646b6f;cursor:not-allowed}.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.25}.autocomplete__hint,.autocomplete__option{padding:5px}@media (min-width:641px){.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.31579}}.div-action{display:inline-block}.add-location{display:inline}.remove-location-button{margin:5px}.hide-autocomplete{display:none}.auto-complete-container{min-width:550px;display:inline-block;margin-right:4px}"]}]}],Ce.ctorParameters=function(){return[{type:fe},{type:o.FormBuilder}]},Ce.propDecorators={control:[{type:t.Input}],disabled:[{type:t.Input}],locationType:[{type:t.Input}],selectedLocations:[{type:t.Input}],serviceIds:[{type:t.Input}],submitted:[{type:t.Input}],autoCompleteInputBox:[{type:t.ViewChild,args:["inputSelectedLocation",{read:t.ElementRef}]}],showAutocomplete:[{type:t.Input}],displayedLocations:[{type:t.Input}],locationChanged:[{type:t.Output}]};var Se=function(e){var t=[];return e.forEach((function(e){t=t.concat(e.caseworkers)})),t},Ie=function(e){return e+"-caseworkers"},we=function(){function t(e,t){this.http=e,this.sessionStorageService=t}return t.prototype.find=function(e){var t=this,n=this.sessionStorageService.getItem("userDetails");if(n&&!e.userIncluded){var o=JSON.parse(n);this.userId=o.id?o.id:o.uid}return this.assignedUser=e.assignedUser?e.assignedUser:null,this.http.post("/workallocation/findPerson",{searchOptions:e}).pipe(s.map((function(e){return e.filter((function(e){return![t.assignedUser,t.userId].includes(e.id)}))})))},t.prototype.findCaseworkers=function(e){var t=this,n=this.sessionStorageService.getItem("userDetails");if(n){var o=JSON.parse(n);this.userId=o.id?o.id:o.uid}this.assignedUser=e.assignedUser?e.assignedUser:null;var r=e.services,a=[],l=[],c=[];if(r.forEach((function(e){var n=Ie(e);t.sessionStorageService.getItem(n)?(a.push(e),c.push({service:e,caseworkers:JSON.parse(t.sessionStorageService.getItem(n))})):l.push(e)})),a.length===r.length){var u=Se(c);return i.of(this.searchInCaseworkers(u,e))}return this.http.post("/workallocation/retrieveCaseWorkersForServices",{fullServices:r}).pipe(s.tap((function(e){e.forEach((function(e){var n,o,i,s;l.includes(e.service)&&(n=e.service,o=e.caseworkers,i=t.sessionStorageService,s=Ie(n),i.setItem(s,JSON.stringify(o)))}))})),s.map((function(n){var o=Se(n);return t.searchInCaseworkers(o,e)})))},t.prototype.mapCaseworkers=function(t,n){var o=[];return t.forEach((function(t){var i={email:t.email,name:t.firstName+" "+t.lastName,id:t.idamId,domain:t.roleCategory===e.RoleCategory.CASEWORKER?e.PersonRole.CASEWORKER:e.PersonRole.ADMIN};t.roleCategory!==n&&n!==e.RoleCategory.ALL||o.push(i)})),o},t.prototype.searchInCaseworkers=function(t,n){var o=this,i=e.RoleCategory.ALL;n.userRole!==e.PersonRole.ALL&&(n.userRole===e.PersonRole.CASEWORKER?i=e.RoleCategory.CASEWORKER:n.userRole===e.PersonRole.ADMIN?i=e.RoleCategory.ADMIN:n.userRole===e.PersonRole.CTSC&&(i=e.RoleCategory.CTSC));var s=n&&n.searchTerm?n.searchTerm.toLowerCase():"",r=(t?this.mapCaseworkers(t,i):[]).filter((function(e){return e&&e.name&&e.name.toLowerCase().includes(s)}));return n.userIncluded?r.filter((function(e){return e&&e.id!==o.assignedUser})):r.filter((function(e){return e&&e.id!==o.userId&&e.id!==o.assignedUser}))},t.prototype.searchJudicial=function(e,t){return this.http.post("api/prd/judicial/getJudicialUsersSearch",{searchString:e,serviceCode:t})},t}();we.caseworkersKey="caseworkers",we.ɵprov=b.ɵɵdefineInjectable({factory:function(){return new we(b.ɵɵinject(C.HttpClient),b.ɵɵinject(ve))},token:we,providedIn:"root"}),we.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],we.ctorParameters=function(){return[{type:a.HttpClient},{type:ve}]};var xe=function(){function e(e,n){this.judicialService=e,this.disabled=null,this.selectedJudicials=[],this.submitted=!0,this.placeholderContent="",this.showAutocomplete=!1,this.judicialChanged=new t.EventEmitter,this.idValue="",this.errorMessage="You must select a name",this.serviceId="",this.minSearchCharacters=3,this.keyUpSubject$=new i.Subject,this.searchInProgress=!1,this.formGroup=n.group({formControl:[null],selectedFormControl:[null]})}return e.prototype.ngOnInit=function(){var e=this;this.displayedJudicials=[],this.control&&this.formGroup&&this.formGroup.controls&&(this.formGroup.controls.selectedFormControl=this.control,this.formGroup.controls.formControl.setValue(this.getControlValueDisplayText())),this.keyUpSubject$.pipe(s.debounceTime(500)).subscribe((function(t){return e.search(t)}))},e.prototype.onKeyDown=function(){this.judicialChanged.emit()},e.prototype.onKeyUp=function(e){this.showAutocomplete=!1,this.keyUpSubject$.next(e.target.value)},e.prototype.onFocus=function(){this.showAutocomplete=!1},Object.defineProperty(e.prototype,"displayedJudicialsDuplicationFiltered",{get:function(){var e=this;return this.displayedJudicials.filter((function(t){return!e.selectedJudicials.map((function(e){return e.idamId})).includes(t.idamId)}))},enumerable:!1,configurable:!0}),e.prototype.filter=function(e){var t=this;this.searchJudicials(e,this.serviceId).pipe(s.mergeMap((function(e){var n=e.filter((function(e){return!t.selectedJudicials.map((function(e){return e.idamId})).includes(e.idamId)}));return t.displayedJudicials=n,t.searchInProgress=!1,n}))).subscribe((function(n){e===n.fullName&&(t.formGroup.controls.selectedFormControl.setValue(n),t.displayedJudicials=[],t.judicialChanged.emit(n),t.showAutocomplete=!1),t.searchInProgress=!1}))},e.prototype.onSelectionChange=function(e){this.formGroup.controls.formControl instanceof o.FormArray?this.formGroup.controls.selectedFormControl.push(new o.FormControl(e.idamId)):this.formGroup.controls.selectedFormControl.setValue(e),this.judicialChanged.emit(e)},e.prototype.search=function(e){this.searchInProgress=!0,this.showAutocomplete=!!e&&e.length>=this.minSearchCharacters,e?this.formGroup.controls.selectedFormControl.markAsDirty():this.formGroup.controls.selectedFormControl.reset(),this.showAutocomplete?this.filter(e):this.searchInProgress=!1},e.prototype.getDisplayName=function(e){return e.fullName+" ("+e.emailId+")"},e.prototype.searchJudicials=function(e,t){return this.judicialService.searchJudicial(e,t)},e.prototype.getControlValueDisplayText=function(){return this.formGroup&&this.formGroup.controls&&this.formGroup.controls.selectedFormControl.value?this.getDisplayName(this.formGroup.controls.selectedFormControl.value):""},e}();xe.decorators=[{type:t.Component,args:[{selector:"xuilib-search-judicials",template:'<div class="govuk-form-group">\n <input id="inputSelectPerson{{idValue}}" [placeholder]="placeholderContent" [formControl]="formGroup.controls.formControl"\n [matAutocomplete]="autoComplete" (keydown)="onKeyDown()" (keyup)="onKeyUp($event)" (focus)="onFocus()"\n class="govuk-input" [attr.disabled]="!disabled ? null: disabled" [value]="getControlValueDisplayText()"\n #inputSelection>\n <mat-autocomplete autoActiveFirstOption #autoComplete="matAutocomplete">\n <mat-option *ngFor="let judicial of displayedJudicialsDuplicationFiltered" class="select-option"\n [value]="getDisplayName(judicial)" (onSelectionChange)="onSelectionChange(judicial)"\n [ngClass]="{\'hide-autocomplete\': !showAutocomplete}">\n {{ getDisplayName(judicial) }}\n </mat-option>\n <mat-option class="select-option"\n *ngIf="!displayedJudicialsDuplicationFiltered?.length && showAutocomplete && !searchInProgress">\n {{ \'No results found\' }}</mat-option>\n </mat-autocomplete>\n</div>\n',styles:[".hide-autocomplete{display:none}.mat-option:hover{background:#2596be}.mat-option.select-option:hover{background:#1d70b8;color:#fff}"]}]}],xe.ctorParameters=function(){return[{type:we},{type:o.FormBuilder}]},xe.propDecorators={control:[{type:t.Input}],disabled:[{type:t.Input}],selectedJudicials:[{type:t.Input}],submitted:[{type:t.Input}],placeholderContent:[{type:t.Input}],showAutocomplete:[{type:t.Input}],displayedJudicials:[{type:t.Input}],judicialChanged:[{type:t.Output}],idValue:[{type:t.Input}],errorMessage:[{type:t.Input}],serviceId:[{type:t.Input}],autoCompleteInputBox:[{type:t.ViewChild,args:["inputSelection",{read:t.ElementRef,static:!0}]}]};var _e=function(){function n(n,i){this.findPersonService=n,this.cd=i,this.personSelected=new t.EventEmitter,this.personFieldChanged=new t.EventEmitter,this.boldTitle="Find the person",this.subTitle="Type the name of the person and select them.",this.domain=e.PersonRole.ALL,this.findPersonGroup=new o.FormGroup({}),this.submitted=!0,this.userIncluded=!1,this.placeholderContent="",this.isNoResultsShown=!0,this.showUpdatedColor=!1,this.selectedPersons=[],this.errorMessage="You must select a name",this.idValue="",this.services="IA",this.disabled=null,this.showAutocomplete=!1,this.filteredOptions=[],this.minSearchCharacters=2}return n.prototype.ngOnDestroy=function(){this.sub&&this.sub.unsubscribe()},n.prototype.ngOnInit=function(){var e=this;this.findPersonControl=new o.FormControl(this.selectedPerson),this.findPersonGroup.addControl("findPersonControl",this.findPersonControl),this.sub=this.findPersonControl.valueChanges.pipe(s.tap((function(){return e.showAutocomplete=!1})),s.tap((function(){return e.filteredOptions=[]})),s.debounceTime(300),s.tap((function(t){return"string"==typeof t?e.personSelected.emit(null):void 0})),s.filter((function(t){return t&&t.length>e.minSearchCharacters})),s.switchMap((function(t){return e.filter(t).pipe(s.tap((function(){return e.showAutocomplete=!0})),s.catchError((function(){return e.filteredOptions=[]})))}))).subscribe((function(t){e.filteredOptions=t,e.cd.detectChanges()}))},n.prototype.filter=function(t){var n=this,o=this.findPersonService.find({searchTerm:t,userRole:this.domain,services:[this.services],userIncluded:this.userIncluded,assignedUser:this.assignedUser}),r=this.findPersonService.findCaseworkers({searchTerm:t,userRole:this.domain,services:[this.services],userIncluded:this.userIncluded,assignedUser:this.assignedUser});if(t&&t.length>this.minSearchCharacters)switch(this.domain){case e.PersonRole.JUDICIAL:return o.pipe(s.map((function(e){var t=n.selectedPersons.map((function(e){return e.id}));return e.filter((function(e){var n=e.id;return!t.includes(n)}))})));case e.PersonRole.ALL:return i.zip(o,r).pipe(s.map((function(e){return e[0].concat(e[1])})));case e.PersonRole.CTSC:case e.PersonRole.CASEWORKER:case e.PersonRole.ADMIN:return r;default:return l.of([])}return l.of([])},n.prototype.onSelectionChange=function(e){this.personSelected.emit(e),this.findPersonControl.setValue(this.getDisplayName(e),{emitEvent:!1,onlySelf:!0})},n.prototype.getDisplayName=function(t){return t?t.domain===e.PersonRole.JUDICIAL&&t.fullName?t.fullName+" ("+t.email+")":t.email?t.name+" ("+t.email+")":t.name:""},n.prototype.onInput=function(){this.personFieldChanged.emit()},n}();_e.decorators=[{type:t.Component,args:[{selector:"xuilib-find-person",template:'<h1 class="govuk-heading-l" *ngIf="title && title.length">\n <span class="govuk-caption-l">{{title}}</span>\n {{boldTitle}}\n</h1>\n<div class="govuk-form-group" [formGroup]="findPersonGroup"\n [ngClass]="{\'form-group-error\': findPersonGroup.get(\'findPersonControl\').invalid && submitted}">\n <fieldset class="govuk-fieldset" aria-describedby="sub-title-hint">\n <div id="sub-title-hint" class="govuk-hint" *ngIf="subTitle && subTitle.length">\n {{subTitle}}\n </div>\n <span id="validation-error" class="govuk-error-message" *ngIf="findPersonGroup && findPersonGroup.errors">\n <span class="govuk-visually-hidden">Error:</span>{{findPersonGroup.errors.error ? findPersonGroup.errors.error : errorMessage}}\n </span>\n <input id="inputSelectPerson{{idValue}}" type="text" aria-label="select a person"\n formControlName="findPersonControl"\n [matAutocomplete]="auto"\n class="govuk-input govuk-!-width-one-third"\n [placeholder]="placeholderContent"\n [attr.disabled]="disabled"\n (input)="onInput()">\n <mat-autocomplete autoActiveFirstOption #auto="matAutocomplete" (optionSelected)="onSelectionChange($event.option.value)">\n <mat-option *ngFor="let option of filteredOptions"\n [value]="option"\n [ngClass]="{\'hide-autocomplete\': !showAutocomplete, \'select-option\': showUpdatedColor}">\n {{getDisplayName(option)}}\n </mat-option>\n <mat-option [ngClass]="{\'select-option\': showUpdatedColor}" *ngIf="isNoResultsShown && !filteredOptions.length && showAutocomplete">No results found</mat-option>\n </mat-autocomplete>\n </fieldset>\n</div>\n',styles:[".mat-option:hover{background:#2596be}.mat-option.select-option:hover{background:#1d70b8;color:#fff}.hide-autocomplete{display:none}"]}]}],_e.ctorParameters=function(){return[{type:we},{type:t.ChangeDetectorRef}]},_e.propDecorators={personSelected:[{type:t.Output}],personFieldChanged:[{type:t.Output}],title:[{type:t.Input}],boldTitle:[{type:t.Input}],subTitle:[{type:t.Input}],domain:[{type:t.Input}],findPersonGroup:[{type:t.Input}],selectedPerson:[{type:t.Input}],submitted:[{type:t.Input}],userIncluded:[{type:t.Input}],assignedUser:[{type:t.Input}],placeholderContent:[{type:t.Input}],isNoResultsShown:[{type:t.Input}],showUpdatedColor:[{type:t.Input}],selectedPersons:[{type:t.Input}],errorMessage:[{type:t.Input}],idValue:[{type:t.Input}],services:[{type:t.Input}],disabled:[{type:t.Input}]};var Le=function(){};Le.decorators=[{type:t.Component,args:[{selector:"exui-page-wrapper",template:'<div class="page">\n <a *ngIf="backLink" [routerLink]="backLink" class="govuk-back-link">Back</a>\n <div class="govuk-width-container">\n <main id="content" role="main" class="govuk-main-wrapper">\n <div class="govuk-grid-row">\n <h1 *ngIf="title" class="govuk-heading-xl">\n <span *ngIf="fnTitle" class="govuk-caption-xl">{{fnTitle}}</span>\n {{title}}\n </h1>\n <ng-content>\n\n </ng-content>\n </div>\n </main>\n </div>\n</div>\n',styles:[".page{width:100%}"]}]}],Le.ctorParameters=function(){return[]},Le.propDecorators={backLink:[{type:t.Input}],title:[{type:t.Input}],fnTitle:[{type:t.Input}]};var Te=function(){function e(e,t,n){this.service=e,this.viewContainer=t,this.templateRef=n}return Object.defineProperty(e.prototype,"xuilibFeatureToggle",{set:function(e){this.feature=e,this.updateSubscription()},enumerable:!1,configurable:!0}),e.prototype.ngOnDestroy=function(){this.subscription&&this.subscription.unsubscribe()},e.prototype.updateSubscription=function(){var e=this;this.subscription=this.service.isEnabled(this.feature).subscribe((function(t){t?e.viewContainer.createEmbeddedView(e.templateRef):e.viewContainer.clear()}))},e}();Te.decorators=[{type:t.Directive,args:[{selector:"[xuilibFeatureToggle]"}]}],Te.ctorParameters=function(){return[{type:$},{type:t.ViewContainerRef},{type:t.TemplateRef}]},Te.propDecorators={xuilibFeatureToggle:[{type:t.Input}]};var Fe=function(){this.$implicit=null,this.xuilibLet=null},Ee=function(){function e(e,t){this.viewContainer=e,this.context=new Fe,this.viewContainer.createEmbeddedView(t,this.context)}return Object.defineProperty(e.prototype,"xuilibLet",{set:function(e){this.context.$implicit=this.context.xuilibLet=e},enumerable:!1,configurable:!0}),e}();Ee.decorators=[{type:t.Directive,args:[{selector:"[xuilibLet]"}]}],Ee.ctorParameters=function(){return[{type:t.ViewContainerRef},{type:t.TemplateRef}]},Ee.propDecorators={xuilibLet:[{type:t.Input}]};var Oe=function(){function e(e){this.fb=e,this.showAutocomplete=!1,this.serviceChanged=new t.EventEmitter,this.minSearchCharacters=3,this.term="",this.form=this.fb.group({searchTerm:[""]})}return e.prototype.onInput=function(){},e.prototype.resetSearchTerm=function(){this.form.controls.searchTerm.patchValue("",{emitEvent:!1,onlySelf:!0})},e.prototype.onSelectionChanged=function(e){var t,n=null===(t=e.source)||void 0===t?void 0:t.value;if(n&&e.source.selected){var o=this.services.find((function(e){return e.label===n}));this.serviceChanged.emit(o)}},e}();Oe.decorators=[{type:t.Component,args:[{selector:"exui-search-service",template:'<div class="auto-complete-container">\n <input\n id="inputServiceSearch"\n (input)="onInput()"\n [formControl]="form?.controls.searchTerm"\n [matAutocomplete]="autoSearchService"\n class="govuk-input"\n [attr.disabled]="disabled">\n <mat-autocomplete class="mat-autocomplete-panel-extend" autoActiveFirstOption #autoSearchService="matAutocomplete">\n <mat-option *ngFor="let service of services" (onSelectionChange)="onSelectionChanged($event)" [value]="service.label">\n {{ service.label }}\n </mat-option>\n <mat-option *ngIf="!services?.length && showAutocomplete && term && term.length >= this.minSearchCharacters">No results found</mat-option>\n </mat-autocomplete>\n</div>\n',styles:[".autocomplete__input--show-all-values{padding:5px 34px 5px 5px;cursor:pointer}.autocomplete__dropdown-arrow-down{z-index:-1;display:inline-block;position:absolute;right:8px;width:24px;height:24px;top:10px}.autocomplete__menu{background-color:#fff;border:2px solid #0b0c0c;border-top:0;color:#0b0c0c;margin:0;max-height:342px;overflow-x:hidden;padding:0;width:100%;width:calc(100% - 4px)}.autocomplete__menu--visible{display:block}.autocomplete__menu--hidden{display:none}.autocomplete__menu--overlay{box-shadow:0 2px 6px rgba(0,0,0,.256863);left:0;position:absolute;top:100%;z-index:100}.autocomplete__menu--inline{position:relative}.autocomplete__option{border-left-width:0;border-bottom:1px solid #b1b4b6;border-right-width:0;border-top-width:1px;cursor:pointer;display:block;position:relative}.autocomplete__option>*{pointer-events:none}.autocomplete__option:first-of-type{border-top-width:0}.autocomplete__option:last-of-type{border-bottom-width:0}.autocomplete__option--odd{background-color:#fafafa}.autocomplete__option--focused,.autocomplete__option:hover{background-color:#1d70b8;border-color:#1d70b8;color:#fff;outline:0}.autocomplete__option--no-results{background-color:#fafafa;color:#646b6f;cursor:not-allowed}.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.25}.autocomplete__hint,.autocomplete__option{padding:5px}@media (min-width:641px){.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.31579}}.div-action{display:inline-block}.add-location{display:inline}.remove-location-button{margin:5px}.hide-autocomplete{display:none}.auto-complete-container{min-width:250px;display:inline-block;margin-right:4px}.autocomplete__input{line-height:24px;font-size:19px}"]}]}],Oe.ctorParameters=function(){return[{type:o.FormBuilder}]},Oe.propDecorators={services:[{type:t.Input}],selectedServices:[{type:t.Input}],disabled:[{type:t.Input}],delay:[{type:t.Input}],form:[{type:t.Input}],showAutocomplete:[{type:t.Input}],serviceChanged:[{type:t.Output}]};var Ae=function(){function e(){this.services=[],this.selectedServices=[],this.enableAddServiceButton=!0,this.disabled=!1,this.disableInputField=!1,this.serviceFieldChanged=new t.EventEmitter,this.tempSelectedService=null,this.allServiceOption={key:"all",label:"All"},this.allServices=[]}return e.prototype.ngOnInit=function(){this.allServices=this.services,this.selectedServices=null!==this.selectedServices?this.selectedServices.filter((function(e){return e.key})):[],this.SortAnOptions()},e.prototype.addService=function(){var e=this;if(this.selectedServices.find((function(t){return t.key===e.allServiceOption.key}))){if(null===this.tempSelectedService)return;this.tempSelectedService.key!==this.allServiceOption.key&&this.removeService(this.allServiceOption)}if(null===this.tempSelectedService&&(this.tempSelectedService=this.allServiceOption),!this.selectedServices.find((function(t){return t.key===e.tempSelectedService.key}))&&this.tempSelectedService.key){if(this.tempSelectedService.key===this.allServiceOption.key){this.selectedServices=[];for(var t=this.form.get(this.field.name);t.length>0;)t.removeAt(0);this.services=this.allServices}this.selectedServices=F(this.selectedServices,[this.tempSelectedService]),this.addSelectedServicesToForm([this.tempSelectedService]),this.services=this.services.filter((function(t){return t.key!==e.tempSelectedService.key}))}this.tempSelectedService=null,this.serviceFieldChanged.emit(this.tempSelectedService),this.searchServiceComponent.resetSearchTerm()},e.prototype.removeService=function(e){if(e.key){this.selectedServices=null!==this.selectedServices?this.selectedServices.filter((function(t){return t.key!==e.key})):[];var t=this.form.get(this.field.name),n=t.value.findIndex((function(t){return t.key===e.key}));n>-1&&(t.removeAt(n),e.key!==this.allServiceOption.key&&(this.services.splice(n,0,e),this.SortAnOptions())),this.serviceFieldChanged.emit(e)}},e.prototype.onServiceSelected=function(e){if(!e)return this.tempSelectedService=this.allServiceOption,e=this.allServiceOption,void this.serviceFieldChanged.emit(e);1===this.field.maxSelected?(this.removeSelectedValues(),this.addSelectedServicesToForm([e])):this.selectedServices.find((function(t){return t.key===e.key}))||e.key&&(this.tempSelectedService=e),this.serviceFieldChanged.emit(e)},e.prototype.removeSelectedValues=function(){for(var e=this.form.get(this.field.name),t=0;t<e.length;t++)e.removeAt(t);this.selectedServices=[]},e.prototype.addSelectedServicesToForm=function(e){var t,n,i=this.form.get(this.field.name);try{for(var s=L(e),r=s.next();!r.done;r=s.next()){var a=r.value;i.push(new o.FormControl(a))}}catch(e){t={error:e}}finally{try{r&&!r.done&&(n=s.return)&&n.call(s)}finally{if(t)throw t.error}}},e.prototype.SortAnOptions=function(){return this.services.sort((function(e,t){return e.label.toLowerCase()>t.label.toLowerCase()?1:t.label.toLowerCase()>e.label.toLowerCase()?-1:0}))},e}();Ae.decorators=[{type:t.Component,args:[{selector:"xuilib-find-service",template:'<div class="service-picker-custom">\n <div class="search-service">\n <div class="govuk-body">\n <label id="selectServiceSearch-label" for="serviceSearch__select" *ngIf="serviceTitle">\n {{ serviceTitle}}\n </label>\n </div>\n <div class="search-service__input-container">\n <exui-search-service class="search-service__input"\n [services]="services"\n [form]="searchTermServiceForm"\n [selectedServices]="selectedServices"\n [delay]="300"\n [disabled]="disabled"\n (serviceChanged)="onServiceSelected($event)">\n </exui-search-service>\n <a href="javascript:void(0)" (click)="addService()"\n class="govuk-button govuk-button--secondary govuk-!-margin-bottom-0" data-module="govuk-button"\n *ngIf="enableAddServiceButton" id="add-service">\n Add\n </a>\n </div>\n </div>\n <ul class="hmcts-filter-tags selection-container" *ngIf="field.maxSelected != 1">\n <li class="location-selection" *ngFor="let selection of selectedServices">\n <a *ngIf="selection.key!==\'All\'" class="hmcts-filter__tag" (click)="removeService(selection)" href="javascript:void(0)">\n {{ selection.label }}\n </a>\n </li>\n </ul>\n</div>\n',styles:["#add-service{background-color:#ddd}"]}]}],Ae.propDecorators={field:[{type:t.Input}],fields:[{type:t.Input}],serviceTitle:[{type:t.Input}],form:[{type:t.Input}],searchTermServiceForm:[{type:t.Input}],services:[{type:t.Input}],selectedServices:[{type:t.Input}],enableAddServiceButton:[{type:t.Input}],disabled:[{type:t.Input}],disableInputField:[{type:t.Input}],searchServiceComponent:[{type:t.ViewChild,args:[Oe,{static:!0}]}],serviceFieldChanged:[{type:t.Output}]};var Ne=function(){function e(e,t){this.http=e,this.sessionStorageService=t}return e.prototype.getTaskName=function(){var t=this;if(this.sessionStorageService.getItem(e.taskNamesKey)){var n=JSON.parse(this.sessionStorageService.getItem(e.taskNamesKey));return i.of(n)}return this.http.get("/workallocation/taskNames").pipe(s.tap((function(n){return t.sessionStorageService.setItem(e.taskNamesKey,JSON.stringify(n))})))},e}();Ne.taskNamesKey="taskNames",Ne.ɵprov=b.ɵɵdefineInjectable({factory:function(){return new Ne(b.ɵɵinject(C.HttpClient),b.ɵɵinject(ve))},token:Ne,providedIn:"root"}),Ne.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],Ne.ctorParameters=function(){return[{type:a.HttpClient},{type:ve}]};var Me=function(){function n(n,i){this.cd=n,this.taskService=i,this.taskNameSelected=new t.EventEmitter,this.taskNameFieldChanged=new t.EventEmitter,this.boldTitle="Find the task name",this.subTitle="Type the name of the task name and select them.",this.domain=e.PersonRole.ALL,this.findTaskNameGroup=new o.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=""}return n.prototype.ngOnDestroy=function(){this.sub&&this.sub.unsubscribe()},n.prototype.ngOnChanges=function(){var e=this;this.findTaskNameControl=new o.FormControl(this.selectedTaskName),this.findTaskNameGroup.addControl("findTaskNameControl",this.findTaskNameControl),this.sub=this.findTaskNameControl.valueChanges.pipe(s.tap((function(){return e.showAutocomplete=!1})),s.tap((function(){return e.filteredOptions=[]})),s.tap((function(t){return e.searchTerm=t})),s.debounceTime(300),s.tap((function(t){return t||e.taskNameSelected.emit(""),t})),s.filter((function(t){return t&&t.length>=e.minSearchCharacters})),s.mergeMap((function(){return e.getTaskName()}))).subscribe((function(t){e.filteredOptions=t.map((function(e){return e.taskName})),e.searchTerm&&(e.filteredOptions=e.filteredOptions.filter((function(t){return t.toLocaleLowerCase().includes(e.searchTerm.toLocaleLowerCase())})).map((function(e){return e}))),e.cd.detectChanges()}))},n.prototype.getTaskName=function(){return this.taskService.getTaskName()},n.prototype.onSelectionChange=function(e){e&&(this.taskNameSelected.emit(e),this.findTaskNameControl.setValue(e))},n.prototype.onInput=function(){this.taskNameFieldChanged.emit()},n}();Me.decorators=[{type:t.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:[""]}]}],Me.ctorParameters=function(){return[{type:t.ChangeDetectorRef},{type:Ne}]},Me.propDecorators={taskNameSelected:[{type:t.Output}],taskNameFieldChanged:[{type:t.Output}],title:[{type:t.Input}],boldTitle:[{type:t.Input}],subTitle:[{type:t.Input}],domain:[{type:t.Input}],findTaskNameGroup:[{type:t.Input}],selectedTaskName:[{type:t.Input}],submitted:[{type:t.Input}],userIncluded:[{type:t.Input}],assignedUser:[{type:t.Input}],placeholderContent:[{type:t.Input}],isNoResultsShown:[{type:t.Input}],showUpdatedColor:[{type:t.Input}],selectedTaskNames:[{type:t.Input}],errorMessage:[{type:t.Input}],idValue:[{type:t.Input}],services:[{type:t.Input}],disabled:[{type:t.Input}]};var Pe=function(){function e(){this.isChecked=!1}return e.prototype.ngOnInit=function(){var e=this.config.focusOn?this.config.focusOn:this.config.value;this.config.id=e,this.config.classes=this.config.classes?this.config.classes.concat(" govuk-checkboxes__label"):"govuk-checkboxes__label"},e}();Pe.decorators=[{type:t.Component,args:[{selector:"xuilib-gov-checkbox",template:'<div class="govuk-checkboxes__item" [formGroup]="group">\n <input class="govuk-checkboxes__input" type="checkbox" [attr.aria-describedby]="config.hint ? config.value+\'-item-hint\' : null"\n [id]="config.id" [name]="config.name" [formControlName]="config.value" [checked]="isChecked">\n <xuilib-gov-label appRemoveHost [config]="config"></xuilib-gov-label>\n <span [id]="config.value+\'-item-hint\'" class="govuk-hint govuk-checkboxes__hint">\n {{config.hint}}\n </span>\n</div>'}]}],Pe.ctorParameters=function(){return[]},Pe.propDecorators={group:[{type:t.Input}],config:[{type:t.Input}],isChecked:[{type:t.Input}]};var De=function(){function e(){}return e.setDescribedBy=function(e,t){return e&&e&&e.isInvalid?t.hint?t.id+"-hint "+t.id+"-error":t.id+"-error":t.hint?t.id+"-hint":null},e}(),Ue=function(){function e(){}return e.prototype.ngOnInit=function(){this.columns=this.setColumns()},e.prototype.setDescribedBy=function(){return De.setDescribedBy(this.errorMessage,this.config)},e.prototype.onChecked=function(e,t){var n=this.group.get(this.config.name),o=n.value?n.value:[];if(e)n.setValue(F(o,[t]));else{var i=o.filter((function(e){return e!==t}));n.setValue(i)}},e.prototype.isChecked=function(e){var t=this.group.get(this.config.name);return t.value&&t.value.includes(e)},e.prototype.setColumns=function(){if(this.config.rows&&this.config.rows>1){for(var e=[],t=0;t<this.items.length;t+=this.config.rows){var n=this.items.slice(t,t+this.config.rows);e.push(n)}return e}return[this.items]},e}();Ue.decorators=[{type:t.Component,args:[{selector:"xuilib-gov-uk-checkboxes",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 <div class="govuk-checkboxes govuk-checkboxes--small govuk-checkboxes-multi-column" data-module="govuk-checkboxes">\n <div class="govuk-checkboxes-multi-column__single" *ngFor="let columnItems of columns">\n <div class="govuk-checkboxes__item" *ngFor="let item of columnItems">\n <input type="checkbox" class="govuk-checkboxes__input"\n [id]="item.id" [name]="item.id" [checked]="isChecked(item.value)" [value]="item.value"\n [attr.aria-describedby]="setDescribedBy()"\n (change)="onChecked($event.target.checked, item.value)"\n >\n <label class="govuk-label govuk-checkboxes__label" [for]="item.id">\n {{ item.label }}\n </label>\n <div *ngIf="item.hint" class="govuk-hint govuk-checkboxes__hint">\n {{ item.hint }}\n </div>\n </div>\n </div>\n </div>\n</div>\n',styles:[".govuk-checkboxes-multi-column{display:flex;flex-wrap:wrap;margin-left:-20px;margin-right:-20px}.govuk-checkboxes-multi-column__single{padding-left:20px;padding-right:20px}"]}]}],Ue.propDecorators={group:[{type:t.Input}],config:[{type:t.Input}],items:[{type:t.Input}],errorMessage:[{type:t.Input}]};var je=function(){function e(){this.isOptional=!1}return e.prototype.ngOnInit=function(){this.day=this.config.id+"_day",this.month=this.config.id+"_month",this.year=this.config.id+"_year";var e=this.DateValidator();this.formGroup.get(this.day).setValidators(e)},e.prototype.isValidDate=function(e,t,n){var o=!isNaN(e.getTime()),i=e.getMonth()===t,s=e.getFullYear()===n;return o&&i&&s},e.prototype.isEmpty=function(e){return null==e||""===e||isNaN(e)||e<0},e.prototype.DateValidator=function(){var e=this;return function(){var t=e.formGroup.get(e.day).value,n=e.formGroup.get(e.month).value-1,o=e.formGroup.get(e.year).value;return e.isOptional&&e.isEmpty(t)&&e.isEmpty(n)&&e.isEmpty(o)||e.isValidDate(new Date(o,n,t),n,+o)?null:{dateComponent:!0}}},e}();je.decorators=[{type:t.Component,args:[{selector:"xuilib-gov-uk-date",template:'<div class="govuk-form-group" [ngClass]="{\'govuk-form-group--error\': errorMessage?.isInvalid}" [formGroup]="formGroup">\n <div class="date-input-container">\n <xuilib-gov-uk-fieldset\n [config]="{\n legend: config.label || \'Date component\',\n classes: config.classes || \'govuk-label--m\',\n id: config.id,\n hint: config.hint != null ? config.hint : \'For example, 12 11 2007\',\n isPageHeading: config.isPageHeading || false}"\n [errorMessage]="errorMessage">\n <xuilib-gov-uk-error-message\n [config]="{id: \'passport\'}"\n *ngIf="errorMessage"\n [errorMessage]="errorMessage">\n </xuilib-gov-uk-error-message>\n <div class="govuk-date-input" [id]="config.id+\'-date\'">\n <div class="govuk-date-input__item">\n <div class="govuk-form-group">\n <xuilib-gov-label\n [config]="{label: \'Day\', name: config.id+\'-day\', id: config.id+\'-day\', classes: \'govuk-date-input__label\'}">\n </xuilib-gov-label>\n <input class="govuk-input govuk-date-input__input govuk-input--width-2"\n [ngClass]="{\'govuk-input--error\': errorMessage?.isInvalid}"\n [id]="config.id"\n [name]="config.id+\'-day\'" type="number" value="" pattern="[0-9]*"\n [formControlName]="config.id+\'_day\'">\n </div>\n </div>\n <div class="govuk-date-input__item">\n <div class="govuk-form-group">\n <xuilib-gov-label\n [config]="{label: \'Month\', name: config.id+\'-month\', id: config.id+\'-month\', classes: \'govuk-date-input__label\'}">\n </xuilib-gov-label>\n <input class="govuk-input govuk-date-input__input govuk-input--width-2"\n [ngClass]="{\'govuk-input--error\': errorMessage?.isInvalid}"\n [id]="config.id+\'-month\'"\n [name]="config.id+\'-month\'" type="number" value="" pattern="[0-9]*"\n [formControlName]="config.id+\'_month\'">\n </div>\n </div>\n <div class="govuk-date-input__item">\n <div class="govuk-form-group">\n <xuilib-gov-label\n [config]="{label: \'Year\', name: config.id+\'-year\', id: config.id+\'-year\', classes: \'govuk-date-input__label\'}">\n </xuilib-gov-label>\n <input class="govuk-input govuk-date-input__input govuk-input--width-4"\n [ngClass]="{\'govuk-input--error\': errorMessage?.isInvalid}"\n [id]="config.id+\'-year\'"\n [name]="config.id+\'-year\'" type="number" value="" pattern="[0-9]*"\n [formControlName]="config.id+\'_year\'">\n </div>\n </div>\n </div>\n </xuilib-gov-uk-fieldset>\n </div>\n</div>\n',styles:[".govuk-form-group .date-input-container{margin-bottom:30px}.govuk-form-group .date-input-container .govuk-date-input .govuk-date-input__item .govuk-form-group{margin-bottom:0}"]}]}],je.ctorParameters=function(){return[]},je.propDecorators={config:[{type:t.Input}],errorMessage:[{type:t.Input}],formGroup:[{type:t.Input}],isOptional:[{type:t.Input}]};var Be=function(){};Be.decorators=[{type:t.Component,args:[{selector:" xuilib-gov-uk-error-message",template:'<span class="govuk-error-message" [id]="config.id + \'-error\'" *ngFor="let message of errorMessage?.messages">\n <span class="govuk-visually-hidden">Error:</span>{{message}}\n</span>'}]}],Be.ctorParameters=function(){return[]},Be.propDecorators={config:[{type:t.Input}],errorMessage:[{type:t.Input}]};var Re=function(){function e(){}return e.prototype.setDescribedBy=function(){return De.setDescribedBy(this.errorMessage,this.config)},e}();Re.decorators=[{type:t.Component,args:[{selector:"xuilib-gov-uk-fieldset",template:'<fieldset class="govuk-fieldset" [attr.aria-describedby]="setDescribedBy()">\n <legend [class]="config.classes + \' govuk-fieldset__legend\'" *ngIf="!config.isPageHeading">\n {{config.legend}}\n </legend>\n\n <legend [class]="config.classes + \' govuk-fieldset__legend\'" *ngIf="config.isPageHeading">\n <h1>{{config.legend}}</h1>\n </legend>\n\n <span [id]="config.id+\'-hint\'" class="govuk-hint" *ngIf="config.hint">\n {{config.hint}}\n </span>\n <ng-content></ng-content>\n</fieldset>'}]}],Re.ctorParameters=function(){return[]},Re.propDecorators={config:[{type:t.Input}],errorMessage:[{type:t.Input}]};var Ve=function(){function e(){this.reloadInput=!0}return e.prototype.ngOnInit=function(){this.config.classes="govuk-label--m"},e.prototype.setDescribedBy=function(){return De.setDescribedBy(this.errorMessage,this.config)},e}();Ve.decorators=[{type:t.Component,args:[{selector:"xuilib-gov-uk-file-upload",template:'<div class="govuk-form-group" [formGroup]="group"\n [ngClass]="{\'govuk-form-group--error\': errorMessage?.isInvalid}">\n\n <xuilib-gov-label [config]="config"></xuilib-gov-label>\n\n <span *ngIf="config.hint" [id]="config.id +\'-hint\'" class="govuk-hint">\n {{config.hint}}\n </span>\n\n <xuilib-gov-uk-error-message [config]="config" [errorMessage]="errorMessage"></xuilib-gov-uk-error-message>\n\n <input class="govuk-file-upload"\n *ngIf="reloadInput"\n [formControlName]="config.id"\n [ngClass]="{\'govuk-file-upload--error\': errorMessage?.isInvalid}"\n [id]="config.id" [name]="config.name"\n [attr.aria-describedby]="setDescribedBy()"\n type="file">\n </div>'}]}],Ve.ctorParameters=function(){return[]},Ve.propDecorators={errorMessage:[{type:t.Input}],group:[{type:t.Input}],config:[{type:t.Input}]};var Ge=function(){};Ge.decorators=[{type:t.Component,args:[{selector:"xuilib-gov-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>'}]}],Ge.ctorParameters=function(){return[]},Ge.propDecorators={error:[{type:t.Input}],group:[{type:t.Input}],config:[{type:t.Input}]};var ze=function(){function e(){}return e.prototype.ngOnInit=function(){this.config.classes="string"==typeof this.config.classes?this.config.classes:"govuk-label govuk-label--m"},e.prototype.setDescribedBy=function(){return De.setDescribedBy(this.errorMessage,this.config)},e}();ze.decorators=[{type:t.Component,args:[{selector:"xuilib-gov-uk-input",template:'<div class="govuk-form-group gov-uk-input" [formGroup]="group"\n[ngClass]="{\'govuk-form-group--error\': errorMessage?.isInvalid}">\n\n<xuilib-gov-label [config]="config"></xuilib-gov-label>\n\n<span *ngIf="config.hint" [id]="config.id +\'-hint\'" class="govuk-hint">\n {{config.hint}}\n</span>\n\n<xuilib-gov-uk-error-message [config]="config" [errorMessage]="errorMessage"></xuilib-gov-uk-error-message>\n\n<input class="govuk-input"\n [class.govuk-!-width-full]="config.fullWidth"\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}"]}]}],ze.ctorParameters=function(){return[]},ze.propDecorators={errorMessage:[{type:t.Input}],group:[{type:t.Input}],config:[{type:t.Input}]};var We=function(){};We.decorators=[{type:t.Component,args:[{selector:"xuilib-gov-label",template:'<h1 *ngIf="config.isPageHeading else noHeading">\n <label *ngIf="config.label" [for]="config.id" [class]="config.classes + \' govuk-label\'">\n <span>{{ config.label }}</span>\n <span class="govuk-label__optional" *ngIf="config.optional">(optional)</span>\n </label>\n</h1>\n<ng-template #noHeading>\n <label *ngIf="config.label" [for]="config.id" [class]="config.classes + \' govuk-label\'">\n <span>{{ config.label }}</span>\n <span class="govuk-label__optional" *ngIf="config.optional">(optional)</span>\n </label>\n</ng-template>\n',styles:[".govuk-label{display:flex;align-items:center;flex-wrap:wrap}.govuk-label__optional{font-weight:400;font-size:16px;display:inline-block;margin-left:.75rem}"]}]}],We.ctorParameters=function(){return[]},We.propDecorators={config:[{type:t.Input}]};var He=function(){function e(){}return e.prototype.ngOnInit=function(){var e=this.config.focusOn?this.config.focusOn:this.config.value;this.config.id=e,this.config.classes=this.config.classes?this.config.classes.concat(" govuk-radios__label"):"govuk-radios__label"},e}();He.decorators=[{type:t.Component,args:[{selector:"xuilib-gov-radio",template:'<div class="govuk-radios__item" [formGroup]="group">\n <input [className]="\'govuk-radios__input \' + config.classes"\n [id]="config.id"\n [value]="config.value" type="radio"\n [attr.data-aria-controls]="config.id"\n [name]="config.name"\n [formControl]="group.controls[config.name]">\n <xuilib-gov-label appRemoveHost [config]="config"></xuilib-gov-label>\n</div>'}]}],He.ctorParameters=function(){return[]},He.propDecorators={group:[{type:t.Input}],config:[{type:t.Input}]};var $e=function(){};$e.decorators=[{type:t.Component,args:[{selector:"xuilib-gov-uk-radios",template:'<xuilib-gov-uk-form-group-wrapper\n[error]="errors"\n[config]="options.config"\n[group]="options.key">\n<div class="govuk-radios">\n <xuilib-gov-radio\n appRemoveHost\n *ngFor="let item of options.items"\n [group]="options.group"\n [config]="item.config">\n </xuilib-gov-radio>\n</div>\n</xuilib-gov-uk-form-group-wrapper>'}]}],$e.propDecorators={options:[{type:t.Input}],errors:[{type:t.Input}]};var qe=function(){function e(){}return e.prototype.setDescribedBy=function(){return De.setDescribedBy(this.errorMessage,this.config)},e}();qe.decorators=[{type:t.Component,args:[{selector:"xuilib-gov-select",template:'<div class="govuk-form-group" [formGroup]="group"\n[ngClass]="{\'govuk-form-group--error\': errorMessage?.isInvalid}">\n<xuilib-gov-label [config]="config"></xuilib-gov-label>\n<span *ngIf="config.hint" [id]="config.id +\'-hint\'" class="govuk-hint">\n {{config.hint}}\n</span>\n<xuilib-gov-uk-error-message [config]="config" [errorMessage]="errorMessage"></xuilib-gov-uk-error-message>\n\n<select class="govuk-select"\n [class.govuk-!-width-full]="config.fullWidth"\n [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>\n'}]}],qe.ctorParameters=function(){return[]},qe.propDecorators={errorMessage:[{type:t.Input}],group:[{type:t.Input}],config:[{type:t.Input}],items:[{type:t.Input}]};var Je=function(){function e(){this.classes="",this.caption="Dates and amounts",this.firstCellIsHeader=!0,this.columnConfig=[{header:"Date",key:"date",type:"text"},{header:"Amount",key:"amount"}]}return e.prototype.formatDate=function(e){return n.formatDate(e,"dd/MM/yyyy","en-UK")},e}();Je.decorators=[{type:t.Component,args:[{selector:"xuilib-gov-uk-table",template:'<table class="{{\'govuk-table \' + classes}}">\n <caption class="govuk-table__caption">{{caption}}</caption>\n <thead class="govuk-table__head" >\n <tr class="govuk-table__row">\n <th class="govuk-table__header" scope="col" *ngFor="let h of columnConfig">{{h.header}}</th>\n </tr>\n </thead>\n <tbody class="govuk-table__body">\n <tr data-selector="table-row" class="govuk-table__row" *ngFor="let r of rows">\n <ng-container *ngFor="let col of columnConfig; first as isFirst">\n <th data-selector="table-header" class="govuk-table__header" scope="row" *ngIf="isFirst && firstCellIsHeader">\n <ng-container *ngIf="!col.type || col.type === \'text\' || !r.routerLink">{{r[col.key]}}</ng-container>\n <ng-container *ngIf="col.type === \'link\' && r.routerLink">\n <a class="govuk-link" [routerLink]="r.routerLink">{{r[col.key]}}</a>\n </ng-container>\n </th>\n <td data-selector="table-cell" class="govuk-table__cell" *ngIf="!(isFirst && firstCellIsHeader)">\n <ng-container *ngIf="col.type === \'date\'">{{formatDate(r[col.key])}}</ng-container>\n <ng-container *ngIf="!col.type || col.type === \'text\' || !r.routerLink">{{r[col.key]}}</ng-container>\n <ng-container *ngIf="col.type === \'link\' && r.routerLink">\n <a class="govuk-link" [routerLink]="r.routerLink">{{r[col.key]}}</a>\n </ng-container>\n </td>\n </ng-container>\n </tr>\n </tbody>\n</table>\n',styles:[""]}]}],Je.ctorParameters=function(){return[]},Je.propDecorators={classes:[{type:t.Input}],caption:[{type:t.Input}],firstCellIsHeader:[{type:t.Input}],rows:[{type:t.Input}],columnConfig:[{type:t.Input}]};var Ke=function(){this.header="",this.key="",this.type="text"},Ye=function(){function e(){}return e.prototype.setDescribedBy=function(){return De.setDescribedBy(this.errorMessage,this.config)},e}();Ye.decorators=[{type:t.Component,args:[{selector:"xuilib-gov-uk-textarea",template:'<div [formGroup]="group" \nclass="govuk-form-group" [ngClass]="{\'govuk-form-group--error\': errorMessage?.isInvalid}">\n<xuilib-gov-label [config]="config"></xuilib-gov-label>\n<span id="more-detail-hint" class="govuk-hint">\n {{config.hint}}\n</span>\n<xuilib-gov-uk-error-message [config]="config" [errorMessage]="errorMessage"></xuilib-gov-uk-error-message>\n<textarea\n class="govuk-textarea" [formControlName]="config.key"\n [ngClass]="{\'govuk-textarea--error\': errorMessage?.isInvalid}"\n [id]="config.id" name="more-detail" [rows]="config.rows" [attr.aria-describedby]="setDescribedBy()"></textarea>\n</div>'}]}],Ye.propDecorators={config:[{type:t.Input}],errorMessage:[{type:t.Input}],group:[{type:t.Input}]};var Qe=function(){this.title="",this.showMessageIcon=!1,this.messageBoldText=!1};Qe.decorators=[{type:t.Component,args:[{selector:"xuilib-hmcts-banner",template:'<ng-container *ngIf="message && type">\n <div *ngIf="title"\n class="hmcts-banner-title hmcts-banner-title--{{ type }}">\n {{ title }}\n </div>\n <div class="hmcts-banner hmcts-banner--{{ type }}">\n <ng-container *ngIf="showMessageIcon">\n <ng-container [ngSwitch]="type">\n <ng-container *ngSwitchCase="\'warning\'">\n <svg class="hmcts-banner__icon hmcts-banner__icon--warning" 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"></path>\n </svg>\n </ng-container>\n <ng-container *ngSwitchCase="\'success\'">\n <svg class="hmcts-banner__icon hmcts-banner__icon--success" 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="M25,6.2L8.7,23.2L0,14.1l4-4.2l4.7,4.9L21,2L25,6.2z"></path>\n </svg>\n </ng-container>\n <ng-container *ngSwitchCase="\'information\'">\n <svg class="hmcts-banner__icon hmcts-banner__icon--information" 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.7,18.5h-2.4v-2.4h2.4V18.5z M12.5,13.7c-0.7,0-1.2-0.5-1.2-1.2V7.7c0-0.7,0.5-1.2,1.2-1.2s1.2,0.5,1.2,1.2v4.8\n C13.7,13.2,13.2,13.7,12.5,13.7z M12.5,0.5c-6.6,0-12,5.4-12,12s5.4,12,12,12s12-5.4,12-12S19.1,0.5,12.5,0.5z"></path>\n </svg>\n </ng-container>\n </ng-container>\n </ng-container>\n\n <div class="hmcts-banner__message" [class.hmcts-banner__message--bold]="messageBoldText">\n <span class="hmcts-banner__assistive">{{ type }}</span>\n <span class="hmcts-banner__message-text govuk-!-font-weight-bold">{{ message }}</span>\n </div>\n </div>\n</ng-container>\n',styles:[".hmcts-banner-title{color:#fff;background-color:#1d70b8;font-weight:700;padding:10px 15px 5px}.hmcts-banner-title--success{background-color:#00703c}.hmcts-banner-title--warning{background-color:#d4351c}.hmcts-banner__message--bold{font-weight:700}"]}]}],Qe.propDecorators={message:[{type:t.Input}],type:[{type:t.Input}],title:[{type:t.Input}],showMessageIcon:[{type:t.Input}],messageBoldText:[{type:t.Input}]};var Xe=function(){function e(e){this.document=e}return Object.defineProperty(e.prototype,"errorMessages",{set:function(e){this.messages=e},enumerable:!1,configurable:!0}),e.prototype.ngAfterViewInit=function(){this.scrollTo("errorSummary")},e.prototype.ngOnChanges=function(e){e.errorMessages&&this.scrollTo("errorSummary")},e.prototype.scrollTo=function(e){this.document.querySelector("#"+e)&&this.document.querySelector("#"+e).focus()},e.prototype.hasElement=function(e){return this.document.querySelector("#"+e)},e}();Xe.decorators=[{type:t.Component,args:[{selector:"xuilib-hmcts-error-summary",template:'<div *ngIf="!showWarningMessage && messages && messages.length > 0" id="errorSummary" class="govuk-error-summary" aria-labelledby="error-summary-title" role="alert" tabindex="-1"\n data-module="error-summary">\n <h2 class="govuk-error-summary__title" id="error-summary-title">\n {{header}}\n </h2>\n <div class="govuk-error-summary__body">\n <ul class="govuk-list govuk-error-summary__list">\n <li *ngFor="let message of messages">\n <a (click)="scrollTo(message[\'id\'])" [routerLink]="" [fragment]="message[\'id\']"\n *ngIf="hasElement(message[\'id\'])">{{message[\'message\']}}</a>\n <span *ngIf="!hasElement(message[\'id\'])">{{message[\'message\']}}</span>\n </li>\n </ul>\n </div>\n</div>\n<div *ngIf="showWarningMessage" class="hmcts-banner hmcts-banner--warning">\n <svg class="hmcts-banner__icon" fill="currentColor" role="presentation" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 25 25" height="25" width="25">\n <path d="M13.6,15.4h-2.3v-4.5h2.3V15.4z M13.6,19.8h-2.3v-2.2h2.3V19.8z M0,23.2h25L12.5,2L0,23.2z" /></svg>\n <div class="hmcts-banner__message">\n <span class="hmcts-banner__assistive">Warning</span>\n <p class="govuk-body" *ngFor="let message of messages">{{ message[\'message\'] }}</p>\n </div>\n</div>'}]}],Xe.ctorParameters=function(){return[{type:void 0,decorators:[{type:t.Inject,args:[n.DOCUMENT]}]}]},Xe.propDecorators={errorMessages:[{type:t.Input}],header:[{type:t.Input}],showWarningMessage:[{type:t.Input}]};var Ze=function(){function e(){}return Object.defineProperty(e.prototype,"content",{set:function(e){this.value=e.name},enumerable:!1,configurable:!0}),e}();Ze.decorators=[{type:t.Component,args:[{selector:"xuilib-hmcts-identity-bar",template:'<div class="hmcts-identity-bar" *ngIf="value">\n\n <div class="hmcts-identity-bar__container">\n\n <div class="hmcts-identity-bar__details">\n \n <span class="hmcts-identity-bar__title">{{value}}</span>\n \n </div> \n\n </div>\n\n</div>',styles:[""]}]}],Ze.ctorParameters=function(){return[]},Ze.propDecorators={content:[{type:t.Input}]};var et=function(){function e(){this.backEvent=new t.EventEmitter}return Object.defineProperty(e.prototype,"banner",{set:function(e){this.bannerData=e},enumerable:!1,configurable:!0}),e.prototype.ngOnInit=function(){this.hasBackLink=void 0!==this.backLink||this.backEvent.observers.length>0},e.prototype.onGoBack=function(){this.backEvent.emit()},e}();et.decorators=[{type:t.Component,args:[{selector:"xuilib-hmcts-main-wrapper",template:'<a *ngIf="hasBackLink" [routerLink]="backLink" (click)="onGoBack()" class="govuk-back-link">Back</a>\n<main id="content" role="main" class="govuk-main-wrapper">\n <div class="govuk-grid-row">\n <div class="govuk-grid-column-two-thirds">\n <xuilib-hmcts-error-summary\n *ngIf="summaryErrors && !summaryErrors.isFromValid"\n [errorMessages]="summaryErrors.items"\n [header]="summaryErrors.header"\n [showWarningMessage]="showWarningMessage">\n </xuilib-hmcts-error-summary>\n <xuilib-hmcts-banner *ngIf="bannerData"\n [type]="bannerData.type"\n [message]="bannerData.message"\n ></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'}]}],et.ctorParameters=function(){return[]},et.propDecorators={backLink:[{type:t.Input}],title:[{type:t.Input}],summaryErrors:[{type:t.Input}],banner:[{type:t.Input}],actionButtons:[{type:t.Input}],showWarningMessage:[{type:t.Input}],backEvent:[{type:t.Output}]};var tt=function(){this.maxSize=7,this.pageSize=10,this.showPageNumbers=!0,this.showResultCount=!0,this.pageChange=new t.EventEmitter,this.pageBoundsCorrection=new t.EventEmitter};tt.decorators=[{type:t.Component,args:[{selector:"xuilib-hmcts-pagination",template:'<pagination-template #p="paginationApi" [id]="id" [maxSize]="maxSize" (pageChange)="pageChange.emit($event)"\n (pageBoundsCorrection)="pageBoundsCorrection.emit($event)">\n\n <nav class="hmcts-pagination" id="pagination-label">\n <p class="govuk-visually-hidden" aria-labelledby="pagination-label">Pagination navigation</p>\n <ul class="hmcts-pagination__list" *ngIf="!(p.pages.length <= 1)">\n\n <li class="hmcts-pagination__item hmcts-pagination__item--prev" [class.disabled]="p.isFirstPage()">\n <a [routerLink]="" class="hmcts-pagination__link" *ngIf="1 < p.getCurrent()" (keyup.enter)="p.previous()"\n (click)="p.previous()">Previous <span class="govuk-visually-hidden">set of pages</span></a>\n </li>\n\n <ng-container *ngIf="showPageNumbers">\n <li class="hmcts-pagination__item" [class.hmcts-pagination__item--active]="p.getCurrent() === page.value"\n [class.hmcts-pagination__item--dots]="page.label === \'...\'" *ngFor="let page of p.pages">\n <a class="hmcts-pagination__link" [routerLink]="" (keyup.enter)="p.setCurrent(page.value)"\n (click)="p.setCurrent(page.value)" *ngIf="p.getCurrent() !== page.value">\n <span class="govuk-visually-hidden">page </span>\n <span>{{ (page.label === \'...\') ? page.label : (page.label | number:\'\') }}</span>\n </a>\n <ng-container *ngIf="p.getCurrent() === page.value">\n <span>{{ (page.label === \'...\') ? page.label : (page.label | number:\'\') }}</span>\n </ng-container>\n </li>\n </ng-container>\n\n <li class="hmcts-pagination__item hmcts-pagination__item--next" [class.disabled]="p.isLastPage()">\n <a [routerLink]="" class="hmcts-pagination__link" *ngIf="!p.isLastPage()" (keyup.enter)="p.next()"\n (click)="p.next()">Next<span class="govuk-visually-hidden"> page</span></a>\n </li>\n\n </ul>\n <p class="hmcts-pagination__results" *ngIf="showResultCount">Showing <b>{{(p.getCurrent() * pageSize) - pageSize + 1}}</b>\n to <b>{{ p.getCurrent() * pageSize > p.getTotalItems() ? p.getTotalItems() : p.getCurrent() *\n pageSize}}</b> of <b>{{p.getTotalItems()}}</b> results</p>\n </nav>\n\n</pagination-template>',styles:[".hmcts-pagination__results{float:right}"]}]}],tt.propDecorators={id:[{type:t.Input}],maxSize:[{type:t.Input}],pageSize:[{type:t.Input}],showPageNumbers:[{type:t.Input}],showResultCount:[{type:t.Input}],pageChange:[{type:t.Output}],pageBoundsCorrection:[{type:t.Output}]};var nt=function(){function e(){}return Object.defineProperty(e.prototype,"userLoggedIn",{set:function(e){this.isUserLoggedIn=e},enumerable:!1,configurable:!0}),e}();nt.decorators=[{type:t.Component,args:[{selector:"xuilib-hmcts-primary-navigation",template:'<nav *ngIf="isUserLoggedIn" class="hmcts-primary-navigation" [attr.aria-label]="label">\n <div class="hmcts-primary-navigation__container">\n <div class="govuk-header__logo" *ngIf="isBrandedHeader"></div>\n <ul class="hmcts-primary-navigation__list">\n <li class="hmcts-primary-navigation__item" *ngFor="let item of items">\n <a class="hmcts-primary-navigation__link" [attr.aria-current]="item.active ? true: null" [routerLink]="item.href" [innerHTML]="item.text"></a>\n </li>\n </ul>\n </div>\n</nav>\n',styles:[""]}]}],nt.ctorParameters=function(){return[]},nt.propDecorators={userLoggedIn:[{type:t.Input}],label:[{type:t.Input}],items:[{type:t.Input}],isBrandedHeader:[{type:t.Input}]};var ot=function(){};ot.decorators=[{type:t.Component,args:[{selector:"xuilib-hmcts-sub-navigation",template:'<nav class="hmcts-sub-navigation" attr.aria-label="{{label}}" role="navigation" *ngIf="items">\n <ul class="hmcts-sub-navigation__list">\n <li class="hmcts-sub-navigation__item" *ngFor="let item of items">\n <a data-selector="sub-nav-link" class="hmcts-sub-navigation__link" [routerLink]="item.href"\n [attr.aria-current]="item.active ? \'page\' : null">\n {{item.text}}\n\n <span *ngIf="item.roundel && item.roundel > 0 " class="xui-alert-link__number"> {{item.roundel}} </span>\n </a>\n </li>\n </ul>\n</nav>\n',styles:[".xui-alert-link__number{font-family:nta,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-size:14px;font-size:.875rem;line-height:1.78571;border-radius:50%;background-color:#1d70b8;color:#fff;font-weight:700;width:25px;height:25px;margin-left:5px;text-align:center;display:inline-block;text-decoration:none}"]}]}],ot.propDecorators={label:[{type:t.Input}],items:[{type:t.Input}]};var it=function(){function e(e){this.el=e}return e.prototype.ngOnInit=function(){for(var e=this.el.nativeElement,t=e.parentElement;e.firstChild;)t.insertBefore(e.firstChild,e);t.removeChild(e)},e}();it.decorators=[{type:t.Directive,args:[{selector:"[appRemoveHost]"}]}],it.ctorParameters=function(){return[{type:t.ElementRef}]};var st=function(){function e(){}return e.prototype.transform=function(e){var t=e.toLowerCase();return t.charAt(0).toUpperCase()+t.slice(1)},e}();st.decorators=[{type:t.Pipe,args:[{name:"capitalize"}]}];var rt=[Le,ne,ee,te,Z,A,Te,Ee,U,ie,oe,B,j,Q,K,z,W,G,Y,X,_,N,E,H,q,R,D,ce,_e,xe,ye,Me,be,Ae,Oe,Ce,ke],at=[Ze,tt,ot,nt,Xe,et,Qe,Je,ze,Pe,Ge,We,Be,Re,je,Ue,He,$e,qe,Ye,Ve,it],lt=[st],ct=ae,ut=function(){};ut.decorators=[{type:t.NgModule,args:[{declarations:F(rt,at,lt),imports:[n.CommonModule,o.FormsModule,o.ReactiveFormsModule,r.RouterModule.forChild([]),c.MatAutocompleteModule,d.MatTabsModule,u.MatInputModule,p.NgxPaginationModule],providers:[{provide:re,useFactory:ct}],exports:F(rt,at,[p.PaginatePipe],lt)}]}];var dt=function(){};dt.ɵprov=b.ɵɵdefineInjectable({factory:function(){return new dt},token:dt,providedIn:"root"}),dt.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],dt.ctorParameters=function(){return[]};var pt=function(){function e(e,t){this.featureToggleService=e,this.router=t}return e.prototype.canActivate=function(e){var t=this;return i.combineLatest.apply(void 0,F(e.data.needsFeaturesEnabled.map((function(e){return t.featureToggleService.getValueOnce(e,!1)})))).pipe(s.map((function(e){return e.every((function(e){return e}))})),s.map((function(n){return n||t.router.parseUrl(e.data.featureDisabledRedirect)})))},e}();pt.ɵprov=b.ɵɵdefineInjectable({factory:function(){return new pt(b.ɵɵinject($),b.ɵɵinject(k.Router))},token:pt,providedIn:"root"}),pt.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],pt.ctorParameters=function(){return[{type:$},{type:r.Router}]};var gt=function(){function e(){this.ready=new i.BehaviorSubject(!1),this.features={},this.user={anonymous:!0},this.clientId=""}return e.prototype.initialize=function(e,t){var n=this;void 0===e&&(e={anonymous:!0}),this.ready.next(!1),this.user=e,this.clientId=t,this.client=S.initialize(this.clientId,this.user,{}),this.client.on("ready",(function(){n.client.identify(n.user).then((function(){return n.ready.next(!0)}))}))},e.prototype.isEnabled=function(e){return this.getValue(e,!1)},e.prototype.getArray=function(e){return this.getValue(e,[])},e.prototype.getValue=function(e,t){var n=this;return this.features.hasOwnProperty(e)||(this.features[e]=new i.BehaviorSubject(t),this.ready.pipe(s.filter((function(e){return e})),s.map((function(){return n.client.variation(e,t)}))).subscribe((function(t){n.features[e].next(t),n.client.on("change:"+e,(function(t){n.features[e].next(t)}))}))),this.features[e].pipe(s.distinctUntilChanged())},e.prototype.getValueOnce=function(e,t){var n=this;return this.ready.pipe(s.filter((function(e){return e})),s.map((function(){return n.client.variation(e,t)})))},e}();gt.ɵprov=b.ɵɵdefineInjectable({factory:function(){return new gt},token:gt,providedIn:"root"}),gt.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}];var ht=function(){function e(e,t,n,o){this.router=e,this.title=t,this.window=n,this.document=o}return e.prototype.init=function(e){this.googleAnalyticsKey=e;try{var t=this.document.createElement("script");t.async=!0,t.src="https://www.googletagmanager.com/gtag/js?id="+this.googleAnalyticsKey,this.document.head.appendChild(t);var n=this.document.createElement("script");n.innerHTML="\n window.dataLayer = window.dataLayer || [];\n function gtag(){dataLayer.push(arguments);}\n gtag('js', new Date());\n gtag('config', '"+this.googleAnalyticsKey+"', {'send_page_view': false});\n ",this.document.head.appendChild(n)}catch(e){console.error("Error appending google analytics"),console.error(e)}this.listenForRouteChanges()},e.prototype.listenForRouteChanges=function(){var e=this;this.googleAnalyticsKey&&this.router.events.subscribe((function(t){t instanceof r.NavigationEnd&&e.window.gtag("config",e.googleAnalyticsKey,{page_path:t.urlAfterRedirects,page_title:e.title.getTitle()})}))},e.prototype.event=function(e,t){this.window.gtag("event",e,t)},e}();ht.ɵprov=b.ɵɵdefineInjectable({factory:function(){return new ht(b.ɵɵinject(k.Router),b.ɵɵinject(I.Title),b.ɵɵinject(re),b.ɵɵinject(y.DOCUMENT))},token:ht,providedIn:"root"}),ht.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],ht.ctorParameters=function(){return[{type:r.Router},{type:h.Title},{type:void 0,decorators:[{type:t.Inject,args:[re]}]},{type:void 0,decorators:[{type:t.Inject,args:[n.DOCUMENT]}]}]};var mt=function(){function e(e,t,n,o){this.router=e,this.title=t,this.window=n,this.document=o}return e.prototype.init=function(e){this.googleTagManagerKey=e;try{this.window.dataLayer=this.window.dataLayer||[],this.window.dataLayer.push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var t=this.document.createElement("script");t.async=!0,t.src="https://www.googletagmanager.com/gtm.js?id="+this.googleTagManagerKey,this.document.head.appendChild(t)}catch(e){console.error("Error appending google tag manager"),console.error(e)}this.listenForRouteChanges()},e.prototype.listenForRouteChanges=function(){var e=this;this.googleTagManagerKey&&this.router.events.subscribe((function(t){t instanceof r.NavigationEnd&&e.window.dataLayer.push({event:"pageview",page:{path:t.urlAfterRedirects,title:e.title.getTitle()}})}))},e.prototype.event=function(e,t){this.window.dataLayer.push({event:e,params:t})},e}();mt.ɵprov=b.ɵɵdefineInjectable({factory:function(){return new mt(b.ɵɵinject(k.Router),b.ɵɵinject(I.Title),b.ɵɵinject(re),b.ɵɵinject(y.DOCUMENT))},token:mt,providedIn:"root"}),mt.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],mt.ctorParameters=function(){return[{type:r.Router},{type:h.Title},{type:void 0,decorators:[{type:t.Inject,args:[re]}]},{type:void 0,decorators:[{type:t.Inject,args:[n.DOCUMENT]}]}]};var ft=function(){function e(e,t){this.idle=e,this.keepalive=t,this.appStateEmitter=new i.Subject}return e.prototype.init=function(e){var t=this;this.idle.setIdleName(e.idleServiceName),this.idle.setTimeout(e.timeout);var n=new m.DocumentInterruptSource("mousedown keydown DOMMouseScroll mousewheel touchstart touchmove scroll");this.idle.setInterrupts([n]),this.idle.onIdleEnd.pipe(s.delay(250)).subscribe((function(){t.appStateEmitter.next({type:"modal",countdown:void 0,isVisible:!1})})),this.idle.onTimeout.subscribe((function(){t.appStateEmitter.next({type:"signout"})})),this.idle.onTimeoutWarning.pipe(s.map((function(e){return e>60?Math.ceil(e/60)+" minutes":e+" seconds"})),s.distinctUntilChanged()).subscribe((function(e){t.appStateEmitter.next({type:"modal",countdown:e,isVisible:!0})})),this.keepalive.interval(e.keepAliveInSeconds),this.keepalive.onPing.subscribe((function(){t.appStateEmitter.next({type:"keepalive"})}));var o=Math.floor(e.idleMilliseconds/1e3)-e.timeout;this.idle.setIdle(o),this.idle.watch()},e.prototype.appStateChanges=function(){return this.appStateEmitter.asObservable()},e}();ft.ɵprov=b.ɵɵdefineInjectable({factory:function(){return new ft(b.ɵɵinject(w.Idle),b.ɵɵinject(x.Keepalive))},token:ft,providedIn:"root"}),ft.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],ft.ctorParameters=function(){return[{type:m.Idle},{type:f.Keepalive}]};var vt=function(){function e(e,t){this.idle=e,this.keepalive=t,this.millisecondsToSeconds=function(e){return e/1e3},this.eventEmitter=new i.Subject}return e.prototype.initialise=function(e){var t=this,n="mousedown keydown DOMMouseScroll mousewheel touchstart touchmove scroll",o=e.idleServiceName,i=e.idleModalDisplayTime,r=e.totalIdleTime;this.idle.setIdleName(o);var a=this.millisecondsToSeconds(i),l=this.millisecondsToSeconds(r);this.idle.setTimeout(a);var c=new m.DocumentInterruptSource(n),u=new m.WindowInterruptSource(n);this.idle.setInterrupts([c,u]),this.idle.onTimeout.subscribe((function(){t.eventEmitter.next({eventType:"sign-out"})})),this.idle.onTimeoutWarning.pipe(s.map((function(e){return e>60?Math.ceil(e/60)+" minutes":e+" seconds"})),s.distinctUntilChanged()).subscribe((function(e){t.eventEmitter.next({eventType:"countdown",readableCountdown:e})})),this.idle.onIdleStart.subscribe((function(){return console.log("You've gone idle!")})),this.idle.onIdleEnd.subscribe((function(){return console.log("You're no longer idle!")})),this.keepalive.interval(15),this.keepalive.onPing.subscribe((function(){t.eventEmitter.next({eventType:"keep-alive"})}));var d=Math.floor(l)-a;this.idle.setIdle(d),this.idle.watch()},e.prototype.notificationOnChange=function(){return this.eventEmitter.asObservable()},e}();vt.ɵprov=b.ɵɵdefineInjectable({factory:function(){return new vt(b.ɵɵinject(w.Idle),b.ɵɵinject(x.Keepalive))},token:vt,providedIn:"root"}),vt.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],vt.ctorParameters=function(){return[{type:m.Idle},{type:f.Keepalive}]};var bt,yt=function(){function e(){this.pRoles=new i.BehaviorSubject(null),this.roles$=this.pRoles.asObservable().pipe(s.skipWhile((function(e){return null===e})))}return Object.defineProperty(e.prototype,"roles",{set:function(e){this.pRoles.next(e)},enumerable:!1,configurable:!0}),e}();yt.ɵprov=b.ɵɵdefineInjectable({factory:function(){return new yt},token:yt,providedIn:"root"}),yt.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.RoleMatching=void 0,(bt=e.RoleMatching||(e.RoleMatching={}))[bt.ALL=0]="ALL",bt[bt.ANY=1]="ANY";var kt=function(){function t(e,t){this.roleService=e,this.router=t}return t.prototype.canActivate=function(t){var n=this;return this.roleService.roles$.pipe(s.map((function(o){var i=t.data.needsRole,s=function(e){var t=new RegExp(e);return o.some((function(e){return t.test(e)}))};return(t.data.roleMatching===e.RoleMatching.ALL?i.every(s):i.some(s))||n.router.parseUrl(t.data.noRoleMatchRedirect)})))},t}();kt.ɵprov=b.ɵɵdefineInjectable({factory:function(){return new kt(b.ɵɵinject(yt),b.ɵɵinject(k.Router))},token:kt,providedIn:"root"}),kt.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],kt.ctorParameters=function(){return[{type:yt},{type:r.Router}]};var Ct=function(){function e(){}return Object.defineProperty(e.prototype,"isLoading",{get:function(){},enumerable:!1,configurable:!0}),e}(),St=function(){function e(){this.registered=new Map,this.loading=new i.BehaviorSubject(!1)}return Object.defineProperty(e.prototype,"isLoading",{get:function(){return this.loading.asObservable().pipe(s.distinctUntilChanged())},enumerable:!1,configurable:!0}),e.prototype.register=function(){var e=this.generateToken();return this.registered.set(e,e),this.loading.next(!0),e},e.prototype.unregister=function(e){this.registered.delete(e),this.loading.next(this.registered.size>0)},e.prototype.generateToken=function(){return"common-lib-loading-"+window.performance.now()},e}();St.ɵprov=b.ɵɵdefineInjectable({factory:function(){return new St},token:St,providedIn:"root"}),St.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.AccessibilityComponent=_,e.AnonymousFeatureUser=ge,e.COMMON_COMPONENTS=rt,e.CheckboxListComponent=E,e.ContactDetailsComponent=A,e.CookieBannerComponent=ce,e.CookieService=se,e.DueDateComponent=N,e.ExuiCommonLibModule=ut,e.ExuiPageWrapperComponent=Le,e.FeatureToggleDirective=Te,e.FeatureToggleGuard=pt,e.FeatureToggleService=$,e.FilterService=M,e.FindLocationComponent=ye,e.FindPersonComponent=_e,e.GOV_UI_COMPONENTS=at,e.GenericFilterComponent=D,e.GoogleAnalyticsService=ht,e.GoogleTagManagerService=mt,e.GovUiService=dt,e.GovUkCheckboxComponent=Pe,e.GovUkCheckboxesComponent=Ue,e.GovUkDateComponent=je,e.GovUkErrorMessageComponent=Be,e.GovUkFieldsetComponent=Re,e.GovUkFileUploadComponent=Ve,e.GovUkFormGroupWrapperComponent=Ge,e.GovUkInputComponent=ze,e.GovUkLabelComponent=We,e.GovUkRadioComponent=He,e.GovUkRadiosComponent=$e,e.GovUkSelectComponent=qe,e.GovUkTextareaComponent=Ye,e.GovukTableColumnConfig=Ke,e.GovukTableComponent=Je,e.HasLoadingState=Ct,e.HmctsBannerComponent=Qe,e.HmctsErrorSummaryComponent=Xe,e.HmctsIdentityBarComponent=Ze,e.HmctsMainWrapperComponent=et,e.HmctsPaginationComponent=tt,e.HmctsPrimaryNavigationComponent=nt,e.HmctsSessionDialogComponent=U,e.HmctsSubNavigationComponent=ot,e.InviteUserFormComponent=j,e.InviteUserPermissionComponent=B,e.LaunchDarklyService=gt,e.LetContext=Fe,e.LetDirective=Ee,e.LoadingService=St,e.LoadingSpinnerComponent=R,e.LoggedInFeatureUser=he,e.ManageSessionServices=ft,e.PaginationComponent=ke,e.RadioFilterFieldConfig=me,e.RemoveHostDirective=it,e.RoleGuard=kt,e.RoleService=yt,e.SECONDS_IN_A_DAY=86400,e.SearchJudicialsComponent=xe,e.SearchLocationComponent=be,e.SearchVenueComponent=Ce,e.SelectedCaseComponent=W,e.SelectedCaseConfirmComponent=G,e.SelectedCaseListComponent=z,e.ServiceMessageComponent=H,e.ServiceMessagesComponent=q,e.ShareCaseComponent=Q,e.ShareCaseConfirmComponent=K,e.TabComponent=X,e.TcConfirmComponent=Z,e.TcDisplayHtmlComponent=ee,e.TcDisplayPlainComponent=te,e.TermsAndConditionsComponent=ne,e.TimeoutNotificationsService=vt,e.UserDetailsComponent=oe,e.UserListComponent=ie,e.UserSelectComponent=Y,e.checkboxesBeCheckedValidator=function(e){return void 0===e&&(e=1),function(t){var n=0;return Object.keys(t.controls).forEach((function(e){!0===t.controls[e].value&&n++})),n<e?{requireOneCheckboxToBeChecked:!0}:null}},e.dateValidator=function(){return function(e){var t=new Date(parseInt(e.controls.day.value,10),parseInt(e.controls.month.value,10)-1,parseInt(e.controls.year.value,10)-1);return t instanceof Date&&!isNaN(+t)?null:{dateIsInvalid:!0}}},e.radioGroupValidator=function(){return function(e){if(e.controls)for(var t in e.controls)if(!e.controls[t].valid)return{isRadioGroupInvalid:!0};return null}},e.windowProvider=ae,e.windowToken=re,e["ɵ0"]=ct,e["ɵa"]=Le,e["ɵb"]=ne,e["ɵba"]=H,e["ɵbb"]=q,e["ɵbc"]=R,e["ɵbd"]=D,e["ɵbe"]=M,e["ɵbf"]=ce,e["ɵbg"]=se,e["ɵbh"]=_e,e["ɵbi"]=we,e["ɵbj"]=ve,e["ɵbk"]=xe,e["ɵbl"]=ye,e["ɵbm"]=be,e["ɵbn"]=fe,e["ɵbo"]=Me,e["ɵbp"]=Ne,e["ɵbq"]=Ae,e["ɵbr"]=Oe,e["ɵbs"]=Ce,e["ɵbt"]=ke,e["ɵbu"]=Ze,e["ɵbv"]=tt,e["ɵbw"]=ot,e["ɵbx"]=nt,e["ɵby"]=Xe,e["ɵbz"]=et,e["ɵc"]=ee,e["ɵca"]=Qe,e["ɵcb"]=Je,e["ɵcc"]=ze,e["ɵcd"]=Pe,e["ɵce"]=Ge,e["ɵcf"]=We,e["ɵcg"]=Be,e["ɵch"]=Re,e["ɵci"]=je,e["ɵcj"]=Ue,e["ɵck"]=He,e["ɵcl"]=$e,e["ɵcm"]=qe,e["ɵcn"]=Ye,e["ɵco"]=Ve,e["ɵcp"]=it,e["ɵcq"]=st,e["ɵd"]=te,e["ɵe"]=Z,e["ɵf"]=A,e["ɵg"]=Te,e["ɵh"]=$,e["ɵi"]=Fe,e["ɵj"]=Ee,e["ɵk"]=U,e["ɵl"]=ie,e["ɵm"]=oe,e["ɵn"]=B,e["ɵo"]=j,e["ɵp"]=Q,e["ɵq"]=Y,e["ɵr"]=V,e["ɵs"]=K,e["ɵt"]=z,e["ɵu"]=W,e["ɵv"]=G,e["ɵw"]=X,e["ɵx"]=_,e["ɵy"]=N,e["ɵz"]=E,Object.defineProperty(e,"__esModule",{value:!0})}));
2
2
  //# sourceMappingURL=hmcts-rpx-xui-common-lib.umd.min.js.map