@hmcts/rpx-xui-common-lib 1.7.28 → 1.7.38

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.
Files changed (51) hide show
  1. package/bundles/hmcts-rpx-xui-common-lib.umd.js +169 -69
  2. package/bundles/hmcts-rpx-xui-common-lib.umd.js.map +1 -1
  3. package/bundles/hmcts-rpx-xui-common-lib.umd.min.js +1 -1
  4. package/bundles/hmcts-rpx-xui-common-lib.umd.min.js.map +1 -1
  5. package/esm2015/lib/components/find-location/find-location.component.js +3 -3
  6. package/esm2015/lib/components/find-service/find-service.component.js +21 -5
  7. package/esm2015/lib/components/generic-filter/generic-filter.component.js +1 -1
  8. package/esm2015/lib/components/search-location/search-location.component.js +1 -1
  9. package/esm2015/lib/components/search-service/search-service.component.js +3 -3
  10. package/esm2015/lib/components/share-case/share-case.component.js +10 -3
  11. package/esm2015/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.js +80 -6
  12. package/esm2015/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.js +3 -3
  13. package/esm2015/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.js +3 -2
  14. package/esm2015/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.js +1 -1
  15. package/esm2015/lib/gov-ui/components/gov-uk-select/gov-uk-select.component.js +2 -2
  16. package/esm2015/lib/gov-ui/models/checkboxes-model.js +6 -8
  17. package/esm2015/lib/gov-ui/models/gov-ui-config-model.js +5 -1
  18. package/esm2015/lib/gov-ui/models/radio-buttons.model.js +22 -0
  19. package/esm2015/lib/models/person.model.js +3 -1
  20. package/esm5/lib/components/find-location/find-location.component.js +3 -3
  21. package/esm5/lib/components/find-service/find-service.component.js +18 -5
  22. package/esm5/lib/components/generic-filter/generic-filter.component.js +1 -1
  23. package/esm5/lib/components/search-location/search-location.component.js +1 -1
  24. package/esm5/lib/components/search-service/search-service.component.js +3 -3
  25. package/esm5/lib/components/share-case/share-case.component.js +10 -3
  26. package/esm5/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.js +100 -6
  27. package/esm5/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.js +3 -3
  28. package/esm5/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.js +3 -2
  29. package/esm5/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.js +1 -1
  30. package/esm5/lib/gov-ui/components/gov-uk-select/gov-uk-select.component.js +2 -2
  31. package/esm5/lib/gov-ui/models/checkboxes-model.js +6 -8
  32. package/esm5/lib/gov-ui/models/gov-ui-config-model.js +5 -1
  33. package/esm5/lib/gov-ui/models/radio-buttons.model.js +22 -0
  34. package/esm5/lib/models/person.model.js +3 -1
  35. package/fesm2015/hmcts-rpx-xui-common-lib.js +133 -50
  36. package/fesm2015/hmcts-rpx-xui-common-lib.js.map +1 -1
  37. package/fesm5/hmcts-rpx-xui-common-lib.js +170 -71
  38. package/fesm5/hmcts-rpx-xui-common-lib.js.map +1 -1
  39. package/hmcts-rpx-xui-common-lib.metadata.json +1 -1
  40. package/lib/components/find-service/find-service.component.d.ts +3 -1
  41. package/lib/components/share-case/share-case.component.d.ts +2 -0
  42. package/lib/exui-common-lib.module.d.ts +4 -3
  43. package/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.d.ts +14 -5
  44. package/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.d.ts +1 -2
  45. package/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.d.ts +1 -0
  46. package/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.d.ts +2 -2
  47. package/lib/gov-ui/models/checkboxes-model.d.ts +4 -7
  48. package/lib/gov-ui/models/gov-ui-config-model.d.ts +2 -0
  49. package/lib/gov-ui/models/radio-buttons.model.d.ts +9 -0
  50. package/lib/models/person.model.d.ts +2 -0
  51. package/package.json +1 -1
@@ -25,7 +25,7 @@ var GovUkSelectComponent = /** @class */ (function () {
25
25
  GovUkSelectComponent.decorators = [
26
26
  { type: Component, args: [{
27
27
  selector: 'xuilib-gov-select',
28
- template: "<div class=\"govuk-form-group\" [formGroup]=\"group\"\n[ngClass]=\"{'govuk-form-group--error': errorMessage?.isInvalid}\">\n<xuilib-gov-label [config]=\"config\"></xuilib-gov-label>\n<span *ngIf=\"config.hint\" [id]=\"config.id +'-hint'\" class=\"govuk-hint\">\n {{config.hint}}\n</span>\n<xuilib-gov-uk-error-message [config]=\"config\" [errorMessage]=\"errorMessage\"></xuilib-gov-uk-error-message>\n\n<select class=\"govuk-select\" [id]=\"config.id\" [name]=\"config.id\" [formControlName]=\"config.id\" [attr.aria-describedby]='setDescribedBy()'>\n<option value=\"{{item.value}}\" *ngFor=\"let item of items\">{{item.label}}</option>\n</select>\n</div>"
28
+ template: "<div class=\"govuk-form-group\" [formGroup]=\"group\"\n[ngClass]=\"{'govuk-form-group--error': errorMessage?.isInvalid}\">\n<xuilib-gov-label [config]=\"config\"></xuilib-gov-label>\n<span *ngIf=\"config.hint\" [id]=\"config.id +'-hint'\" class=\"govuk-hint\">\n {{config.hint}}\n</span>\n<xuilib-gov-uk-error-message [config]=\"config\" [errorMessage]=\"errorMessage\"></xuilib-gov-uk-error-message>\n\n<select class=\"govuk-select\"\n [class.govuk-!-width-full]=\"config.fullWidth\"\n [id]=\"config.id\" [name]=\"config.id\" [formControlName]=\"config.id\" [attr.aria-describedby]='setDescribedBy()'>\n <option value=\"{{item.value}}\" *ngFor=\"let item of items\">{{item.label}}</option>\n</select>\n</div>\n"
29
29
  }] }
30
30
  ];
31
31
  /** @nocollapse */
@@ -49,4 +49,4 @@ if (false) {
49
49
  /** @type {?} */
50
50
  GovUkSelectComponent.prototype.items;
51
51
  }
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ292LXVrLXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvcnB4LXh1aS1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL2dvdi11aS9jb21wb25lbnRzL2dvdi11ay1zZWxlY3QvZ292LXVrLXNlbGVjdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMvQyxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFHekMsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sMENBQTBDLENBQUM7Ozs7O0FBSzdFO0lBS0U7SUFBZSxDQUFDOzs7O0lBT1QsNkNBQWM7OztJQUFyQjtRQUNFLE9BQU8sbUJBQW1CLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzVFLENBQUM7O2dCQWRGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsbUJBQW1CO29CQUM3Qiw0cEJBQTZDO2lCQUM5Qzs7Ozs7K0JBR0UsS0FBSzt3QkFDTCxLQUFLO3lCQUNMLEtBQUs7d0JBRUwsS0FBSzs7SUFNUiwyQkFBQztDQUFBLEFBaEJELElBZ0JDO1NBWlksb0JBQW9COzs7SUFFL0IsNENBQWlEOztJQUNqRCxxQ0FBaUM7O0lBQ2pDLHNDQUF5Qzs7SUFFekMscUNBQW9FIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Rm9ybUdyb3VwfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBFcnJvck1lc3NhZ2VzTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgR292VWlDb25maWdNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9nb3YtdWktY29uZmlnLW1vZGVsJztcbmltcG9ydCB7SHRtbFRlbXBsYXRlc0hlbHBlcn0gZnJvbSAnLi4vLi4vdXRpbC9oZWxwZXJzL2h0bWwtdGVtcGxhdGVzLmhlbHBlcic7XG4vKlxuKiBHb3YgVWsgU2VsZWN0IER1bWIgQ29tcG9uZW50IHJlc3BvbnNpYmxlIGZvclxuKiBkcm9wZG93biBpbnB1dC5cbiogKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3h1aWxpYi1nb3Ytc2VsZWN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2dvdi11ay1zZWxlY3QuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEdvdlVrU2VsZWN0Q29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IoKSB7fVxuICBASW5wdXQoKSBwdWJsaWMgZXJyb3JNZXNzYWdlOiBFcnJvck1lc3NhZ2VzTW9kZWw7XG4gIEBJbnB1dCgpIHB1YmxpYyBncm91cDogRm9ybUdyb3VwO1xuICBASW5wdXQoKSBwdWJsaWMgY29uZmlnOiBHb3ZVaUNvbmZpZ01vZGVsO1xuICAvLyB7aGludDogc3RyaW5nOyBuYW1lOiBzdHJpbmc7IGlkOiBzdHJpbmcsICBpc1BhZ2VIZWFkaW5nOiBib29sZWFuLCBjbGFzc2VzOiBzdHJpbmcgfTtcbiAgQElucHV0KCkgcHVibGljIGl0ZW1zOiB7bGFiZWw6IHN0cmluZywgdmFsdWU6IHN0cmluZzsgaWQ6IHN0cmluZ31bXTtcblxuICBwdWJsaWMgc2V0RGVzY3JpYmVkQnkoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gSHRtbFRlbXBsYXRlc0hlbHBlci5zZXREZXNjcmliZWRCeSh0aGlzLmVycm9yTWVzc2FnZSwgdGhpcy5jb25maWcpO1xuICB9XG5cbn1cbiJdfQ==
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ292LXVrLXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvcnB4LXh1aS1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL2dvdi11aS9jb21wb25lbnRzL2dvdi11ay1zZWxlY3QvZ292LXVrLXNlbGVjdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMvQyxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFHekMsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sMENBQTBDLENBQUM7Ozs7O0FBSzdFO0lBS0U7SUFBZSxDQUFDOzs7O0lBT1QsNkNBQWM7OztJQUFyQjtRQUNFLE9BQU8sbUJBQW1CLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzVFLENBQUM7O2dCQWRGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixrdUJBQTZDO2lCQUM5Qzs7Ozs7K0JBR0UsS0FBSzt3QkFDTCxLQUFLO3lCQUNMLEtBQUs7d0JBRUwsS0FBSzs7SUFLUiwyQkFBQztDQUFBLEFBZkQsSUFlQztTQVhZLG9CQUFvQjs7O0lBRS9CLDRDQUFpRDs7SUFDakQscUNBQWlDOztJQUNqQyxzQ0FBeUM7O0lBRXpDLHFDQUF1RSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Zvcm1Hcm91cH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRXJyb3JNZXNzYWdlc01vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IEdvdlVpQ29uZmlnTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZ292LXVpLWNvbmZpZy1tb2RlbCc7XG5pbXBvcnQge0h0bWxUZW1wbGF0ZXNIZWxwZXJ9IGZyb20gJy4uLy4uL3V0aWwvaGVscGVycy9odG1sLXRlbXBsYXRlcy5oZWxwZXInO1xuLypcbiogR292IFVrIFNlbGVjdCBEdW1iIENvbXBvbmVudCByZXNwb25zaWJsZSBmb3JcbiogZHJvcGRvd24gaW5wdXQuXG4qICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd4dWlsaWItZ292LXNlbGVjdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9nb3YtdWstc2VsZWN0LmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBHb3ZVa1NlbGVjdENvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKCkge31cbiAgQElucHV0KCkgcHVibGljIGVycm9yTWVzc2FnZTogRXJyb3JNZXNzYWdlc01vZGVsO1xuICBASW5wdXQoKSBwdWJsaWMgZ3JvdXA6IEZvcm1Hcm91cDtcbiAgQElucHV0KCkgcHVibGljIGNvbmZpZzogR292VWlDb25maWdNb2RlbDtcbiAgLy8ge2hpbnQ6IHN0cmluZzsgbmFtZTogc3RyaW5nOyBpZDogc3RyaW5nLCAgaXNQYWdlSGVhZGluZzogYm9vbGVhbiwgY2xhc3Nlczogc3RyaW5nIH07XG4gIEBJbnB1dCgpIHB1YmxpYyBpdGVtczogeyBsYWJlbDogc3RyaW5nLCB2YWx1ZTogc3RyaW5nOyBpZDogc3RyaW5nOyB9W107XG5cbiAgcHVibGljIHNldERlc2NyaWJlZEJ5KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIEh0bWxUZW1wbGF0ZXNIZWxwZXIuc2V0RGVzY3JpYmVkQnkodGhpcy5lcnJvck1lc3NhZ2UsIHRoaXMuY29uZmlnKTtcbiAgfVxufVxuIl19
@@ -9,14 +9,12 @@
9
9
  export function CheckboxesModel() { }
10
10
  if (false) {
11
11
  /** @type {?} */
12
- CheckboxesModel.prototype.key;
12
+ CheckboxesModel.prototype.id;
13
13
  /** @type {?} */
14
- CheckboxesModel.prototype.group;
14
+ CheckboxesModel.prototype.value;
15
15
  /** @type {?} */
16
- CheckboxesModel.prototype.config;
17
- /** @type {?} */
18
- CheckboxesModel.prototype.errors;
19
- /** @type {?} */
20
- CheckboxesModel.prototype.items;
16
+ CheckboxesModel.prototype.label;
17
+ /** @type {?|undefined} */
18
+ CheckboxesModel.prototype.hint;
21
19
  }
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3hlcy1tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BobWN0cy9ycHgteHVpLWNvbW1vbi1saWIvIiwic291cmNlcyI6WyJsaWIvZ292LXVpL21vZGVscy9jaGVja2JveGVzLW1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBR0EscUNBTUM7OztJQUxDLDhCQUFZOztJQUNaLGdDQUFpQjs7SUFDakIsaUNBQXlCOztJQUN6QixpQ0FBWTs7SUFDWixnQ0FBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0Zvcm1Hcm91cH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgR292VWlDb25maWdNb2RlbCB9IGZyb20gJy4vZ292LXVpLWNvbmZpZy1tb2RlbCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlY2tib3hlc01vZGVsIHtcbiAga2V5OiBzdHJpbmc7XG4gIGdyb3VwOiBGb3JtR3JvdXA7XG4gIGNvbmZpZzogR292VWlDb25maWdNb2RlbDtcbiAgZXJyb3JzOiBhbnk7XG4gIGl0ZW1zOiBHb3ZVaUNvbmZpZ01vZGVsW107XG59XG4iXX0=
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3hlcy1tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BobWN0cy9ycHgteHVpLWNvbW1vbi1saWIvIiwic291cmNlcyI6WyJsaWIvZ292LXVpL21vZGVscy9jaGVja2JveGVzLW1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEscUNBS0M7OztJQUpDLDZCQUFXOztJQUNYLGdDQUFjOztJQUNkLGdDQUFjOztJQUNkLCtCQUFjIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBDaGVja2JveGVzTW9kZWwge1xuICBpZDogc3RyaW5nO1xuICB2YWx1ZTogc3RyaW5nO1xuICBsYWJlbDogc3RyaW5nO1xuICBoaW50Pzogc3RyaW5nO1xufVxuIl19
@@ -32,5 +32,9 @@ if (false) {
32
32
  GovUiConfigModel.prototype.isPageHeading;
33
33
  /** @type {?|undefined} */
34
34
  GovUiConfigModel.prototype.rows;
35
+ /** @type {?|undefined} */
36
+ GovUiConfigModel.prototype.fullWidth;
37
+ /** @type {?|undefined} */
38
+ GovUiConfigModel.prototype.optional;
35
39
  }
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ292LXVpLWNvbmZpZy1tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BobWN0cy9ycHgteHVpLWNvbW1vbi1saWIvIiwic291cmNlcyI6WyJsaWIvZ292LXVpL21vZGVscy9nb3YtdWktY29uZmlnLW1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsc0NBYUM7OztJQVpDLDhCQUFXOztJQUNYLGlDQUFlOztJQUNmLGlDQUFlOztJQUNmLGdDQUFjOztJQUNkLGdDQUFjOztJQUNkLG1DQUFpQjs7SUFDakIsbUNBQWlCOztJQUNqQixrQ0FBZ0I7O0lBQ2hCLCtCQUFhOztJQUNiLGdDQUFjOztJQUNkLHlDQUF3Qjs7SUFDeEIsZ0NBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEdvdlVpQ29uZmlnTW9kZWwge1xuICBpZDogc3RyaW5nO1xuICB2YWx1ZT86IHN0cmluZztcbiAgbGFiZWw/OiBzdHJpbmc7XG4gIGhpbnQ/OiBzdHJpbmc7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIGZvY3VzT24/OiBzdHJpbmc7XG4gIGNsYXNzZXM/OiBzdHJpbmc7XG4gIGxlZ2VuZD86IHN0cmluZztcbiAga2V5Pzogc3RyaW5nO1xuICB0eXBlPzogc3RyaW5nO1xuICBpc1BhZ2VIZWFkaW5nPzogYm9vbGVhbjtcbiAgcm93cz86IG51bWJlcjtcbn1cbiJdfQ==
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ292LXVpLWNvbmZpZy1tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BobWN0cy9ycHgteHVpLWNvbW1vbi1saWIvIiwic291cmNlcyI6WyJsaWIvZ292LXVpL21vZGVscy9nb3YtdWktY29uZmlnLW1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsc0NBZUM7OztJQWRDLDhCQUFXOztJQUNYLGlDQUFlOztJQUNmLGlDQUFlOztJQUNmLGdDQUFjOztJQUNkLGdDQUFjOztJQUNkLG1DQUFpQjs7SUFDakIsbUNBQWlCOztJQUNqQixrQ0FBZ0I7O0lBQ2hCLCtCQUFhOztJQUNiLGdDQUFjOztJQUNkLHlDQUF3Qjs7SUFDeEIsZ0NBQWM7O0lBQ2QscUNBQW9COztJQUNwQixvQ0FBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEdvdlVpQ29uZmlnTW9kZWwge1xuICBpZDogc3RyaW5nO1xuICB2YWx1ZT86IHN0cmluZztcbiAgbGFiZWw/OiBzdHJpbmc7XG4gIGhpbnQ/OiBzdHJpbmc7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIGZvY3VzT24/OiBzdHJpbmc7XG4gIGNsYXNzZXM/OiBzdHJpbmc7XG4gIGxlZ2VuZD86IHN0cmluZztcbiAga2V5Pzogc3RyaW5nO1xuICB0eXBlPzogc3RyaW5nO1xuICBpc1BhZ2VIZWFkaW5nPzogYm9vbGVhbjtcbiAgcm93cz86IG51bWJlcjtcbiAgZnVsbFdpZHRoPzogYm9vbGVhbjtcbiAgb3B0aW9uYWw/OiBib29sZWFuO1xufVxuIl19
@@ -0,0 +1,22 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * Generated from: lib/gov-ui/models/radio-buttons.model.ts
4
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
+ */
6
+ /**
7
+ * @record
8
+ */
9
+ export function RadioButtonsModel() { }
10
+ if (false) {
11
+ /** @type {?} */
12
+ RadioButtonsModel.prototype.key;
13
+ /** @type {?} */
14
+ RadioButtonsModel.prototype.group;
15
+ /** @type {?} */
16
+ RadioButtonsModel.prototype.config;
17
+ /** @type {?} */
18
+ RadioButtonsModel.prototype.errors;
19
+ /** @type {?} */
20
+ RadioButtonsModel.prototype.items;
21
+ }
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tYnV0dG9ucy5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BobWN0cy9ycHgteHVpLWNvbW1vbi1saWIvIiwic291cmNlcyI6WyJsaWIvZ292LXVpL21vZGVscy9yYWRpby1idXR0b25zLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBR0EsdUNBTUM7OztJQUxDLGdDQUFZOztJQUNaLGtDQUFpQjs7SUFDakIsbUNBQXlCOztJQUN6QixtQ0FBWTs7SUFDWixrQ0FBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBHb3ZVaUNvbmZpZ01vZGVsIH0gZnJvbSAnLi9nb3YtdWktY29uZmlnLW1vZGVsJztcblxuZXhwb3J0IGludGVyZmFjZSBSYWRpb0J1dHRvbnNNb2RlbCB7XG4gIGtleTogc3RyaW5nO1xuICBncm91cDogRm9ybUdyb3VwO1xuICBjb25maWc6IEdvdlVpQ29uZmlnTW9kZWw7XG4gIGVycm9yczogYW55O1xuICBpdGVtczogR292VWlDb25maWdNb2RlbFtdO1xufVxuXG4iXX0=
@@ -78,6 +78,7 @@ var PersonRole = {
78
78
  JUDICIAL: "Judicial",
79
79
  CASEWORKER: "Legal Ops",
80
80
  ADMIN: "Admin",
81
+ CTSC: "CTSC User",
81
82
  ALL: "All",
82
83
  };
83
84
  export { PersonRole };
@@ -86,7 +87,8 @@ var RoleCategory = {
86
87
  JUDICIAL: "JUDICIAL",
87
88
  CASEWORKER: "LEGAL_OPERATIONS",
88
89
  ADMIN: "ADMIN",
90
+ CTSC: "CTSC",
89
91
  ALL: "ALL",
90
92
  };
91
93
  export { RoleCategory };
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyc29uLm1vZGVsLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGhtY3RzL3JweC14dWktY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9tb2RlbHMvcGVyc29uLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsNEJBTUM7OztJQUxDLG9CQUFXOztJQUNYLHNCQUFhOztJQUNiLHVCQUFlOztJQUNmLHdCQUFlOztJQUNmLHlCQUFpQjs7Ozs7QUFHbkIsdUNBV0M7OztJQVZDLG9DQUFnQjs7SUFDaEIscUNBQWlCOztJQUNqQixtQ0FBZTs7SUFDZixvQ0FBZ0I7O0lBQ2hCLHlDQUFxQjs7SUFDckIsMENBQXNCOztJQUN0QixvQ0FBZ0I7O0lBQ2hCLHlDQUFxQjs7SUFDckIsb0NBQWdCOztJQUNoQixrQ0FBYzs7Ozs7QUFHaEIsMENBR0M7OztJQUZDLHVDQUFnQjs7SUFDaEIsMkNBQTBCOzs7OztBQUc1QixnQ0FPQzs7O0lBTkMsNEJBQWU7O0lBQ2YsK0JBQWtCOztJQUNsQiw4QkFBaUI7O0lBQ2pCLDJCQUFjOztJQUNkLDZCQUFpQjs7SUFDakIsa0NBQXFCOzs7QUFHdkIsSUFBWSxVQUFVO0lBQ3BCLFFBQVEsWUFBYTtJQUNyQixVQUFVLGFBQWM7SUFDeEIsS0FBSyxTQUFVO0lBQ2YsR0FBRyxPQUFRO0VBQ1o7OztBQUlELElBQVksWUFBWTtJQUN0QixRQUFRLFlBQWE7SUFDckIsVUFBVSxvQkFBcUI7SUFDL0IsS0FBSyxTQUFVO0lBQ2YsR0FBRyxPQUFRO0VBQ1oiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFBlcnNvbiB7XG4gIGlkOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgZW1haWw/OiBzdHJpbmc7XG4gIGRvbWFpbjogc3RyaW5nO1xuICBrbm93bkFzPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEp1ZGljaWFsVXNlck1vZGVsIHtcbiAgZW1haWxJZDogc3RyaW5nO1xuICBmdWxsTmFtZTogc3RyaW5nO1xuICBpZGFtSWQ6IHN0cmluZztcbiAgaXNKdWRnZTogc3RyaW5nO1xuICBpc01hZ2lzdHJhdGU6IHN0cmluZztcbiAgaXNQYW5lbE1lbWJlcjogc3RyaW5nO1xuICBrbm93bkFzOiBzdHJpbmc7XG4gIHBlcnNvbmFsQ29kZTogc3RyaW5nO1xuICBzdXJuYW1lOiBzdHJpbmc7XG4gIHRpdGxlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FzZXdvcmtlcnNCeVNlcnZpY2Uge1xuICBzZXJ2aWNlOiBzdHJpbmc7XG4gIGNhc2V3b3JrZXJzOiBDYXNld29ya2VyW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FzZXdvcmtlciB7XG4gIGlkYW1JZDogc3RyaW5nO1xuICBmaXJzdE5hbWU6IHN0cmluZztcbiAgbGFzdE5hbWU6IHN0cmluZztcbiAgZW1haWw6IHN0cmluZztcbiAga25vd25Bcz86IHN0cmluZztcbiAgcm9sZUNhdGVnb3J5OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBlbnVtIFBlcnNvblJvbGUge1xuICBKVURJQ0lBTCA9ICdKdWRpY2lhbCcsXG4gIENBU0VXT1JLRVIgPSAnTGVnYWwgT3BzJyxcbiAgQURNSU4gPSAnQWRtaW4nLFxuICBBTEwgPSAnQWxsJyxcbn1cblxuLy8gTm90ZTogUm9sZUNhdGVnb3J5IGNvdWxkIHJlcGxhY2UgUGVyc29uUm9sZSBwb3NzaWJseVxuLy8gSG93ZXZlciBhIGxvdCBvZiB3ZWJhcHAgbG9naWMgaXMgYmFzZWQgb24gY3VycmVudCBQZXJzb25Sb2xlIHVuZGVyc3RhbmRpbmdcbmV4cG9ydCBlbnVtIFJvbGVDYXRlZ29yeSB7XG4gIEpVRElDSUFMID0gJ0pVRElDSUFMJyxcbiAgQ0FTRVdPUktFUiA9ICdMRUdBTF9PUEVSQVRJT05TJyxcbiAgQURNSU4gPSAnQURNSU4nLFxuICBBTEwgPSAnQUxMJ1xufVxuIl19
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyc29uLm1vZGVsLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGhtY3RzL3JweC14dWktY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9tb2RlbHMvcGVyc29uLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsNEJBTUM7OztJQUxDLG9CQUFXOztJQUNYLHNCQUFhOztJQUNiLHVCQUFlOztJQUNmLHdCQUFlOztJQUNmLHlCQUFpQjs7Ozs7QUFHbkIsdUNBV0M7OztJQVZDLG9DQUFnQjs7SUFDaEIscUNBQWlCOztJQUNqQixtQ0FBZTs7SUFDZixvQ0FBZ0I7O0lBQ2hCLHlDQUFxQjs7SUFDckIsMENBQXNCOztJQUN0QixvQ0FBZ0I7O0lBQ2hCLHlDQUFxQjs7SUFDckIsb0NBQWdCOztJQUNoQixrQ0FBYzs7Ozs7QUFHaEIsMENBR0M7OztJQUZDLHVDQUFnQjs7SUFDaEIsMkNBQTBCOzs7OztBQUc1QixnQ0FPQzs7O0lBTkMsNEJBQWU7O0lBQ2YsK0JBQWtCOztJQUNsQiw4QkFBaUI7O0lBQ2pCLDJCQUFjOztJQUNkLDZCQUFpQjs7SUFDakIsa0NBQXFCOzs7QUFHdkIsSUFBWSxVQUFVO0lBQ3BCLFFBQVEsWUFBYTtJQUNyQixVQUFVLGFBQWM7SUFDeEIsS0FBSyxTQUFVO0lBQ2YsSUFBSSxhQUFjO0lBQ2xCLEdBQUcsT0FBUTtFQUNaOzs7QUFJRCxJQUFZLFlBQVk7SUFDdEIsUUFBUSxZQUFhO0lBQ3JCLFVBQVUsb0JBQXFCO0lBQy9CLEtBQUssU0FBVTtJQUNmLElBQUksUUFBUztJQUNiLEdBQUcsT0FBUTtFQUNaIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBQZXJzb24ge1xuICBpZDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIGVtYWlsPzogc3RyaW5nO1xuICBkb21haW46IHN0cmluZztcbiAga25vd25Bcz86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBKdWRpY2lhbFVzZXJNb2RlbCB7XG4gIGVtYWlsSWQ6IHN0cmluZztcbiAgZnVsbE5hbWU6IHN0cmluZztcbiAgaWRhbUlkOiBzdHJpbmc7XG4gIGlzSnVkZ2U6IHN0cmluZztcbiAgaXNNYWdpc3RyYXRlOiBzdHJpbmc7XG4gIGlzUGFuZWxNZW1iZXI6IHN0cmluZztcbiAga25vd25Bczogc3RyaW5nO1xuICBwZXJzb25hbENvZGU6IHN0cmluZztcbiAgc3VybmFtZTogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENhc2V3b3JrZXJzQnlTZXJ2aWNlIHtcbiAgc2VydmljZTogc3RyaW5nO1xuICBjYXNld29ya2VyczogQ2FzZXdvcmtlcltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENhc2V3b3JrZXIge1xuICBpZGFtSWQ6IHN0cmluZztcbiAgZmlyc3ROYW1lOiBzdHJpbmc7XG4gIGxhc3ROYW1lOiBzdHJpbmc7XG4gIGVtYWlsOiBzdHJpbmc7XG4gIGtub3duQXM/OiBzdHJpbmc7XG4gIHJvbGVDYXRlZ29yeTogc3RyaW5nO1xufVxuXG5leHBvcnQgZW51bSBQZXJzb25Sb2xlIHtcbiAgSlVESUNJQUwgPSAnSnVkaWNpYWwnLFxuICBDQVNFV09SS0VSID0gJ0xlZ2FsIE9wcycsXG4gIEFETUlOID0gJ0FkbWluJyxcbiAgQ1RTQyA9ICdDVFNDIFVzZXInLFxuICBBTEwgPSAnQWxsJyxcbn1cblxuLy8gTm90ZTogUm9sZUNhdGVnb3J5IGNvdWxkIHJlcGxhY2UgUGVyc29uUm9sZSBwb3NzaWJseVxuLy8gSG93ZXZlciBhIGxvdCBvZiB3ZWJhcHAgbG9naWMgaXMgYmFzZWQgb24gY3VycmVudCBQZXJzb25Sb2xlIHVuZGVyc3RhbmRpbmdcbmV4cG9ydCBlbnVtIFJvbGVDYXRlZ29yeSB7XG4gIEpVRElDSUFMID0gJ0pVRElDSUFMJyxcbiAgQ0FTRVdPUktFUiA9ICdMRUdBTF9PUEVSQVRJT05TJyxcbiAgQURNSU4gPSAnQURNSU4nLFxuICBDVFNDID0gJ0NUU0MnLFxuICBBTEwgPSAnQUxMJ1xufVxuIl19
@@ -1208,7 +1208,7 @@ GenericFilterComponent.decorators = [
1208
1208
  template: "<form [formGroup]=\"form\" (ngSubmit)=\"applyFilter(form)\">\n <div class=\"contain-classes\" *ngFor=\"let field of config.fields\">\n <hr *ngIf=\"field.lineBreakBefore\" class=\"govuk-section-break govuk-section-break--visible elevated-break\">\n <div class=\"govuk-form-group xui-generic-filter\"\n [hidden]=\"hidden(field, form)\"\n [id]=\"field.name\"\n [ngClass]=\"{'form-group-error': submitted && (form.get(field.name).errors?.minLength || form.get(field.name).errors?.maxLength)}\">\n <h3 *ngIf=\"field.title\" class=\"govuk-heading-s\">{{field.title}}</h3>\n <p class=\"govuk-body\" *ngIf=\"field.subTitle\">{{field.subTitle}}</p>\n <span [id]=\"field.name + '-error'\" class=\"govuk-error-message\" *ngIf=\"field.displayMinSelectedError && submitted && form.get(field.name).errors?.minLength\">\n <span class=\"govuk-visually-hidden\">Error:</span> {{field.minSelectedError}}\n </span>\n <span [id]=\"field.name + '-error'\" class=\"govuk-error-message\" *ngIf=\"field.displayMaxSelectedError && submitted && form.get(field.name).errors?.maxLength\">\n <span class=\"govuk-visually-hidden\">Error:</span> {{field.maxSelectedError}}\n </span>\n <div class=\"govuk-body\" [ngSwitch]=\"field.type\">\n <ng-container *ngSwitchCase=\"'select'\">\n <select class=\"govuk-select\" (change)=\"fieldChanged(field, form)\" [attr.disabled]=\"disabled(field, form)\" [name]=\"'select_' + field.name\" [id]=\"'select_' + field.name\" [formControlName]=\"field.name\">\n <option disabled selected hidden value=\"\">{{field.disabledText}}</option>\n <option class=\"govuk-radios__item\" *ngFor=\"let item of field.options\" [value]=\"item.key\">{{item.label}}</option>\n </select>\n </ng-container>\n <ng-container *ngSwitchCase=\"'checkbox'\">\n <div class=\"govuk-checkboxes govuk-checkboxes--small\" [formGroupName]=\"field.name\" [attr.field]=\"field.name\" [id]=\"'checkbox_' + field.name\">\n <div *ngFor=\"let item of field.options; let i = index\" class=\"govuk-checkboxes__item\">\n <input type=\"checkbox\" class=\"govuk-checkboxes__input\"\n [attr.disabled]=\"disabled(field, form)\"\n [formControlName]=\"i\"\n (change)=\"toggleSelectAll($event, form, item, field)\"\n [value]=\"item.key\" [id]=\"'checkbox_' + item.key\"\n [name]=\"'checkbox_' + item.key\"\n />\n <label\n [for]=\"'checkbox_' + item.key\"\n class=\"govuk-label govuk-checkboxes__label\"\n [ngClass]=\"{'govuk-!-font-weight-bold': item.selectAll}\"\n >{{item.label}}</label>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'checkbox-large'\">\n <div class=\"govuk-checkboxes\" [formGroupName]=\"field.name\" [attr.field]=\"field.name\" [id]=\"'checkbox_' + field.name\">\n <div *ngFor=\"let item of field.options; let i = index\" class=\"govuk-checkboxes__item\">\n <input type=\"checkbox\" class=\"govuk-checkboxes__input\"\n [attr.disabled]=\"disabled(field, form)\"\n [formControlName]=\"i\"\n (change)=\"toggleSelectAll($event, form, item, field)\"\n [value]=\"item.key\" [id]=\"'checkbox_' + item.key\"\n [name]=\"'checkbox_' + item.key\"\n />\n <label\n [for]=\"'checkbox_' + item.key\"\n class=\"govuk-label govuk-checkboxes__label\"\n [ngClass]=\"{'govuk-!-font-weight-bold': item.selectAll}\"\n >{{item.label}}</label>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'radio'\">\n <div class=\"govuk-radios\">\n <div *ngFor=\"let item of field.options\" class=\"govuk-radios__item\">\n <input type=\"radio\"\n [formControlName]=\"field.name\"\n [id]=\"'radio_' + item.key\"\n [attr.disabled]=\"disabled(field, form)\"\n [checked]=\"item.key === form.get(field.name).value\"\n class=\"govuk-radios__input\"\n [value]=\"item.key\"\n (change)=\"fieldChanged(field, form)\"\n />\n <label [for]=\"'radio_' + item.key\" class=\"govuk-label govuk-radios__label\">{{item.label}}</label>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'find-person'\">\n <xuilib-find-person subTitle=\"\" (personSelected)=\"updatePersonControls($event, field)\"\n (personFieldChanged)=\"inputChanged(field)\"\n [submitted]=\"submitted\"\n [disabled]=\"disabled(field, form)\"\n [domain]=\"form.get(field.domainField)?.value\"\n [findPersonGroup]=\"form\"\n [selectedPerson]=\"form.get(field.name)?.value?.email\"\n [userIncluded]=\"false\"\n ></xuilib-find-person>\n </ng-container>\n <ng-container *ngSwitchCase=\"'find-location'\">\n <xuilib-find-location (locationFieldChanged)=\"inputChanged(field)\"\n [form]=\"form\"\n [fields]=\"config.fields\"\n [locationTitle]=\"field.locationTitle\"\n [enableAddLocationButton]=\"field.enableAddButton\"\n [disabled]=\"disabled(field, form)\"\n [disableInputField]=\"field.disable\"\n [selectedLocations]=\"form.get(field.name)?.value\"\n [submitted]=\"submitted\"\n [services]=\"form.get(field.findLocationField)?.value\"\n [field]=\"field\"\n ></xuilib-find-location>\n </ng-container>\n <ng-container *ngSwitchCase=\"'find-service'\">\n <xuilib-find-service (serviceFieldChanged)=\"inputChanged(field)\"\n [form]=\"form\"\n [fields]=\"config.fields\"\n [title]=\"field.title\"\n [enableAddServiceButton]=\"field.enableAddButton\"\n [disabled]=\"disabled(field, form)\"\n [disableInputField]=\"field.disable\"\n [selectedServices]=\"form.get(field.name)?.value\" \n [field]=\"field\"\n ></xuilib-find-service>\n </ng-container>\n </div>\n </div>\n </div>\n <hr class=\"govuk-section-break govuk-section-break--m govuk-section-break--visible\"/>\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-grid-column-full\">\n <button\n class=\"govuk-button govuk-!-margin-right-1 govuk-!-margin-bottom-0\"\n type=\"submit\"\n id=\"applyFilter\"\n [disabled]=\"config.enableDisabledButton && form.invalid\"\n >{{config.applyButtonText || 'Apply'}}</button>\n <button *ngIf=\"config.showCancelFilterButton\"\n class=\"govuk-button govuk-button--secondary govuk-!-margin-bottom-0\"\n type=\"button\"\n id=\"cancelFilter\"\n (click)=\"cancelFilter()\">{{ config.cancelButtonText || 'Cancel'}}</button>\n </div>\n </div>\n</form>\n",
1209
1209
  changeDetection: ChangeDetectionStrategy.OnPush,
1210
1210
  encapsulation: ViewEncapsulation.None,
1211
- styles: [".contain-classes .elevated-break{position:relative;top:-10px}.contain-classes .xui-generic-filter .select-all{margin-bottom:10px}.contain-classes .xui-generic-filter .govuk-checkboxes{display:flex;flex-wrap:wrap}.contain-classes .xui-generic-filter .govuk-checkboxes>div{flex-grow:1;flex-shrink:0}"]
1211
+ styles: [".contain-classes .elevated-break{margin-bottom:20px}@media (min-width:40.0625em){.contain-classes .elevated-break{margin-bottom:30px}}.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 .govuk-select{width:100%}"]
1212
1212
  }] }
1213
1213
  ];
1214
1214
  /** @nocollapse */
@@ -2279,6 +2279,7 @@ class ShareCaseComponent {
2279
2279
  this.users = []; // users of this organisation the cases can be shared with
2280
2280
  // users of this organisation the cases can be shared with
2281
2281
  this.confirmLink = '';
2282
+ this.showRemoveUsers = false;
2282
2283
  this.unselect = new EventEmitter();
2283
2284
  this.synchronizeStore = new EventEmitter();
2284
2285
  }
@@ -2381,8 +2382,8 @@ class ShareCaseComponent {
2381
2382
  ShareCaseComponent.decorators = [
2382
2383
  { type: Component, args: [{
2383
2384
  selector: 'xuilib-share-case',
2384
- template: "<div id=\"add-user\">\n <label class=\"govuk-label govuk-!-font-weight-bold\" for=\"add-user-input\">Enter email address</label>\n <span id=\"add-user-hint\" class=\"govuk-hint\">\n Search by name or email address. You can only add people from your organisation individually - but you can add as many as you like.\n </span>\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-grid-column-two-thirds\">\n <xuilib-user-select\n id=\"add-user-input\"\n aria-describedby=\"add-user-hint\"\n [users]=\"users\"\n (selected)=\"onSelectedUser($event)\">\n </xuilib-user-select>\n </div>\n <div class=\"govuk-grid-column-one-thirds\">\n <button id=\"btn-add-user\" (click)=\"addUser()\" class=\"govuk-button\" [disabled]=\"isDisabledAdd()\" title=\"Add user to the case\">Add</button>\n </div>\n </div>\n <details id=\"add-user-help\" class=\"govuk-details\" data-module=\"govuk-details\">\n <summary class=\"govuk-details__summary\">\n <span id=\"content-why-can-not-find-email\" class=\"govuk-details__summary-text\">\n Can\u2019t find an email address?\n </span>\n </summary>\n <div id=\"content-reason-can-not-find-email\" class=\"govuk-details__text\">\n If you can\u2019t find your colleague\u2019s email address, they will need to complete their registration. Contact your\n administrator for help.\n </div>\n </details>\n</div>\n\n<div id=\"cases\">\n <h3 id=\"title-selected-cases\" class=\"govuk-heading-m\">Selected cases</h3>\n <div *ngIf=\"shareCases && shareCases.length > 0\" class=\"govuk-accordion\" data-module=\"govuk-accordion\" id=\"accordion-with-summary-sections\">\n <xuilib-selected-case-list\n [shareCases$]=\"shareCases$\"\n [removeUserFromCaseToggleOn]=\"removeUserFromCaseToggleOn\"\n (unselect)=\"onUnselect($event)\"\n (synchronizeStore)=\"onSynchronizeStore($event)\"\n >\n </xuilib-selected-case-list>\n </div>\n\n <div id=\"noCaseDisplay\" *ngIf=\"shareCases && shareCases.length === 0\" class=\"govuk-hint\">\n No cases to display.\n </div>\n\n</div>\n\n<div id=\"share-case-nav\">\n <button class=\"govuk-button\" [disabled]=\"isDisabledContinue()\" title=\"Continue\" [routerLink]=\"confirmLink\">Continue</button>\n</div>\n",
2385
- styles: [""]
2385
+ template: "<div id=\"add-user\">\n <div class=\"govuk-form-group\">\n <label class=\"govuk-label govuk-!-font-weight-bold\" for=\"add-user-input\">{{addUserLabel}}</label>\n <span id=\"add-user-hint\" class=\"govuk-hint\">\n Search by name or email address. You can share access with as many people as you need.\n </span>\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-grid-column-two-thirds\">\n <xuilib-user-select\n id=\"add-user-input\"\n aria-describedby=\"add-user-hint\"\n [users]=\"users\"\n (selected)=\"onSelectedUser($event)\">\n </xuilib-user-select>\n </div>\n <div class=\"govuk-grid-column-one-thirds\">\n <button id=\"btn-add-user\" (click)=\"addUser()\" class=\"govuk-button govuk-button--secondary\" [disabled]=\"isDisabledAdd()\" title=\"Add user to selected cases\">Add</button>\n </div>\n </div>\n <details id=\"add-user-help\" class=\"govuk-details\" data-module=\"govuk-details\">\n <summary class=\"govuk-details__summary\">\n <span id=\"content-why-can-not-find-email\" class=\"govuk-details__summary-text\">\n Can't find an email address?\n </span>\n </summary>\n <div id=\"content-reason-can-not-find-email\" class=\"govuk-details__text\">\n If you can't find your colleague's email address, they will need to complete their registration. Contact your\n administrator for help.\n </div>\n </details>\n </div>\n <div class=\"govuk-form-group\" *ngIf=\"showRemoveUsers\">\n <label class=\"govuk-label govuk-!-font-weight-bold\" for=\"remove-user-input\">Remove a person from all cases</label>\n <span id=\"remove-user-hint\" class=\"govuk-hint\">\n Select a person to remove them from all selected cases.\n </span>\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-grid-column-two-thirds\">\n <select class=\"govuk-select\" id=\"remove-user-input\" aria-describedby=\"remove-user-hint\">\n <option value=\"{{user}}\" *ngFor=\"let user of users\">{{user.email}}</option>\n </select>\n </div>\n <div class=\"govuk-grid-column-one-thirds\">\n <button id=\"btn-remove-user\" class=\"govuk-button govuk-button--secondary\" title=\"Remove user from selected cases\">Remove</button>\n </div>\n </div>\n </div>\n</div>\n\n<div id=\"cases\">\n <h3 id=\"title-selected-cases\" class=\"govuk-heading-m\">Selected cases</h3>\n <div *ngIf=\"shareCases && shareCases.length > 0\" class=\"govuk-accordion\" data-module=\"govuk-accordion\" id=\"accordion-with-summary-sections\">\n <xuilib-selected-case-list\n [shareCases$]=\"shareCases$\"\n [removeUserFromCaseToggleOn]=\"removeUserFromCaseToggleOn\"\n (unselect)=\"onUnselect($event)\"\n (synchronizeStore)=\"onSynchronizeStore($event)\"\n >\n </xuilib-selected-case-list>\n </div>\n\n <div id=\"noCaseDisplay\" *ngIf=\"shareCases && shareCases.length === 0\" class=\"govuk-hint\">\n No cases to display.\n </div>\n\n</div>\n\n<div id=\"share-case-nav\" class=\"govuk-button-group\">\n <button class=\"govuk-button\" data-module=\"govuk-button\" [disabled]=\"isDisabledContinue()\" title=\"Continue\" [routerLink]=\"confirmLink\">Continue</button>\n <button class=\"govuk-button govuk-button--secondary\" data-module=\"govuk-button\" title=\"Cancel\">Cancel</button>\n</div>\n",
2386
+ styles: ["select{width:100%}"]
2386
2387
  }] }
2387
2388
  ];
2388
2389
  /** @nocollapse */
@@ -2394,6 +2395,8 @@ ShareCaseComponent.propDecorators = {
2394
2395
  shareCases$: [{ type: Input }],
2395
2396
  users: [{ type: Input }],
2396
2397
  confirmLink: [{ type: Input }],
2398
+ addUserLabel: [{ type: Input }],
2399
+ showRemoveUsers: [{ type: Input }],
2397
2400
  unselect: [{ type: Output }],
2398
2401
  synchronizeStore: [{ type: Output }],
2399
2402
  userSelect: [{ type: ViewChild, args: [UserSelectComponent,] }]
@@ -2898,6 +2901,7 @@ const PersonRole = {
2898
2901
  JUDICIAL: "Judicial",
2899
2902
  CASEWORKER: "Legal Ops",
2900
2903
  ADMIN: "Admin",
2904
+ CTSC: "CTSC User",
2901
2905
  ALL: "All",
2902
2906
  };
2903
2907
  /** @enum {string} */
@@ -2905,6 +2909,7 @@ const RoleCategory = {
2905
2909
  JUDICIAL: "JUDICIAL",
2906
2910
  CASEWORKER: "LEGAL_OPERATIONS",
2907
2911
  ADMIN: "ADMIN",
2912
+ CTSC: "CTSC",
2908
2913
  ALL: "ALL",
2909
2914
  };
2910
2915
 
@@ -3252,7 +3257,7 @@ SearchLocationComponent.decorators = [
3252
3257
  { type: Component, args: [{
3253
3258
  selector: 'exui-search-location',
3254
3259
  template: "<div class=\"auto-complete-container\">\n <input\n id=\"inputLocationSearch\"\n (input)=\"onInput()\"\n [formControl]=\"form.controls.searchTerm\"\n [matAutocomplete]=\"autoSearchLocation\"\n class=\"govuk-input\"\n [attr.disabled]=\"disabled\">\n <mat-autocomplete class=\"mat-autocomplete-panel-extend\" autoActiveFirstOption #autoSearchLocation=\"matAutocomplete\">\n <mat-option *ngFor=\"let location of locations\"\n (onSelectionChange)=\"onSelectionChange(location)\">\n {{ location.site_name }}\n </mat-option>\n <mat-option *ngIf=\"!locations.length && showAutocomplete && term && term.length >= this.minSearchCharacters\">No results found</mat-option>\n </mat-autocomplete>\n</div>\n",
3255
- styles: [".autocomplete__input--show-all-values{padding:5px 34px 5px 5px;cursor:pointer}.autocomplete__dropdown-arrow-down{z-index:-1;display:inline-block;position:absolute;right:8px;width:24px;height:24px;top:10px}.autocomplete__menu{background-color:#fff;border:2px solid #0b0c0c;border-top:0;color:#0b0c0c;margin:0;max-height:342px;overflow-x:hidden;padding:0;width:100%;width:calc(100% - 4px)}.autocomplete__menu--visible{display:block}.autocomplete__menu--hidden{display:none}.autocomplete__menu--overlay{box-shadow:rgba(0,0,0,.256863) 0 2px 6px;left:0;position:absolute;top:100%;z-index:100}.autocomplete__menu--inline{position:relative}.autocomplete__option{border-bottom:solid #b1b4b6;border-width:1px 0;cursor:pointer;display:block;position:relative}.autocomplete__option>*{pointer-events:none}.autocomplete__option:first-of-type{border-top-width:0}.autocomplete__option:last-of-type{border-bottom-width:0}.autocomplete__option--odd{background-color:#fafafa}.autocomplete__option--focused,.autocomplete__option:hover{background-color:#1d70b8;border-color:#1d70b8;color:#fff;outline:0}.autocomplete__option--no-results{background-color:#fafafa;color:#646b6f;cursor:not-allowed}.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.25}.autocomplete__hint,.autocomplete__option{padding:5px}@media (min-width:641px){.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.31579}}.div-action{display:inline-block}.add-location{display:inline}.remove-location-button{margin:5px}.hide-autocomplete{display:none}.auto-complete-container{min-width:550px;display:inline-block;margin-right:4px}.autocomplete__input{line-height:24px;font-size:19px}"]
3260
+ 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:rgba(0,0,0,.256863) 0 2px 6px;left:0;position:absolute;top:100%;z-index:100}.autocomplete__menu--inline{position:relative}.autocomplete__option{border-bottom:solid #b1b4b6;border-width:1px 0;cursor:pointer;display:block;position:relative}.autocomplete__option>*{pointer-events:none}.autocomplete__option:first-of-type{border-top-width:0}.autocomplete__option:last-of-type{border-bottom-width:0}.autocomplete__option--odd{background-color:#fafafa}.autocomplete__option--focused,.autocomplete__option:hover{background-color:#1d70b8;border-color:#1d70b8;color:#fff;outline:0}.autocomplete__option--no-results{background-color:#fafafa;color:#646b6f;cursor:not-allowed}.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.25}.autocomplete__hint,.autocomplete__option{padding:5px}@media (min-width:641px){.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.31579}}.div-action{display:inline-block}.add-location{display:inline}.remove-location-button{margin:5px}.hide-autocomplete{display:none}.auto-complete-container{display:inline-block;margin-right:4px;width:calc(100% - 4px)}.autocomplete__input{line-height:24px;font-size:19px}"]
3256
3261
  }] }
3257
3262
  ];
3258
3263
  /** @nocollapse */
@@ -3460,8 +3465,8 @@ class FindLocationComponent {
3460
3465
  FindLocationComponent.decorators = [
3461
3466
  { type: Component, args: [{
3462
3467
  selector: 'xuilib-find-location',
3463
- template: "<div class=\"location-picker-custom\">\n <div class=\"search-location\">\n <div>\n <label id=\"input-selected-location-label\" *ngIf=\"locationTitle\">{{locationTitle}}</label>\n </div>\n <exui-search-location class=\"search-location\"\n [locations]=\"locations\"\n [selectedLocations]=\"selectedLocations\"\n [singleMode]=\"field.maxSelected === 1\"\n [bookingCheck]=\"field.bookingCheckType\"\n [delay]=\"300\"\n [disabled]=\"disabled\"\n [serviceIds]=\"serviceIds\"\n (locationInputChanged)=\"onInputChanged($event)\"\n (locationSelected)=\"onLocationSelected($event)\"\n (searchLocationChanged)=\"onSearchInputChanged()\"\n [locationType]=\"'case-management'\"></exui-search-location>\n <a href=\"javascript:void(0)\" (click)=\"addLocation()\" class=\"govuk-button\" data-module=\"govuk-button\" *ngIf=\"enableAddLocationButton\">\n Add location\n </a>\n </div>\n <ul class=\"hmcts-filter-tags selection-container\" *ngIf=\"field.maxSelected != 1\">\n <li class=\"location-selection\" *ngFor=\"let selection of selectedLocations\">\n <a class=\"hmcts-filter__tag\" (click)=\"removeLocation(selection)\" href=\"javascript:void(0)\">\n {{ selection.site_name }}\n </a>\n </li>\n </ul>\n</div>\n",
3464
- styles: [""]
3468
+ 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\n <div class=\"search-location__input-container\">\n <exui-search-location class=\"search-location__input\"\n [locations]=\"locations\"\n [selectedLocations]=\"selectedLocations\"\n [singleMode]=\"field.maxSelected === 1\"\n [bookingCheck]=\"field.bookingCheckType\"\n [delay]=\"300\"\n [disabled]=\"disabled\"\n [serviceIds]=\"serviceIds\"\n (locationInputChanged)=\"onInputChanged($event)\"\n (locationSelected)=\"onLocationSelected($event)\"\n (searchLocationChanged)=\"onSearchInputChanged()\"\n [locationType]=\"'case-management'\"></exui-search-location>\n <a href=\"javascript:void(0)\" (click)=\"addLocation()\" class=\"govuk-button govuk-button--secondary govuk-!-margin-bottom-0\" data-module=\"govuk-button\" *ngIf=\"enableAddLocationButton\">\n Add\n </a>\n </div>\n </div>\n <ul class=\"hmcts-filter-tags selection-container\" *ngIf=\"field.maxSelected != 1\">\n <li class=\"location-selection\" *ngFor=\"let selection of selectedLocations\">\n <a class=\"hmcts-filter__tag\" (click)=\"removeLocation(selection)\" href=\"javascript:void(0)\">\n {{ selection.site_name }}\n </a>\n </li>\n </ul>\n</div>\n",
3469
+ styles: [".search-location__input-container{display:flex}.search-location .auto-complete-container{min-width:unset;width:calc(100% - 4px)}.search-location__input{flex:1 0 auto}.search-location .govuk-button--secondary{background-color:#ddd}"]
3465
3470
  }] }
3466
3471
  ];
3467
3472
  FindLocationComponent.propDecorators = {
@@ -4115,10 +4120,17 @@ FindPersonComponent.propDecorators = {
4115
4120
  * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4116
4121
  */
4117
4122
  class FindServiceComponent {
4118
- constructor() {
4123
+ /**
4124
+ * @param {?} fb
4125
+ */
4126
+ constructor(fb) {
4127
+ this.fb = fb;
4119
4128
  this.serviceTitle = 'Search for a service by name';
4120
4129
  this.enableAddServiceButton = true;
4121
4130
  this.disableInputField = false;
4131
+ this.form = this.fb.group({
4132
+ searchTerm: ['']
4133
+ });
4122
4134
  }
4123
4135
  /**
4124
4136
  * @return {?}
@@ -4130,10 +4142,14 @@ class FindServiceComponent {
4130
4142
  FindServiceComponent.decorators = [
4131
4143
  { type: Component, args: [{
4132
4144
  selector: 'xuilib-find-service',
4133
- template: "<div class=\"service-picker-custom\">\n <div class=\"search-service\">\n <div>\n <label id=\"input-selected-service-label\" *ngIf=\"serviceTitle\">{{serviceTitle}}</label>\n </div>\n <exui-search-service class=\"search-service\"\n [services]=\"services\"\n [selectedServices]=\"selectedServices\"\n [delay]=\"300\"\n [disabled]=\"disabled\"></exui-search-service>\n <a href=\"javascript:void(0)\" (click)=\"addService()\" class=\"govuk-button govuk-button--secondary govuk-!-margin-bottom-0\" \n data-module=\"govuk-button\" *ngIf=\"enableAddServiceButton\" id=\"add-service\">\n Add\n </a>\n </div>\n <ul class=\"hmcts-filter-tags selection-container\" *ngIf=\"field.maxSelected != 1\">\n <li class=\"service-selection\" *ngFor=\"let selection of selectedServices\">\n <a class=\"hmcts-filter__tag\" href=\"javascript:void(0)\">\n {{ selection.name }}\n </a>\n </li>\n </ul>\n </div>",
4134
- styles: ["#add-service{background-color:#ddd}"]
4145
+ template: "<div class=\"service-picker-custom\">\n <div class=\"search-service\">\n <div class=\"govuk-body\">\n <label id=\"input-selected-service-label\" *ngIf=\"serviceTitle\">{{serviceTitle}}</label>\n </div>\n <div class=\"search-service__input-container\">\n <exui-search-service class=\"search-service__input\"\n [services]=\"services\"\n [selectedServices]=\"selectedServices\"\n [delay]=\"300\"\n [disabled]=\"disabled\"></exui-search-service>\n <a href=\"javascript:void(0)\" (click)=\"addService()\" class=\"govuk-button govuk-button--secondary govuk-!-margin-bottom-0\"\n data-module=\"govuk-button\" *ngIf=\"enableAddServiceButton\" id=\"add-service\">\n Add\n </a>\n </div>\n </div>\n <ul class=\"hmcts-filter-tags selection-container\" *ngIf=\"field.maxSelected != 1\">\n <li class=\"service-selection\" *ngFor=\"let selection of selectedServices\">\n <a class=\"hmcts-filter__tag\" href=\"javascript:void(0)\">\n {{ selection.name }}\n </a>\n </li>\n </ul>\n</div>\n",
4146
+ styles: ["#add-service{background-color:#ddd}.search-service__input-container{display:flex}.search-service__input{flex:1 0 auto}"]
4135
4147
  }] }
4136
4148
  ];
4149
+ /** @nocollapse */
4150
+ FindServiceComponent.ctorParameters = () => [
4151
+ { type: FormBuilder }
4152
+ ];
4137
4153
  FindServiceComponent.propDecorators = {
4138
4154
  field: [{ type: Input }],
4139
4155
  fields: [{ type: Input }],
@@ -4373,8 +4389,8 @@ class SearchServiceComponent {
4373
4389
  SearchServiceComponent.decorators = [
4374
4390
  { type: Component, args: [{
4375
4391
  selector: 'exui-search-service',
4376
- template: "<div class=\"auto-complete-container\">\n <input\n id=\"inputServiceSearch\"\n (input)=\"onInput()\"\n [formControl]=\"form?.controls.searchTerm\"\n [matAutocomplete]=\"autoSearchService\"\n class=\"govuk-input\"\n [attr.disabled]=\"disabled\">\n <mat-autocomplete class=\"mat-autocomplete-panel-extend\" autoActiveFirstOption #autoSearchService=\"matAutocomplete\">\n <mat-option *ngFor=\"let service of services\" (onSelectionChange)=\"onSelectionChange()\">\n {{ service.name }}\n </mat-option>\n <mat-option *ngIf=\"!services?.length && showAutocomplete && term && term.length >= this.minSearchCharacters\">No results found</mat-option>\n </mat-autocomplete>\n</div>\n",
4377
- styles: [".autocomplete__input--show-all-values{padding:5px 34px 5px 5px;cursor:pointer}.autocomplete__dropdown-arrow-down{z-index:-1;display:inline-block;position:absolute;right:8px;width:24px;height:24px;top:10px}.autocomplete__menu{background-color:#fff;border:2px solid #0b0c0c;border-top:0;color:#0b0c0c;margin:0;max-height:342px;overflow-x:hidden;padding:0;width:100%;width:calc(100% - 4px)}.autocomplete__menu--visible{display:block}.autocomplete__menu--hidden{display:none}.autocomplete__menu--overlay{box-shadow:rgba(0,0,0,.256863) 0 2px 6px;left:0;position:absolute;top:100%;z-index:100}.autocomplete__menu--inline{position:relative}.autocomplete__option{border-bottom:solid #b1b4b6;border-width:1px 0;cursor:pointer;display:block;position:relative}.autocomplete__option>*{pointer-events:none}.autocomplete__option:first-of-type{border-top-width:0}.autocomplete__option:last-of-type{border-bottom-width:0}.autocomplete__option--odd{background-color:#fafafa}.autocomplete__option--focused,.autocomplete__option:hover{background-color:#1d70b8;border-color:#1d70b8;color:#fff;outline:0}.autocomplete__option--no-results{background-color:#fafafa;color:#646b6f;cursor:not-allowed}.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.25}.autocomplete__hint,.autocomplete__option{padding:5px}@media (min-width:641px){.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.31579}}.div-action{display:inline-block}.add-location{display:inline}.remove-location-button{margin:5px}.hide-autocomplete{display:none}.auto-complete-container{min-width:250px;display:inline-block;margin-right:4px}.autocomplete__input{line-height:24px;font-size:19px}"]
4392
+ template: "<div class=\"auto-complete-container\">\n <input\n id=\"inputServiceSearch\"\n (input)=\"onInput()\"\n [formControl]=\"form?.controls?.searchTerm\"\n [matAutocomplete]=\"autoSearchService\"\n class=\"govuk-input\"\n [attr.disabled]=\"disabled\">\n <mat-autocomplete class=\"mat-autocomplete-panel-extend\" autoActiveFirstOption #autoSearchService=\"matAutocomplete\">\n <mat-option *ngFor=\"let service of services\" (onSelectionChange)=\"onSelectionChange()\">\n {{ service.name }}\n </mat-option>\n <mat-option *ngIf=\"!services?.length && showAutocomplete && term && term.length >= this.minSearchCharacters\">No results found</mat-option>\n </mat-autocomplete>\n</div>\n",
4393
+ 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:rgba(0,0,0,.256863) 0 2px 6px;left:0;position:absolute;top:100%;z-index:100}.autocomplete__menu--inline{position:relative}.autocomplete__option{border-bottom:solid #b1b4b6;border-width:1px 0;cursor:pointer;display:block;position:relative}.autocomplete__option>*{pointer-events:none}.autocomplete__option:first-of-type{border-top-width:0}.autocomplete__option:last-of-type{border-bottom-width:0}.autocomplete__option--odd{background-color:#fafafa}.autocomplete__option--focused,.autocomplete__option:hover{background-color:#1d70b8;border-color:#1d70b8;color:#fff;outline:0}.autocomplete__option--no-results{background-color:#fafafa;color:#646b6f;cursor:not-allowed}.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.25}.autocomplete__hint,.autocomplete__option{padding:5px}@media (min-width:641px){.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.31579}}.div-action{display:inline-block}.add-location{display:inline}.remove-location-button{margin:5px}.hide-autocomplete{display:none}.auto-complete-container{width:calc(100% - 4px);display:inline-block;margin-right:4px}.autocomplete__input{line-height:24px;font-size:19px}"]
4378
4394
  }] }
4379
4395
  ];
4380
4396
  SearchServiceComponent.propDecorators = {
@@ -4624,6 +4640,38 @@ GovUkCheckboxComponent.propDecorators = {
4624
4640
  isChecked: [{ type: Input }]
4625
4641
  };
4626
4642
 
4643
+ /**
4644
+ * @fileoverview added by tsickle
4645
+ * Generated from: lib/gov-ui/util/helpers/html-templates.helper.ts
4646
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4647
+ */
4648
+ /*
4649
+ * Helper Class
4650
+ * Used for dynamic templates manipulation
4651
+ * */
4652
+ class HtmlTemplatesHelper {
4653
+ /*
4654
+ * Sets described by string depending if
4655
+ * there is an error, error and hit or nothing
4656
+ * */
4657
+ /**
4658
+ * @param {?} errorMessage
4659
+ * @param {?} config
4660
+ * @return {?}
4661
+ */
4662
+ static setDescribedBy(errorMessage, config) {
4663
+ if (!errorMessage) {
4664
+ return config.hint ? `${config.id}-hint` : null;
4665
+ }
4666
+ else if (errorMessage && errorMessage.isInvalid) {
4667
+ return config.hint ? `${config.id}-hint ${config.id}-error` : `${config.id}-error`;
4668
+ }
4669
+ else {
4670
+ return config.hint ? `${config.id}-hint` : null;
4671
+ }
4672
+ }
4673
+ }
4674
+
4627
4675
  /**
4628
4676
  * @fileoverview added by tsickle
4629
4677
  * Generated from: lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.ts
@@ -4637,16 +4685,82 @@ GovUkCheckboxComponent.propDecorators = {
4637
4685
  * @param: errors - array of error stings
4638
4686
  * */
4639
4687
  class GovUkCheckboxesComponent {
4688
+ /**
4689
+ * @return {?}
4690
+ */
4691
+ ngOnInit() {
4692
+ this.columns = this.setColumns();
4693
+ }
4694
+ /**
4695
+ * @return {?}
4696
+ */
4697
+ setDescribedBy() {
4698
+ return HtmlTemplatesHelper.setDescribedBy(this.errorMessage, this.config);
4699
+ }
4700
+ /**
4701
+ * @param {?} checked
4702
+ * @param {?} value
4703
+ * @return {?}
4704
+ */
4705
+ onChecked(checked, value) {
4706
+ /** @type {?} */
4707
+ const formControl = this.group.get(this.config.name);
4708
+ /** @type {?} */
4709
+ const array = formControl.value ? formControl.value : [];
4710
+ if (!checked) {
4711
+ /** @type {?} */
4712
+ const modifiedArray = array.filter((/**
4713
+ * @param {?} item
4714
+ * @return {?}
4715
+ */
4716
+ (item) => item !== value));
4717
+ formControl.setValue(modifiedArray);
4718
+ }
4719
+ else {
4720
+ formControl.setValue([...array, value]);
4721
+ }
4722
+ }
4723
+ /**
4724
+ * @param {?} value
4725
+ * @return {?}
4726
+ */
4727
+ isChecked(value) {
4728
+ /** @type {?} */
4729
+ const formControl = this.group.get(this.config.name);
4730
+ return formControl.value && formControl.value.includes(value);
4731
+ }
4732
+ /**
4733
+ * @private
4734
+ * @return {?}
4735
+ */
4736
+ setColumns() {
4737
+ if (this.config.rows && this.config.rows > 1) {
4738
+ /** @type {?} */
4739
+ const array = [];
4740
+ for (let i = 0; i < this.items.length; i += this.config.rows) {
4741
+ /** @type {?} */
4742
+ const arrayChunk = this.items.slice(i, i + this.config.rows);
4743
+ array.push(arrayChunk);
4744
+ }
4745
+ return array;
4746
+ }
4747
+ else {
4748
+ return [this.items];
4749
+ }
4750
+ }
4640
4751
  }
4641
4752
  GovUkCheckboxesComponent.decorators = [
4642
4753
  { type: Component, args: [{
4643
4754
  selector: 'xuilib-gov-uk-checkboxes',
4644
- template: "<xuilib-gov-uk-form-group-wrapper\n[error]=\"errors\"\n[config]=\"options.config\"\n[group]=\"options.key\">\n<div class=\"govuk-checkboxes\">\n <xuilib-gov-checkbox *ngFor=\"let item of options.items\"\n [group]=\"item.group\"\n [config]=\"item.config\">\n </xuilib-gov-checkbox>\n</div>\n</xuilib-gov-uk-form-group-wrapper>"
4755
+ 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",
4756
+ 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}"]
4645
4757
  }] }
4646
4758
  ];
4647
4759
  GovUkCheckboxesComponent.propDecorators = {
4648
- options: [{ type: Input }],
4649
- errors: [{ type: Input }]
4760
+ group: [{ type: Input }],
4761
+ config: [{ type: Input }],
4762
+ items: [{ type: Input }],
4763
+ errorMessage: [{ type: Input }]
4650
4764
  };
4651
4765
 
4652
4766
  /**
@@ -4773,38 +4887,6 @@ GovUkErrorMessageComponent.propDecorators = {
4773
4887
  errorMessage: [{ type: Input }]
4774
4888
  };
4775
4889
 
4776
- /**
4777
- * @fileoverview added by tsickle
4778
- * Generated from: lib/gov-ui/util/helpers/html-templates.helper.ts
4779
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4780
- */
4781
- /*
4782
- * Helper Class
4783
- * Used for dynamic templates manipulation
4784
- * */
4785
- class HtmlTemplatesHelper {
4786
- /*
4787
- * Sets described by string depending if
4788
- * there is an error, error and hit or nothing
4789
- * */
4790
- /**
4791
- * @param {?} errorMessage
4792
- * @param {?} config
4793
- * @return {?}
4794
- */
4795
- static setDescribedBy(errorMessage, config) {
4796
- if (!errorMessage) {
4797
- return config.hint ? `${config.id}-hint` : null;
4798
- }
4799
- else if (errorMessage && errorMessage.isInvalid) {
4800
- return config.hint ? `${config.id}-hint ${config.id}-error` : `${config.id}-error`;
4801
- }
4802
- else {
4803
- return config.hint ? `${config.id}-hint` : null;
4804
- }
4805
- }
4806
- }
4807
-
4808
4890
  /**
4809
4891
  * @fileoverview added by tsickle
4810
4892
  * Generated from: lib/gov-ui/components/gov-uk-fieldset/gov-uk-fieldset.component.ts
@@ -4931,7 +5013,7 @@ class GovUkInputComponent {
4931
5013
  * @return {?}
4932
5014
  */
4933
5015
  ngOnInit() {
4934
- this.config.classes = 'govuk-label--m';
5016
+ this.config.classes = typeof (this.config.classes) === 'string' ? this.config.classes : 'govuk-label govuk-label--m';
4935
5017
  }
4936
5018
  /**
4937
5019
  * @return {?}
@@ -4943,7 +5025,7 @@ class GovUkInputComponent {
4943
5025
  GovUkInputComponent.decorators = [
4944
5026
  { type: Component, args: [{
4945
5027
  selector: 'xuilib-gov-uk-input',
4946
- template: "<div class=\"govuk-form-group gov-uk-input\" [formGroup]=\"group\"\n[ngClass]=\"{'govuk-form-group--error': errorMessage?.isInvalid}\">\n\n<xuilib-gov-label [config]=\"config\"></xuilib-gov-label>\n\n<span *ngIf=\"config.hint\" [id]=\"config.id +'-hint'\" class=\"govuk-hint\">\n {{config.hint}}\n</span>\n\n<xuilib-gov-uk-error-message [config]=\"config\" [errorMessage]=\"errorMessage\"></xuilib-gov-uk-error-message>\n\n<input class=\"govuk-input\"\n [ngClass]=\"{'govuk-input--error': errorMessage?.isInvalid}\"\n [id]=\"config.id\"\n [name]=\"config.name\"\n [type]=\"config.type\"\n [attr.aria-invalid]=\"errorMessage?.isInvalid\"\n [formControlName]=\"config.name\"\n [attr.aria-describedby]='setDescribedBy()'>\n</div>\n",
5028
+ template: "<div class=\"govuk-form-group gov-uk-input\" [formGroup]=\"group\"\n[ngClass]=\"{'govuk-form-group--error': errorMessage?.isInvalid}\">\n\n<xuilib-gov-label [config]=\"config\"></xuilib-gov-label>\n\n<span *ngIf=\"config.hint\" [id]=\"config.id +'-hint'\" class=\"govuk-hint\">\n {{config.hint}}\n</span>\n\n<xuilib-gov-uk-error-message [config]=\"config\" [errorMessage]=\"errorMessage\"></xuilib-gov-uk-error-message>\n\n<input class=\"govuk-input\"\n [class.govuk-!-width-full]=\"config.fullWidth\"\n [ngClass]=\"{'govuk-input--error': errorMessage?.isInvalid}\"\n [id]=\"config.id\"\n [name]=\"config.name\"\n [type]=\"config.type\"\n [attr.aria-invalid]=\"errorMessage?.isInvalid\"\n [formControlName]=\"config.name\"\n [attr.aria-describedby]='setDescribedBy()'>\n</div>\n",
4947
5029
  styles: [".gov-uk-input input:disabled{background:#b1b4b6}"]
4948
5030
  }] }
4949
5031
  ];
@@ -4972,7 +5054,8 @@ class GovUkLabelComponent {
4972
5054
  GovUkLabelComponent.decorators = [
4973
5055
  { type: Component, args: [{
4974
5056
  selector: 'xuilib-gov-label',
4975
- template: "<h1 *ngIf=\"config.isPageHeading else noHeading\">\n <label *ngIf=\"config.label\" [class]=\"config.classes + ' govuk-label'\"\n [for]=\"config.id\" [innerHTML]=\"config.label\">\n </label>\n</h1>\n<ng-template #noHeading>\n <label *ngIf=\"config.label\" [class]=\"config.classes + ' govuk-label'\"\n [for]=\"config.id\" [innerHTML]=\"config.label\">\n </label>\n</ng-template>"
5057
+ template: "<h1 *ngIf=\"config.isPageHeading else noHeading\">\n <label *ngIf=\"config.label\" [for]=\"config.id\" [class]=\"config.classes + ' govuk-label'\">\n <span>{{ config.label }}</span>\n <span class=\"govuk-label__optional\" *ngIf=\"config.optional\">(optional)</span>\n </label>\n</h1>\n<ng-template #noHeading>\n <label *ngIf=\"config.label\" [for]=\"config.id\" [class]=\"config.classes + ' govuk-label'\">\n <span>{{ config.label }}</span>\n <span class=\"govuk-label__optional\" *ngIf=\"config.optional\">(optional)</span>\n </label>\n</ng-template>\n",
5058
+ 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}"]
4976
5059
  }] }
4977
5060
  ];
4978
5061
  /** @nocollapse */
@@ -5068,7 +5151,7 @@ class GovUkSelectComponent {
5068
5151
  GovUkSelectComponent.decorators = [
5069
5152
  { type: Component, args: [{
5070
5153
  selector: 'xuilib-gov-select',
5071
- template: "<div class=\"govuk-form-group\" [formGroup]=\"group\"\n[ngClass]=\"{'govuk-form-group--error': errorMessage?.isInvalid}\">\n<xuilib-gov-label [config]=\"config\"></xuilib-gov-label>\n<span *ngIf=\"config.hint\" [id]=\"config.id +'-hint'\" class=\"govuk-hint\">\n {{config.hint}}\n</span>\n<xuilib-gov-uk-error-message [config]=\"config\" [errorMessage]=\"errorMessage\"></xuilib-gov-uk-error-message>\n\n<select class=\"govuk-select\" [id]=\"config.id\" [name]=\"config.id\" [formControlName]=\"config.id\" [attr.aria-describedby]='setDescribedBy()'>\n<option value=\"{{item.value}}\" *ngFor=\"let item of items\">{{item.label}}</option>\n</select>\n</div>"
5154
+ template: "<div class=\"govuk-form-group\" [formGroup]=\"group\"\n[ngClass]=\"{'govuk-form-group--error': errorMessage?.isInvalid}\">\n<xuilib-gov-label [config]=\"config\"></xuilib-gov-label>\n<span *ngIf=\"config.hint\" [id]=\"config.id +'-hint'\" class=\"govuk-hint\">\n {{config.hint}}\n</span>\n<xuilib-gov-uk-error-message [config]=\"config\" [errorMessage]=\"errorMessage\"></xuilib-gov-uk-error-message>\n\n<select class=\"govuk-select\"\n [class.govuk-!-width-full]=\"config.fullWidth\"\n [id]=\"config.id\" [name]=\"config.id\" [formControlName]=\"config.id\" [attr.aria-describedby]='setDescribedBy()'>\n <option value=\"{{item.value}}\" *ngFor=\"let item of items\">{{item.label}}</option>\n</select>\n</div>\n"
5072
5155
  }] }
5073
5156
  ];
5074
5157
  /** @nocollapse */