@hmcts/rpx-xui-common-lib 1.9.0-postcode-style-change → 1.9.0-postcode-style-edit
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/hmcts-rpx-xui-common-lib.umd.js +2 -2
- package/bundles/hmcts-rpx-xui-common-lib.umd.js.map +1 -1
- package/bundles/hmcts-rpx-xui-common-lib.umd.min.js +1 -1
- package/bundles/hmcts-rpx-xui-common-lib.umd.min.js.map +1 -1
- package/esm2015/lib/components/write-address/write-address.component.js +3 -3
- package/fesm2015/hmcts-rpx-xui-common-lib.js +2 -2
- package/fesm2015/hmcts-rpx-xui-common-lib.js.map +1 -1
- package/hmcts-rpx-xui-common-lib.metadata.json +1 -1
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/common"),require("@angular/forms"),require("rxjs"),require("@angular/router"),require("rxjs/operators"),require("launchdarkly-js-client-sdk"),require("@angular/common/http"),require("@angular/platform-browser"),require("@ng-idle/core"),require("@ng-idle/keepalive"),require("rxjs/internal/observable/of"),require("@angular/material/autocomplete"),require("@angular/material/input"),require("@angular/material/tabs"),require("ngx-pagination"),require("rpx-xui-translation")):"function"==typeof define&&define.amd?define("@hmcts/rpx-xui-common-lib",["exports","@angular/core","@angular/common","@angular/forms","rxjs","@angular/router","rxjs/operators","launchdarkly-js-client-sdk","@angular/common/http","@angular/platform-browser","@ng-idle/core","@ng-idle/keepalive","rxjs/internal/observable/of","@angular/material/autocomplete","@angular/material/input","@angular/material/tabs","ngx-pagination","rpx-xui-translation"],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.ng.router,e.rxjs.operators,e.LDClient,e.ng.common.http,e.ng.platformBrowser,e.i1$2,e.i2$1,e.rxjs["internal/observable/of"],e.ng.material.autocomplete,e.ng.material.input,e.ng.material.tabs,e.ngxPagination,e.rpxXuiTranslation)}(this,(function(e,t,n,o,i,s,r,a,l,c,u,d,p,g,h,m,f,v){"use strict";function b(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 y=b(t),k=b(n),C=b(s),x=b(a),I=b(l),S=b(c),w=b(u),_=b(d),T=function(){};T.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\' | rpxTranslate}}</h1>\n\n<ul class="govuk-list">\n <li><a href="accessibility#immigration">{{\'Immigration and Asylum\' | rpxTranslate}}</a></li>\n <li><a href="accessibility#family">{{\'Family Public Law\' | rpxTranslate}} </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:\' | rpxTranslate}}</p>\n\n<ul class="govuk-list govuk-list--bullet">\n <li>{{\'change colours, contrast levels and fonts\' | rpxTranslate}}</li>\n <li>{{\'zoom in up to 300% without the text spilling off the screen\' | rpxTranslate}}</li>\n <li>{{\'navigate most of the website using just a keyboard\' | rpxTranslate}}</li>\n <li>{{\'navigate most of the website using speech recognition software\' | rpxTranslate}}</li>\n <li>{{\'listen to most of the website using a screen reader (including the most recent versions of JAWS, NVDA and\n VoiceOver)\' | rpxTranslate}}\n </li>\n</ul>\n\n<p class="govuk-body">{{\'We\\’ve also made the website text as simple as possible to understand.\' | rpxTranslate}}</p>\n\n<p class="govuk-body"><a rel="noopener noreferrer" target="_blank" href="https://mcmw.abilitynet.org.uk/">{{\'AbilityNet\' | rpxTranslate}}</a>\n {{\'has advice on making your device easier to use if you have a disability.\' | rpxTranslate}}</p>\n\n<h2 class="govuk-heading-l" id="How-accessible-this-website-is">{{\'How accessible this website is\' | rpxTranslate}}</h2>\n\n<p class="govuk-body">{{\'We know some parts of the website are not fully accessible:\' | rpxTranslate}}</p>\n\n<ul class="govuk-list govuk-list--bullet">\n <li>{{\'some pages are difficult to navigate using just a keyboard\' | rpxTranslate}}</li>\n <li>{{\'some pages can\\’t be listened to in full using a screen reader\' | rpxTranslate}}</li>\n <li>{{\'some pages have problems with colour contrasts between text and background\' | rpxTranslate}}</li>\n <li>{{\'some PDFs may not be fully accessible to a screen reader\' | rpxTranslate}}</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\' | rpxTranslate}}</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:\' | rpxTranslate}}</p>\n\n<ul class="govuk-list govuk-list--bullet">\n <li>{{\'email:\' | rpxTranslate}} <a href="mailto:HMCTSforms@justice.gov.uk"> HMCTSforms@justice.gov.uk</a></li>\n <li>{{\'call:\' | rpxTranslate}} +44 (0) 300 123 1711</li>\n <li>{{\'contact your service representative\' | rpxTranslate}}</li>\n</ul>\n\n<p class="govuk-body">{{\'We\\’ll consider your request and get back to you in 10 working days.\' | rpxTranslate}}</p>\n\n<h2 class="govuk-heading-l" id="Reporting-accessibility-problems-with-this-website">{{\'Reporting accessibility problems\n with this website\' | rpxTranslate}}</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:\' | rpxTranslate}}</p>\n\n<ul class="govuk-list govuk-list--bullet">\n <li>{{\'email:\' | rpxTranslate}} <a href="mailto:customer.service@justice.gov.uk"> customer.service@justice.gov.uk</a></li>\n <li>{{\'telephone:\' | rpxTranslate}} +44 (0) 300 123 1711</li>\n</ul>\n\n<h2 class="govuk-heading-l" id="Enforcement-procedure ">{{\'Enforcement procedure\' | rpxTranslate}}</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\\’).\' | rpxTranslate}} </p>\n\n<p class="govuk-body">{{\'If you\\’re not happy with how we respond to your complaint,\' | rpxTranslate}} <a rel="noopener noreferrer"\n target="_blank"\n href="https://www.equalityadvisoryservice.com/">{{\'contact\n the Equality Advisory and Support Service (EASS).\' | rpxTranslate}}</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\' | rpxTranslate}}</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.\' | rpxTranslate}}</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.\' | rpxTranslate}}</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:\' | rpxTranslate}} +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\' | rpxTranslate}}</a>. </p>\n\n<p class="govuk-body">{{\'You can also contact your service representative for more information.\' | rpxTranslate}}</p>\n\n<h1 class="govuk-heading-l" id="Technical-information-about-this-website’s-accessibility">{{\'Technical information about\n this website\\’s accessibility\' | rpxTranslate}}</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.\' | rpxTranslate}}</p>\n\n<p class="govuk-body">{{\'This website is partially compliant with the\' | rpxTranslate}} <a rel="noopener noreferrer" target="_blank"\n href="https://www.w3.org/TR/WCAG21/">{{\'Web Content\n Accessibility Guidelines version 2.1\' | rpxTranslate}}</a>{{\', due to the non-compliances listed below.\' | rpxTranslate}}</p>\n\n<h1 class="govuk-heading-l" id="Non-accessible-content">{{\'Non-accessible content\' | rpxTranslate}} </h1>\n\n<p class="govuk-body">{{\'The content listed below is non-compliant for the following reasons.\' | rpxTranslate}}</p>\n\n<h2 class="govuk-heading-l" id="Non-compliance-with-the-accessibility-regulations">{{\'Non-compliance with the accessibility\n regulations\' | rpxTranslate}}</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).\' | rpxTranslate}}</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).\' | rpxTranslate}}</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).\' | rpxTranslate}}</p>\n\n<h3 class="govuk-heading-m" id="immigration">{{\'Immigration and Asylum\' | rpxTranslate}}</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.\' | rpxTranslate}}</p>\n\n<h3 class="govuk-heading-m" id="family">{{\'Family Public Law\' | rpxTranslate}} </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\' | rpxTranslate}}\n </li>\n <li>{{\'Some essential functions within the family public law digital service cannot be accessed properly using screen\n readers\' | rpxTranslate}}\n </li>\n <li>{{\'Some complex forms within the service will not be rendered correctly or cannot be listened to by screen readers\' | rpxTranslate}}\n </li>\n</ol>\n\n<h2 class="govuk-heading-m" id="Disproportionate burden ">{{\'Disproportionate burden\' | rpxTranslate}} </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:\' | rpxTranslate}}</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\' | rpxTranslate}}</li>\n <li>{{\'Screen readers can\\’t tab between radio buttons, read links or content\' | rpxTranslate}}</li>\n <li>{{\'Colour contrast ratios uneven between page background and content\' | rpxTranslate}}</li>\n <li>{{\'Some labels, fields, error messages and other content can\\’t be clearly identified by screen readers and voice\n activation software\' | rpxTranslate}}\n </li>\n <li>{{\'Some page headings and titles don\\’t follow a logical structure for screen readers\' | rpxTranslate}}</li>\n <li>{{\'The navigation of some pages isn\\’t clear\' | rpxTranslate}}</li>\n <li>{{\'Some headings, links and button labels aren\\’t clearly descriptive\' | rpxTranslate}}</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\' | rpxTranslate}} </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.\' | rpxTranslate}}</p>\n\n<p class="govuk-body">{{\'Any new PDFs or Word documents we publish will meet accessibility standards.\' | rpxTranslate}}</p>\n\n<h1 class="govuk-heading-l" id="what-to-improve-accessibility">{{\'What we\\’re doing to improve accessibility\' | rpxTranslate}}</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.\' | rpxTranslate}}</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.\' | rpxTranslate}}</p>\n\n<h1 class="govuk-heading-l" id="preparation-of-this-accessibility-statement">{{\'Preparation of this accessibility\n statement\' | rpxTranslate}}</h1>\n\n<p class="govuk-body">{{\'This statement was prepared on 16 September 2019. It was last reviewed on 16 September 2020.\' | rpxTranslate}}</p>\n\n<p class="govuk-body">{{\'This website was last tested on 19 May 2020. The test was carried out by the\' | rpxTranslate}} <a target="_blank"\n href="https://digitalaccessibilitycentre.org/">{{\'Digital\n Accessibility Centre (DAC)\' | rpxTranslate}}</a>.</p>\n\n<h3 class="govuk-heading-m">{{\'Family Private Law:\' | rpxTranslate}}</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.\' | rpxTranslate}}</p>\n\n<p class="govuk-body">{{\'If there are any issues with accessing information or using this website please contact:\' | rpxTranslate}}</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}"]}]}],T.ctorParameters=function(){return[]};Object.create;function E(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],o=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&o>=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function L(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var o,i,s=n.call(e),r=[];try{for(;(void 0===t||t-- >0)&&!(o=s.next()).done;)r.push(o.value)}catch(e){i={error:e}}finally{try{o&&!o.done&&(n=s.return)&&n.call(s)}finally{if(i)throw i.error}}return r}function A(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(L(arguments[t]));return e}Object.create;var O=function(){function e(e){this.ref=e,this.options=[],this.selectionChange=new t.EventEmitter}return Object.defineProperty(e.prototype,"selection",{get:function(){return this.pSelection?A(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()},e.prototype.ngAfterContentChecked=function(){this.ref.detectChanges()},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=A(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 A(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=A(t),this.selectionChange.emit(this.selection))}},e}();O.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\' | rpxTranslate}}</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) | rpxTranslate}}</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}"]}]}],O.ctorParameters=function(){return[{type:t.ChangeDetectorRef}]},O.propDecorators={options:[{type:t.Input}],preselection:[{type:t.Input}],labelFunction:[{type:t.Input}],selectionChange:[{type:t.Output}],selection:[{type:t.Input}]};var F,N=function(){};N.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:\' | rpxTranslate}} </span> <a href="mailto:{{ data.email }}">{{ data.email }}</a></div>\n <div class="phone" *ngIf="data.phone"><span class="govuk-!-font-weight-bold">{{\'Phone:\' | rpxTranslate}} </span>{{ data.phone }}</div>\n <div class="opening-times" *ngIf="data.openingTimes"><span class="govuk-!-font-weight-bold">{{\'Opening times:\' | rpxTranslate }} </span>{{ data.openingTimes}}</div>\n</div>\n\n',styles:[".contact-details{margin-top:30px}.contact-details h3,.contact-details p{margin-bottom:10px}"]}]}],N.ctorParameters=function(){return[]},N.propDecorators={data:[{type:t.Input}]},e.DateBadgeColour=void 0,(F=e.DateBadgeColour||(e.DateBadgeColour={})).RED="hmcts-badge--red",F.ORANGE="hmcts-badge--orange",F.GREEN="hmcts-badge--green";var P=function(){function t(e){this.ref=e,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.ngAfterContentChecked=function(){this.ref.detectChanges()},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}();P.decorators=[{type:t.Component,args:[{selector:"xuilib-due-date",template:'<span *ngIf="dueDate" class="due-date hmcts-badge" [ngClass]="badge"\n [title]="accessibleLabel | rpxTranslate" [attr.aria-label]="accessibleLabel | rpxTranslate">\n {{label | rpxTranslate}}\n</span>',encapsulation:t.ViewEncapsulation.None,styles:[".due-date{white-space:nowrap}.due-date.hmcts-badge--orange{color:#f47738;border-color:#f47738}"]}]}],P.ctorParameters=function(){return[{type:t.ChangeDetectorRef}]},P.propDecorators={dueDate:[{type:t.Input}],highUrgencyCutoff:[{type:t.Input}],mediumUrgencyCutoff:[{type:t.Input}]};var D=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}();D.ɵprov=y.ɵɵdefineInjectable({factory:function(){return new D},token:D,providedIn:"root"}),D.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}];var M=function(){function e(e,t){this.featureToggleService=e,this.router=t}return e.prototype.canActivate=function(e){var t=this;return i.combineLatest(A(e.data.needsFeaturesEnabled.map((function(e){return t.featureToggleService.getValueOnce(e,!1)})))).pipe(r.map((function(e){return e.every((function(e){return e}))})),r.map((function(n){return!1!==e.data.expectFeatureEnabled&&n||!1===e.data.expectFeatureEnabled&&!n||t.router.parseUrl(e.data.featureDisabledRedirect)})))},e}();M.ɵprov=y.ɵɵdefineInjectable({factory:function(){return new M(y.ɵɵinject(D),y.ɵɵinject(C.Router))},token:M,providedIn:"root"}),M.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],M.ctorParameters=function(){return[{type:D},{type:s.Router}]};var U,j=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=x.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(r.filter((function(e){return e})),r.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(r.distinctUntilChanged())},e.prototype.getValueOnce=function(e,t){var n=this;return this.ready.pipe(r.filter((function(e){return e})),r.map((function(){return n.client.variation(e,t)})))},e}();j.ɵprov=y.ɵɵdefineInjectable({factory:function(){return new j},token:j,providedIn:"root"}),j.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.AddressMessageEnum=void 0,(U=e.AddressMessageEnum||(e.AddressMessageEnum={})).NO_OPTION_SELECTED="Select an option",U.NO_STREET_SELECTED="Enter building and street",U.NO_CITY_SELECTED="Enter town or city",U.NO_COUNTRY_SELECTED="Enter country",U.NO_POSTCODE_SELECTED="Enter a valid postcode",U.SELECT_ADDRESS="Select an address",U.INVALID_POSTCODE="Enter valid postcode";var B,R,G=function(){function e(e,t){null===t?(this.value=e,this.description=this.getDescription()):this.description=t}return e.prototype.getDescription=function(){return this.removeInitialCommaIfPresent(""+(void 0===this.value.addressLine1?"":this.value.addressLine1)+this.prefixWithCommaIfPresent(this.value.addressLine2)+this.prefixWithCommaIfPresent(this.value.addressLine3)+", "+this.value.postTown)},e.prototype.prefixWithCommaIfPresent=function(e){return e?", "+e:e},e.prototype.removeInitialCommaIfPresent=function(e){return e.replace(new RegExp("^,","gi"),"")},e}(),V=function(){};e.SharedCaseErrorMessages=void 0,(B=e.SharedCaseErrorMessages||(e.SharedCaseErrorMessages={})).OneCaseMustBeSelected="At least one case must be selected",B.NoChangesRequested="You have not requested any changes to case sharing",B.OnePersonMustBeAssigned="At least one person must be assigned to each case",e.BadgeColour=void 0,(R=e.BadgeColour||(e.BadgeColour={})).BADGE_RED="hmcts-badge--red",R.BADGE_BLUE="hmcts-badge--blue",R.BADGE_GREEN="hmcts-badge--green";var z,W,H,$,q=function(){},J=function(){},K=function(){};e.BookingCheckType=void 0,(z=e.BookingCheckType||(e.BookingCheckType={})).NO_CHECK="NO_CHECK",z.BOOKINGS_AND_BASE="BOOKINGS_AND_BASE",z.POSSIBLE_BOOKINGS="POSSIBLE_BOOKINGS",e.PersonRole=void 0,(W=e.PersonRole||(e.PersonRole={})).JUDICIAL="Judicial",W.CASEWORKER="Legal Ops",W.ADMIN="Admin",W.CTSC="CTSC",W.ALL="All",e.RoleCategory=void 0,(H=e.RoleCategory||(e.RoleCategory={})).JUDICIAL="JUDICIAL",H.CASEWORKER="LEGAL_OPERATIONS",H.ADMIN="ADMIN",H.CTSC="CTSC",H.ALL="ALL",function(e){e.DPA="DPA",e.UK="United Kingdom",e.RD06="RD06"}($||($={}));var Y=function(){function e(){}return e.prototype.parse=function(e){var t=""+e.CLASSIFICATION_CODE,n=new V;return n.addressLine1=this.parseAddressLine1(t,e),n.addressLine2=this.parseAddressLine2(t,e),n.addressLine3=this.parseAddressLine3(t,e),n.postCode=e.POSTCODE,n.postTown=e.POST_TOWN,n.country=$.UK,n},e.prototype.parseAddressLine1=function(e,t){var n;return n=e===$.RD06?t.SUB_BUILDING_NAME+" "+t.ORGANISATION_NAME+" "+t.DEPARTMENT_NAME+" "+t.PO_BOX_NUMBER:""+t.ORGANISATION_NAME+this.prefixWithCommaIfPresent(t.BUILDING_NAME)+t.DEPARTMENT_NAME+" "+t.PO_BOX_NUMBER,this.removeNonAddressValues(n)},e.prototype.parseAddressLine2=function(e,t){var n;return n=e===$.RD06?t.BUILDING_NAME+" ":t.SUB_BUILDING_NAME+" "+t.BUILDING_NUMBER+" "+t.THOROUGHFARE_NAME,this.removeNonAddressValues(n)},e.prototype.parseAddressLine3=function(e,t){var n;return n=e===$.RD06?t.BUILDING_NUMBER+" "+t.THOROUGHFARE_NAME:t.DEPENDENT_LOCALITY+" "+t.DOUBLE_DEPENDENT_LOCALITY+" "+t.DEPENDENT_THOROUGHFARE_NAME,this.removeNonAddressValues(n)},e.prototype.removeNonAddressValues=function(e){return e=e.replace(" null"," ").replace("null "," "),e=this.removeUndefinedString(e),e=this.removeInitialComma(e),e=this.removeEmptySpaces(e)},e.prototype.removeUndefinedString=function(e){return e.replace(new RegExp("undefined","gi"),"")},e.prototype.removeEmptySpaces=function(e){return e.replace(new RegExp(" +","gi")," ").trim()},e.prototype.removeInitialComma=function(e){return e.replace(new RegExp("^,","gi"),"")},e.prototype.prefixWithCommaIfPresent=function(e){return e?", "+e:e},e}(),X=function(){function e(e){this.http=e}return e.prototype.getAddressesForPostcode=function(e){var t=this;return this.http.get("/external/addresses?postcode=${postcode}".replace("${postcode}",e),void 0).pipe(r.map((function(e){return e.results}))).pipe(r.map((function(e){return e?e.map((function(e){return t.format((new Y).parse(e[$.DPA]))})):[]})))},e.prototype.format=function(e){return this.formatAddressLines(this.shiftAddressLinesUp(e))},e.prototype.formatAddressLines=function(e){var t=this;return["addressLine1","addressLine2","addressLine3","postTown"].forEach((function(n){e[n]=t.toCapitalCase(e[n])})),e},e.prototype.shiftAddressLinesUp=function(e){return""===e.addressLine2&&(e.addressLine2=e.addressLine3,e.addressLine3=""),""===e.addressLine1&&(e.addressLine1=e.addressLine2,e.addressLine2=""),e},e.prototype.toCapitalCase=function(e){return(e=e.toLowerCase()).split(" ").forEach((function(t){e=e.replace(t,t.charAt(0).toUpperCase()+t.substr(1))})),e},e}();X.decorators=[{type:t.Injectable}],X.ctorParameters=function(){return[{type:l.HttpClient}]};var Q=new t.InjectionToken("Window");function Z(){return window}var ee=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 s.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}();ee.ɵprov=y.ɵɵdefineInjectable({factory:function(){return new ee(y.ɵɵinject(C.Router),y.ɵɵinject(S.Title),y.ɵɵinject(Q),y.ɵɵinject(k.DOCUMENT))},token:ee,providedIn:"root"}),ee.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],ee.ctorParameters=function(){return[{type:s.Router},{type:c.Title},{type:void 0,decorators:[{type:t.Inject,args:[Q]}]},{type:void 0,decorators:[{type:t.Inject,args:[n.DOCUMENT]}]}]};var te=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 s.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}();te.ɵprov=y.ɵɵdefineInjectable({factory:function(){return new te(y.ɵɵinject(C.Router),y.ɵɵinject(S.Title),y.ɵɵinject(Q),y.ɵɵinject(k.DOCUMENT))},token:te,providedIn:"root"}),te.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],te.ctorParameters=function(){return[{type:s.Router},{type:c.Title},{type:void 0,decorators:[{type:t.Inject,args:[Q]}]},{type:void 0,decorators:[{type:t.Inject,args:[n.DOCUMENT]}]}]};var ne=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 u.DocumentInterruptSource("mousedown keydown DOMMouseScroll mousewheel touchstart touchmove scroll");this.idle.setInterrupts([n]),this.idle.onIdleEnd.pipe(r.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(r.map((function(e){return e>60?Math.ceil(e/60)+" minutes":e+" seconds"})),r.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}();ne.ɵprov=y.ɵɵdefineInjectable({factory:function(){return new ne(y.ɵɵinject(w.Idle),y.ɵɵinject(_.Keepalive))},token:ne,providedIn:"root"}),ne.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],ne.ctorParameters=function(){return[{type:u.Idle},{type:d.Keepalive}]};var oe=function(){function e(e,t){this.idle=e,this.keepalive=t,this.subs=[],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,s=e.totalIdleTime;this.idle.setIdleName(o);var a=this.millisecondsToSeconds(i),l=this.millisecondsToSeconds(s);this.idle.setTimeout(a);var c=new u.DocumentInterruptSource(n),d=new u.WindowInterruptSource(n);this.idle.setInterrupts([c,d]),this.subs.push(this.idle.onTimeout.subscribe((function(){t.eventEmitter.next({eventType:"sign-out"})}))),this.subs.push(this.idle.onTimeoutWarning.pipe(r.map((function(e){return e>60?Math.ceil(e/60)+" minutes":e+" seconds"})),r.distinctUntilChanged()).subscribe((function(e){t.eventEmitter.next({eventType:"countdown",readableCountdown:e})}))),this.subs.push(this.idle.onIdleStart.subscribe((function(){return console.log("You've gone idle!")}))),this.subs.push(this.idle.onIdleEnd.subscribe((function(){return console.log("You're no longer idle!")}))),this.keepalive.interval(15),this.subs.push(this.keepalive.onPing.subscribe((function(){t.eventEmitter.next({eventType:"keep-alive"})})));var p=Math.floor(l)-a;this.idle.setIdle(p),this.idle.watch()},e.prototype.reset=function(){this.idle.watch()},e.prototype.close=function(){this.subs.forEach((function(e){return e.unsubscribe()})),this.idle.stop(),this.idle.clearInterrupts()},e.prototype.notificationOnChange=function(){return this.eventEmitter.asObservable()},e}();oe.ɵprov=y.ɵɵdefineInjectable({factory:function(){return new oe(y.ɵɵinject(w.Idle),y.ɵɵinject(_.Keepalive))},token:oe,providedIn:"root"}),oe.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],oe.ctorParameters=function(){return[{type:u.Idle},{type:d.Keepalive}]};var ie,se=function(){function e(){this.pRoles=new i.BehaviorSubject(null),this.roles$=this.pRoles.asObservable().pipe(r.skipWhile((function(e){return null===e})))}return Object.defineProperty(e.prototype,"roles",{set:function(e){this.pRoles.next(e)},enumerable:!1,configurable:!0}),e}();se.ɵprov=y.ɵɵdefineInjectable({factory:function(){return new se},token:se,providedIn:"root"}),se.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.RoleMatching=void 0,(ie=e.RoleMatching||(e.RoleMatching={}))[ie.ALL=0]="ALL",ie[ie.ANY=1]="ANY";var re=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(r.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}();re.ɵprov=y.ɵɵdefineInjectable({factory:function(){return new re(y.ɵɵinject(se),y.ɵɵinject(C.Router))},token:re,providedIn:"root"}),re.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],re.ctorParameters=function(){return[{type:se},{type:s.Router}]};var ae=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}();ae.ɵprov=y.ɵɵdefineInjectable({factory:function(){return new ae(y.ɵɵinject(k.DOCUMENT))},token:ae,providedIn:"root"}),ae.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],ae.ctorParameters=function(){return[{type:void 0,decorators:[{type:t.Inject,args:[n.DOCUMENT]}]}]};var le=function(){function e(){}return Object.defineProperty(e.prototype,"isLoading",{get:function(){},enumerable:!1,configurable:!0}),e}(),ce=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(r.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}();ce.ɵprov=y.ɵɵdefineInjectable({factory:function(){return new ce},token:ce,providedIn:"root"}),ce.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}];var ue=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}();ue.ɵprov=y.ɵɵdefineInjectable({factory:function(){return new ue},token:ue,providedIn:"root"}),ue.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}];var de=function(){function e(e){this.http=e}return e.prototype.getServices=function(){return this.http.get(e.refDataUrl+"/services")},e.prototype.getRegions=function(){return this.http.get(e.refDataUrl+"/regions")},e.prototype.getLocationsByServiceCode=function(t){var n=(new l.HttpParams).append("service_code",t);return this.http.get(e.refDataUrl+"/locations-by-service-code",{params:n})},e.prototype.getLocations=function(){return this.http.get(e.refDataUrl+"/locations")},e}();de.refDataUrl="/api/ref-data",de.ɵprov=y.ɵɵdefineInjectable({factory:function(){return new de(y.ɵɵinject(I.HttpClient))},token:de,providedIn:"root"}),de.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],de.ctorParameters=function(){return[{type:l.HttpClient}]};var pe=function(){function e(e){this.refDataDataAccessService=e,this.locationsByServiceCodesCache={},this.regions$=this.refDataDataAccessService.getRegions().pipe(r.shareReplay()),this.services$=this.refDataDataAccessService.getServices().pipe(r.shareReplay()),this.locations$=this.refDataDataAccessService.getLocations().pipe(r.shareReplay())}return e.prototype.getLocationsByServiceCodes=function(e){var t=this,n=[];return e.forEach((function(e){t.locationsByServiceCodesCache[e]||(t.locationsByServiceCodesCache[e]=t.refDataDataAccessService.getLocationsByServiceCode(e).pipe(r.catchError((function(){return i.of({court_venues:[]})})),r.map((function(e){return e.court_venues})),r.shareReplay())),n.push(t.locationsByServiceCodesCache[e])})),i.forkJoin(n).pipe(r.map((function(e){return e.reduce((function(e,t){return e.concat(t)}))}),[]),r.take(1))},e}();function ge(e,t){return e.reduce((function(e,n,o){return t[o]?A(e,[n.key]):e}),[])}pe.ɵprov=y.ɵɵdefineInjectable({factory:function(){return new pe(y.ɵɵinject(de))},token:pe,providedIn:"root"}),pe.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],pe.ctorParameters=function(){return[{type:de}]};var he=function(){function e(e,t){this.filterService=e,this.fb=t,this.submitted=!1,this.previousSelectedNestedCheckbox=[],this.formSubmissionEvent$=new i.Subject}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.filterService.givenErrors.next(null),this.formSub&&this.formSub.unsubscribe()},e.prototype.hidden=function(e,t){if(!e.showCondition)return!1;if("string"==typeof e.showCondition){var n=t.get(e.name),i=L(e.showCondition.split("="),2),s=i[0],r=i[1];if(t.value&&t.value[s]===r)return"find-person"===e.type?(n.get("email").setValidators(o.Validators.required),n.get("email").updateValueAndValidity()):(n.setValidators(o.Validators.required),n.updateValueAndValidity()),!1;"find-person"===e.type?(n.get("email").clearValidators(),n.get("email").updateValueAndValidity()):(n.clearValidators(),n.updateValueAndValidity())}return!0},e.prototype.disabled=function(e,t){if(!e.enableCondition)return null;if("string"==typeof e.enableCondition){var n=t.get(e.name),i=L(e.enableCondition.split("="),2),s=i[0],r=i[1];if(t.value&&t.value[s]===r)return"find-person"===e.type?(n.get("email").setValidators(o.Validators.required),n.get("email").updateValueAndValidity()):(n.setValidators(o.Validators.required),n.updateValueAndValidity()),null;"find-person"===e.type?(n.get("email").clearValidators(),n.get("email").updateValueAndValidity()):(n.clearValidators(),n.updateValueAndValidity())}return"find-location"===e.type||(e.disable?e.disable:null)},e.prototype.applyFilter=function(e){if(this.formSubmissionEvent$.next(),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=E(e.changeResetFields),s=i.next();!s.done;s=i.next()){var r=s.value;this.resetField(r,t)}}catch(e){n={error:e}}finally{try{s&&!s.done&&(o=i.return)&&o.call(i)}finally{if(n)throw n.error}}},e.prototype.inputChanged=function(e){if(e.radioSelectionChange&&"string"==typeof e.radioSelectionChange){var t=L(e.enableCondition.split("="),2),n=t[0],o=t[1];this.form.get(n).patchValue(o)}},e.prototype.inputServiceChanged=function(e){if("user-services"===e.name){var t=this.getSelectedValuesForFields(this.form.controls,e);this.filterSkillsByServices(t,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=E(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){var n,o,i;i=e&&e.task_type?Object.keys(e.task_type):Object.keys(this.form.get(t.name).value);try{for(var s=E(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.task_type&&e.task_type[a]?e.task_type[a]:null;this.form.get(t.name).get(a).patchValue(l)}}}catch(e){n={error:e}}finally{try{r&&!r.done&&(o=s.return)&&o.call(s)}finally{if(n)throw n.error}}},e.prototype.toggleSelectAll=function(e,t,n,o){var i,s,r=e.target.checked,a=t.get(o.name);if(n.selectAll)a.controls.forEach((function(e){r?e.patchValue(!0):e.patchValue(!1)}));else{var l=a.controls.every((function(e){return e.value})),c=null,u=o.options.find((function(e,t){return!!e.hasOwnProperty("selectAll")&&(c=t,!0)})),d=a.controls.filter((function(e,t){return t!==c})).every((function(e){return e.value}));l||!u||r?u&&!l&&r&&d&&a.controls[c].patchValue(!0):a.controls.forEach((function(e,t){c!==t||e.patchValue(!1)}))}if(o.changeResetFields&&o.changeResetFields.length)try{for(var p=E(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=E(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,a=this.form?this.form.get("findPersonControl"):null,l=this.form?this.form.get("findTaskNameControl"):null;this.form=this.fb.group({}),a&&this.form.addControl("findPersonControl",a),l&&this.form.addControl("findTaskNameControl",l);var c=function(i){if("checkbox"===i.type||"checkbox-large"===i.type||"nested-checkbox"===i.type){var s=u.buildCheckBoxFormArray(i,t);u.form.addControl(i.name,s)}else if("find-location"===i.type||"find-service"===i.type){s=u.buildFormArray(i,t);u.form.addControl(i.name,s)}else{var a=[];i.minSelected&&i.minSelected>0&&(a.push(o.Validators.required),"text-input"===i.type&&a.push(o.Validators.minLength(i.minSelected)),"email-input"===i.type&&a.push(o.Validators.email));var l=null;if(n&&e.cancelSetting){var c=e.cancelSetting.fields.find((function(e){return e.name===i.name}));l=c&&c.value?c.value[0]:""}else if(t&&t.fields){var d=t.fields.find((function(e){return e.name===i.name}));l=d&&d?d.value[0]:""}if("find-person"===i.type){var p=new o.FormGroup({domain:new o.FormControl(l&&l.hasOwnProperty("domain")?l.domain:""),email:new o.FormControl(l&&l.hasOwnProperty("email")?l.email:"",a),id:new o.FormControl(l&&l.hasOwnProperty("id")?l.id:""),name:new o.FormControl(l&&l.hasOwnProperty("name")?l.name:""),knownAs:new o.FormControl(l&&l.hasOwnProperty("knownAs")?l.knownAs:"")});u.form.addControl(i.name,p)}else if("find-task-name"===i.type){p=new o.FormGroup({task_type_id:new o.FormControl(l&&l.hasOwnProperty("task_type_id")?l.task_type_id:""),task_type_name:new o.FormControl(l&&l.hasOwnProperty("task_type_name")?l.task_type_name:"")});u.form.addControl(i.name,p),l&&l.task_type_id||null===(r=u.form.get("findTaskNameControl"))||void 0===r||r.patchValue("")}else if("group-title"!==i.type){var g=new o.FormControl(l,a);u.form.addControl(i.name,g)}i.findPersonField&&u.fieldChanged(i,u.form)}},u=this;try{for(var d=E(e.fields),p=d.next();!p.done;p=d.next()){c(p.value)}}catch(e){i={error:e}}finally{try{p&&!p.done&&(s=d.return)&&s.call(d)}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=E(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=E(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:ge(i.options,o),name:n}}return{value:[o],name:n}}))},e.prototype.emitFormErrors=function(e){var t,n,o=[];try{for(var i=E(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}),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}();he.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?.required || 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 <div *ngIf="field.hintText"\n [id]="field.hintText + \'-hint\'" class="govuk-hint">\n {{ field.hintText | rpxTranslate }}\n </div>\n <span [id]="field.name + \'-error\'" class="govuk-error-message" *ngIf="field.displayMinSelectedError && submitted && (form.get(field.name).errors?.required || form.get(field.name).errors?.minlength)">\n <span class="govuk-visually-hidden">{{ \'Error:\' | rpxTranslate}}</span> {{field.minSelectedError | rpxTranslate }}\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:\' | rpxTranslate}}</span> {{field.maxSelectedError | rpxTranslate }}\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:\' | rpxTranslate }}</span> {{field.emailError | rpxTranslate }}\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 | rpxTranslate}}</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 | rpxTranslate}}</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 | rpxTranslate}}</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 [submitted]="submitted"\n [field]="field"\n [services]="form.get(field.findLocationField)?.value"\n [formSubmissionEvent$]="formSubmissionEvent$"\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?.task_type_name"\n [placeholderContent]="field.placeholderContent ? field.placeholderContent : \'\'"\n [services]="form.get(field.servicesField)?.value"\n ></xuilib-find-task-name>\n </ng-container>\n <ng-container *ngSwitchCase="\'find-service\'">\n <xuilib-find-service (serviceFieldChanged)="inputServiceChanged(field)"\n [field]="field"\n [form]="form"\n [formSubmissionEvent$]="formSubmissionEvent$"\n [disabled]="disabled(field, form)">\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\') | rpxTranslate}}</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\') | rpxTranslate}}</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%}"]}]}],he.ctorParameters=function(){return[{type:ue},{type:o.FormBuilder}]},he.propDecorators={config:[{type:t.Input}],settings:[{type:t.Input}]};var me=function(){function e(){this.close=new t.EventEmitter}return e.prototype.onClose=function(){this.close.emit()},e}();me.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\' | rpxTranslate}}</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}"]}]}],me.ctorParameters=function(){return[]},me.propDecorators={positionTop:[{type:t.Input}],close:[{type:t.Output}]};var fe=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}();fe.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'}]}],fe.propDecorators={submitForm:[{type:t.Output}],inviteUserForm:[{type:t.Input}],errorMessages:[{type:t.Input}]};var ve=function(){this.isPuiCaseManager=!1,this.isPuiUserManager=!1,this.isPuiOrganisationManager=!1,this.isPuiFinanceManager=!1};ve.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>"}]}],ve.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 be=function(){function e(e){this.ref=e,this.loadingText="Loading"}return e.prototype.ngAfterContentChecked=function(){this.ref.detectChanges()},e}();be.decorators=[{type:t.Component,args:[{selector:"xuilib-loading-spinner",template:'<div class="spinner-container">\n <div class="spinner-inner-container">\n <p>{{loadingText | rpxTranslate}}</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)}}"]}]}],be.ctorParameters=function(){return[{type:t.ChangeDetectorRef}]},be.propDecorators={loadingText:[{type:t.Input}]};var ye=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(r.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=E(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=E(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=E(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}();ye.ɵprov=y.ɵɵdefineInjectable({factory:function(){return new ye},token:ye,providedIn:"root"}),ye.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],ye.ctorParameters=function(){return[]};var ke=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}();ke.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\' | rpxTranslate}}</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\' | rpxTranslate}}</th>\n <th class="govuk-table__header govuk-table-column-header" scope="col">{{\'Email address\' | rpxTranslate}}</th>\n <th class="govuk-table__header govuk-table-column-actions" scope="col">{{\'Actions\' | rpxTranslate}}</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\' | rpxTranslate}}</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">\n {{\'To be removed\' | rpxTranslate}}\n </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%}"]}]}],ke.ctorParameters=function(){return[{type:ye}]},ke.propDecorators={sharedCase:[{type:t.Input}],changeLink:[{type:t.Input}]};var Ce=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}();Ce.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:[""]}]}],Ce.ctorParameters=function(){return[{type:ye}]},Ce.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 xe=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(r.map((function(o){var i,s;if(n.removeUserFromCaseToggleOn)try{for(var r=E(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(r.map((function(n){var o,i;try{for(var s=E(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(r.map((function(n){var o,i;try{for(var s=E(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(r.map((function(n){var o,i;try{for(var s=E(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 A(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}();xe.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 | rpxTranslate }}</h3>\n <h1 id="{{buildElementId(\'case-id\')}}" class="govuk-case-sub-title">{{ sharedCase.caseId | rpxTranslate }}</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)" title="Deselect case">\n {{\'Deselect case\' | rpxTranslate}}\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\' | rpxTranslate">\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">\n {{\'No users from your organisation currently have access to this case.\' | rpxTranslate}}\n </span>\n </div>\n <div class="govuk-grid-row" *ngIf="showUserHasAccessInfo()">\n <span id="{{buildElementId(\'access-info-has-users\')}}" class="govuk-div-align-left">\n {{\'Users from your organisation with access to this case.\' | rpxTranslate}}\n </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\' | rpxTranslate}}</th>\n <th id="{{buildElementId(\'email-heading\')}}" class="govuk-table__header govuk-table-column-header" scope="col">{{\'Email address\' | rpxTranslate}}</th>\n <th id="{{buildElementId(\'action-heading\')}}" class="govuk-table__header govuk-table-column-actions" scope="col">{{\'Actions\' | rpxTranslate}}</th>\n <th id="{{buildElementId(\'label-heading\')}}" class="govuk-table__header govuk-table-column-label" scope="col">{{ \'Status\' | rpxTranslate }}</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\' | rpxTranslate}} <span class="govuk-visually-hidden">{{ user.firstName + \' \' + user.lastName }} {{\'from case\' | rpxTranslate}}</span></a>\n <a *ngIf="canCancel(sharedCase.caseId, user) | async" (click)="onCancel(user, sharedCase)" href="javascript:void(0);">{{\'Cancel\' | rpxTranslate}} <span class="govuk-visually-hidden">{{\'adding\' | rpxTranslate}} {{ user.firstName + \' \' + user.lastName }} {{\'to case\' | rpxTranslate}}</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\' | rpxTranslate}}</span>\n <span *ngIf="isToBeAdded(sharedCase.caseId, user) | async" class="hmcts-badge">{{\'To be added\' | rpxTranslate}}</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}"]}]}],xe.ctorParameters=function(){return[{type:ye}]},xe.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 Ie=function(){function e(){this.hideMessage=new t.EventEmitter}return e.prototype.onHideMessageEvent=function(e){this.hideMessage.emit(e)},e}();Ie.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\' | rpxTranslate}}</span>\n <h2 class="govuk-heading-s" [innerHTML]="message | rpxTranslate"></h2>\n <a [routerLink]="" class="govuk-link--no-visited-state" (click)="onHideMessageEvent(key)">{{\'Hide message\' | rpxTranslate}}</a>\n </div>\n\n</div>'}]}],Ie.ctorParameters=function(){return[]},Ie.propDecorators={message:[{type:t.Input}],key:[{type:t.Input}],hideMessage:[{type:t.Output}]};var Se=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}();Se.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 | rpxTranslate" (hideMessage)="hideMessage($event)"></xuilib-service-message>\n</div>'}]}],Se.ctorParameters=function(){return[{type:D}]},Se.propDecorators={userRoles:[{type:t.Input}],featureToggleKey:[{type:t.Input}],serviceMessageCookie:[{type:t.Input}]};var we=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}();we.decorators=[{type:t.Component,args:[{selector:"xuilib-share-case-confirm",template:'<div id="casesToConfirm">\n <h3 class="govuk-heading-l">{{\'Cases\' | rpxTranslate}}</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.\' | rpxTranslate}}\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\' | rpxTranslate}}</button>\n</div>\n',styles:[""]}]}],we.ctorParameters=function(){return[{type:ye}]},we.propDecorators={shareCases$:[{type:t.Input}],changeLink:[{type:t.Input}],completeLink:[{type:t.Input}]};var _e=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(r.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}();_e.decorators=[{type:t.Component,args:[{selector:"xuilib-user-select",template:'<input class="govuk-input" type="text" [matAutocomplete]="dropdown" [formControl]="control" (ngModelChange)="onUserChange($event)"\n [attr.aria-labelledby]="\'add-user-hint\' | rpxTranslate">\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 | rpxTranslate }} {{ user.lastName | rpxTranslate }} - {{ user.email }}\n </mat-option>\n</mat-autocomplete>\n',styles:[""]}]}],_e.ctorParameters=function(){return[]},_e.propDecorators={users:[{type:t.Input}],selected:[{type:t.Output}]};var Te=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(r.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=E(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=E(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}();Te.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 | rpxTranslate}}</span>\n {{title | rpxTranslate}}\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 | rpxTranslate}}</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.\' | rpxTranslate}}\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()"\n class="govuk-button govuk-button--secondary" [disabled]="isDisabledAdd()"\n title="{{\'Add user to selected cases\' | rpxTranslate}}">\n {{\'Add\' | rpxTranslate}}\n </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?" | rpxTranslate}}\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 administrator for help." | rpxTranslate}}\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">\n {{\'Remove a person from all cases\' | rpxTranslate}}\n </label>\n <span id="remove-user-hint" class="govuk-hint">\n {{\'Select a person to remove them from all selected cases.\' | rpxTranslate}}\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\' | rpxTranslate}}">\n {{\'Remove\' | rpxTranslate}}\n </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">\n {{\'Selected cases\' | rpxTranslate}}\n </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.\' | rpxTranslate}}\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\' | rpxTranslate}}">\n {{\'Continue\' | rpxTranslate}}\n </button>\n <button id="btn-cancel" class="govuk-button govuk-button--secondary" data-module="govuk-button" title="{{\'Cancel\' | rpxTranslate}}" [routerLink]="cancelLink">\n {{\'Cancel\' | rpxTranslate}}\n </button>\n</div>\n',styles:["select{width:100%}"]}]}],Te.ctorParameters=function(){return[{type:ye},{type:s.Router}]},Te.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:[_e,{static:!0}]}]};var Ee=function(){function e(){this.tabChange=new t.EventEmitter}return e.prototype.tabChanged=function(e){this.tabChange.emit(e)},e}();Ee.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 | rpxTranslate">\n </mat-tab>\n</mat-tab-group>'}]}],Ee.ctorParameters=function(){return[]},Ee.propDecorators={tabItems:[{type:t.Input}],tabChange:[{type:t.Output}]};var Le=function(){function e(){this.confirm=new t.EventEmitter}return e.prototype.onClick=function(){this.confirm.emit()},e}();Le.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\' | rpxTranslate}}</h1>\n <h2 class="govuk-heading-m">{{\'Terms and conditions\' | rpxTranslate}}</h2>\n <p>{{\'We\\\'ve recently updated the\' | rpxTranslate}}\n <a\n routerLink="/terms-and-conditions"\n rel="noopener noreferrer"\n target="_blank"\n >{{\'terms and conditions\' | rpxTranslate}}</a\n >.\n </p>\n <p>{{\'You must review and accept them.\' | rpxTranslate}}\n </p>\n <p>\n <button class="govuk-button" (click)="onClick()">\n {{ buttonText | rpxTranslate }}\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:[""]}]}],Le.ctorParameters=function(){return[]},Le.propDecorators={buttonText:[{type:t.Input}],confirm:[{type:t.Output}]};var Ae=function(){};Ae.decorators=[{type:t.Component,args:[{selector:"xuilib-tc-display-html",template:"<ng-content></ng-content>",styles:[":host{display:block;width:100%}"]}]}],Ae.ctorParameters=function(){return[]};var Oe=function(){};Oe.decorators=[{type:t.Component,args:[{selector:"xuilib-tc-display-plain",template:"<ng-content></ng-content>",styles:[":host{display:block;width:100%}"]}]}],Oe.ctorParameters=function(){return[]};var Fe=function(){};Fe.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 | rpxTranslate"></div>\n </xuilib-tc-display-html>\n <xuilib-tc-display-plain *ngSwitchCase="\'text/plain\'">\n {{ document.content | rpxTranslate}}\n </xuilib-tc-display-plain>\n <div *ngSwitchDefault>\n {{\'An error occured. Please try again.\' | rpxTranslate}}\n </div>\n</ng-container>\n',styles:[":host{display:block;width:100%}"]}]}],Fe.ctorParameters=function(){return[]},Fe.propDecorators={document:[{type:t.Input}]};var Ne=function(){function e(){this.showEditLink=!1,this.showHelpLink=!1,this.suspendUserEvent=new t.EventEmitter,this.showSuspendUserButton=!1,this.reinvite=new t.EventEmitter}return e.prototype.reinviteClick=function(e){this.reinvite.emit(e)},e.prototype.suspendUser=function(e){this.suspendUserEvent.emit(e)},e.prototype.userHasRole=function(e){return!(!this.user||!this.user.roles)&&this.user.roles.includes(e)},e}();Ne.decorators=[{type:t.Component,args:[{selector:"xuilib-user-details",template:'<div class="govuk-warning-text" *ngIf="warningTitle && warningTitle !== \'\'">\n<span class="govuk-warning-text__icon">!</span>\n<strong class="govuk-warning-text__text">\n {{ warningTitle | rpxTranslate}}\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\' | rpxTranslate}}</th>\n <td class="govuk-table__cell">{{user.fullName | rpxTranslate}}</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\' | rpxTranslate}}</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\' | rpxTranslate}}</th>\n <td class="govuk-table__cell">\n <div *ngIf="user.manageOrganisations === \'Yes\'">{{\'Manage organisations\' | rpxTranslate}}</div>\n <div *ngIf="user.manageUsers === \'Yes\'">{{\'Manage users\' | rpxTranslate}}</div>\n <div *ngIf="user.manageCases === \'Yes\'">{{\'Manage cases\' | rpxTranslate}}</div>\n <div *ngIf="userHasRole(\'pui-caa\')">{{\'Case access administrator\' | rpxTranslate}}</div>\n <div *ngIf="userHasRole(\'pui-finance-manager\')">{{\'Manage fee accounts\' | rpxTranslate}}</div>\n </td>\n <td class="govuk-table__cell"><a *ngIf="editPermissionRouterLink && showEditLink" [routerLink]="editPermissionRouterLink">{{\'Change\' | rpxTranslate}} <span class="govuk-visually-hidden">{{\'roles\' | rpxTranslate}}</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\' | rpxTranslate}}\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.\' | rpxTranslate}}</p>\n <p>{{\'If you resend an invitation, they\\\'ll receive an email from HM Courts and Tribunals to finish setting up their account.\' | rpxTranslate}}</p>\n <p>{{\'You can\\\'t invite the same user more than once an hour.\' | rpxTranslate}}</p>\n </div>\n <a role="button" draggable="false" class="govuk-button" (click)="reinviteClick(user)" id="resend-invite-button">\n {{\'Resend invitation\' | rpxTranslate}}\n </a>\n</div>\n<p class="govuk-body" *ngIf="showHelpLink && suspendHelpLink"><a [routerLink]="suspendHelpLink" target="_blank">{{\'Get help\' | rpxTranslate}}</a> {{\'to reactivate this account.\' | rpxTranslate}}</p>\n',styles:[":host{display:block}"]}]}],Ne.propDecorators={user:[{type:t.Input}],editPermissionRouterLink:[{type:t.Input}],warningTitle:[{type:t.Input}],showEditLink:[{type:t.Input}],showHelpLink:[{type:t.Input}],suspendHelpLink:[{type:t.Input}],suspendUserEvent:[{type:t.Output}],showSuspendUserButton:[{type:t.Input}],reinvite:[{type:t.Output}]};var Pe=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}();Pe.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\' | rpxTranslate}}</th>\n <th class="govuk-table__header" scope="col">{{\'Email\' | rpxTranslate}}</th>\n <th class="govuk-table__header" scope="col">{{\'Status\' | rpxTranslate}}</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}"]}]}],Pe.propDecorators={users:[{type:t.Input}],currentPageNumber:[{type:t.Input}],pageTotalSize:[{type:t.Input}],userClick:[{type:t.Output}],pageChange:[{type:t.Output}]};var De=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}();De.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\' | rpxTranslate}} {{appName | rpxTranslate}}</h2>\n\n <div class="govuk-cookie-banner__content">\n <p>{{\'We use some essential cookies to make this service work.\' | rpxTranslate}}</p>\n <p>{{\'We\\’d also like to use analytics cookies so we can understand how you use the service and make improvements.\' | rpxTranslate}}</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\' | rpxTranslate}}\n </button>\n <button value="reject" type="button" name="cookies" class="govuk-button" data-module="govuk-button" (click)="rejectCookie()">\n {{\'Reject analytics cookies\' | rpxTranslate}}\n </button>\n <a class="govuk-link" routerLink="/cookies">{{\'View cookies\' | rpxTranslate}}</a>\n </div>\n </div>\n</div>\n'}]}],De.ctorParameters=function(){return[{type:ae},{type:void 0,decorators:[{type:t.Inject,args:[Q]}]}]},De.propDecorators={identifier:[{type:t.Input}],appName:[{type:t.Input}],rejectionNotifier:[{type:t.Output}],acceptanceNotifier:[{type:t.Output}]};var Me=function(){function e(){this.showAutocomplete=!1,this.optionChanged=new t.EventEmitter,this.searchTerm="",this.MIN_SEARCH_CHARACTERS=3}return Object.defineProperty(e.prototype,"filteredOptions",{get:function(){var e,t=this,n=this.options.filter((function(e){return!t.selectedOptions.find((function(t){return t.key===e.key}))}));return(null===(e=this.searchTerm)||void 0===e?void 0:e.length)>=this.MIN_SEARCH_CHARACTERS?n.filter((function(e){return e.label.toLowerCase().includes(t.searchTerm.toLowerCase())})):n},enumerable:!1,configurable:!0}),e.prototype.resetSearchTerm=function(){this.searchTerm=""},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.options.find((function(e){return e.label===n}));this.optionChanged.emit(o)}},e}();Me.decorators=[{type:t.Component,args:[{selector:"exui-search-service",template:'<div class="auto-complete-container">\n <input id="inputServiceSearch"\n class="govuk-input"\n [(ngModel)]="searchTerm"\n [matAutocomplete]="autoSearchService"\n [attr.disabled]="disabled">\n <mat-autocomplete class="mat-autocomplete-panel-extend" autoActiveFirstOption #autoSearchService="matAutocomplete">\n <mat-option *ngFor="let service of filteredOptions" (onSelectionChange)="onSelectionChanged($event)" [value]="service.label">\n {{ service.label }}\n </mat-option>\n <mat-option *ngIf="!filteredOptions?.length && showAutocomplete">\n No results found\n </mat-option>\n </mat-autocomplete>\n</div>\n',styles:[".autocomplete__input--show-all-values{padding:5px 34px 5px 5px;cursor:pointer}.autocomplete__dropdown-arrow-down{z-index:-1;display:inline-block;position:absolute;right:8px;width:24px;height:24px;top:10px}.autocomplete__menu{background-color:#fff;border:2px solid #0b0c0c;border-top:0;color:#0b0c0c;margin:0;max-height:342px;overflow-x:hidden;padding:0;width:100%;width:calc(100% - 4px)}.autocomplete__menu--visible{display:block}.autocomplete__menu--hidden{display:none}.autocomplete__menu--overlay{box-shadow:0 2px 6px rgba(0,0,0,.256863);left:0;position:absolute;top:100%;z-index:100}.autocomplete__menu--inline{position:relative}.autocomplete__option{border-left-width:0;border-bottom:1px solid #b1b4b6;border-right-width:0;border-top-width:1px;cursor:pointer;display:block;position:relative}.autocomplete__option>*{pointer-events:none}.autocomplete__option:first-of-type{border-top-width:0}.autocomplete__option:last-of-type{border-bottom-width:0}.autocomplete__option--odd{background-color:#fafafa}.autocomplete__option--focused,.autocomplete__option:hover{background-color:#1d70b8;border-color:#1d70b8;color:#fff;outline:0}.autocomplete__option--no-results{background-color:#fafafa;color:#646b6f;cursor:not-allowed}.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.25}.autocomplete__hint,.autocomplete__option{padding:5px}@media (min-width:641px){.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.31579}}.div-action{display:inline-block}.add-location{display:inline}.remove-location-button{margin:5px}.hide-autocomplete{display:none}.auto-complete-container{min-width:250px;display:inline-block;margin-right:4px}.autocomplete__input{line-height:24px;font-size:19px}"]}]}],Me.propDecorators={options:[{type:t.Input}],selectedOptions:[{type:t.Input}],disabled:[{type:t.Input}],showAutocomplete:[{type:t.Input}],optionChanged:[{type:t.Output}]};var Ue=function(){function e(){this.disabled=!1,this.serviceFieldChanged=new t.EventEmitter,this.isSelectedAll=!1,this.tempSelectedService=null}return Object.defineProperty(e.prototype,"selectedServices",{get:function(){var e,t=this.field.options.find((function(e){return e.selectAll}));return this.isSelectedAll?[t]:null===(e=this.form.get(this.field.name))||void 0===e?void 0:e.value},enumerable:!1,configurable:!0}),e.prototype.ngOnInit=function(){var e=this;this.sortOptionsAlphabetically(),this.field.defaultOption&&this.addOption(this.field.defaultOption),this.formSubmissionEvent$&&(this.formSubmissionEventSubscription=this.formSubmissionEvent$.subscribe((function(){1===e.selectedServices.length&&1===e.field.maxSelected||e.searchServiceComponent.resetSearchTerm()})))},e.prototype.addOption=function(e){var t=this;e&&(e.selectAll?(this.isSelectedAll=!0,this.removeAllSelectedValues(),this.field.options.forEach((function(e){e.selectAll||t.addSelectedServiceToForm(e)}))):(this.isSelectedAll&&(this.removeAllSelectedValues(),this.isSelectedAll=!1),this.addSelectedServiceToForm(e)),this.tempSelectedService=null,this.serviceFieldChanged.emit(),this.searchServiceComponent.resetSearchTerm())},e.prototype.removeOption=function(e){if(e.selectAll)this.removeAllSelectedValues(),this.isSelectedAll=!1;else if(e.key){var t=this.form.get(this.field.name),n=t.value.findIndex((function(t){return t.key.toLowerCase()===e.key.toLowerCase()}));n>-1&&t.removeAt(n),this.serviceFieldChanged.emit()}},e.prototype.onOptionSelected=function(e){this.field.enableAddButton||1!==this.field.maxSelected?this.tempSelectedService=e:(this.removeAllSelectedValues(),this.addSelectedServiceToForm(e),this.serviceFieldChanged.emit())},e.prototype.removeAllSelectedValues=function(){this.form.get(this.field.name).clear()},e.prototype.addSelectedServiceToForm=function(e){this.form.get(this.field.name).push(new o.FormControl(e))},e.prototype.sortOptionsAlphabetically=function(){return this.field.options.sort((function(e,t){return e.label.toLowerCase()>t.label.toLowerCase()?1:t.label.toLowerCase()>e.label.toLowerCase()?-1:0}))},e.prototype.ngOnDestroy=function(){var e;null===(e=this.formSubmissionEventSubscription)||void 0===e||e.unsubscribe()},e}();Ue.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 | rpxTranslate}}\n </label>\n </div>\n <div class="search-service__input-container">\n <exui-search-service class="search-service__input"\n [options]="field.options"\n [selectedOptions]="selectedServices"\n [disabled]="disabled"\n (optionChanged)="onOptionSelected($event)">\n </exui-search-service>\n <a href="javascript:void(0)" (click)="addOption(tempSelectedService)"\n class="govuk-button govuk-button--secondary govuk-!-margin-bottom-0" data-module="govuk-button"\n *ngIf="field?.enableAddButton" id="add-service">\n {{ \'Add\' | rpxTranslate}}\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 class="hmcts-filter__tag" (click)="removeOption(selection)" href="javascript:void(0)">\n {{ selection.label | rpxTranslate }}\n </a>\n </li>\n </ul>\n</div>\n',styles:["#add-service{background-color:#ddd}"]}]}],Ue.propDecorators={field:[{type:t.Input}],serviceTitle:[{type:t.Input}],form:[{type:t.Input}],disabled:[{type:t.Input}],formSubmissionEvent$:[{type:t.Input}],searchServiceComponent:[{type:t.ViewChild,args:[Me,{static:!0}]}],serviceFieldChanged:[{type:t.Output}]};var je=function(){function e(e){this.http=e}return e.prototype.getAllLocations=function(e,t,n,o,i){return this.http.post(e,{serviceIds:t,locationType:n,searchTerm:o,userLocations:i})},e.prototype.searchLocations=function(e,t,n){return this.http.get("api/prd/location/getLocations?serviceIds="+e+"&locationType="+t+"&searchTerm="+n)},e}();je.ɵprov=y.ɵɵdefineInjectable({factory:function(){return new je(y.ɵɵinject(I.HttpClient))},token:je,providedIn:"root"}),je.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],je.ctorParameters=function(){return[{type:l.HttpClient}]};var Be=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}();Be.ɵprov=y.ɵɵdefineInjectable({factory:function(){return new Be},token:Be,providedIn:"root"}),Be.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}];var Re=function(){function n(e,n,i){this.locationService=e,this.sessionStorageService=n,this.refDataService=i,this.disabled=null,this.singleMode=!1,this.locationType="",this.serviceIds="",this.submitted=!0,this.selectedLocations=[],this.propertyNameFilter="site_name",this.delay=500,this.locationSelected=new t.EventEmitter,this.locationTermSearchInputChanged=new t.EventEmitter,this.searchLocationChanged=new t.EventEmitter,this.searchTermFormControl=new o.FormControl(""),this.minSearchCharacters=3,this.term="",this.pReset=!0,this.debounceTimeInput=300}return Object.defineProperty(n.prototype,"reset",{get:function(){return this.pReset},set:function(e){this.pReset=e,this.resetSearchTerm()},enumerable:!1,configurable:!0}),n.prototype.ngOnInit=function(){var e=this,t=this.searchTermFormControl.valueChanges.pipe(r.tap((function(t){return e.locationTermSearchInputChanged.emit(t)})));if(this.field&&this.field.servicesField?this.filteredList$=t.pipe(r.switchMap((function(t){var n;return i.iif((function(){return!!t&&t.length>=0}),e.refDataService.getLocationsByServiceCodes((null===(n=e.form.get(e.field.servicesField))||void 0===n?void 0:n.value).map((function(e){return e.key}))).pipe(r.map((function(n){return n.filter((function(n){return n[e.propertyNameFilter].toLowerCase().includes(t.toLowerCase())}))})),r.map((function(t){return e.filterUnselectedLocations(t,e.selectedLocations,e.singleMode)})),r.map((function(t){return t.filter((function(t,n,o){return n===o.findIndex((function(n){return n[e.propertyNameFilter]===t[e.propertyNameFilter]}))}))}))),i.of(!1))}))):this.filteredList$=t.pipe(r.debounceTime(this.debounceTimeInput),r.switchMap((function(t){return i.iif((function(){return!!t&&t.length>=e.minSearchCharacters}),e.getLocations(t).pipe(r.map((function(t){return e.filterUnselectedLocations(t,e.selectedLocations,e.singleMode)}))),i.of(!1))}))),this.singleMode&&this.selectedLocations.length>0){var n=this.selectedLocations[0];this.searchTermFormControl.patchValue(n[this.propertyNameFilter],{emitEvent:!1,onlySelf:!0})}},n.prototype.onSelectedLocation=function(e){this.searchTermFormControl.patchValue(e[this.propertyNameFilter],{emitEvent:!1,onlySelf:!0}),this.locationSelected.emit(e)},n.prototype.onInput=function(){this.searchLocationChanged.emit()},n.prototype.getLocations=function(t){var o;return this.bookingCheck===e.BookingCheckType.BOOKINGS_AND_BASE?o=JSON.parse(this.sessionStorageService.getItem("userLocations")):this.bookingCheck===e.BookingCheckType.POSSIBLE_BOOKINGS&&(this.serviceIds=this.serviceIds&&this.serviceIds.length?this.serviceIds:JSON.parse(this.sessionStorageService.getItem("bookableServices")),o=JSON.parse(this.sessionStorageService.getItem("bookableUserLocations"))),this.locationService.getAllLocations(n.allLocationAPI,this.serviceIds,this.locationType,t,o)},n.prototype.resetSearchTerm=function(){this.searchTermFormControl.setValue("")},n.prototype.filterUnselectedLocations=function(e,t,n){var o=this;return n?e:e.filter((function(e){return!t.map((function(e){return e.epimms_id})).includes(e.epimms_id)&&e[o.propertyNameFilter]}))},n}();Re.allLocationAPI="api/locations/getLocations",Re.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]="searchTermFormControl"\n [matAutocomplete]="autoSearchLocation"\n class="govuk-input"\n [attr.disabled]="disabled">\n <mat-autocomplete class="mat-autocomplete-panel-extend" autoActiveFirstOption #autoSearchLocation="matAutocomplete">\n <ng-container *ngIf="filteredList$ | async as filteredList">\n <ng-container *ngIf="filteredList && filteredList.length >= 0">\n <mat-option *ngFor="let location of filteredList" (onSelectionChange)="onSelectedLocation(location)">\n {{ location[propertyNameFilter] }}\n </mat-option>\n <mat-option *ngIf="filteredList.length === 0">{{\'No results found\' | rpxTranslate}}</mat-option>\n </ng-container>\n </ng-container>\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}"]}]}],Re.ctorParameters=function(){return[{type:je},{type:Be},{type:pe}]},Re.propDecorators={form:[{type:t.Input}],field:[{type:t.Input}],disabled:[{type:t.Input}],singleMode:[{type:t.Input}],locationType:[{type:t.Input}],serviceIds:[{type:t.Input}],submitted:[{type:t.Input}],bookingCheck:[{type:t.Input}],selectedLocations:[{type:t.Input}],propertyNameFilter:[{type:t.Input}],delay:[{type:t.Input}],locationSelected:[{type:t.Output}],locationTermSearchInputChanged:[{type:t.Output}],searchLocationChanged:[{type:t.Output}],reset:[{type:t.Input}]};var Ge=function(){function e(){this.locationFieldChanged=new t.EventEmitter,this.submitted=!0,this.enableAddLocationButton=!0,this.locationTitle="Search for a location by name",this.disableInputField=!1,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:ge(n.options,e).filter((function(e){return"services_all"!==e})).join(","))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"selectedLocations",{get:function(){var e,t;return null===(t=null===(e=this.form.get(this.field.name))||void 0===e?void 0:e.value)||void 0===t?void 0:t.filter((function(e){return e.epimms_id}))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"propertyNameFilter",{get:function(){return this.field.propertyNameFilter?this.field.propertyNameFilter:"site_name"},enumerable:!1,configurable:!0}),e.prototype.ngOnInit=function(){var e=this;this.formSubmissionEvent$&&(this.formSubmissionEventSubscription=this.formSubmissionEvent$.subscribe((function(){1===e.selectedLocations.length&&1===e.field.maxSelected||e.searchLocationComponent.resetSearchTerm()})))},e.prototype.addLocation=function(){this.tempSelectedLocation&&(this.addSelectedLocationsToForm([this.tempSelectedLocation]),this.tempSelectedLocation=null,this.searchLocationComponent.resetSearchTerm())},e.prototype.removeLocation=function(e){if(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(){var e,t=this.form.get(null===(e=this.field)||void 0===e?void 0:e.name);if(t)for(var n=0;n<t.length;n++)t.removeAt(n)},e.prototype.addSelectedLocationsToForm=function(e){var t,n,i=this.form.get(this.field.name);try{for(var s=E(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.ngOnDestroy=function(){var e;null===(e=this.formSubmissionEventSubscription)||void 0===e||e.unsubscribe()},e}();Ge.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 [form]="form"\n [field]="field"\n [selectedLocations]="selectedLocations"\n [delay]="300"\n [disabled]="disabled"\n [singleMode]="field.maxSelected === 1"\n [bookingCheck]="field.bookingCheckType"\n [serviceIds]="serviceIds"\n [propertyNameFilter]="propertyNameFilter"\n (locationTermSearchInputChanged)="onInputChanged($event)"\n (locationSelected)="onLocationSelected($event)"\n (searchLocationChanged)="onSearchInputChanged()"\n [locationType]="\'case-management\'">\n </exui-search-location>\n </div>\n\n <div>\n <a href="javascript:void(0)" (click)="addLocation()" class="govuk-button add-location-button" data-module="govuk-button" *ngIf="enableAddLocationButton">\n Add location\n </a>\n </div>\n\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[propertyNameFilter] }}\n </a>\n </li>\n </ul>\n</div>\n',styles:[".add-location-button{margin-top:10px;margin-bottom:0}.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}"]}]}],Ge.propDecorators={locationFieldChanged:[{type:t.Output}],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}],formSubmissionEvent$:[{type:t.Input}],searchLocationComponent:[{type:t.ViewChild,args:[Re,{static:!0}]}],disabled:[{type:t.Input}],services:[{type:t.Input}]};var Ve=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}();Ve.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\' | rpxTranslate}}</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\' | rpxTranslate}}\n </a>\n <ng-template #noPrevious>\n <span class="hmcts-pagination__link">{{\'Previous page\' | rpxTranslate}}</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\' | rpxTranslate}}</a>\n <ng-template #noNext>\n <span class="hmcts-pagination__link">{{\'Next page\' | rpxTranslate}}</span>\n </ng-template>\n </li>\n </ul>\n</nav>\n',styles:["span.hmcts-pagination__link:hover{color:revert}"]}]}],Ve.ctorParameters=function(){return[]},Ve.propDecorators={moreItems:[{type:t.Input}],firstRecord:[{type:t.Input}],previousPage:[{type:t.Output}],nextPage:[{type:t.Output}]};var ze=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(r.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(r.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}();ze.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}"]}]}],ze.ctorParameters=function(){return[{type:je},{type:o.FormBuilder}]},ze.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 We=function(e){var t=[];return e.forEach((function(e){t=t.concat(e.caseworkers)})),t},He=function(e){return e+"-caseworkers"},$e=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(r.map((function(e){return e.filter((function(e){return![t.assignedUser].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 s=e.services,a=[],l=[],c=[];if(s.forEach((function(e){var n=He(e);t.sessionStorageService.getItem(n)?(a.push(e),c.push({service:e,caseworkers:JSON.parse(t.sessionStorageService.getItem(n))})):l.push(e)})),a.length===s.length){var u=We(c);return i.of(this.searchInCaseworkers(u,e))}return this.http.post("/workallocation/retrieveCaseWorkersForServices",{fullServices:s}).pipe(r.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=He(n),i.setItem(s,JSON.stringify(o)))}))})),r.map((function(n){var o=We(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}();$e.caseworkersKey="caseworkers",$e.ɵprov=y.ɵɵdefineInjectable({factory:function(){return new $e(y.ɵɵinject(I.HttpClient),y.ɵɵinject(Be))},token:$e,providedIn:"root"}),$e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],$e.ctorParameters=function(){return[{type:l.HttpClient},{type:Be}]};var qe=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(r.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(r.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}();qe.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}"]}]}],qe.ctorParameters=function(){return[{type:$e},{type:o.FormBuilder}]},qe.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 Je=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(r.tap((function(){return e.showAutocomplete=!1})),r.tap((function(){return e.filteredOptions=[]})),r.debounceTime(300),r.tap((function(t){return"string"==typeof t?e.personSelected.emit(null):void 0})),r.filter((function(t){return t&&t.length>e.minSearchCharacters})),r.switchMap((function(t){return e.filter(t).pipe(r.tap((function(){return e.showAutocomplete=!0})),r.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}),s=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(r.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,s).pipe(r.map((function(e){return e[0].concat(e[1])})));case e.PersonRole.CTSC:case e.PersonRole.CASEWORKER:case e.PersonRole.ADMIN:return s;default:return p.of([])}return p.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}();Je.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 | rpxTranslate}}</span>\n {{boldTitle | rpxTranslate}}\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 | rpxTranslate}}\n </div>\n <span id="validation-error" class="govuk-error-message" *ngIf="findPersonGroup && findPersonGroup.errors">\n <span class="govuk-visually-hidden">{{\'Error:\' | rpxTranslate}}</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) | rpxTranslate}}\n </mat-option>\n <mat-option [ngClass]="{\'select-option\': showUpdatedColor}" *ngIf="isNoResultsShown && !filteredOptions.length && showAutocomplete">{{\'No results found\' | rpxTranslate}}</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}"]}]}],Je.ctorParameters=function(){return[{type:$e},{type:t.ChangeDetectorRef}]},Je.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 Ke=function(){function e(e,t){this.http=e,this.sessionStorageService=t}return e.prototype.getTaskName=function(t){var n=this,o=t+"-"+e.taskNamesKey;if(this.sessionStorageService.getItem(o)){var s=JSON.parse(this.sessionStorageService.getItem(o));return i.of(s)}return this.http.post("/workallocation/taskNames",{service:t}).pipe(r.tap((function(e){return n.sessionStorageService.setItem(o,JSON.stringify(e))})))},e}();Ke.taskNamesKey="taskNames",Ke.ɵprov=y.ɵɵdefineInjectable({factory:function(){return new Ke(y.ɵɵinject(I.HttpClient),y.ɵɵinject(Be))},token:Ke,providedIn:"root"}),Ke.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],Ke.ctorParameters=function(){return[{type:l.HttpClient},{type:Be}]};var Ye=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.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.ngOnInit=function(){var e=this;this.findTaskNameControl=new o.FormControl(this.selectedTaskName),this.findTaskNameGroup.addControl("findTaskNameControl",this.findTaskNameControl),this.sub=this.findTaskNameControl.valueChanges.pipe(r.tap((function(){return e.showAutocomplete=!1})),r.tap((function(){return e.filteredOptions=[]})),r.debounceTime(300),r.tap((function(t){return e.searchTerm=t})),r.tap((function(t){return"string"==typeof t?e.taskNameSelected.emit("null"):void 0})),r.filter((function(t){return t&&t.length>=e.minSearchCharacters})),r.mergeMap((function(){return e.getTaskName()}))).subscribe((function(t){e.filteredOptions=t||[],e.searchTerm&&(e.filteredOptions=e.filteredOptions.filter((function(t){return t.task_type.task_type_name.toLocaleLowerCase().includes(e.searchTerm.toLocaleLowerCase())})).map((function(e){return e}))),e.cd.detectChanges()}))},n.prototype.getTaskName=function(){return this.taskService.getTaskName(this.services)},n.prototype.onSelectionChange=function(e){e&&(this.taskNameSelected.emit(e),this.findTaskNameControl.setValue(this.getTaskTypeName(e),{emitEvent:!1,onlySelf:!0}))},n.prototype.getTaskTypeName=function(e){return e?e.task_type.task_type_name:""},n.prototype.onInput=function(){this.taskNameFieldChanged.emit()},n}();Ye.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 {{ getTaskTypeName(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:[""]}]}],Ye.ctorParameters=function(){return[{type:t.ChangeDetectorRef},{type:Ke}]},Ye.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}],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 Xe=function(){};Xe.decorators=[{type:t.Component,args:[{selector:"exui-page-wrapper",template:'<div class="page">\n <a *ngIf="backLink" [routerLink]="backLink" class="govuk-back-link">{{\'Back\' | rpxTranslate}}</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 | rpxTranslate}}</span>\n {{title | rpxTranslate}}\n </h1>\n <ng-content>\n\n </ng-content>\n </div>\n </main>\n </div>\n</div>\n',styles:[".page{width:100%}"]}]}],Xe.ctorParameters=function(){return[]},Xe.propDecorators={backLink:[{type:t.Input}],title:[{type:t.Input}],fnTitle:[{type:t.Input}]};var Qe=function(){function n(n){this.addressesService=n,this.internationalMode=!1,this.submissionAttempted=!1,this.addressChosen=!1,this.postcodeOptionSelected=new t.EventEmitter,this.internationalModeStart=new t.EventEmitter,this.ukAddressOptionSelected=new t.EventEmitter,this.canSelectAddress=new t.EventEmitter,this.resetSubmission=new t.EventEmitter,this.addressField={addressLine1:"",addressLine2:"",addressLine3:"",postCode:"",postTown:"",country:"",county:""},this.optionErrorsPresent=!1,this.addressSelectable=!1,this.missingPostcode=!1,this.optionErrorMessage=e.AddressMessageEnum.NO_OPTION_SELECTED,this.postcodeErrorMessage=e.AddressMessageEnum.NO_POSTCODE_SELECTED,this.selectErrorMessage=e.AddressMessageEnum.SELECT_ADDRESS}return n.prototype.ngOnInit=function(){this.formGroup.get("address")||this.formGroup.addControl("address",new o.FormControl({})),this.addressFormGroup=new o.FormGroup({ukAddress:new o.FormControl(void 0!==this.isInternational?this.isInternational?"no":"yes":null),postcode:new o.FormControl(""),addressList:new o.FormControl("")}),this.setPostcodeForm()},n.prototype.findAddress=function(){var e=this;if(this.resetSubmission.emit(),this.addressFormGroup.get("postcode").value){this.missingPostcode=!1,this.addressField=null;var t=this.addressFormGroup.get("postcode").value;this.addressOptions=[],this.addressesService.getAddressesForPostcode(t.replace(" ","").toUpperCase()).subscribe((function(t){t.forEach((function(t){e.addressOptions.push(new G(t,null))})),e.addressOptions.unshift(new G(void 0,e.defaultLabel(e.addressOptions.length)))}),(function(n){console.log("An error occurred retrieving addresses for postcode "+t+". "+n),e.addressOptions.unshift(new G(void 0,e.defaultLabel(e.addressOptions.length)))})),this.addressFormGroup.get("addressList").setValue(void 0)}else this.missingPostcode=!0,this.canSelectAddress.emit(!1)},n.prototype.blankAddress=function(){this.setFormValue(),this.resetSubmission.emit(),this.internationalMode&&this.internationalModeStart.emit()},n.prototype.shouldShowDetailFields=function(){if(!this.formGroup.get("address"))return!1;var e=this.formGroup.get("address").value,t=!1;return e&&Object.keys(e).forEach((function(n){null!==e[n]&&(t=!0)})),t},n.prototype.addressSelected=function(){this.missingPostcode=!1,this.addressField=this.addressFormGroup.get("addressList").value,this.addressChosen=!0,this.setFormValue(),this.postcodeOptionSelected.emit()},n.prototype.ngOnChanges=function(e){var t=e.addressField,n=e.isInternational;t&&this.setFormValue(),n&&this.addressFormGroup&&this.addressFormGroup.get("ukAddress")&&this.addressFormGroup.get("ukAddress").patchValue(this.isInternational?"no":"yes"),!this.addressChosen&&this.addressFormGroup&&this.addressFormGroup.get("addressList")&&this.addressFormGroup.get("addressList").patchValue(void 0),this.checkIfErrorsNeeded()},n.prototype.checkIfErrorsNeeded=function(){this.submissionAttempted&&this.internationalMode&&!this.postcodeLookupVisible()?(this.optionErrorsPresent=!0,this.optionErrorMessage=e.AddressMessageEnum.NO_OPTION_SELECTED):this.optionErrorsPresent=!1,this.optionErrorsPresent&&(this.addressChosen||void 0!==this.isInternational)&&(this.optionErrorsPresent=!1)},n.prototype.setInternationalAddress=function(e){this.isInternational=e,this.ukAddressOptionSelected.emit(this.isInternational)},n.prototype.postcodeErrorPresent=function(e){var t=e?!this.addressSelectable:this.addressSelectable;return this.submissionAttempted&&t},n.prototype.postcodeLookupVisible=function(){return!this.shouldShowDetailFields()||!this.startedInternational&&!this.addressChosen},n.prototype.defaultLabel=function(e){return this.addressSelectable=e>0,this.canSelectAddress.emit(this.addressSelectable),0===e?"No address found":e+(1===e?" address ":" addresses ")+"found"},n.prototype.setFormValue=function(){this.formGroup&&this.formGroup.get("address").patchValue(this.addressField)},n.prototype.setPostcodeForm=function(){var e=void 0===this.isInternational&&this.formGroup.get("address")&&this.formGroup.get("address").get("postCode");this.addressFormGroup.get("postcode").patchValue(e?this.formGroup.get("address").get("postCode").value:"")},n}();Qe.decorators=[{type:t.Component,args:[{selector:"xuilib-write-address-field",template:'<div class="govuk-form-group" [formGroup]="addressFormGroup" [ngClass]="{\'govuk-form-group--error\': optionErrorsPresent}">\n <p class="govuk-error-message" *ngIf="optionErrorsPresent">\n <span class="govuk-visually-hidden">Error:</span>{{optionErrorMessage}}\n </p>\n <div *ngIf="postcodeLookupVisible()">\n <span class="govuk-label"><strong>Provide address details</strong></span>\n <div class="govuk-body postcodeLookup" id="addressLookup" [ngClass]="{\'govuk-form-group--error\': missingPostcode || postcodeErrorPresent(true)}">\n <p class="govuk-error-message" *ngIf="missingPostcode || postcodeErrorPresent(true)">\n <span class="govuk-visually-hidden">Error:</span>{{postcodeErrorMessage}}\n </p>\n <label for="postcodeInput">\n <span class="govuk-hint">Enter a UK postcode</span>\n </label>\n <div class="govuk-body">\n <input type="text" [ngClass]="{\'govuk-input--error\': missingPostcode}" id="postcodeInput" name="postcode"\n class="govuk-input govuk-!-width-one-third postcodeinput inline-block" formControlName="postcode">\n <button type="button" class="govuk-button" (click)="findAddress()">Find address</button>\n </div>\n </div>\n\n <div class="govuk-body"\n *ngIf="addressOptions" id="selectAddress">\n <div class="govuk-body"\n [ngClass]="{\'govuk-form-group--error\': postcodeErrorPresent(false)}">\n <p class="govuk-error-message" *ngIf="postcodeErrorPresent(false)">\n <span class="govuk-visually-hidden">Error:</span>{{selectErrorMessage}}\n </p>\n <label class="govuk-label" for="addressList">\n <span class="form-label">Select an address</span>\n </label>\n <select class="form-control govuk-select ccd-dropdown addressList" id="addressList" name="address"\n formControlName="addressList" (change)="addressSelected()" focusElement>\n <option *ngFor="let addressOption of addressOptions" [ngValue]="addressOption.value">\n {{addressOption.description}}\n </option>\n </select>\n </div>\n </div>\n\n <a class="manual-link govuk-link" *ngIf="!shouldShowDetailFields() || (!startedInternational && !addressChosen)" (click)="blankAddress()"\n href="javascript:void(0)">I can\'t enter a UK postcode</a>\n </div>\n\n <div id="govuk-radios" class="govuk-radios" data-module="govuk-radios"\n *ngIf="shouldShowDetailFields() && internationalMode && startedInternational && !addressChosen">\n <div class="govuk-radios__item">\n <input class="govuk-radios__input" id="yes" value="yes" name="ukAddress" type="radio" data-aria-controls="address-fields"\n (click)="setInternationalAddress(false)" formControlName="ukAddress">\n <label class="govuk-label govuk-radios__label" for="yes">\n Yes\n </label>\n </div>\n <div class="govuk-radios__item">\n <input class="govuk-radios__input" id="no" value="no" name="ukAddress" type="radio" data-aria-controls="address-fields"\n (click)="setInternationalAddress(true)" formControlName="ukAddress">\n <label class="govuk-label govuk-radios__label" for="no">\n No\n </label>\n </div>\n <div class="govuk-radios__conditional" id="address-fields">\n <xuilib-write-address-inputs *ngIf="isInternational !== undefined" [formGroup]="formGroup" [isInternational]="isInternational"\n [submissionAttempted]="submissionAttempted">\n </xuilib-write-address-inputs>\n </div>\n </div>\n\n <xuilib-write-address-inputs *ngIf="shouldShowDetailFields() && (addressChosen || !internationalMode)"\n [formGroup]="formGroup" [isInternational]="false" [submissionAttempted]="submissionAttempted"></xuilib-write-address-inputs>\n\n</div>',styles:[".manual-link{cursor:pointer;display:block;text-decoration:underline}.postcodeLookup{margin-bottom:-30px}:host{display:block}"]}]}],Qe.ctorParameters=function(){return[{type:X}]},Qe.propDecorators={formGroup:[{type:t.Input}],internationalMode:[{type:t.Input}],isInternational:[{type:t.Input}],submissionAttempted:[{type:t.Input}],startedInternational:[{type:t.Input}],addressChosen:[{type:t.Input}],postcodeOptionSelected:[{type:t.Output}],internationalModeStart:[{type:t.Output}],ukAddressOptionSelected:[{type:t.Output}],canSelectAddress:[{type:t.Output}],resetSubmission:[{type:t.Output}]};var Ze=function(){function t(){this.MESSAGE_ENUM=e.AddressMessageEnum,this.isInternational=!1,this.submissionAttempted=!1,this.missingPostcode=!1,this.errorsPresent=!1}return t.prototype.ngOnChanges=function(){var e=this.formGroup.get("address");this.errorsPresent=!e.valid},t}();Ze.decorators=[{type:t.Component,args:[{selector:"xuilib-write-address-inputs",template:'<ng-container>\n <form [formGroup]="formGroup">\n <div class="govuk-body" formGroupName="address" [ngClass]="{\'govuk-form-group--error\': submissionAttempted && errorsPresent}">\n <label class="govuk-label govuk-!-font-weight-bold">\n Enter address details\n </label>\n\n <div class="govuk-body">\n <label class="govuk-label" for="addressLine1">\n Building and Street\n </label>\n <p class="govuk-error-message" *ngIf="submissionAttempted && !formGroup.get(\'address\').get(\'addressLine1\').valid">\n <span class="govuk-visually-hidden">Error:</span>{{MESSAGE_ENUM.NO_STREET_SELECTED}}\n </p>\n <input class="govuk-input govuk-!-width-full" id="addressLine1" name="addressLine1" type="text"\n formControlName="addressLine1">\n </div>\n\n <div class="govuk-body">\n <label class="govuk-label" for="addressLine2">\n Address line 2 (Optional)\n </label>\n <input class="govuk-input govuk-!-width-full" id="addressLine2" name="addressLine2" type="text"\n formControlName="addressLine2">\n </div>\n\n <div class="govuk-body">\n <label class="govuk-label" for="addressLine3">\n Address line 3 (Optional)\n </label>\n <input class="govuk-input govuk-!-width-full" id="addressLine3" name="addressLine3" type="text"\n formControlName="addressLine3">\n </div>\n\n <div class="govuk-body">\n <label class="govuk-label" for="postTown">\n Town or City\n </label>\n <p class="govuk-error-message" *ngIf="submissionAttempted && !formGroup.get(\'address\').get(\'postTown\').valid">\n <span class="govuk-visually-hidden">Error:</span>{{MESSAGE_ENUM.NO_CITY_SELECTED}}\n </p>\n <input class="govuk-input govuk-!-width-two-thirds" id="postTown" name="postTown" type="text"\n formControlName="postTown">\n </div>\n\n <div class="govuk-body">\n <label class="govuk-label" for="county">\n County{{this.isInternational ? \'/ State/ Province\' : \'\'}} (Optional)\n </label>\n <input class="govuk-input govuk-!-width-two-thirds" id="county" name="county" type="text"\n formControlName="county">\n </div>\n\n <div *ngIf="isInternational" class="govuk-body">\n <label class="govuk-label" for="country">\n Country\n </label>\n <p class="govuk-error-message" *ngIf="submissionAttempted && !formGroup.get(\'address\').get(\'country\').valid">\n <span class="govuk-visually-hidden">Error:</span>{{MESSAGE_ENUM.NO_COUNTRY_SELECTED}}\n </p>\n <input class="govuk-input govuk-!-width-two-thirds" id="country" name="country" type="text"\n formControlName="country">\n </div>\n\n <div class="govuk-body">\n <label class="govuk-label" for="postCode">\n Postcode{{this.isInternational ? \' (Optional)\' : \'\'}}\n </label>\n <p class="govuk-error-message" *ngIf="submissionAttempted && !isInternational && this.formGroup.get(\'address\').get(\'postCode\').hasError(\'required\')">\n <span class="govuk-visually-hidden">Error:</span>{{MESSAGE_ENUM.NO_POSTCODE_SELECTED}}\n </p>\n <p class="govuk-error-message" *ngIf="submissionAttempted && !isInternational && this.formGroup.get(\'address\').get(\'postCode\').hasError(\'invalidPostcode\')">\n <span class="govuk-visually-hidden">Error:</span>{{MESSAGE_ENUM.INVALID_POSTCODE}}\n </p>\n <input class="govuk-input govuk-!-width-one-third" id="postCode" name="postCode" type="text"\n formControlName="postCode">\n </div>\n </div>\n</form>\n</ng-container>'}]}],Ze.ctorParameters=function(){return[]},Ze.propDecorators={formGroup:[{type:t.Input}],isInternational:[{type:t.Input}],submissionAttempted:[{type:t.Input}]};var et=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}();et.decorators=[{type:t.Directive,args:[{selector:"[xuilibFeatureToggle]"}]}],et.ctorParameters=function(){return[{type:D},{type:t.ViewContainerRef},{type:t.TemplateRef}]},et.propDecorators={xuilibFeatureToggle:[{type:t.Input}]};var tt=function(){this.$implicit=null,this.xuilibLet=null},nt=function(){function e(e,t){this.viewContainer=e,this.context=new tt,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}();nt.decorators=[{type:t.Directive,args:[{selector:"[xuilibLet]"}]}],nt.ctorParameters=function(){return[{type:t.ViewContainerRef},{type:t.TemplateRef}]},nt.propDecorators={xuilibLet:[{type:t.Input}]};var ot=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}();ot.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 | rpxTranslate}}\n </span>\n</div>\n'}]}],ot.ctorParameters=function(){return[]},ot.propDecorators={group:[{type:t.Input}],config:[{type:t.Input}],isChecked:[{type:t.Input}]};var it=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}(),st=function(){function e(){}return e.prototype.ngOnInit=function(){this.columns=this.setColumns()},e.prototype.setDescribedBy=function(){return it.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(A(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}();st.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}"]}]}],st.propDecorators={group:[{type:t.Input}],config:[{type:t.Input}],items:[{type:t.Input}],errorMessage:[{type:t.Input}]};var rt=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}();rt.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}"]}]}],rt.ctorParameters=function(){return[]},rt.propDecorators={config:[{type:t.Input}],errorMessage:[{type:t.Input}],formGroup:[{type:t.Input}],isOptional:[{type:t.Input}]};var at=function(){};at.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\' | rpxTranslate}}:</span>{{message | rpxTranslate}}\n</span>\n'}]}],at.ctorParameters=function(){return[]},at.propDecorators={config:[{type:t.Input}],errorMessage:[{type:t.Input}]};var lt=function(){function e(){}return e.prototype.setDescribedBy=function(){return it.setDescribedBy(this.errorMessage,this.config)},e}();lt.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 | rpxTranslate}}\n </legend>\n\n <legend [class]="config.classes + \' govuk-fieldset__legend\'" *ngIf="config.isPageHeading">\n <h1>{{config.legend | rpxTranslate}}</h1>\n </legend>\n\n <span [id]="config.id+\'-hint\'" class="govuk-hint" *ngIf="config.hint">\n {{config.hint | rpxTranslate}}\n </span>\n <ng-content></ng-content>\n</fieldset>\n'}]}],lt.ctorParameters=function(){return[]},lt.propDecorators={config:[{type:t.Input}],errorMessage:[{type:t.Input}]};var ct=function(){function e(){this.reloadInput=!0}return e.prototype.ngOnInit=function(){this.config.classes="govuk-label--m"},e.prototype.setDescribedBy=function(){return it.setDescribedBy(this.errorMessage,this.config)},e}();ct.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 | rpxTranslate}}\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>\n'}]}],ct.ctorParameters=function(){return[]},ct.propDecorators={errorMessage:[{type:t.Input}],group:[{type:t.Input}],config:[{type:t.Input}]};var ut=function(){};ut.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>'}]}],ut.ctorParameters=function(){return[]},ut.propDecorators={error:[{type:t.Input}],group:[{type:t.Input}],config:[{type:t.Input}]};var dt=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 it.setDescribedBy(this.errorMessage,this.config)},e}();dt.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 | rpxTranslate}}\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}"]}]}],dt.ctorParameters=function(){return[]},dt.propDecorators={errorMessage:[{type:t.Input}],group:[{type:t.Input}],config:[{type:t.Input}]};var pt=function(){};pt.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 | rpxTranslate }}</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}"]}]}],pt.ctorParameters=function(){return[]},pt.propDecorators={config:[{type:t.Input}]};var gt=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}();gt.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>\n'}]}],gt.ctorParameters=function(){return[]},gt.propDecorators={group:[{type:t.Input}],config:[{type:t.Input}]};var ht=function(){};ht.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>'}]}],ht.propDecorators={options:[{type:t.Input}],errors:[{type:t.Input}]};var mt=function(){function e(){}return e.prototype.setDescribedBy=function(){return it.setDescribedBy(this.errorMessage,this.config)},e}();mt.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 | rpxTranslate}}\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 | rpxTranslate}}</option>\n</select>\n</div>\n'}]}],mt.ctorParameters=function(){return[]},mt.propDecorators={errorMessage:[{type:t.Input}],group:[{type:t.Input}],config:[{type:t.Input}],items:[{type:t.Input}]};var ft=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}();ft.decorators=[{type:t.Component,args:[{selector:"xuilib-gov-uk-table",template:'<table class="{{\'govuk-table \' + classes}}">\n <caption class="govuk-table__caption">{{caption | rpxTranslate}}</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 | rpxTranslate}}</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] | rpxTranslate}}</ng-container>\n <ng-container *ngIf="col.type === \'link\' && r.routerLink">\n <a class="govuk-link" [routerLink]="r.routerLink">{{r[col.key] | rpxTranslate}}</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]) | rpxTranslate}}</ng-container>\n <ng-container *ngIf="!col.type || col.type === \'text\' || !r.routerLink">{{r[col.key] | rpxTranslate}}</ng-container>\n <ng-container *ngIf="col.type === \'link\' && r.routerLink">\n <a class="govuk-link" [routerLink]="r.routerLink">{{r[col.key] | rpxTranslate}}</a>\n </ng-container>\n </td>\n </ng-container>\n </tr>\n </tbody>\n</table>\n',styles:[""]}]}],ft.ctorParameters=function(){return[]},ft.propDecorators={classes:[{type:t.Input}],caption:[{type:t.Input}],firstCellIsHeader:[{type:t.Input}],rows:[{type:t.Input}],columnConfig:[{type:t.Input}]};var vt=function(){this.header="",this.key="",this.type="text"},bt=function(){function e(){}return e.prototype.setDescribedBy=function(){return it.setDescribedBy(this.errorMessage,this.config)},e}();bt.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 | rpxTranslate}}\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>\n'}]}],bt.propDecorators={config:[{type:t.Input}],errorMessage:[{type:t.Input}],group:[{type:t.Input}]};var yt=function(){this.title="",this.showMessageIcon=!1,this.messageBoldText=!1};yt.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 | rpxTranslate}}</span>\n <span class="hmcts-banner__message-text govuk-!-font-weight-bold">{{message | rpxTranslate}}</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}"]}]}],yt.propDecorators={message:[{type:t.Input}],type:[{type:t.Input}],title:[{type:t.Input}],showMessageIcon:[{type:t.Input}],messageBoldText:[{type:t.Input}]};var kt=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}();kt.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 | rpxTranslate}}\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\'] | rpxTranslate}}</a>\n <span *ngIf="!hasElement(message[\'id\'])">{{message[\'message\'] | rpxTranslate}}</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\' | rpxTranslate}}</span>\n <p class="govuk-body" *ngFor="let message of messages">{{ message[\'message\'] | rpxTranslate}}</p>\n </div>\n</div>\n'}]}],kt.ctorParameters=function(){return[{type:void 0,decorators:[{type:t.Inject,args:[n.DOCUMENT]}]}]},kt.propDecorators={errorMessages:[{type:t.Input}],header:[{type:t.Input}],showWarningMessage:[{type:t.Input}]};var Ct=function(){function e(){}return Object.defineProperty(e.prototype,"content",{set:function(e){this.value=e.name},enumerable:!1,configurable:!0}),e}();Ct.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 | rpxTranslate}}</span>\n\n </div>\n\n </div>\n\n</div>\n',styles:[""]}]}],Ct.ctorParameters=function(){return[]},Ct.propDecorators={content:[{type:t.Input}]};var xt=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}();xt.decorators=[{type:t.Component,args:[{selector:"xuilib-hmcts-main-wrapper",template:'<a *ngIf="hasBackLink" [routerLink]="backLink" (click)="onGoBack()" class="govuk-back-link">{{\'Back\' | rpxTranslate}}</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 | rpxTranslate}}</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 | rpxTranslate }}</a>\n </div>\n </div>\n </div>\n</main>\n'}]}],xt.ctorParameters=function(){return[]},xt.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 It=function(){this.maxSize=7,this.pageSize=10,this.showPageNumbers=!0,this.showResultCount=!0,this.pageChange=new t.EventEmitter,this.pageBoundsCorrection=new t.EventEmitter};It.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\' | rpxTranslate}}</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\' | rpxTranslate}} <span class="govuk-visually-hidden">{{\'set of pages\' | rpxTranslate}}</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\' | rpxTranslate}} </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\' | rpxTranslate}}<span class="govuk-visually-hidden"> {{\'page\' | rpxTranslate}}</span></a>\n </li>\n\n </ul>\n <p class="hmcts-pagination__results" *ngIf="showResultCount">{{\'Showing\' | rpxTranslate}} <b>{{(p.getCurrent() * pageSize) - pageSize + 1}}</b>\n {{\'to\' | rpxTranslate}} <b>{{ p.getCurrent() * pageSize > p.getTotalItems() ? p.getTotalItems() : p.getCurrent() *\n pageSize}}</b> {{\'of\' | rpxTranslate}} <b>{{p.getTotalItems()}}</b> {{\'results\' | rpxTranslate}}</p>\n </nav>\n\n</pagination-template>\n',styles:[".hmcts-pagination__results{float:right}"]}]}],It.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 St=function(){function e(){}return Object.defineProperty(e.prototype,"userLoggedIn",{set:function(e){this.isUserLoggedIn=e},enumerable:!1,configurable:!0}),e}();St.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 | rpxTranslate"></a>\n </li>\n </ul>\n </div>\n</nav>\n',styles:[""]}]}],St.ctorParameters=function(){return[]},St.propDecorators={userLoggedIn:[{type:t.Input}],label:[{type:t.Input}],items:[{type:t.Input}],isBrandedHeader:[{type:t.Input}]};var wt=function(){};wt.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 | rpxTranslate}}\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}"]}]}],wt.propDecorators={label:[{type:t.Input}],items:[{type:t.Input}]};var _t=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}();_t.decorators=[{type:t.Directive,args:[{selector:"[appRemoveHost]"}]}],_t.ctorParameters=function(){return[{type:t.ElementRef}]};var Tt=function(){function e(){}return e.prototype.transform=function(e){var t=e.toLowerCase();return t.charAt(0).toUpperCase()+t.slice(1)},e}();Tt.decorators=[{type:t.Pipe,args:[{name:"capitalize"}]}];var Et=[Xe,Fe,Ae,Oe,Le,N,et,nt,me,Pe,Ne,ve,fe,Te,we,Ce,xe,ke,_e,Ee,T,P,O,Ie,Se,be,he,De,Je,qe,Ge,Ye,Re,Ue,Me,ze,Ve,Qe,Ze],Lt=[Ct,It,wt,St,kt,xt,yt,ft,dt,ot,ut,pt,at,lt,rt,st,gt,ht,mt,bt,ct,_t],At=[Tt],Ot=Z,Ft=function(){};Ft.decorators=[{type:t.NgModule,args:[{declarations:A(Et,Lt,At),imports:[n.CommonModule,o.FormsModule,o.ReactiveFormsModule,s.RouterModule.forChild([]),g.MatAutocompleteModule,m.MatTabsModule,h.MatInputModule,f.NgxPaginationModule,v.RpxTranslationModule.forChild()],providers:[{provide:Q,useFactory:Ot}],exports:A(Et,Lt,[f.PaginatePipe],At)}]}];var Nt=function(){};Nt.ɵprov=y.ɵɵdefineInjectable({factory:function(){return new Nt},token:Nt,providedIn:"root"}),Nt.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],Nt.ctorParameters=function(){return[]},e.AccessibilityComponent=T,e.AddressModel=V,e.AddressOption=G,e.AddressService=X,e.AnonymousFeatureUser=q,e.COMMON_COMPONENTS=Et,e.CapitalizePipe=Tt,e.CheckboxListComponent=O,e.ContactDetailsComponent=N,e.CookieBannerComponent=De,e.CookieService=ae,e.DueDateComponent=P,e.ExuiCommonLibModule=Ft,e.ExuiPageWrapperComponent=Xe,e.FeatureToggleDirective=et,e.FeatureToggleGuard=M,e.FeatureToggleService=D,e.FilterService=ue,e.FindLocationComponent=Ge,e.FindPersonComponent=Je,e.FindServiceComponent=Ue,e.FindTaskNameComponent=Ye,e.GOV_UI_COMPONENTS=Lt,e.GenericFilterComponent=he,e.GoogleAnalyticsService=ee,e.GoogleTagManagerService=te,e.GovUiService=Nt,e.GovUkCheckboxComponent=ot,e.GovUkCheckboxesComponent=st,e.GovUkDateComponent=rt,e.GovUkErrorMessageComponent=at,e.GovUkFieldsetComponent=lt,e.GovUkFileUploadComponent=ct,e.GovUkFormGroupWrapperComponent=ut,e.GovUkInputComponent=dt,e.GovUkLabelComponent=pt,e.GovUkRadioComponent=gt,e.GovUkRadiosComponent=ht,e.GovUkSelectComponent=mt,e.GovUkTextareaComponent=bt,e.GovukTableColumnConfig=vt,e.GovukTableComponent=ft,e.HasLoadingState=le,e.HmctsBannerComponent=yt,e.HmctsErrorSummaryComponent=kt,e.HmctsIdentityBarComponent=Ct,e.HmctsMainWrapperComponent=xt,e.HmctsPaginationComponent=It,e.HmctsPrimaryNavigationComponent=St,e.HmctsSessionDialogComponent=me,e.HmctsSubNavigationComponent=wt,e.InviteUserFormComponent=fe,e.InviteUserPermissionComponent=ve,e.LaunchDarklyService=j,e.LetContext=tt,e.LetDirective=nt,e.LoadingService=ce,e.LoadingSpinnerComponent=be,e.LoggedInFeatureUser=J,e.ManageSessionServices=ne,e.PaginationComponent=Ve,e.RadioFilterFieldConfig=K,e.RefDataService=pe,e.RemoveHostDirective=_t,e.RoleGuard=re,e.RoleService=se,e.SECONDS_IN_A_DAY=86400,e.SearchJudicialsComponent=qe,e.SearchLocationComponent=Re,e.SearchServiceComponent=Me,e.SearchVenueComponent=ze,e.SelectedCaseComponent=xe,e.SelectedCaseConfirmComponent=ke,e.SelectedCaseListComponent=Ce,e.ServiceMessageComponent=Ie,e.ServiceMessagesComponent=Se,e.ShareCaseComponent=Te,e.ShareCaseConfirmComponent=we,e.TabComponent=Ee,e.TcConfirmComponent=Le,e.TcDisplayHtmlComponent=Ae,e.TcDisplayPlainComponent=Oe,e.TermsAndConditionsComponent=Fe,e.TimeoutNotificationsService=oe,e.UserDetailsComponent=Ne,e.UserListComponent=Pe,e.UserSelectComponent=_e,e.WriteAddressFieldComponent=Qe,e.WriteAddressInputsComponent=Ze,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=Z,e.windowToken=Q,e["ɵ0"]=Ot,e["ɵa"]=Xe,e["ɵb"]=Fe,e["ɵba"]=Ie,e["ɵbb"]=Se,e["ɵbc"]=be,e["ɵbd"]=he,e["ɵbe"]=ue,e["ɵbf"]=De,e["ɵbg"]=ae,e["ɵbh"]=Je,e["ɵbi"]=$e,e["ɵbj"]=Be,e["ɵbk"]=qe,e["ɵbl"]=Ge,e["ɵbm"]=Re,e["ɵbn"]=je,e["ɵbo"]=pe,e["ɵbp"]=Ye,e["ɵbq"]=Ke,e["ɵbr"]=Ue,e["ɵbs"]=Me,e["ɵbt"]=ze,e["ɵbu"]=Ve,e["ɵbv"]=Qe,e["ɵbw"]=X,e["ɵbx"]=Ze,e["ɵby"]=Ct,e["ɵbz"]=It,e["ɵc"]=Ae,e["ɵca"]=wt,e["ɵcb"]=St,e["ɵcc"]=kt,e["ɵcd"]=xt,e["ɵce"]=yt,e["ɵcf"]=ft,e["ɵcg"]=dt,e["ɵch"]=ot,e["ɵci"]=ut,e["ɵcj"]=pt,e["ɵck"]=at,e["ɵcl"]=lt,e["ɵcm"]=rt,e["ɵcn"]=st,e["ɵco"]=gt,e["ɵcp"]=ht,e["ɵcq"]=mt,e["ɵcr"]=bt,e["ɵcs"]=ct,e["ɵct"]=_t,e["ɵcu"]=Tt,e["ɵd"]=Oe,e["ɵe"]=Le,e["ɵf"]=N,e["ɵg"]=et,e["ɵh"]=D,e["ɵi"]=tt,e["ɵj"]=nt,e["ɵk"]=me,e["ɵl"]=Pe,e["ɵm"]=Ne,e["ɵn"]=ve,e["ɵo"]=fe,e["ɵp"]=Te,e["ɵq"]=_e,e["ɵr"]=ye,e["ɵs"]=we,e["ɵt"]=Ce,e["ɵu"]=xe,e["ɵv"]=ke,e["ɵw"]=Ee,e["ɵx"]=T,e["ɵy"]=P,e["ɵz"]=O,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("@angular/router"),require("rxjs/operators"),require("launchdarkly-js-client-sdk"),require("@angular/common/http"),require("@angular/platform-browser"),require("@ng-idle/core"),require("@ng-idle/keepalive"),require("rxjs/internal/observable/of"),require("@angular/material/autocomplete"),require("@angular/material/input"),require("@angular/material/tabs"),require("ngx-pagination"),require("rpx-xui-translation")):"function"==typeof define&&define.amd?define("@hmcts/rpx-xui-common-lib",["exports","@angular/core","@angular/common","@angular/forms","rxjs","@angular/router","rxjs/operators","launchdarkly-js-client-sdk","@angular/common/http","@angular/platform-browser","@ng-idle/core","@ng-idle/keepalive","rxjs/internal/observable/of","@angular/material/autocomplete","@angular/material/input","@angular/material/tabs","ngx-pagination","rpx-xui-translation"],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.ng.router,e.rxjs.operators,e.LDClient,e.ng.common.http,e.ng.platformBrowser,e.i1$2,e.i2$1,e.rxjs["internal/observable/of"],e.ng.material.autocomplete,e.ng.material.input,e.ng.material.tabs,e.ngxPagination,e.rpxXuiTranslation)}(this,(function(e,t,n,o,i,s,r,a,l,c,u,d,p,g,h,m,f,v){"use strict";function b(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 y=b(t),k=b(n),C=b(s),x=b(a),I=b(l),S=b(c),w=b(u),_=b(d),T=function(){};T.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\' | rpxTranslate}}</h1>\n\n<ul class="govuk-list">\n <li><a href="accessibility#immigration">{{\'Immigration and Asylum\' | rpxTranslate}}</a></li>\n <li><a href="accessibility#family">{{\'Family Public Law\' | rpxTranslate}} </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:\' | rpxTranslate}}</p>\n\n<ul class="govuk-list govuk-list--bullet">\n <li>{{\'change colours, contrast levels and fonts\' | rpxTranslate}}</li>\n <li>{{\'zoom in up to 300% without the text spilling off the screen\' | rpxTranslate}}</li>\n <li>{{\'navigate most of the website using just a keyboard\' | rpxTranslate}}</li>\n <li>{{\'navigate most of the website using speech recognition software\' | rpxTranslate}}</li>\n <li>{{\'listen to most of the website using a screen reader (including the most recent versions of JAWS, NVDA and\n VoiceOver)\' | rpxTranslate}}\n </li>\n</ul>\n\n<p class="govuk-body">{{\'We\\’ve also made the website text as simple as possible to understand.\' | rpxTranslate}}</p>\n\n<p class="govuk-body"><a rel="noopener noreferrer" target="_blank" href="https://mcmw.abilitynet.org.uk/">{{\'AbilityNet\' | rpxTranslate}}</a>\n {{\'has advice on making your device easier to use if you have a disability.\' | rpxTranslate}}</p>\n\n<h2 class="govuk-heading-l" id="How-accessible-this-website-is">{{\'How accessible this website is\' | rpxTranslate}}</h2>\n\n<p class="govuk-body">{{\'We know some parts of the website are not fully accessible:\' | rpxTranslate}}</p>\n\n<ul class="govuk-list govuk-list--bullet">\n <li>{{\'some pages are difficult to navigate using just a keyboard\' | rpxTranslate}}</li>\n <li>{{\'some pages can\\’t be listened to in full using a screen reader\' | rpxTranslate}}</li>\n <li>{{\'some pages have problems with colour contrasts between text and background\' | rpxTranslate}}</li>\n <li>{{\'some PDFs may not be fully accessible to a screen reader\' | rpxTranslate}}</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\' | rpxTranslate}}</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:\' | rpxTranslate}}</p>\n\n<ul class="govuk-list govuk-list--bullet">\n <li>{{\'email:\' | rpxTranslate}} <a href="mailto:HMCTSforms@justice.gov.uk"> HMCTSforms@justice.gov.uk</a></li>\n <li>{{\'call:\' | rpxTranslate}} +44 (0) 300 123 1711</li>\n <li>{{\'contact your service representative\' | rpxTranslate}}</li>\n</ul>\n\n<p class="govuk-body">{{\'We\\’ll consider your request and get back to you in 10 working days.\' | rpxTranslate}}</p>\n\n<h2 class="govuk-heading-l" id="Reporting-accessibility-problems-with-this-website">{{\'Reporting accessibility problems\n with this website\' | rpxTranslate}}</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:\' | rpxTranslate}}</p>\n\n<ul class="govuk-list govuk-list--bullet">\n <li>{{\'email:\' | rpxTranslate}} <a href="mailto:customer.service@justice.gov.uk"> customer.service@justice.gov.uk</a></li>\n <li>{{\'telephone:\' | rpxTranslate}} +44 (0) 300 123 1711</li>\n</ul>\n\n<h2 class="govuk-heading-l" id="Enforcement-procedure ">{{\'Enforcement procedure\' | rpxTranslate}}</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\\’).\' | rpxTranslate}} </p>\n\n<p class="govuk-body">{{\'If you\\’re not happy with how we respond to your complaint,\' | rpxTranslate}} <a rel="noopener noreferrer"\n target="_blank"\n href="https://www.equalityadvisoryservice.com/">{{\'contact\n the Equality Advisory and Support Service (EASS).\' | rpxTranslate}}</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\' | rpxTranslate}}</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.\' | rpxTranslate}}</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.\' | rpxTranslate}}</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:\' | rpxTranslate}} +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\' | rpxTranslate}}</a>. </p>\n\n<p class="govuk-body">{{\'You can also contact your service representative for more information.\' | rpxTranslate}}</p>\n\n<h1 class="govuk-heading-l" id="Technical-information-about-this-website’s-accessibility">{{\'Technical information about\n this website\\’s accessibility\' | rpxTranslate}}</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.\' | rpxTranslate}}</p>\n\n<p class="govuk-body">{{\'This website is partially compliant with the\' | rpxTranslate}} <a rel="noopener noreferrer" target="_blank"\n href="https://www.w3.org/TR/WCAG21/">{{\'Web Content\n Accessibility Guidelines version 2.1\' | rpxTranslate}}</a>{{\', due to the non-compliances listed below.\' | rpxTranslate}}</p>\n\n<h1 class="govuk-heading-l" id="Non-accessible-content">{{\'Non-accessible content\' | rpxTranslate}} </h1>\n\n<p class="govuk-body">{{\'The content listed below is non-compliant for the following reasons.\' | rpxTranslate}}</p>\n\n<h2 class="govuk-heading-l" id="Non-compliance-with-the-accessibility-regulations">{{\'Non-compliance with the accessibility\n regulations\' | rpxTranslate}}</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).\' | rpxTranslate}}</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).\' | rpxTranslate}}</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).\' | rpxTranslate}}</p>\n\n<h3 class="govuk-heading-m" id="immigration">{{\'Immigration and Asylum\' | rpxTranslate}}</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.\' | rpxTranslate}}</p>\n\n<h3 class="govuk-heading-m" id="family">{{\'Family Public Law\' | rpxTranslate}} </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\' | rpxTranslate}}\n </li>\n <li>{{\'Some essential functions within the family public law digital service cannot be accessed properly using screen\n readers\' | rpxTranslate}}\n </li>\n <li>{{\'Some complex forms within the service will not be rendered correctly or cannot be listened to by screen readers\' | rpxTranslate}}\n </li>\n</ol>\n\n<h2 class="govuk-heading-m" id="Disproportionate burden ">{{\'Disproportionate burden\' | rpxTranslate}} </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:\' | rpxTranslate}}</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\' | rpxTranslate}}</li>\n <li>{{\'Screen readers can\\’t tab between radio buttons, read links or content\' | rpxTranslate}}</li>\n <li>{{\'Colour contrast ratios uneven between page background and content\' | rpxTranslate}}</li>\n <li>{{\'Some labels, fields, error messages and other content can\\’t be clearly identified by screen readers and voice\n activation software\' | rpxTranslate}}\n </li>\n <li>{{\'Some page headings and titles don\\’t follow a logical structure for screen readers\' | rpxTranslate}}</li>\n <li>{{\'The navigation of some pages isn\\’t clear\' | rpxTranslate}}</li>\n <li>{{\'Some headings, links and button labels aren\\’t clearly descriptive\' | rpxTranslate}}</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\' | rpxTranslate}} </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.\' | rpxTranslate}}</p>\n\n<p class="govuk-body">{{\'Any new PDFs or Word documents we publish will meet accessibility standards.\' | rpxTranslate}}</p>\n\n<h1 class="govuk-heading-l" id="what-to-improve-accessibility">{{\'What we\\’re doing to improve accessibility\' | rpxTranslate}}</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.\' | rpxTranslate}}</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.\' | rpxTranslate}}</p>\n\n<h1 class="govuk-heading-l" id="preparation-of-this-accessibility-statement">{{\'Preparation of this accessibility\n statement\' | rpxTranslate}}</h1>\n\n<p class="govuk-body">{{\'This statement was prepared on 16 September 2019. It was last reviewed on 16 September 2020.\' | rpxTranslate}}</p>\n\n<p class="govuk-body">{{\'This website was last tested on 19 May 2020. The test was carried out by the\' | rpxTranslate}} <a target="_blank"\n href="https://digitalaccessibilitycentre.org/">{{\'Digital\n Accessibility Centre (DAC)\' | rpxTranslate}}</a>.</p>\n\n<h3 class="govuk-heading-m">{{\'Family Private Law:\' | rpxTranslate}}</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.\' | rpxTranslate}}</p>\n\n<p class="govuk-body">{{\'If there are any issues with accessing information or using this website please contact:\' | rpxTranslate}}</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}"]}]}],T.ctorParameters=function(){return[]};Object.create;function E(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],o=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&o>=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function L(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var o,i,s=n.call(e),r=[];try{for(;(void 0===t||t-- >0)&&!(o=s.next()).done;)r.push(o.value)}catch(e){i={error:e}}finally{try{o&&!o.done&&(n=s.return)&&n.call(s)}finally{if(i)throw i.error}}return r}function A(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(L(arguments[t]));return e}Object.create;var O=function(){function e(e){this.ref=e,this.options=[],this.selectionChange=new t.EventEmitter}return Object.defineProperty(e.prototype,"selection",{get:function(){return this.pSelection?A(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()},e.prototype.ngAfterContentChecked=function(){this.ref.detectChanges()},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=A(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 A(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=A(t),this.selectionChange.emit(this.selection))}},e}();O.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\' | rpxTranslate}}</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) | rpxTranslate}}</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}"]}]}],O.ctorParameters=function(){return[{type:t.ChangeDetectorRef}]},O.propDecorators={options:[{type:t.Input}],preselection:[{type:t.Input}],labelFunction:[{type:t.Input}],selectionChange:[{type:t.Output}],selection:[{type:t.Input}]};var F,N=function(){};N.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:\' | rpxTranslate}} </span> <a href="mailto:{{ data.email }}">{{ data.email }}</a></div>\n <div class="phone" *ngIf="data.phone"><span class="govuk-!-font-weight-bold">{{\'Phone:\' | rpxTranslate}} </span>{{ data.phone }}</div>\n <div class="opening-times" *ngIf="data.openingTimes"><span class="govuk-!-font-weight-bold">{{\'Opening times:\' | rpxTranslate }} </span>{{ data.openingTimes}}</div>\n</div>\n\n',styles:[".contact-details{margin-top:30px}.contact-details h3,.contact-details p{margin-bottom:10px}"]}]}],N.ctorParameters=function(){return[]},N.propDecorators={data:[{type:t.Input}]},e.DateBadgeColour=void 0,(F=e.DateBadgeColour||(e.DateBadgeColour={})).RED="hmcts-badge--red",F.ORANGE="hmcts-badge--orange",F.GREEN="hmcts-badge--green";var P=function(){function t(e){this.ref=e,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.ngAfterContentChecked=function(){this.ref.detectChanges()},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}();P.decorators=[{type:t.Component,args:[{selector:"xuilib-due-date",template:'<span *ngIf="dueDate" class="due-date hmcts-badge" [ngClass]="badge"\n [title]="accessibleLabel | rpxTranslate" [attr.aria-label]="accessibleLabel | rpxTranslate">\n {{label | rpxTranslate}}\n</span>',encapsulation:t.ViewEncapsulation.None,styles:[".due-date{white-space:nowrap}.due-date.hmcts-badge--orange{color:#f47738;border-color:#f47738}"]}]}],P.ctorParameters=function(){return[{type:t.ChangeDetectorRef}]},P.propDecorators={dueDate:[{type:t.Input}],highUrgencyCutoff:[{type:t.Input}],mediumUrgencyCutoff:[{type:t.Input}]};var D=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}();D.ɵprov=y.ɵɵdefineInjectable({factory:function(){return new D},token:D,providedIn:"root"}),D.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}];var M=function(){function e(e,t){this.featureToggleService=e,this.router=t}return e.prototype.canActivate=function(e){var t=this;return i.combineLatest(A(e.data.needsFeaturesEnabled.map((function(e){return t.featureToggleService.getValueOnce(e,!1)})))).pipe(r.map((function(e){return e.every((function(e){return e}))})),r.map((function(n){return!1!==e.data.expectFeatureEnabled&&n||!1===e.data.expectFeatureEnabled&&!n||t.router.parseUrl(e.data.featureDisabledRedirect)})))},e}();M.ɵprov=y.ɵɵdefineInjectable({factory:function(){return new M(y.ɵɵinject(D),y.ɵɵinject(C.Router))},token:M,providedIn:"root"}),M.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],M.ctorParameters=function(){return[{type:D},{type:s.Router}]};var U,j=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=x.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(r.filter((function(e){return e})),r.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(r.distinctUntilChanged())},e.prototype.getValueOnce=function(e,t){var n=this;return this.ready.pipe(r.filter((function(e){return e})),r.map((function(){return n.client.variation(e,t)})))},e}();j.ɵprov=y.ɵɵdefineInjectable({factory:function(){return new j},token:j,providedIn:"root"}),j.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.AddressMessageEnum=void 0,(U=e.AddressMessageEnum||(e.AddressMessageEnum={})).NO_OPTION_SELECTED="Select an option",U.NO_STREET_SELECTED="Enter building and street",U.NO_CITY_SELECTED="Enter town or city",U.NO_COUNTRY_SELECTED="Enter country",U.NO_POSTCODE_SELECTED="Enter a valid postcode",U.SELECT_ADDRESS="Select an address",U.INVALID_POSTCODE="Enter valid postcode";var B,R,G=function(){function e(e,t){null===t?(this.value=e,this.description=this.getDescription()):this.description=t}return e.prototype.getDescription=function(){return this.removeInitialCommaIfPresent(""+(void 0===this.value.addressLine1?"":this.value.addressLine1)+this.prefixWithCommaIfPresent(this.value.addressLine2)+this.prefixWithCommaIfPresent(this.value.addressLine3)+", "+this.value.postTown)},e.prototype.prefixWithCommaIfPresent=function(e){return e?", "+e:e},e.prototype.removeInitialCommaIfPresent=function(e){return e.replace(new RegExp("^,","gi"),"")},e}(),V=function(){};e.SharedCaseErrorMessages=void 0,(B=e.SharedCaseErrorMessages||(e.SharedCaseErrorMessages={})).OneCaseMustBeSelected="At least one case must be selected",B.NoChangesRequested="You have not requested any changes to case sharing",B.OnePersonMustBeAssigned="At least one person must be assigned to each case",e.BadgeColour=void 0,(R=e.BadgeColour||(e.BadgeColour={})).BADGE_RED="hmcts-badge--red",R.BADGE_BLUE="hmcts-badge--blue",R.BADGE_GREEN="hmcts-badge--green";var z,W,H,$,q=function(){},J=function(){},K=function(){};e.BookingCheckType=void 0,(z=e.BookingCheckType||(e.BookingCheckType={})).NO_CHECK="NO_CHECK",z.BOOKINGS_AND_BASE="BOOKINGS_AND_BASE",z.POSSIBLE_BOOKINGS="POSSIBLE_BOOKINGS",e.PersonRole=void 0,(W=e.PersonRole||(e.PersonRole={})).JUDICIAL="Judicial",W.CASEWORKER="Legal Ops",W.ADMIN="Admin",W.CTSC="CTSC",W.ALL="All",e.RoleCategory=void 0,(H=e.RoleCategory||(e.RoleCategory={})).JUDICIAL="JUDICIAL",H.CASEWORKER="LEGAL_OPERATIONS",H.ADMIN="ADMIN",H.CTSC="CTSC",H.ALL="ALL",function(e){e.DPA="DPA",e.UK="United Kingdom",e.RD06="RD06"}($||($={}));var Y=function(){function e(){}return e.prototype.parse=function(e){var t=""+e.CLASSIFICATION_CODE,n=new V;return n.addressLine1=this.parseAddressLine1(t,e),n.addressLine2=this.parseAddressLine2(t,e),n.addressLine3=this.parseAddressLine3(t,e),n.postCode=e.POSTCODE,n.postTown=e.POST_TOWN,n.country=$.UK,n},e.prototype.parseAddressLine1=function(e,t){var n;return n=e===$.RD06?t.SUB_BUILDING_NAME+" "+t.ORGANISATION_NAME+" "+t.DEPARTMENT_NAME+" "+t.PO_BOX_NUMBER:""+t.ORGANISATION_NAME+this.prefixWithCommaIfPresent(t.BUILDING_NAME)+t.DEPARTMENT_NAME+" "+t.PO_BOX_NUMBER,this.removeNonAddressValues(n)},e.prototype.parseAddressLine2=function(e,t){var n;return n=e===$.RD06?t.BUILDING_NAME+" ":t.SUB_BUILDING_NAME+" "+t.BUILDING_NUMBER+" "+t.THOROUGHFARE_NAME,this.removeNonAddressValues(n)},e.prototype.parseAddressLine3=function(e,t){var n;return n=e===$.RD06?t.BUILDING_NUMBER+" "+t.THOROUGHFARE_NAME:t.DEPENDENT_LOCALITY+" "+t.DOUBLE_DEPENDENT_LOCALITY+" "+t.DEPENDENT_THOROUGHFARE_NAME,this.removeNonAddressValues(n)},e.prototype.removeNonAddressValues=function(e){return e=e.replace(" null"," ").replace("null "," "),e=this.removeUndefinedString(e),e=this.removeInitialComma(e),e=this.removeEmptySpaces(e)},e.prototype.removeUndefinedString=function(e){return e.replace(new RegExp("undefined","gi"),"")},e.prototype.removeEmptySpaces=function(e){return e.replace(new RegExp(" +","gi")," ").trim()},e.prototype.removeInitialComma=function(e){return e.replace(new RegExp("^,","gi"),"")},e.prototype.prefixWithCommaIfPresent=function(e){return e?", "+e:e},e}(),X=function(){function e(e){this.http=e}return e.prototype.getAddressesForPostcode=function(e){var t=this;return this.http.get("/external/addresses?postcode=${postcode}".replace("${postcode}",e),void 0).pipe(r.map((function(e){return e.results}))).pipe(r.map((function(e){return e?e.map((function(e){return t.format((new Y).parse(e[$.DPA]))})):[]})))},e.prototype.format=function(e){return this.formatAddressLines(this.shiftAddressLinesUp(e))},e.prototype.formatAddressLines=function(e){var t=this;return["addressLine1","addressLine2","addressLine3","postTown"].forEach((function(n){e[n]=t.toCapitalCase(e[n])})),e},e.prototype.shiftAddressLinesUp=function(e){return""===e.addressLine2&&(e.addressLine2=e.addressLine3,e.addressLine3=""),""===e.addressLine1&&(e.addressLine1=e.addressLine2,e.addressLine2=""),e},e.prototype.toCapitalCase=function(e){return(e=e.toLowerCase()).split(" ").forEach((function(t){e=e.replace(t,t.charAt(0).toUpperCase()+t.substr(1))})),e},e}();X.decorators=[{type:t.Injectable}],X.ctorParameters=function(){return[{type:l.HttpClient}]};var Q=new t.InjectionToken("Window");function Z(){return window}var ee=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 s.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}();ee.ɵprov=y.ɵɵdefineInjectable({factory:function(){return new ee(y.ɵɵinject(C.Router),y.ɵɵinject(S.Title),y.ɵɵinject(Q),y.ɵɵinject(k.DOCUMENT))},token:ee,providedIn:"root"}),ee.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],ee.ctorParameters=function(){return[{type:s.Router},{type:c.Title},{type:void 0,decorators:[{type:t.Inject,args:[Q]}]},{type:void 0,decorators:[{type:t.Inject,args:[n.DOCUMENT]}]}]};var te=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 s.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}();te.ɵprov=y.ɵɵdefineInjectable({factory:function(){return new te(y.ɵɵinject(C.Router),y.ɵɵinject(S.Title),y.ɵɵinject(Q),y.ɵɵinject(k.DOCUMENT))},token:te,providedIn:"root"}),te.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],te.ctorParameters=function(){return[{type:s.Router},{type:c.Title},{type:void 0,decorators:[{type:t.Inject,args:[Q]}]},{type:void 0,decorators:[{type:t.Inject,args:[n.DOCUMENT]}]}]};var ne=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 u.DocumentInterruptSource("mousedown keydown DOMMouseScroll mousewheel touchstart touchmove scroll");this.idle.setInterrupts([n]),this.idle.onIdleEnd.pipe(r.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(r.map((function(e){return e>60?Math.ceil(e/60)+" minutes":e+" seconds"})),r.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}();ne.ɵprov=y.ɵɵdefineInjectable({factory:function(){return new ne(y.ɵɵinject(w.Idle),y.ɵɵinject(_.Keepalive))},token:ne,providedIn:"root"}),ne.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],ne.ctorParameters=function(){return[{type:u.Idle},{type:d.Keepalive}]};var oe=function(){function e(e,t){this.idle=e,this.keepalive=t,this.subs=[],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,s=e.totalIdleTime;this.idle.setIdleName(o);var a=this.millisecondsToSeconds(i),l=this.millisecondsToSeconds(s);this.idle.setTimeout(a);var c=new u.DocumentInterruptSource(n),d=new u.WindowInterruptSource(n);this.idle.setInterrupts([c,d]),this.subs.push(this.idle.onTimeout.subscribe((function(){t.eventEmitter.next({eventType:"sign-out"})}))),this.subs.push(this.idle.onTimeoutWarning.pipe(r.map((function(e){return e>60?Math.ceil(e/60)+" minutes":e+" seconds"})),r.distinctUntilChanged()).subscribe((function(e){t.eventEmitter.next({eventType:"countdown",readableCountdown:e})}))),this.subs.push(this.idle.onIdleStart.subscribe((function(){return console.log("You've gone idle!")}))),this.subs.push(this.idle.onIdleEnd.subscribe((function(){return console.log("You're no longer idle!")}))),this.keepalive.interval(15),this.subs.push(this.keepalive.onPing.subscribe((function(){t.eventEmitter.next({eventType:"keep-alive"})})));var p=Math.floor(l)-a;this.idle.setIdle(p),this.idle.watch()},e.prototype.reset=function(){this.idle.watch()},e.prototype.close=function(){this.subs.forEach((function(e){return e.unsubscribe()})),this.idle.stop(),this.idle.clearInterrupts()},e.prototype.notificationOnChange=function(){return this.eventEmitter.asObservable()},e}();oe.ɵprov=y.ɵɵdefineInjectable({factory:function(){return new oe(y.ɵɵinject(w.Idle),y.ɵɵinject(_.Keepalive))},token:oe,providedIn:"root"}),oe.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],oe.ctorParameters=function(){return[{type:u.Idle},{type:d.Keepalive}]};var ie,se=function(){function e(){this.pRoles=new i.BehaviorSubject(null),this.roles$=this.pRoles.asObservable().pipe(r.skipWhile((function(e){return null===e})))}return Object.defineProperty(e.prototype,"roles",{set:function(e){this.pRoles.next(e)},enumerable:!1,configurable:!0}),e}();se.ɵprov=y.ɵɵdefineInjectable({factory:function(){return new se},token:se,providedIn:"root"}),se.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.RoleMatching=void 0,(ie=e.RoleMatching||(e.RoleMatching={}))[ie.ALL=0]="ALL",ie[ie.ANY=1]="ANY";var re=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(r.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}();re.ɵprov=y.ɵɵdefineInjectable({factory:function(){return new re(y.ɵɵinject(se),y.ɵɵinject(C.Router))},token:re,providedIn:"root"}),re.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],re.ctorParameters=function(){return[{type:se},{type:s.Router}]};var ae=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}();ae.ɵprov=y.ɵɵdefineInjectable({factory:function(){return new ae(y.ɵɵinject(k.DOCUMENT))},token:ae,providedIn:"root"}),ae.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],ae.ctorParameters=function(){return[{type:void 0,decorators:[{type:t.Inject,args:[n.DOCUMENT]}]}]};var le=function(){function e(){}return Object.defineProperty(e.prototype,"isLoading",{get:function(){},enumerable:!1,configurable:!0}),e}(),ce=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(r.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}();ce.ɵprov=y.ɵɵdefineInjectable({factory:function(){return new ce},token:ce,providedIn:"root"}),ce.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}];var ue=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}();ue.ɵprov=y.ɵɵdefineInjectable({factory:function(){return new ue},token:ue,providedIn:"root"}),ue.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}];var de=function(){function e(e){this.http=e}return e.prototype.getServices=function(){return this.http.get(e.refDataUrl+"/services")},e.prototype.getRegions=function(){return this.http.get(e.refDataUrl+"/regions")},e.prototype.getLocationsByServiceCode=function(t){var n=(new l.HttpParams).append("service_code",t);return this.http.get(e.refDataUrl+"/locations-by-service-code",{params:n})},e.prototype.getLocations=function(){return this.http.get(e.refDataUrl+"/locations")},e}();de.refDataUrl="/api/ref-data",de.ɵprov=y.ɵɵdefineInjectable({factory:function(){return new de(y.ɵɵinject(I.HttpClient))},token:de,providedIn:"root"}),de.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],de.ctorParameters=function(){return[{type:l.HttpClient}]};var pe=function(){function e(e){this.refDataDataAccessService=e,this.locationsByServiceCodesCache={},this.regions$=this.refDataDataAccessService.getRegions().pipe(r.shareReplay()),this.services$=this.refDataDataAccessService.getServices().pipe(r.shareReplay()),this.locations$=this.refDataDataAccessService.getLocations().pipe(r.shareReplay())}return e.prototype.getLocationsByServiceCodes=function(e){var t=this,n=[];return e.forEach((function(e){t.locationsByServiceCodesCache[e]||(t.locationsByServiceCodesCache[e]=t.refDataDataAccessService.getLocationsByServiceCode(e).pipe(r.catchError((function(){return i.of({court_venues:[]})})),r.map((function(e){return e.court_venues})),r.shareReplay())),n.push(t.locationsByServiceCodesCache[e])})),i.forkJoin(n).pipe(r.map((function(e){return e.reduce((function(e,t){return e.concat(t)}))}),[]),r.take(1))},e}();function ge(e,t){return e.reduce((function(e,n,o){return t[o]?A(e,[n.key]):e}),[])}pe.ɵprov=y.ɵɵdefineInjectable({factory:function(){return new pe(y.ɵɵinject(de))},token:pe,providedIn:"root"}),pe.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],pe.ctorParameters=function(){return[{type:de}]};var he=function(){function e(e,t){this.filterService=e,this.fb=t,this.submitted=!1,this.previousSelectedNestedCheckbox=[],this.formSubmissionEvent$=new i.Subject}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.filterService.givenErrors.next(null),this.formSub&&this.formSub.unsubscribe()},e.prototype.hidden=function(e,t){if(!e.showCondition)return!1;if("string"==typeof e.showCondition){var n=t.get(e.name),i=L(e.showCondition.split("="),2),s=i[0],r=i[1];if(t.value&&t.value[s]===r)return"find-person"===e.type?(n.get("email").setValidators(o.Validators.required),n.get("email").updateValueAndValidity()):(n.setValidators(o.Validators.required),n.updateValueAndValidity()),!1;"find-person"===e.type?(n.get("email").clearValidators(),n.get("email").updateValueAndValidity()):(n.clearValidators(),n.updateValueAndValidity())}return!0},e.prototype.disabled=function(e,t){if(!e.enableCondition)return null;if("string"==typeof e.enableCondition){var n=t.get(e.name),i=L(e.enableCondition.split("="),2),s=i[0],r=i[1];if(t.value&&t.value[s]===r)return"find-person"===e.type?(n.get("email").setValidators(o.Validators.required),n.get("email").updateValueAndValidity()):(n.setValidators(o.Validators.required),n.updateValueAndValidity()),null;"find-person"===e.type?(n.get("email").clearValidators(),n.get("email").updateValueAndValidity()):(n.clearValidators(),n.updateValueAndValidity())}return"find-location"===e.type||(e.disable?e.disable:null)},e.prototype.applyFilter=function(e){if(this.formSubmissionEvent$.next(),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=E(e.changeResetFields),s=i.next();!s.done;s=i.next()){var r=s.value;this.resetField(r,t)}}catch(e){n={error:e}}finally{try{s&&!s.done&&(o=i.return)&&o.call(i)}finally{if(n)throw n.error}}},e.prototype.inputChanged=function(e){if(e.radioSelectionChange&&"string"==typeof e.radioSelectionChange){var t=L(e.enableCondition.split("="),2),n=t[0],o=t[1];this.form.get(n).patchValue(o)}},e.prototype.inputServiceChanged=function(e){if("user-services"===e.name){var t=this.getSelectedValuesForFields(this.form.controls,e);this.filterSkillsByServices(t,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=E(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){var n,o,i;i=e&&e.task_type?Object.keys(e.task_type):Object.keys(this.form.get(t.name).value);try{for(var s=E(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.task_type&&e.task_type[a]?e.task_type[a]:null;this.form.get(t.name).get(a).patchValue(l)}}}catch(e){n={error:e}}finally{try{r&&!r.done&&(o=s.return)&&o.call(s)}finally{if(n)throw n.error}}},e.prototype.toggleSelectAll=function(e,t,n,o){var i,s,r=e.target.checked,a=t.get(o.name);if(n.selectAll)a.controls.forEach((function(e){r?e.patchValue(!0):e.patchValue(!1)}));else{var l=a.controls.every((function(e){return e.value})),c=null,u=o.options.find((function(e,t){return!!e.hasOwnProperty("selectAll")&&(c=t,!0)})),d=a.controls.filter((function(e,t){return t!==c})).every((function(e){return e.value}));l||!u||r?u&&!l&&r&&d&&a.controls[c].patchValue(!0):a.controls.forEach((function(e,t){c!==t||e.patchValue(!1)}))}if(o.changeResetFields&&o.changeResetFields.length)try{for(var p=E(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=E(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,a=this.form?this.form.get("findPersonControl"):null,l=this.form?this.form.get("findTaskNameControl"):null;this.form=this.fb.group({}),a&&this.form.addControl("findPersonControl",a),l&&this.form.addControl("findTaskNameControl",l);var c=function(i){if("checkbox"===i.type||"checkbox-large"===i.type||"nested-checkbox"===i.type){var s=u.buildCheckBoxFormArray(i,t);u.form.addControl(i.name,s)}else if("find-location"===i.type||"find-service"===i.type){s=u.buildFormArray(i,t);u.form.addControl(i.name,s)}else{var a=[];i.minSelected&&i.minSelected>0&&(a.push(o.Validators.required),"text-input"===i.type&&a.push(o.Validators.minLength(i.minSelected)),"email-input"===i.type&&a.push(o.Validators.email));var l=null;if(n&&e.cancelSetting){var c=e.cancelSetting.fields.find((function(e){return e.name===i.name}));l=c&&c.value?c.value[0]:""}else if(t&&t.fields){var d=t.fields.find((function(e){return e.name===i.name}));l=d&&d?d.value[0]:""}if("find-person"===i.type){var p=new o.FormGroup({domain:new o.FormControl(l&&l.hasOwnProperty("domain")?l.domain:""),email:new o.FormControl(l&&l.hasOwnProperty("email")?l.email:"",a),id:new o.FormControl(l&&l.hasOwnProperty("id")?l.id:""),name:new o.FormControl(l&&l.hasOwnProperty("name")?l.name:""),knownAs:new o.FormControl(l&&l.hasOwnProperty("knownAs")?l.knownAs:"")});u.form.addControl(i.name,p)}else if("find-task-name"===i.type){p=new o.FormGroup({task_type_id:new o.FormControl(l&&l.hasOwnProperty("task_type_id")?l.task_type_id:""),task_type_name:new o.FormControl(l&&l.hasOwnProperty("task_type_name")?l.task_type_name:"")});u.form.addControl(i.name,p),l&&l.task_type_id||null===(r=u.form.get("findTaskNameControl"))||void 0===r||r.patchValue("")}else if("group-title"!==i.type){var g=new o.FormControl(l,a);u.form.addControl(i.name,g)}i.findPersonField&&u.fieldChanged(i,u.form)}},u=this;try{for(var d=E(e.fields),p=d.next();!p.done;p=d.next()){c(p.value)}}catch(e){i={error:e}}finally{try{p&&!p.done&&(s=d.return)&&s.call(d)}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=E(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=E(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:ge(i.options,o),name:n}}return{value:[o],name:n}}))},e.prototype.emitFormErrors=function(e){var t,n,o=[];try{for(var i=E(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}),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}();he.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?.required || 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 <div *ngIf="field.hintText"\n [id]="field.hintText + \'-hint\'" class="govuk-hint">\n {{ field.hintText | rpxTranslate }}\n </div>\n <span [id]="field.name + \'-error\'" class="govuk-error-message" *ngIf="field.displayMinSelectedError && submitted && (form.get(field.name).errors?.required || form.get(field.name).errors?.minlength)">\n <span class="govuk-visually-hidden">{{ \'Error:\' | rpxTranslate}}</span> {{field.minSelectedError | rpxTranslate }}\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:\' | rpxTranslate}}</span> {{field.maxSelectedError | rpxTranslate }}\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:\' | rpxTranslate }}</span> {{field.emailError | rpxTranslate }}\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 | rpxTranslate}}</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 | rpxTranslate}}</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 | rpxTranslate}}</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 [submitted]="submitted"\n [field]="field"\n [services]="form.get(field.findLocationField)?.value"\n [formSubmissionEvent$]="formSubmissionEvent$"\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?.task_type_name"\n [placeholderContent]="field.placeholderContent ? field.placeholderContent : \'\'"\n [services]="form.get(field.servicesField)?.value"\n ></xuilib-find-task-name>\n </ng-container>\n <ng-container *ngSwitchCase="\'find-service\'">\n <xuilib-find-service (serviceFieldChanged)="inputServiceChanged(field)"\n [field]="field"\n [form]="form"\n [formSubmissionEvent$]="formSubmissionEvent$"\n [disabled]="disabled(field, form)">\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\') | rpxTranslate}}</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\') | rpxTranslate}}</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%}"]}]}],he.ctorParameters=function(){return[{type:ue},{type:o.FormBuilder}]},he.propDecorators={config:[{type:t.Input}],settings:[{type:t.Input}]};var me=function(){function e(){this.close=new t.EventEmitter}return e.prototype.onClose=function(){this.close.emit()},e}();me.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\' | rpxTranslate}}</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}"]}]}],me.ctorParameters=function(){return[]},me.propDecorators={positionTop:[{type:t.Input}],close:[{type:t.Output}]};var fe=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}();fe.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'}]}],fe.propDecorators={submitForm:[{type:t.Output}],inviteUserForm:[{type:t.Input}],errorMessages:[{type:t.Input}]};var ve=function(){this.isPuiCaseManager=!1,this.isPuiUserManager=!1,this.isPuiOrganisationManager=!1,this.isPuiFinanceManager=!1};ve.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>"}]}],ve.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 be=function(){function e(e){this.ref=e,this.loadingText="Loading"}return e.prototype.ngAfterContentChecked=function(){this.ref.detectChanges()},e}();be.decorators=[{type:t.Component,args:[{selector:"xuilib-loading-spinner",template:'<div class="spinner-container">\n <div class="spinner-inner-container">\n <p>{{loadingText | rpxTranslate}}</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)}}"]}]}],be.ctorParameters=function(){return[{type:t.ChangeDetectorRef}]},be.propDecorators={loadingText:[{type:t.Input}]};var ye=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(r.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=E(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=E(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=E(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}();ye.ɵprov=y.ɵɵdefineInjectable({factory:function(){return new ye},token:ye,providedIn:"root"}),ye.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],ye.ctorParameters=function(){return[]};var ke=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}();ke.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\' | rpxTranslate}}</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\' | rpxTranslate}}</th>\n <th class="govuk-table__header govuk-table-column-header" scope="col">{{\'Email address\' | rpxTranslate}}</th>\n <th class="govuk-table__header govuk-table-column-actions" scope="col">{{\'Actions\' | rpxTranslate}}</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\' | rpxTranslate}}</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">\n {{\'To be removed\' | rpxTranslate}}\n </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%}"]}]}],ke.ctorParameters=function(){return[{type:ye}]},ke.propDecorators={sharedCase:[{type:t.Input}],changeLink:[{type:t.Input}]};var Ce=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}();Ce.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:[""]}]}],Ce.ctorParameters=function(){return[{type:ye}]},Ce.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 xe=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(r.map((function(o){var i,s;if(n.removeUserFromCaseToggleOn)try{for(var r=E(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(r.map((function(n){var o,i;try{for(var s=E(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(r.map((function(n){var o,i;try{for(var s=E(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(r.map((function(n){var o,i;try{for(var s=E(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 A(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}();xe.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 | rpxTranslate }}</h3>\n <h1 id="{{buildElementId(\'case-id\')}}" class="govuk-case-sub-title">{{ sharedCase.caseId | rpxTranslate }}</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)" title="Deselect case">\n {{\'Deselect case\' | rpxTranslate}}\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\' | rpxTranslate">\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">\n {{\'No users from your organisation currently have access to this case.\' | rpxTranslate}}\n </span>\n </div>\n <div class="govuk-grid-row" *ngIf="showUserHasAccessInfo()">\n <span id="{{buildElementId(\'access-info-has-users\')}}" class="govuk-div-align-left">\n {{\'Users from your organisation with access to this case.\' | rpxTranslate}}\n </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\' | rpxTranslate}}</th>\n <th id="{{buildElementId(\'email-heading\')}}" class="govuk-table__header govuk-table-column-header" scope="col">{{\'Email address\' | rpxTranslate}}</th>\n <th id="{{buildElementId(\'action-heading\')}}" class="govuk-table__header govuk-table-column-actions" scope="col">{{\'Actions\' | rpxTranslate}}</th>\n <th id="{{buildElementId(\'label-heading\')}}" class="govuk-table__header govuk-table-column-label" scope="col">{{ \'Status\' | rpxTranslate }}</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\' | rpxTranslate}} <span class="govuk-visually-hidden">{{ user.firstName + \' \' + user.lastName }} {{\'from case\' | rpxTranslate}}</span></a>\n <a *ngIf="canCancel(sharedCase.caseId, user) | async" (click)="onCancel(user, sharedCase)" href="javascript:void(0);">{{\'Cancel\' | rpxTranslate}} <span class="govuk-visually-hidden">{{\'adding\' | rpxTranslate}} {{ user.firstName + \' \' + user.lastName }} {{\'to case\' | rpxTranslate}}</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\' | rpxTranslate}}</span>\n <span *ngIf="isToBeAdded(sharedCase.caseId, user) | async" class="hmcts-badge">{{\'To be added\' | rpxTranslate}}</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}"]}]}],xe.ctorParameters=function(){return[{type:ye}]},xe.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 Ie=function(){function e(){this.hideMessage=new t.EventEmitter}return e.prototype.onHideMessageEvent=function(e){this.hideMessage.emit(e)},e}();Ie.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\' | rpxTranslate}}</span>\n <h2 class="govuk-heading-s" [innerHTML]="message | rpxTranslate"></h2>\n <a [routerLink]="" class="govuk-link--no-visited-state" (click)="onHideMessageEvent(key)">{{\'Hide message\' | rpxTranslate}}</a>\n </div>\n\n</div>'}]}],Ie.ctorParameters=function(){return[]},Ie.propDecorators={message:[{type:t.Input}],key:[{type:t.Input}],hideMessage:[{type:t.Output}]};var Se=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}();Se.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 | rpxTranslate" (hideMessage)="hideMessage($event)"></xuilib-service-message>\n</div>'}]}],Se.ctorParameters=function(){return[{type:D}]},Se.propDecorators={userRoles:[{type:t.Input}],featureToggleKey:[{type:t.Input}],serviceMessageCookie:[{type:t.Input}]};var we=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}();we.decorators=[{type:t.Component,args:[{selector:"xuilib-share-case-confirm",template:'<div id="casesToConfirm">\n <h3 class="govuk-heading-l">{{\'Cases\' | rpxTranslate}}</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.\' | rpxTranslate}}\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\' | rpxTranslate}}</button>\n</div>\n',styles:[""]}]}],we.ctorParameters=function(){return[{type:ye}]},we.propDecorators={shareCases$:[{type:t.Input}],changeLink:[{type:t.Input}],completeLink:[{type:t.Input}]};var _e=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(r.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}();_e.decorators=[{type:t.Component,args:[{selector:"xuilib-user-select",template:'<input class="govuk-input" type="text" [matAutocomplete]="dropdown" [formControl]="control" (ngModelChange)="onUserChange($event)"\n [attr.aria-labelledby]="\'add-user-hint\' | rpxTranslate">\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 | rpxTranslate }} {{ user.lastName | rpxTranslate }} - {{ user.email }}\n </mat-option>\n</mat-autocomplete>\n',styles:[""]}]}],_e.ctorParameters=function(){return[]},_e.propDecorators={users:[{type:t.Input}],selected:[{type:t.Output}]};var Te=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(r.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=E(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=E(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}();Te.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 | rpxTranslate}}</span>\n {{title | rpxTranslate}}\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 | rpxTranslate}}</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.\' | rpxTranslate}}\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()"\n class="govuk-button govuk-button--secondary" [disabled]="isDisabledAdd()"\n title="{{\'Add user to selected cases\' | rpxTranslate}}">\n {{\'Add\' | rpxTranslate}}\n </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?" | rpxTranslate}}\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 administrator for help." | rpxTranslate}}\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">\n {{\'Remove a person from all cases\' | rpxTranslate}}\n </label>\n <span id="remove-user-hint" class="govuk-hint">\n {{\'Select a person to remove them from all selected cases.\' | rpxTranslate}}\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\' | rpxTranslate}}">\n {{\'Remove\' | rpxTranslate}}\n </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">\n {{\'Selected cases\' | rpxTranslate}}\n </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.\' | rpxTranslate}}\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\' | rpxTranslate}}">\n {{\'Continue\' | rpxTranslate}}\n </button>\n <button id="btn-cancel" class="govuk-button govuk-button--secondary" data-module="govuk-button" title="{{\'Cancel\' | rpxTranslate}}" [routerLink]="cancelLink">\n {{\'Cancel\' | rpxTranslate}}\n </button>\n</div>\n',styles:["select{width:100%}"]}]}],Te.ctorParameters=function(){return[{type:ye},{type:s.Router}]},Te.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:[_e,{static:!0}]}]};var Ee=function(){function e(){this.tabChange=new t.EventEmitter}return e.prototype.tabChanged=function(e){this.tabChange.emit(e)},e}();Ee.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 | rpxTranslate">\n </mat-tab>\n</mat-tab-group>'}]}],Ee.ctorParameters=function(){return[]},Ee.propDecorators={tabItems:[{type:t.Input}],tabChange:[{type:t.Output}]};var Le=function(){function e(){this.confirm=new t.EventEmitter}return e.prototype.onClick=function(){this.confirm.emit()},e}();Le.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\' | rpxTranslate}}</h1>\n <h2 class="govuk-heading-m">{{\'Terms and conditions\' | rpxTranslate}}</h2>\n <p>{{\'We\\\'ve recently updated the\' | rpxTranslate}}\n <a\n routerLink="/terms-and-conditions"\n rel="noopener noreferrer"\n target="_blank"\n >{{\'terms and conditions\' | rpxTranslate}}</a\n >.\n </p>\n <p>{{\'You must review and accept them.\' | rpxTranslate}}\n </p>\n <p>\n <button class="govuk-button" (click)="onClick()">\n {{ buttonText | rpxTranslate }}\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:[""]}]}],Le.ctorParameters=function(){return[]},Le.propDecorators={buttonText:[{type:t.Input}],confirm:[{type:t.Output}]};var Ae=function(){};Ae.decorators=[{type:t.Component,args:[{selector:"xuilib-tc-display-html",template:"<ng-content></ng-content>",styles:[":host{display:block;width:100%}"]}]}],Ae.ctorParameters=function(){return[]};var Oe=function(){};Oe.decorators=[{type:t.Component,args:[{selector:"xuilib-tc-display-plain",template:"<ng-content></ng-content>",styles:[":host{display:block;width:100%}"]}]}],Oe.ctorParameters=function(){return[]};var Fe=function(){};Fe.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 | rpxTranslate"></div>\n </xuilib-tc-display-html>\n <xuilib-tc-display-plain *ngSwitchCase="\'text/plain\'">\n {{ document.content | rpxTranslate}}\n </xuilib-tc-display-plain>\n <div *ngSwitchDefault>\n {{\'An error occured. Please try again.\' | rpxTranslate}}\n </div>\n</ng-container>\n',styles:[":host{display:block;width:100%}"]}]}],Fe.ctorParameters=function(){return[]},Fe.propDecorators={document:[{type:t.Input}]};var Ne=function(){function e(){this.showEditLink=!1,this.showHelpLink=!1,this.suspendUserEvent=new t.EventEmitter,this.showSuspendUserButton=!1,this.reinvite=new t.EventEmitter}return e.prototype.reinviteClick=function(e){this.reinvite.emit(e)},e.prototype.suspendUser=function(e){this.suspendUserEvent.emit(e)},e.prototype.userHasRole=function(e){return!(!this.user||!this.user.roles)&&this.user.roles.includes(e)},e}();Ne.decorators=[{type:t.Component,args:[{selector:"xuilib-user-details",template:'<div class="govuk-warning-text" *ngIf="warningTitle && warningTitle !== \'\'">\n<span class="govuk-warning-text__icon">!</span>\n<strong class="govuk-warning-text__text">\n {{ warningTitle | rpxTranslate}}\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\' | rpxTranslate}}</th>\n <td class="govuk-table__cell">{{user.fullName | rpxTranslate}}</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\' | rpxTranslate}}</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\' | rpxTranslate}}</th>\n <td class="govuk-table__cell">\n <div *ngIf="user.manageOrganisations === \'Yes\'">{{\'Manage organisations\' | rpxTranslate}}</div>\n <div *ngIf="user.manageUsers === \'Yes\'">{{\'Manage users\' | rpxTranslate}}</div>\n <div *ngIf="user.manageCases === \'Yes\'">{{\'Manage cases\' | rpxTranslate}}</div>\n <div *ngIf="userHasRole(\'pui-caa\')">{{\'Case access administrator\' | rpxTranslate}}</div>\n <div *ngIf="userHasRole(\'pui-finance-manager\')">{{\'Manage fee accounts\' | rpxTranslate}}</div>\n </td>\n <td class="govuk-table__cell"><a *ngIf="editPermissionRouterLink && showEditLink" [routerLink]="editPermissionRouterLink">{{\'Change\' | rpxTranslate}} <span class="govuk-visually-hidden">{{\'roles\' | rpxTranslate}}</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\' | rpxTranslate}}\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.\' | rpxTranslate}}</p>\n <p>{{\'If you resend an invitation, they\\\'ll receive an email from HM Courts and Tribunals to finish setting up their account.\' | rpxTranslate}}</p>\n <p>{{\'You can\\\'t invite the same user more than once an hour.\' | rpxTranslate}}</p>\n </div>\n <a role="button" draggable="false" class="govuk-button" (click)="reinviteClick(user)" id="resend-invite-button">\n {{\'Resend invitation\' | rpxTranslate}}\n </a>\n</div>\n<p class="govuk-body" *ngIf="showHelpLink && suspendHelpLink"><a [routerLink]="suspendHelpLink" target="_blank">{{\'Get help\' | rpxTranslate}}</a> {{\'to reactivate this account.\' | rpxTranslate}}</p>\n',styles:[":host{display:block}"]}]}],Ne.propDecorators={user:[{type:t.Input}],editPermissionRouterLink:[{type:t.Input}],warningTitle:[{type:t.Input}],showEditLink:[{type:t.Input}],showHelpLink:[{type:t.Input}],suspendHelpLink:[{type:t.Input}],suspendUserEvent:[{type:t.Output}],showSuspendUserButton:[{type:t.Input}],reinvite:[{type:t.Output}]};var Pe=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}();Pe.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\' | rpxTranslate}}</th>\n <th class="govuk-table__header" scope="col">{{\'Email\' | rpxTranslate}}</th>\n <th class="govuk-table__header" scope="col">{{\'Status\' | rpxTranslate}}</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}"]}]}],Pe.propDecorators={users:[{type:t.Input}],currentPageNumber:[{type:t.Input}],pageTotalSize:[{type:t.Input}],userClick:[{type:t.Output}],pageChange:[{type:t.Output}]};var De=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}();De.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\' | rpxTranslate}} {{appName | rpxTranslate}}</h2>\n\n <div class="govuk-cookie-banner__content">\n <p>{{\'We use some essential cookies to make this service work.\' | rpxTranslate}}</p>\n <p>{{\'We\\’d also like to use analytics cookies so we can understand how you use the service and make improvements.\' | rpxTranslate}}</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\' | rpxTranslate}}\n </button>\n <button value="reject" type="button" name="cookies" class="govuk-button" data-module="govuk-button" (click)="rejectCookie()">\n {{\'Reject analytics cookies\' | rpxTranslate}}\n </button>\n <a class="govuk-link" routerLink="/cookies">{{\'View cookies\' | rpxTranslate}}</a>\n </div>\n </div>\n</div>\n'}]}],De.ctorParameters=function(){return[{type:ae},{type:void 0,decorators:[{type:t.Inject,args:[Q]}]}]},De.propDecorators={identifier:[{type:t.Input}],appName:[{type:t.Input}],rejectionNotifier:[{type:t.Output}],acceptanceNotifier:[{type:t.Output}]};var Me=function(){function e(){this.showAutocomplete=!1,this.optionChanged=new t.EventEmitter,this.searchTerm="",this.MIN_SEARCH_CHARACTERS=3}return Object.defineProperty(e.prototype,"filteredOptions",{get:function(){var e,t=this,n=this.options.filter((function(e){return!t.selectedOptions.find((function(t){return t.key===e.key}))}));return(null===(e=this.searchTerm)||void 0===e?void 0:e.length)>=this.MIN_SEARCH_CHARACTERS?n.filter((function(e){return e.label.toLowerCase().includes(t.searchTerm.toLowerCase())})):n},enumerable:!1,configurable:!0}),e.prototype.resetSearchTerm=function(){this.searchTerm=""},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.options.find((function(e){return e.label===n}));this.optionChanged.emit(o)}},e}();Me.decorators=[{type:t.Component,args:[{selector:"exui-search-service",template:'<div class="auto-complete-container">\n <input id="inputServiceSearch"\n class="govuk-input"\n [(ngModel)]="searchTerm"\n [matAutocomplete]="autoSearchService"\n [attr.disabled]="disabled">\n <mat-autocomplete class="mat-autocomplete-panel-extend" autoActiveFirstOption #autoSearchService="matAutocomplete">\n <mat-option *ngFor="let service of filteredOptions" (onSelectionChange)="onSelectionChanged($event)" [value]="service.label">\n {{ service.label }}\n </mat-option>\n <mat-option *ngIf="!filteredOptions?.length && showAutocomplete">\n No results found\n </mat-option>\n </mat-autocomplete>\n</div>\n',styles:[".autocomplete__input--show-all-values{padding:5px 34px 5px 5px;cursor:pointer}.autocomplete__dropdown-arrow-down{z-index:-1;display:inline-block;position:absolute;right:8px;width:24px;height:24px;top:10px}.autocomplete__menu{background-color:#fff;border:2px solid #0b0c0c;border-top:0;color:#0b0c0c;margin:0;max-height:342px;overflow-x:hidden;padding:0;width:100%;width:calc(100% - 4px)}.autocomplete__menu--visible{display:block}.autocomplete__menu--hidden{display:none}.autocomplete__menu--overlay{box-shadow:0 2px 6px rgba(0,0,0,.256863);left:0;position:absolute;top:100%;z-index:100}.autocomplete__menu--inline{position:relative}.autocomplete__option{border-left-width:0;border-bottom:1px solid #b1b4b6;border-right-width:0;border-top-width:1px;cursor:pointer;display:block;position:relative}.autocomplete__option>*{pointer-events:none}.autocomplete__option:first-of-type{border-top-width:0}.autocomplete__option:last-of-type{border-bottom-width:0}.autocomplete__option--odd{background-color:#fafafa}.autocomplete__option--focused,.autocomplete__option:hover{background-color:#1d70b8;border-color:#1d70b8;color:#fff;outline:0}.autocomplete__option--no-results{background-color:#fafafa;color:#646b6f;cursor:not-allowed}.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.25}.autocomplete__hint,.autocomplete__option{padding:5px}@media (min-width:641px){.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.31579}}.div-action{display:inline-block}.add-location{display:inline}.remove-location-button{margin:5px}.hide-autocomplete{display:none}.auto-complete-container{min-width:250px;display:inline-block;margin-right:4px}.autocomplete__input{line-height:24px;font-size:19px}"]}]}],Me.propDecorators={options:[{type:t.Input}],selectedOptions:[{type:t.Input}],disabled:[{type:t.Input}],showAutocomplete:[{type:t.Input}],optionChanged:[{type:t.Output}]};var Ue=function(){function e(){this.disabled=!1,this.serviceFieldChanged=new t.EventEmitter,this.isSelectedAll=!1,this.tempSelectedService=null}return Object.defineProperty(e.prototype,"selectedServices",{get:function(){var e,t=this.field.options.find((function(e){return e.selectAll}));return this.isSelectedAll?[t]:null===(e=this.form.get(this.field.name))||void 0===e?void 0:e.value},enumerable:!1,configurable:!0}),e.prototype.ngOnInit=function(){var e=this;this.sortOptionsAlphabetically(),this.field.defaultOption&&this.addOption(this.field.defaultOption),this.formSubmissionEvent$&&(this.formSubmissionEventSubscription=this.formSubmissionEvent$.subscribe((function(){1===e.selectedServices.length&&1===e.field.maxSelected||e.searchServiceComponent.resetSearchTerm()})))},e.prototype.addOption=function(e){var t=this;e&&(e.selectAll?(this.isSelectedAll=!0,this.removeAllSelectedValues(),this.field.options.forEach((function(e){e.selectAll||t.addSelectedServiceToForm(e)}))):(this.isSelectedAll&&(this.removeAllSelectedValues(),this.isSelectedAll=!1),this.addSelectedServiceToForm(e)),this.tempSelectedService=null,this.serviceFieldChanged.emit(),this.searchServiceComponent.resetSearchTerm())},e.prototype.removeOption=function(e){if(e.selectAll)this.removeAllSelectedValues(),this.isSelectedAll=!1;else if(e.key){var t=this.form.get(this.field.name),n=t.value.findIndex((function(t){return t.key.toLowerCase()===e.key.toLowerCase()}));n>-1&&t.removeAt(n),this.serviceFieldChanged.emit()}},e.prototype.onOptionSelected=function(e){this.field.enableAddButton||1!==this.field.maxSelected?this.tempSelectedService=e:(this.removeAllSelectedValues(),this.addSelectedServiceToForm(e),this.serviceFieldChanged.emit())},e.prototype.removeAllSelectedValues=function(){this.form.get(this.field.name).clear()},e.prototype.addSelectedServiceToForm=function(e){this.form.get(this.field.name).push(new o.FormControl(e))},e.prototype.sortOptionsAlphabetically=function(){return this.field.options.sort((function(e,t){return e.label.toLowerCase()>t.label.toLowerCase()?1:t.label.toLowerCase()>e.label.toLowerCase()?-1:0}))},e.prototype.ngOnDestroy=function(){var e;null===(e=this.formSubmissionEventSubscription)||void 0===e||e.unsubscribe()},e}();Ue.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 | rpxTranslate}}\n </label>\n </div>\n <div class="search-service__input-container">\n <exui-search-service class="search-service__input"\n [options]="field.options"\n [selectedOptions]="selectedServices"\n [disabled]="disabled"\n (optionChanged)="onOptionSelected($event)">\n </exui-search-service>\n <a href="javascript:void(0)" (click)="addOption(tempSelectedService)"\n class="govuk-button govuk-button--secondary govuk-!-margin-bottom-0" data-module="govuk-button"\n *ngIf="field?.enableAddButton" id="add-service">\n {{ \'Add\' | rpxTranslate}}\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 class="hmcts-filter__tag" (click)="removeOption(selection)" href="javascript:void(0)">\n {{ selection.label | rpxTranslate }}\n </a>\n </li>\n </ul>\n</div>\n',styles:["#add-service{background-color:#ddd}"]}]}],Ue.propDecorators={field:[{type:t.Input}],serviceTitle:[{type:t.Input}],form:[{type:t.Input}],disabled:[{type:t.Input}],formSubmissionEvent$:[{type:t.Input}],searchServiceComponent:[{type:t.ViewChild,args:[Me,{static:!0}]}],serviceFieldChanged:[{type:t.Output}]};var je=function(){function e(e){this.http=e}return e.prototype.getAllLocations=function(e,t,n,o,i){return this.http.post(e,{serviceIds:t,locationType:n,searchTerm:o,userLocations:i})},e.prototype.searchLocations=function(e,t,n){return this.http.get("api/prd/location/getLocations?serviceIds="+e+"&locationType="+t+"&searchTerm="+n)},e}();je.ɵprov=y.ɵɵdefineInjectable({factory:function(){return new je(y.ɵɵinject(I.HttpClient))},token:je,providedIn:"root"}),je.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],je.ctorParameters=function(){return[{type:l.HttpClient}]};var Be=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}();Be.ɵprov=y.ɵɵdefineInjectable({factory:function(){return new Be},token:Be,providedIn:"root"}),Be.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}];var Re=function(){function n(e,n,i){this.locationService=e,this.sessionStorageService=n,this.refDataService=i,this.disabled=null,this.singleMode=!1,this.locationType="",this.serviceIds="",this.submitted=!0,this.selectedLocations=[],this.propertyNameFilter="site_name",this.delay=500,this.locationSelected=new t.EventEmitter,this.locationTermSearchInputChanged=new t.EventEmitter,this.searchLocationChanged=new t.EventEmitter,this.searchTermFormControl=new o.FormControl(""),this.minSearchCharacters=3,this.term="",this.pReset=!0,this.debounceTimeInput=300}return Object.defineProperty(n.prototype,"reset",{get:function(){return this.pReset},set:function(e){this.pReset=e,this.resetSearchTerm()},enumerable:!1,configurable:!0}),n.prototype.ngOnInit=function(){var e=this,t=this.searchTermFormControl.valueChanges.pipe(r.tap((function(t){return e.locationTermSearchInputChanged.emit(t)})));if(this.field&&this.field.servicesField?this.filteredList$=t.pipe(r.switchMap((function(t){var n;return i.iif((function(){return!!t&&t.length>=0}),e.refDataService.getLocationsByServiceCodes((null===(n=e.form.get(e.field.servicesField))||void 0===n?void 0:n.value).map((function(e){return e.key}))).pipe(r.map((function(n){return n.filter((function(n){return n[e.propertyNameFilter].toLowerCase().includes(t.toLowerCase())}))})),r.map((function(t){return e.filterUnselectedLocations(t,e.selectedLocations,e.singleMode)})),r.map((function(t){return t.filter((function(t,n,o){return n===o.findIndex((function(n){return n[e.propertyNameFilter]===t[e.propertyNameFilter]}))}))}))),i.of(!1))}))):this.filteredList$=t.pipe(r.debounceTime(this.debounceTimeInput),r.switchMap((function(t){return i.iif((function(){return!!t&&t.length>=e.minSearchCharacters}),e.getLocations(t).pipe(r.map((function(t){return e.filterUnselectedLocations(t,e.selectedLocations,e.singleMode)}))),i.of(!1))}))),this.singleMode&&this.selectedLocations.length>0){var n=this.selectedLocations[0];this.searchTermFormControl.patchValue(n[this.propertyNameFilter],{emitEvent:!1,onlySelf:!0})}},n.prototype.onSelectedLocation=function(e){this.searchTermFormControl.patchValue(e[this.propertyNameFilter],{emitEvent:!1,onlySelf:!0}),this.locationSelected.emit(e)},n.prototype.onInput=function(){this.searchLocationChanged.emit()},n.prototype.getLocations=function(t){var o;return this.bookingCheck===e.BookingCheckType.BOOKINGS_AND_BASE?o=JSON.parse(this.sessionStorageService.getItem("userLocations")):this.bookingCheck===e.BookingCheckType.POSSIBLE_BOOKINGS&&(this.serviceIds=this.serviceIds&&this.serviceIds.length?this.serviceIds:JSON.parse(this.sessionStorageService.getItem("bookableServices")),o=JSON.parse(this.sessionStorageService.getItem("bookableUserLocations"))),this.locationService.getAllLocations(n.allLocationAPI,this.serviceIds,this.locationType,t,o)},n.prototype.resetSearchTerm=function(){this.searchTermFormControl.setValue("")},n.prototype.filterUnselectedLocations=function(e,t,n){var o=this;return n?e:e.filter((function(e){return!t.map((function(e){return e.epimms_id})).includes(e.epimms_id)&&e[o.propertyNameFilter]}))},n}();Re.allLocationAPI="api/locations/getLocations",Re.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]="searchTermFormControl"\n [matAutocomplete]="autoSearchLocation"\n class="govuk-input"\n [attr.disabled]="disabled">\n <mat-autocomplete class="mat-autocomplete-panel-extend" autoActiveFirstOption #autoSearchLocation="matAutocomplete">\n <ng-container *ngIf="filteredList$ | async as filteredList">\n <ng-container *ngIf="filteredList && filteredList.length >= 0">\n <mat-option *ngFor="let location of filteredList" (onSelectionChange)="onSelectedLocation(location)">\n {{ location[propertyNameFilter] }}\n </mat-option>\n <mat-option *ngIf="filteredList.length === 0">{{\'No results found\' | rpxTranslate}}</mat-option>\n </ng-container>\n </ng-container>\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}"]}]}],Re.ctorParameters=function(){return[{type:je},{type:Be},{type:pe}]},Re.propDecorators={form:[{type:t.Input}],field:[{type:t.Input}],disabled:[{type:t.Input}],singleMode:[{type:t.Input}],locationType:[{type:t.Input}],serviceIds:[{type:t.Input}],submitted:[{type:t.Input}],bookingCheck:[{type:t.Input}],selectedLocations:[{type:t.Input}],propertyNameFilter:[{type:t.Input}],delay:[{type:t.Input}],locationSelected:[{type:t.Output}],locationTermSearchInputChanged:[{type:t.Output}],searchLocationChanged:[{type:t.Output}],reset:[{type:t.Input}]};var Ge=function(){function e(){this.locationFieldChanged=new t.EventEmitter,this.submitted=!0,this.enableAddLocationButton=!0,this.locationTitle="Search for a location by name",this.disableInputField=!1,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:ge(n.options,e).filter((function(e){return"services_all"!==e})).join(","))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"selectedLocations",{get:function(){var e,t;return null===(t=null===(e=this.form.get(this.field.name))||void 0===e?void 0:e.value)||void 0===t?void 0:t.filter((function(e){return e.epimms_id}))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"propertyNameFilter",{get:function(){return this.field.propertyNameFilter?this.field.propertyNameFilter:"site_name"},enumerable:!1,configurable:!0}),e.prototype.ngOnInit=function(){var e=this;this.formSubmissionEvent$&&(this.formSubmissionEventSubscription=this.formSubmissionEvent$.subscribe((function(){1===e.selectedLocations.length&&1===e.field.maxSelected||e.searchLocationComponent.resetSearchTerm()})))},e.prototype.addLocation=function(){this.tempSelectedLocation&&(this.addSelectedLocationsToForm([this.tempSelectedLocation]),this.tempSelectedLocation=null,this.searchLocationComponent.resetSearchTerm())},e.prototype.removeLocation=function(e){if(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(){var e,t=this.form.get(null===(e=this.field)||void 0===e?void 0:e.name);if(t)for(var n=0;n<t.length;n++)t.removeAt(n)},e.prototype.addSelectedLocationsToForm=function(e){var t,n,i=this.form.get(this.field.name);try{for(var s=E(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.ngOnDestroy=function(){var e;null===(e=this.formSubmissionEventSubscription)||void 0===e||e.unsubscribe()},e}();Ge.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 [form]="form"\n [field]="field"\n [selectedLocations]="selectedLocations"\n [delay]="300"\n [disabled]="disabled"\n [singleMode]="field.maxSelected === 1"\n [bookingCheck]="field.bookingCheckType"\n [serviceIds]="serviceIds"\n [propertyNameFilter]="propertyNameFilter"\n (locationTermSearchInputChanged)="onInputChanged($event)"\n (locationSelected)="onLocationSelected($event)"\n (searchLocationChanged)="onSearchInputChanged()"\n [locationType]="\'case-management\'">\n </exui-search-location>\n </div>\n\n <div>\n <a href="javascript:void(0)" (click)="addLocation()" class="govuk-button add-location-button" data-module="govuk-button" *ngIf="enableAddLocationButton">\n Add location\n </a>\n </div>\n\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[propertyNameFilter] }}\n </a>\n </li>\n </ul>\n</div>\n',styles:[".add-location-button{margin-top:10px;margin-bottom:0}.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}"]}]}],Ge.propDecorators={locationFieldChanged:[{type:t.Output}],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}],formSubmissionEvent$:[{type:t.Input}],searchLocationComponent:[{type:t.ViewChild,args:[Re,{static:!0}]}],disabled:[{type:t.Input}],services:[{type:t.Input}]};var Ve=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}();Ve.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\' | rpxTranslate}}</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\' | rpxTranslate}}\n </a>\n <ng-template #noPrevious>\n <span class="hmcts-pagination__link">{{\'Previous page\' | rpxTranslate}}</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\' | rpxTranslate}}</a>\n <ng-template #noNext>\n <span class="hmcts-pagination__link">{{\'Next page\' | rpxTranslate}}</span>\n </ng-template>\n </li>\n </ul>\n</nav>\n',styles:["span.hmcts-pagination__link:hover{color:revert}"]}]}],Ve.ctorParameters=function(){return[]},Ve.propDecorators={moreItems:[{type:t.Input}],firstRecord:[{type:t.Input}],previousPage:[{type:t.Output}],nextPage:[{type:t.Output}]};var ze=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(r.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(r.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}();ze.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}"]}]}],ze.ctorParameters=function(){return[{type:je},{type:o.FormBuilder}]},ze.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 We=function(e){var t=[];return e.forEach((function(e){t=t.concat(e.caseworkers)})),t},He=function(e){return e+"-caseworkers"},$e=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(r.map((function(e){return e.filter((function(e){return![t.assignedUser].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 s=e.services,a=[],l=[],c=[];if(s.forEach((function(e){var n=He(e);t.sessionStorageService.getItem(n)?(a.push(e),c.push({service:e,caseworkers:JSON.parse(t.sessionStorageService.getItem(n))})):l.push(e)})),a.length===s.length){var u=We(c);return i.of(this.searchInCaseworkers(u,e))}return this.http.post("/workallocation/retrieveCaseWorkersForServices",{fullServices:s}).pipe(r.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=He(n),i.setItem(s,JSON.stringify(o)))}))})),r.map((function(n){var o=We(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}();$e.caseworkersKey="caseworkers",$e.ɵprov=y.ɵɵdefineInjectable({factory:function(){return new $e(y.ɵɵinject(I.HttpClient),y.ɵɵinject(Be))},token:$e,providedIn:"root"}),$e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],$e.ctorParameters=function(){return[{type:l.HttpClient},{type:Be}]};var qe=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(r.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(r.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}();qe.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}"]}]}],qe.ctorParameters=function(){return[{type:$e},{type:o.FormBuilder}]},qe.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 Je=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(r.tap((function(){return e.showAutocomplete=!1})),r.tap((function(){return e.filteredOptions=[]})),r.debounceTime(300),r.tap((function(t){return"string"==typeof t?e.personSelected.emit(null):void 0})),r.filter((function(t){return t&&t.length>e.minSearchCharacters})),r.switchMap((function(t){return e.filter(t).pipe(r.tap((function(){return e.showAutocomplete=!0})),r.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}),s=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(r.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,s).pipe(r.map((function(e){return e[0].concat(e[1])})));case e.PersonRole.CTSC:case e.PersonRole.CASEWORKER:case e.PersonRole.ADMIN:return s;default:return p.of([])}return p.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}();Je.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 | rpxTranslate}}</span>\n {{boldTitle | rpxTranslate}}\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 | rpxTranslate}}\n </div>\n <span id="validation-error" class="govuk-error-message" *ngIf="findPersonGroup && findPersonGroup.errors">\n <span class="govuk-visually-hidden">{{\'Error:\' | rpxTranslate}}</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) | rpxTranslate}}\n </mat-option>\n <mat-option [ngClass]="{\'select-option\': showUpdatedColor}" *ngIf="isNoResultsShown && !filteredOptions.length && showAutocomplete">{{\'No results found\' | rpxTranslate}}</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}"]}]}],Je.ctorParameters=function(){return[{type:$e},{type:t.ChangeDetectorRef}]},Je.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 Ke=function(){function e(e,t){this.http=e,this.sessionStorageService=t}return e.prototype.getTaskName=function(t){var n=this,o=t+"-"+e.taskNamesKey;if(this.sessionStorageService.getItem(o)){var s=JSON.parse(this.sessionStorageService.getItem(o));return i.of(s)}return this.http.post("/workallocation/taskNames",{service:t}).pipe(r.tap((function(e){return n.sessionStorageService.setItem(o,JSON.stringify(e))})))},e}();Ke.taskNamesKey="taskNames",Ke.ɵprov=y.ɵɵdefineInjectable({factory:function(){return new Ke(y.ɵɵinject(I.HttpClient),y.ɵɵinject(Be))},token:Ke,providedIn:"root"}),Ke.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],Ke.ctorParameters=function(){return[{type:l.HttpClient},{type:Be}]};var Ye=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.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.ngOnInit=function(){var e=this;this.findTaskNameControl=new o.FormControl(this.selectedTaskName),this.findTaskNameGroup.addControl("findTaskNameControl",this.findTaskNameControl),this.sub=this.findTaskNameControl.valueChanges.pipe(r.tap((function(){return e.showAutocomplete=!1})),r.tap((function(){return e.filteredOptions=[]})),r.debounceTime(300),r.tap((function(t){return e.searchTerm=t})),r.tap((function(t){return"string"==typeof t?e.taskNameSelected.emit("null"):void 0})),r.filter((function(t){return t&&t.length>=e.minSearchCharacters})),r.mergeMap((function(){return e.getTaskName()}))).subscribe((function(t){e.filteredOptions=t||[],e.searchTerm&&(e.filteredOptions=e.filteredOptions.filter((function(t){return t.task_type.task_type_name.toLocaleLowerCase().includes(e.searchTerm.toLocaleLowerCase())})).map((function(e){return e}))),e.cd.detectChanges()}))},n.prototype.getTaskName=function(){return this.taskService.getTaskName(this.services)},n.prototype.onSelectionChange=function(e){e&&(this.taskNameSelected.emit(e),this.findTaskNameControl.setValue(this.getTaskTypeName(e),{emitEvent:!1,onlySelf:!0}))},n.prototype.getTaskTypeName=function(e){return e?e.task_type.task_type_name:""},n.prototype.onInput=function(){this.taskNameFieldChanged.emit()},n}();Ye.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 {{ getTaskTypeName(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:[""]}]}],Ye.ctorParameters=function(){return[{type:t.ChangeDetectorRef},{type:Ke}]},Ye.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}],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 Xe=function(){};Xe.decorators=[{type:t.Component,args:[{selector:"exui-page-wrapper",template:'<div class="page">\n <a *ngIf="backLink" [routerLink]="backLink" class="govuk-back-link">{{\'Back\' | rpxTranslate}}</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 | rpxTranslate}}</span>\n {{title | rpxTranslate}}\n </h1>\n <ng-content>\n\n </ng-content>\n </div>\n </main>\n </div>\n</div>\n',styles:[".page{width:100%}"]}]}],Xe.ctorParameters=function(){return[]},Xe.propDecorators={backLink:[{type:t.Input}],title:[{type:t.Input}],fnTitle:[{type:t.Input}]};var Qe=function(){function n(n){this.addressesService=n,this.internationalMode=!1,this.submissionAttempted=!1,this.addressChosen=!1,this.postcodeOptionSelected=new t.EventEmitter,this.internationalModeStart=new t.EventEmitter,this.ukAddressOptionSelected=new t.EventEmitter,this.canSelectAddress=new t.EventEmitter,this.resetSubmission=new t.EventEmitter,this.addressField={addressLine1:"",addressLine2:"",addressLine3:"",postCode:"",postTown:"",country:"",county:""},this.optionErrorsPresent=!1,this.addressSelectable=!1,this.missingPostcode=!1,this.optionErrorMessage=e.AddressMessageEnum.NO_OPTION_SELECTED,this.postcodeErrorMessage=e.AddressMessageEnum.NO_POSTCODE_SELECTED,this.selectErrorMessage=e.AddressMessageEnum.SELECT_ADDRESS}return n.prototype.ngOnInit=function(){this.formGroup.get("address")||this.formGroup.addControl("address",new o.FormControl({})),this.addressFormGroup=new o.FormGroup({ukAddress:new o.FormControl(void 0!==this.isInternational?this.isInternational?"no":"yes":null),postcode:new o.FormControl(""),addressList:new o.FormControl("")}),this.setPostcodeForm()},n.prototype.findAddress=function(){var e=this;if(this.resetSubmission.emit(),this.addressFormGroup.get("postcode").value){this.missingPostcode=!1,this.addressField=null;var t=this.addressFormGroup.get("postcode").value;this.addressOptions=[],this.addressesService.getAddressesForPostcode(t.replace(" ","").toUpperCase()).subscribe((function(t){t.forEach((function(t){e.addressOptions.push(new G(t,null))})),e.addressOptions.unshift(new G(void 0,e.defaultLabel(e.addressOptions.length)))}),(function(n){console.log("An error occurred retrieving addresses for postcode "+t+". "+n),e.addressOptions.unshift(new G(void 0,e.defaultLabel(e.addressOptions.length)))})),this.addressFormGroup.get("addressList").setValue(void 0)}else this.missingPostcode=!0,this.canSelectAddress.emit(!1)},n.prototype.blankAddress=function(){this.setFormValue(),this.resetSubmission.emit(),this.internationalMode&&this.internationalModeStart.emit()},n.prototype.shouldShowDetailFields=function(){if(!this.formGroup.get("address"))return!1;var e=this.formGroup.get("address").value,t=!1;return e&&Object.keys(e).forEach((function(n){null!==e[n]&&(t=!0)})),t},n.prototype.addressSelected=function(){this.missingPostcode=!1,this.addressField=this.addressFormGroup.get("addressList").value,this.addressChosen=!0,this.setFormValue(),this.postcodeOptionSelected.emit()},n.prototype.ngOnChanges=function(e){var t=e.addressField,n=e.isInternational;t&&this.setFormValue(),n&&this.addressFormGroup&&this.addressFormGroup.get("ukAddress")&&this.addressFormGroup.get("ukAddress").patchValue(this.isInternational?"no":"yes"),!this.addressChosen&&this.addressFormGroup&&this.addressFormGroup.get("addressList")&&this.addressFormGroup.get("addressList").patchValue(void 0),this.checkIfErrorsNeeded()},n.prototype.checkIfErrorsNeeded=function(){this.submissionAttempted&&this.internationalMode&&!this.postcodeLookupVisible()?(this.optionErrorsPresent=!0,this.optionErrorMessage=e.AddressMessageEnum.NO_OPTION_SELECTED):this.optionErrorsPresent=!1,this.optionErrorsPresent&&(this.addressChosen||void 0!==this.isInternational)&&(this.optionErrorsPresent=!1)},n.prototype.setInternationalAddress=function(e){this.isInternational=e,this.ukAddressOptionSelected.emit(this.isInternational)},n.prototype.postcodeErrorPresent=function(e){var t=e?!this.addressSelectable:this.addressSelectable;return this.submissionAttempted&&t},n.prototype.postcodeLookupVisible=function(){return!this.shouldShowDetailFields()||!this.startedInternational&&!this.addressChosen},n.prototype.defaultLabel=function(e){return this.addressSelectable=e>0,this.canSelectAddress.emit(this.addressSelectable),0===e?"No address found":e+(1===e?" address ":" addresses ")+"found"},n.prototype.setFormValue=function(){this.formGroup&&this.formGroup.get("address").patchValue(this.addressField)},n.prototype.setPostcodeForm=function(){var e=void 0===this.isInternational&&this.formGroup.get("address")&&this.formGroup.get("address").get("postCode");this.addressFormGroup.get("postcode").patchValue(e?this.formGroup.get("address").get("postCode").value:"")},n}();Qe.decorators=[{type:t.Component,args:[{selector:"xuilib-write-address-field",template:'<div class="govuk-form-group" [formGroup]="addressFormGroup" [ngClass]="{\'govuk-form-group--error\': optionErrorsPresent}">\n <p class="govuk-error-message" *ngIf="optionErrorsPresent">\n <span class="govuk-visually-hidden">Error:</span>{{optionErrorMessage}}\n </p>\n <div *ngIf="postcodeLookupVisible()">\n <span class="govuk-label"><strong>Provide address details</strong></span>\n <div class="govuk-body postcode-lookup" id="addressLookup" [ngClass]="{\'govuk-form-group--error\': missingPostcode || postcodeErrorPresent(true)}">\n <p class="govuk-error-message" *ngIf="missingPostcode || postcodeErrorPresent(true)">\n <span class="govuk-visually-hidden">Error:</span>{{postcodeErrorMessage}}\n </p>\n <label for="postcodeInput">\n <span class="govuk-hint">Enter a UK postcode</span>\n </label>\n <div class="govuk-body">\n <input type="text" [ngClass]="{\'govuk-input--error\': missingPostcode}" id="postcodeInput" name="postcode"\n class="govuk-input govuk-!-width-one-third postcodeinput inline-block" formControlName="postcode">\n <button type="button" class="govuk-button find-address" (click)="findAddress()">Find address</button>\n </div>\n </div>\n\n <div class="govuk-body"\n *ngIf="addressOptions" id="selectAddress">\n <div class="govuk-body"\n [ngClass]="{\'govuk-form-group--error\': postcodeErrorPresent(false)}">\n <p class="govuk-error-message" *ngIf="postcodeErrorPresent(false)">\n <span class="govuk-visually-hidden">Error:</span>{{selectErrorMessage}}\n </p>\n <label class="govuk-label" for="addressList">\n <span class="form-label">Select an address</span>\n </label>\n <select class="form-control govuk-select ccd-dropdown addressList" id="addressList" name="address"\n formControlName="addressList" (change)="addressSelected()" focusElement>\n <option *ngFor="let addressOption of addressOptions" [ngValue]="addressOption.value">\n {{addressOption.description}}\n </option>\n </select>\n </div>\n </div>\n\n <a class="manual-link govuk-link" *ngIf="!shouldShowDetailFields() || (!startedInternational && !addressChosen)" (click)="blankAddress()"\n href="javascript:void(0)">I can\'t enter a UK postcode</a>\n </div>\n\n <div id="govuk-radios" class="govuk-radios" data-module="govuk-radios"\n *ngIf="shouldShowDetailFields() && internationalMode && startedInternational && !addressChosen">\n <div class="govuk-radios__item">\n <input class="govuk-radios__input" id="yes" value="yes" name="ukAddress" type="radio" data-aria-controls="address-fields"\n (click)="setInternationalAddress(false)" formControlName="ukAddress">\n <label class="govuk-label govuk-radios__label" for="yes">\n Yes\n </label>\n </div>\n <div class="govuk-radios__item">\n <input class="govuk-radios__input" id="no" value="no" name="ukAddress" type="radio" data-aria-controls="address-fields"\n (click)="setInternationalAddress(true)" formControlName="ukAddress">\n <label class="govuk-label govuk-radios__label" for="no">\n No\n </label>\n </div>\n <div class="govuk-radios__conditional" id="address-fields">\n <xuilib-write-address-inputs *ngIf="isInternational !== undefined" [formGroup]="formGroup" [isInternational]="isInternational"\n [submissionAttempted]="submissionAttempted">\n </xuilib-write-address-inputs>\n </div>\n </div>\n\n <xuilib-write-address-inputs *ngIf="shouldShowDetailFields() && (addressChosen || !internationalMode)"\n [formGroup]="formGroup" [isInternational]="false" [submissionAttempted]="submissionAttempted"></xuilib-write-address-inputs>\n\n</div>',styles:[".manual-link{cursor:pointer;display:block;text-decoration:underline;font-size:1.1875rem}.postcode-lookup{margin-bottom:-30px}.find-address{left:1%}:host{display:block}"]}]}],Qe.ctorParameters=function(){return[{type:X}]},Qe.propDecorators={formGroup:[{type:t.Input}],internationalMode:[{type:t.Input}],isInternational:[{type:t.Input}],submissionAttempted:[{type:t.Input}],startedInternational:[{type:t.Input}],addressChosen:[{type:t.Input}],postcodeOptionSelected:[{type:t.Output}],internationalModeStart:[{type:t.Output}],ukAddressOptionSelected:[{type:t.Output}],canSelectAddress:[{type:t.Output}],resetSubmission:[{type:t.Output}]};var Ze=function(){function t(){this.MESSAGE_ENUM=e.AddressMessageEnum,this.isInternational=!1,this.submissionAttempted=!1,this.missingPostcode=!1,this.errorsPresent=!1}return t.prototype.ngOnChanges=function(){var e=this.formGroup.get("address");this.errorsPresent=!e.valid},t}();Ze.decorators=[{type:t.Component,args:[{selector:"xuilib-write-address-inputs",template:'<ng-container>\n <form [formGroup]="formGroup">\n <div class="govuk-body" formGroupName="address" [ngClass]="{\'govuk-form-group--error\': submissionAttempted && errorsPresent}">\n <label class="govuk-label govuk-!-font-weight-bold">\n Enter address details\n </label>\n\n <div class="govuk-body">\n <label class="govuk-label" for="addressLine1">\n Building and Street\n </label>\n <p class="govuk-error-message" *ngIf="submissionAttempted && !formGroup.get(\'address\').get(\'addressLine1\').valid">\n <span class="govuk-visually-hidden">Error:</span>{{MESSAGE_ENUM.NO_STREET_SELECTED}}\n </p>\n <input class="govuk-input govuk-!-width-full" id="addressLine1" name="addressLine1" type="text"\n formControlName="addressLine1">\n </div>\n\n <div class="govuk-body">\n <label class="govuk-label" for="addressLine2">\n Address line 2 (Optional)\n </label>\n <input class="govuk-input govuk-!-width-full" id="addressLine2" name="addressLine2" type="text"\n formControlName="addressLine2">\n </div>\n\n <div class="govuk-body">\n <label class="govuk-label" for="addressLine3">\n Address line 3 (Optional)\n </label>\n <input class="govuk-input govuk-!-width-full" id="addressLine3" name="addressLine3" type="text"\n formControlName="addressLine3">\n </div>\n\n <div class="govuk-body">\n <label class="govuk-label" for="postTown">\n Town or City\n </label>\n <p class="govuk-error-message" *ngIf="submissionAttempted && !formGroup.get(\'address\').get(\'postTown\').valid">\n <span class="govuk-visually-hidden">Error:</span>{{MESSAGE_ENUM.NO_CITY_SELECTED}}\n </p>\n <input class="govuk-input govuk-!-width-two-thirds" id="postTown" name="postTown" type="text"\n formControlName="postTown">\n </div>\n\n <div class="govuk-body">\n <label class="govuk-label" for="county">\n County{{this.isInternational ? \'/ State/ Province\' : \'\'}} (Optional)\n </label>\n <input class="govuk-input govuk-!-width-two-thirds" id="county" name="county" type="text"\n formControlName="county">\n </div>\n\n <div *ngIf="isInternational" class="govuk-body">\n <label class="govuk-label" for="country">\n Country\n </label>\n <p class="govuk-error-message" *ngIf="submissionAttempted && !formGroup.get(\'address\').get(\'country\').valid">\n <span class="govuk-visually-hidden">Error:</span>{{MESSAGE_ENUM.NO_COUNTRY_SELECTED}}\n </p>\n <input class="govuk-input govuk-!-width-two-thirds" id="country" name="country" type="text"\n formControlName="country">\n </div>\n\n <div class="govuk-body">\n <label class="govuk-label" for="postCode">\n Postcode{{this.isInternational ? \' (Optional)\' : \'\'}}\n </label>\n <p class="govuk-error-message" *ngIf="submissionAttempted && !isInternational && this.formGroup.get(\'address\').get(\'postCode\').hasError(\'required\')">\n <span class="govuk-visually-hidden">Error:</span>{{MESSAGE_ENUM.NO_POSTCODE_SELECTED}}\n </p>\n <p class="govuk-error-message" *ngIf="submissionAttempted && !isInternational && this.formGroup.get(\'address\').get(\'postCode\').hasError(\'invalidPostcode\')">\n <span class="govuk-visually-hidden">Error:</span>{{MESSAGE_ENUM.INVALID_POSTCODE}}\n </p>\n <input class="govuk-input govuk-!-width-one-third" id="postCode" name="postCode" type="text"\n formControlName="postCode">\n </div>\n </div>\n</form>\n</ng-container>'}]}],Ze.ctorParameters=function(){return[]},Ze.propDecorators={formGroup:[{type:t.Input}],isInternational:[{type:t.Input}],submissionAttempted:[{type:t.Input}]};var et=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}();et.decorators=[{type:t.Directive,args:[{selector:"[xuilibFeatureToggle]"}]}],et.ctorParameters=function(){return[{type:D},{type:t.ViewContainerRef},{type:t.TemplateRef}]},et.propDecorators={xuilibFeatureToggle:[{type:t.Input}]};var tt=function(){this.$implicit=null,this.xuilibLet=null},nt=function(){function e(e,t){this.viewContainer=e,this.context=new tt,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}();nt.decorators=[{type:t.Directive,args:[{selector:"[xuilibLet]"}]}],nt.ctorParameters=function(){return[{type:t.ViewContainerRef},{type:t.TemplateRef}]},nt.propDecorators={xuilibLet:[{type:t.Input}]};var ot=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}();ot.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 | rpxTranslate}}\n </span>\n</div>\n'}]}],ot.ctorParameters=function(){return[]},ot.propDecorators={group:[{type:t.Input}],config:[{type:t.Input}],isChecked:[{type:t.Input}]};var it=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}(),st=function(){function e(){}return e.prototype.ngOnInit=function(){this.columns=this.setColumns()},e.prototype.setDescribedBy=function(){return it.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(A(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}();st.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}"]}]}],st.propDecorators={group:[{type:t.Input}],config:[{type:t.Input}],items:[{type:t.Input}],errorMessage:[{type:t.Input}]};var rt=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}();rt.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}"]}]}],rt.ctorParameters=function(){return[]},rt.propDecorators={config:[{type:t.Input}],errorMessage:[{type:t.Input}],formGroup:[{type:t.Input}],isOptional:[{type:t.Input}]};var at=function(){};at.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\' | rpxTranslate}}:</span>{{message | rpxTranslate}}\n</span>\n'}]}],at.ctorParameters=function(){return[]},at.propDecorators={config:[{type:t.Input}],errorMessage:[{type:t.Input}]};var lt=function(){function e(){}return e.prototype.setDescribedBy=function(){return it.setDescribedBy(this.errorMessage,this.config)},e}();lt.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 | rpxTranslate}}\n </legend>\n\n <legend [class]="config.classes + \' govuk-fieldset__legend\'" *ngIf="config.isPageHeading">\n <h1>{{config.legend | rpxTranslate}}</h1>\n </legend>\n\n <span [id]="config.id+\'-hint\'" class="govuk-hint" *ngIf="config.hint">\n {{config.hint | rpxTranslate}}\n </span>\n <ng-content></ng-content>\n</fieldset>\n'}]}],lt.ctorParameters=function(){return[]},lt.propDecorators={config:[{type:t.Input}],errorMessage:[{type:t.Input}]};var ct=function(){function e(){this.reloadInput=!0}return e.prototype.ngOnInit=function(){this.config.classes="govuk-label--m"},e.prototype.setDescribedBy=function(){return it.setDescribedBy(this.errorMessage,this.config)},e}();ct.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 | rpxTranslate}}\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>\n'}]}],ct.ctorParameters=function(){return[]},ct.propDecorators={errorMessage:[{type:t.Input}],group:[{type:t.Input}],config:[{type:t.Input}]};var ut=function(){};ut.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>'}]}],ut.ctorParameters=function(){return[]},ut.propDecorators={error:[{type:t.Input}],group:[{type:t.Input}],config:[{type:t.Input}]};var dt=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 it.setDescribedBy(this.errorMessage,this.config)},e}();dt.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 | rpxTranslate}}\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}"]}]}],dt.ctorParameters=function(){return[]},dt.propDecorators={errorMessage:[{type:t.Input}],group:[{type:t.Input}],config:[{type:t.Input}]};var pt=function(){};pt.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 | rpxTranslate }}</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}"]}]}],pt.ctorParameters=function(){return[]},pt.propDecorators={config:[{type:t.Input}]};var gt=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}();gt.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>\n'}]}],gt.ctorParameters=function(){return[]},gt.propDecorators={group:[{type:t.Input}],config:[{type:t.Input}]};var ht=function(){};ht.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>'}]}],ht.propDecorators={options:[{type:t.Input}],errors:[{type:t.Input}]};var mt=function(){function e(){}return e.prototype.setDescribedBy=function(){return it.setDescribedBy(this.errorMessage,this.config)},e}();mt.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 | rpxTranslate}}\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 | rpxTranslate}}</option>\n</select>\n</div>\n'}]}],mt.ctorParameters=function(){return[]},mt.propDecorators={errorMessage:[{type:t.Input}],group:[{type:t.Input}],config:[{type:t.Input}],items:[{type:t.Input}]};var ft=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}();ft.decorators=[{type:t.Component,args:[{selector:"xuilib-gov-uk-table",template:'<table class="{{\'govuk-table \' + classes}}">\n <caption class="govuk-table__caption">{{caption | rpxTranslate}}</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 | rpxTranslate}}</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] | rpxTranslate}}</ng-container>\n <ng-container *ngIf="col.type === \'link\' && r.routerLink">\n <a class="govuk-link" [routerLink]="r.routerLink">{{r[col.key] | rpxTranslate}}</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]) | rpxTranslate}}</ng-container>\n <ng-container *ngIf="!col.type || col.type === \'text\' || !r.routerLink">{{r[col.key] | rpxTranslate}}</ng-container>\n <ng-container *ngIf="col.type === \'link\' && r.routerLink">\n <a class="govuk-link" [routerLink]="r.routerLink">{{r[col.key] | rpxTranslate}}</a>\n </ng-container>\n </td>\n </ng-container>\n </tr>\n </tbody>\n</table>\n',styles:[""]}]}],ft.ctorParameters=function(){return[]},ft.propDecorators={classes:[{type:t.Input}],caption:[{type:t.Input}],firstCellIsHeader:[{type:t.Input}],rows:[{type:t.Input}],columnConfig:[{type:t.Input}]};var vt=function(){this.header="",this.key="",this.type="text"},bt=function(){function e(){}return e.prototype.setDescribedBy=function(){return it.setDescribedBy(this.errorMessage,this.config)},e}();bt.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 | rpxTranslate}}\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>\n'}]}],bt.propDecorators={config:[{type:t.Input}],errorMessage:[{type:t.Input}],group:[{type:t.Input}]};var yt=function(){this.title="",this.showMessageIcon=!1,this.messageBoldText=!1};yt.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 | rpxTranslate}}</span>\n <span class="hmcts-banner__message-text govuk-!-font-weight-bold">{{message | rpxTranslate}}</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}"]}]}],yt.propDecorators={message:[{type:t.Input}],type:[{type:t.Input}],title:[{type:t.Input}],showMessageIcon:[{type:t.Input}],messageBoldText:[{type:t.Input}]};var kt=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}();kt.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 | rpxTranslate}}\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\'] | rpxTranslate}}</a>\n <span *ngIf="!hasElement(message[\'id\'])">{{message[\'message\'] | rpxTranslate}}</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\' | rpxTranslate}}</span>\n <p class="govuk-body" *ngFor="let message of messages">{{ message[\'message\'] | rpxTranslate}}</p>\n </div>\n</div>\n'}]}],kt.ctorParameters=function(){return[{type:void 0,decorators:[{type:t.Inject,args:[n.DOCUMENT]}]}]},kt.propDecorators={errorMessages:[{type:t.Input}],header:[{type:t.Input}],showWarningMessage:[{type:t.Input}]};var Ct=function(){function e(){}return Object.defineProperty(e.prototype,"content",{set:function(e){this.value=e.name},enumerable:!1,configurable:!0}),e}();Ct.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 | rpxTranslate}}</span>\n\n </div>\n\n </div>\n\n</div>\n',styles:[""]}]}],Ct.ctorParameters=function(){return[]},Ct.propDecorators={content:[{type:t.Input}]};var xt=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}();xt.decorators=[{type:t.Component,args:[{selector:"xuilib-hmcts-main-wrapper",template:'<a *ngIf="hasBackLink" [routerLink]="backLink" (click)="onGoBack()" class="govuk-back-link">{{\'Back\' | rpxTranslate}}</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 | rpxTranslate}}</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 | rpxTranslate }}</a>\n </div>\n </div>\n </div>\n</main>\n'}]}],xt.ctorParameters=function(){return[]},xt.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 It=function(){this.maxSize=7,this.pageSize=10,this.showPageNumbers=!0,this.showResultCount=!0,this.pageChange=new t.EventEmitter,this.pageBoundsCorrection=new t.EventEmitter};It.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\' | rpxTranslate}}</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\' | rpxTranslate}} <span class="govuk-visually-hidden">{{\'set of pages\' | rpxTranslate}}</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\' | rpxTranslate}} </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\' | rpxTranslate}}<span class="govuk-visually-hidden"> {{\'page\' | rpxTranslate}}</span></a>\n </li>\n\n </ul>\n <p class="hmcts-pagination__results" *ngIf="showResultCount">{{\'Showing\' | rpxTranslate}} <b>{{(p.getCurrent() * pageSize) - pageSize + 1}}</b>\n {{\'to\' | rpxTranslate}} <b>{{ p.getCurrent() * pageSize > p.getTotalItems() ? p.getTotalItems() : p.getCurrent() *\n pageSize}}</b> {{\'of\' | rpxTranslate}} <b>{{p.getTotalItems()}}</b> {{\'results\' | rpxTranslate}}</p>\n </nav>\n\n</pagination-template>\n',styles:[".hmcts-pagination__results{float:right}"]}]}],It.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 St=function(){function e(){}return Object.defineProperty(e.prototype,"userLoggedIn",{set:function(e){this.isUserLoggedIn=e},enumerable:!1,configurable:!0}),e}();St.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 | rpxTranslate"></a>\n </li>\n </ul>\n </div>\n</nav>\n',styles:[""]}]}],St.ctorParameters=function(){return[]},St.propDecorators={userLoggedIn:[{type:t.Input}],label:[{type:t.Input}],items:[{type:t.Input}],isBrandedHeader:[{type:t.Input}]};var wt=function(){};wt.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 | rpxTranslate}}\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}"]}]}],wt.propDecorators={label:[{type:t.Input}],items:[{type:t.Input}]};var _t=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}();_t.decorators=[{type:t.Directive,args:[{selector:"[appRemoveHost]"}]}],_t.ctorParameters=function(){return[{type:t.ElementRef}]};var Tt=function(){function e(){}return e.prototype.transform=function(e){var t=e.toLowerCase();return t.charAt(0).toUpperCase()+t.slice(1)},e}();Tt.decorators=[{type:t.Pipe,args:[{name:"capitalize"}]}];var Et=[Xe,Fe,Ae,Oe,Le,N,et,nt,me,Pe,Ne,ve,fe,Te,we,Ce,xe,ke,_e,Ee,T,P,O,Ie,Se,be,he,De,Je,qe,Ge,Ye,Re,Ue,Me,ze,Ve,Qe,Ze],Lt=[Ct,It,wt,St,kt,xt,yt,ft,dt,ot,ut,pt,at,lt,rt,st,gt,ht,mt,bt,ct,_t],At=[Tt],Ot=Z,Ft=function(){};Ft.decorators=[{type:t.NgModule,args:[{declarations:A(Et,Lt,At),imports:[n.CommonModule,o.FormsModule,o.ReactiveFormsModule,s.RouterModule.forChild([]),g.MatAutocompleteModule,m.MatTabsModule,h.MatInputModule,f.NgxPaginationModule,v.RpxTranslationModule.forChild()],providers:[{provide:Q,useFactory:Ot}],exports:A(Et,Lt,[f.PaginatePipe],At)}]}];var Nt=function(){};Nt.ɵprov=y.ɵɵdefineInjectable({factory:function(){return new Nt},token:Nt,providedIn:"root"}),Nt.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],Nt.ctorParameters=function(){return[]},e.AccessibilityComponent=T,e.AddressModel=V,e.AddressOption=G,e.AddressService=X,e.AnonymousFeatureUser=q,e.COMMON_COMPONENTS=Et,e.CapitalizePipe=Tt,e.CheckboxListComponent=O,e.ContactDetailsComponent=N,e.CookieBannerComponent=De,e.CookieService=ae,e.DueDateComponent=P,e.ExuiCommonLibModule=Ft,e.ExuiPageWrapperComponent=Xe,e.FeatureToggleDirective=et,e.FeatureToggleGuard=M,e.FeatureToggleService=D,e.FilterService=ue,e.FindLocationComponent=Ge,e.FindPersonComponent=Je,e.FindServiceComponent=Ue,e.FindTaskNameComponent=Ye,e.GOV_UI_COMPONENTS=Lt,e.GenericFilterComponent=he,e.GoogleAnalyticsService=ee,e.GoogleTagManagerService=te,e.GovUiService=Nt,e.GovUkCheckboxComponent=ot,e.GovUkCheckboxesComponent=st,e.GovUkDateComponent=rt,e.GovUkErrorMessageComponent=at,e.GovUkFieldsetComponent=lt,e.GovUkFileUploadComponent=ct,e.GovUkFormGroupWrapperComponent=ut,e.GovUkInputComponent=dt,e.GovUkLabelComponent=pt,e.GovUkRadioComponent=gt,e.GovUkRadiosComponent=ht,e.GovUkSelectComponent=mt,e.GovUkTextareaComponent=bt,e.GovukTableColumnConfig=vt,e.GovukTableComponent=ft,e.HasLoadingState=le,e.HmctsBannerComponent=yt,e.HmctsErrorSummaryComponent=kt,e.HmctsIdentityBarComponent=Ct,e.HmctsMainWrapperComponent=xt,e.HmctsPaginationComponent=It,e.HmctsPrimaryNavigationComponent=St,e.HmctsSessionDialogComponent=me,e.HmctsSubNavigationComponent=wt,e.InviteUserFormComponent=fe,e.InviteUserPermissionComponent=ve,e.LaunchDarklyService=j,e.LetContext=tt,e.LetDirective=nt,e.LoadingService=ce,e.LoadingSpinnerComponent=be,e.LoggedInFeatureUser=J,e.ManageSessionServices=ne,e.PaginationComponent=Ve,e.RadioFilterFieldConfig=K,e.RefDataService=pe,e.RemoveHostDirective=_t,e.RoleGuard=re,e.RoleService=se,e.SECONDS_IN_A_DAY=86400,e.SearchJudicialsComponent=qe,e.SearchLocationComponent=Re,e.SearchServiceComponent=Me,e.SearchVenueComponent=ze,e.SelectedCaseComponent=xe,e.SelectedCaseConfirmComponent=ke,e.SelectedCaseListComponent=Ce,e.ServiceMessageComponent=Ie,e.ServiceMessagesComponent=Se,e.ShareCaseComponent=Te,e.ShareCaseConfirmComponent=we,e.TabComponent=Ee,e.TcConfirmComponent=Le,e.TcDisplayHtmlComponent=Ae,e.TcDisplayPlainComponent=Oe,e.TermsAndConditionsComponent=Fe,e.TimeoutNotificationsService=oe,e.UserDetailsComponent=Ne,e.UserListComponent=Pe,e.UserSelectComponent=_e,e.WriteAddressFieldComponent=Qe,e.WriteAddressInputsComponent=Ze,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=Z,e.windowToken=Q,e["ɵ0"]=Ot,e["ɵa"]=Xe,e["ɵb"]=Fe,e["ɵba"]=Ie,e["ɵbb"]=Se,e["ɵbc"]=be,e["ɵbd"]=he,e["ɵbe"]=ue,e["ɵbf"]=De,e["ɵbg"]=ae,e["ɵbh"]=Je,e["ɵbi"]=$e,e["ɵbj"]=Be,e["ɵbk"]=qe,e["ɵbl"]=Ge,e["ɵbm"]=Re,e["ɵbn"]=je,e["ɵbo"]=pe,e["ɵbp"]=Ye,e["ɵbq"]=Ke,e["ɵbr"]=Ue,e["ɵbs"]=Me,e["ɵbt"]=ze,e["ɵbu"]=Ve,e["ɵbv"]=Qe,e["ɵbw"]=X,e["ɵbx"]=Ze,e["ɵby"]=Ct,e["ɵbz"]=It,e["ɵc"]=Ae,e["ɵca"]=wt,e["ɵcb"]=St,e["ɵcc"]=kt,e["ɵcd"]=xt,e["ɵce"]=yt,e["ɵcf"]=ft,e["ɵcg"]=dt,e["ɵch"]=ot,e["ɵci"]=ut,e["ɵcj"]=pt,e["ɵck"]=at,e["ɵcl"]=lt,e["ɵcm"]=rt,e["ɵcn"]=st,e["ɵco"]=gt,e["ɵcp"]=ht,e["ɵcq"]=mt,e["ɵcr"]=bt,e["ɵcs"]=ct,e["ɵct"]=_t,e["ɵcu"]=Tt,e["ɵd"]=Oe,e["ɵe"]=Le,e["ɵf"]=N,e["ɵg"]=et,e["ɵh"]=D,e["ɵi"]=tt,e["ɵj"]=nt,e["ɵk"]=me,e["ɵl"]=Pe,e["ɵm"]=Ne,e["ɵn"]=ve,e["ɵo"]=fe,e["ɵp"]=Te,e["ɵq"]=_e,e["ɵr"]=ye,e["ɵs"]=we,e["ɵt"]=Ce,e["ɵu"]=xe,e["ɵv"]=ke,e["ɵw"]=Ee,e["ɵx"]=T,e["ɵy"]=P,e["ɵz"]=O,Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
2
2
|
//# sourceMappingURL=hmcts-rpx-xui-common-lib.umd.min.js.map
|