@hmcts/rpx-xui-common-lib 1.4.6-release-test → 1.4.7-select-all-v1

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 (32) hide show
  1. package/bundles/hmcts-rpx-xui-common-lib.umd.js +106 -8
  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/hmcts-rpx-xui-common-lib.js +2 -2
  6. package/esm2015/lib/components/generic-filter/generic-filter.component.js +82 -3
  7. package/esm2015/lib/gov-ui/components/gov-uk-date/gov-uk-date.component.js +3 -2
  8. package/esm2015/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.js +2 -2
  9. package/esm2015/lib/models/filter.model.js +1 -1
  10. package/esm2015/lib/models/index.js +2 -2
  11. package/esm2015/lib/models/person.model.js +11 -1
  12. package/esm2015/lib/services/find-person/find-person.service.js +14 -6
  13. package/esm2015/public-api.js +2 -2
  14. package/esm5/hmcts-rpx-xui-common-lib.js +2 -2
  15. package/esm5/lib/components/generic-filter/generic-filter.component.js +89 -3
  16. package/esm5/lib/gov-ui/components/gov-uk-date/gov-uk-date.component.js +3 -2
  17. package/esm5/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.js +2 -2
  18. package/esm5/lib/models/filter.model.js +1 -1
  19. package/esm5/lib/models/index.js +2 -2
  20. package/esm5/lib/models/person.model.js +11 -1
  21. package/esm5/lib/services/find-person/find-person.service.js +15 -6
  22. package/esm5/public-api.js +2 -2
  23. package/fesm2015/hmcts-rpx-xui-common-lib.js +104 -9
  24. package/fesm2015/hmcts-rpx-xui-common-lib.js.map +1 -1
  25. package/fesm5/hmcts-rpx-xui-common-lib.js +112 -9
  26. package/fesm5/hmcts-rpx-xui-common-lib.js.map +1 -1
  27. package/hmcts-rpx-xui-common-lib.metadata.json +1 -1
  28. package/lib/components/generic-filter/generic-filter.component.d.ts +5 -0
  29. package/lib/models/filter.model.d.ts +1 -0
  30. package/lib/models/person.model.d.ts +7 -0
  31. package/lib/services/find-person/find-person.service.d.ts +1 -1
  32. package/package.json +1 -1
@@ -1068,6 +1068,7 @@
1068
1068
  this._settings.fields = JSON.parse(JSON.stringify(this.config.cancelSetting.fields));
1069
1069
  }
1070
1070
  this.filterService.persist(this.settings, this.config.persistence);
1071
+ this.filterService.givenErrors.next(null);
1071
1072
  };
1072
1073
  /**
1073
1074
  * @param {?} values
@@ -1105,6 +1106,85 @@
1105
1106
  }
1106
1107
  }
1107
1108
  };
1109
+ /**
1110
+ * @param {?} event
1111
+ * @param {?} form
1112
+ * @param {?} item
1113
+ * @param {?} field
1114
+ * @return {?}
1115
+ */
1116
+ GenericFilterComponent.prototype.toggleSelectAll = /**
1117
+ * @param {?} event
1118
+ * @param {?} form
1119
+ * @param {?} item
1120
+ * @param {?} field
1121
+ * @return {?}
1122
+ */
1123
+ function (event, form, item, field) {
1124
+ /** @type {?} */
1125
+ var isChecked = event.target.checked;
1126
+ /** @type {?} */
1127
+ var formArray = ( /** @type {?} */(form.get(field.name)));
1128
+ if (!item.selectAll) {
1129
+ /** @type {?} */
1130
+ var allChecked = formArray.controls.every(( /**
1131
+ * @param {?} control
1132
+ * @return {?}
1133
+ */function (control) { return control.value; }));
1134
+ /** @type {?} */
1135
+ var index_1 = null;
1136
+ /** @type {?} */
1137
+ var hasSelectAllOption = field.options.find(( /**
1138
+ * @param {?} option
1139
+ * @param {?} i
1140
+ * @return {?}
1141
+ */function (option, i) {
1142
+ if (option.hasOwnProperty('selectAll')) {
1143
+ index_1 = i;
1144
+ return true;
1145
+ }
1146
+ return false;
1147
+ }));
1148
+ // tslint:disable-next-line:variable-name
1149
+ /** @type {?} */
1150
+ var isAllCheckedExcludingTheSelectAllOption = formArray.controls.filter(( /**
1151
+ * @param {?} _control
1152
+ * @param {?} i
1153
+ * @return {?}
1154
+ */function (_control, i) { return i !== index_1; }))
1155
+ .every(( /**
1156
+ * @param {?} control
1157
+ * @return {?}
1158
+ */function (control) { return control.value; }));
1159
+ if (!allChecked && hasSelectAllOption && !isChecked) {
1160
+ formArray.controls.forEach(( /**
1161
+ * @param {?} control
1162
+ * @param {?} i
1163
+ * @return {?}
1164
+ */function (control, i) {
1165
+ if (index_1 === i) {
1166
+ control.patchValue(false);
1167
+ return;
1168
+ }
1169
+ }));
1170
+ }
1171
+ else if (hasSelectAllOption && !allChecked && isChecked && isAllCheckedExcludingTheSelectAllOption) {
1172
+ formArray.controls[index_1].patchValue(true);
1173
+ }
1174
+ return;
1175
+ }
1176
+ formArray.controls.forEach(( /**
1177
+ * @param {?} control
1178
+ * @return {?}
1179
+ */function (control) {
1180
+ if (isChecked) {
1181
+ control.patchValue(true);
1182
+ }
1183
+ else {
1184
+ control.patchValue(false);
1185
+ }
1186
+ }));
1187
+ };
1108
1188
  /**
1109
1189
  * @private
1110
1190
  * @param {?} filter
@@ -1384,10 +1464,10 @@
1384
1464
  GenericFilterComponent.decorators = [
1385
1465
  { type: i0.Component, args: [{
1386
1466
  selector: 'xuilib-generic-filter',
1387
- 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 [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 <div class=\"govuk-body\" [ngSwitch]=\"field.type\">\n <ng-container *ngSwitchCase=\"'select'\">\n <select class=\"govuk-select\" (change)=\"updateSpecificPerson(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\">\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 [value]=\"item.key\" [id]=\"'checkbox_' + item.key\"\n [name]=\"'checkbox_' + item.key\"\n />\n <label [for]=\"'checkbox_' + item.key\" class=\"govuk-label govuk-checkboxes__label\">{{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 />\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 [submitted]=\"submitted\"\n [disabled]=\"disabled(field, form)\"\n [domain]=\"field.domain\"\n [findPersonGroup]=\"form\"\n [selectedPerson]=\"form.get(field.name)?.value?.email\"\n ></xuilib-find-person>\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\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",
1467
+ 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 [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)=\"updateSpecificPerson(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=\"'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 />\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 [submitted]=\"submitted\"\n [disabled]=\"disabled(field, form)\"\n [domain]=\"field.domain\"\n [findPersonGroup]=\"form\"\n [selectedPerson]=\"form.get(field.name)?.value?.email\"\n ></xuilib-find-person>\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\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",
1388
1468
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
1389
1469
  encapsulation: i0.ViewEncapsulation.None,
1390
- 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;flex-basis:calc(50% - 34px);width:29%}"]
1470
+ 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}"]
1391
1471
  }] }
1392
1472
  ];
1393
1473
  /** @nocollapse */
@@ -3701,6 +3781,13 @@
3701
3781
  ADMIN: "Admin",
3702
3782
  ALL: "All",
3703
3783
  };
3784
+ /** @enum {string} */
3785
+ var RoleCategory = {
3786
+ JUDICIAL: "JUDICIAL",
3787
+ CASEWORKER: "LEGAL_OPERATIONS",
3788
+ ADMIN: "ADMIN",
3789
+ ALL: "ALL",
3790
+ };
3704
3791
 
3705
3792
  /**
3706
3793
  * @fileoverview added by tsickle
@@ -3848,7 +3935,12 @@
3848
3935
  /** @type {?} */
3849
3936
  var caseworkers = JSON.parse(this.sessionStorageService.getItem(FindAPersonService.caseworkersKey));
3850
3937
  /** @type {?} */
3851
- var people = caseworkers ? this.mapCaseworkers(caseworkers) : [];
3938
+ var roleCategory = RoleCategory.ALL;
3939
+ if (!(searchOptions.jurisdiction === PersonRole.ALL)) {
3940
+ roleCategory = searchOptions.jurisdiction === PersonRole.CASEWORKER ? RoleCategory.CASEWORKER : RoleCategory.ADMIN;
3941
+ }
3942
+ /** @type {?} */
3943
+ var people = caseworkers ? this.mapCaseworkers(caseworkers, roleCategory) : [];
3852
3944
  /** @type {?} */
3853
3945
  var searchTerm = searchOptions && searchOptions.searchTerm ? searchOptions.searchTerm.toLowerCase() : '';
3854
3946
  return rxjs.of(people.filter(( /**
@@ -3858,13 +3950,15 @@
3858
3950
  };
3859
3951
  /**
3860
3952
  * @param {?} caseworkers
3953
+ * @param {?} roleCategory
3861
3954
  * @return {?}
3862
3955
  */
3863
3956
  FindAPersonService.prototype.mapCaseworkers = /**
3864
3957
  * @param {?} caseworkers
3958
+ * @param {?} roleCategory
3865
3959
  * @return {?}
3866
3960
  */
3867
- function (caseworkers) {
3961
+ function (caseworkers, roleCategory) {
3868
3962
  /** @type {?} */
3869
3963
  var people = [];
3870
3964
  caseworkers.forEach(( /**
@@ -3876,9 +3970,11 @@
3876
3970
  email: caseworker.email,
3877
3971
  name: caseworker.firstName + " " + caseworker.lastName,
3878
3972
  id: caseworker.idamId,
3879
- domain: PersonRole.CASEWORKER,
3973
+ domain: caseworker.roleCategory === RoleCategory.CASEWORKER ? PersonRole.CASEWORKER : PersonRole.ADMIN,
3880
3974
  };
3881
- people.push(thisPerson);
3975
+ if (caseworker.roleCategory === roleCategory || roleCategory === RoleCategory.ALL) {
3976
+ people.push(thisPerson);
3977
+ }
3882
3978
  }));
3883
3979
  return people;
3884
3980
  };
@@ -4147,7 +4243,8 @@
4147
4243
  GovUkDateComponent.decorators = [
4148
4244
  { type: i0.Component, args: [{
4149
4245
  selector: 'xuilib-gov-uk-date',
4150
- template: "<div class=\"govuk-form-group\" [ngClass]=\"{'govuk-form-group--error': errorMessage?.isInvalid}\" [formGroup]=\"formGroup\">\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\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"
4246
+ 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\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",
4247
+ 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}"]
4151
4248
  }] }
4152
4249
  ];
4153
4250
  /** @nocollapse */
@@ -4401,7 +4498,7 @@
4401
4498
  GovUkInputComponent.decorators = [
4402
4499
  { type: i0.Component, args: [{
4403
4500
  selector: 'xuilib-gov-uk-input',
4404
- 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\" [id]=\"config.id\" [name]=\"config.name\" [type]=\"config.type\"\n [attr.aria-invalid]=\"errorMessage?.isInvalid\"\n [formControlName]=\"config.name\" [attr.aria-describedby]='setDescribedBy()'>\n</div>",
4501
+ 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",
4405
4502
  styles: [".gov-uk-input input:disabled{background:#b1b4b6}"]
4406
4503
  }] }
4407
4504
  ];
@@ -6096,6 +6193,7 @@
6096
6193
  exports.AnonymousFeatureUser = AnonymousFeatureUser;
6097
6194
  exports.LoggedInFeatureUser = LoggedInFeatureUser;
6098
6195
  exports.PersonRole = PersonRole;
6196
+ exports.RoleCategory = RoleCategory;
6099
6197
  exports.RadioFilterFieldConfig = RadioFilterFieldConfig;
6100
6198
  exports.FeatureToggleGuard = FeatureToggleGuard;
6101
6199
  exports.FeatureToggleService = FeatureToggleService;