@hmcts/ccd-case-ui-toolkit 7.2.23-srt-rc3 → 7.2.23-srt-rc4
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/esm2022/lib/components/form/date-input/date-input.component.mjs +19 -56
- package/esm2022/lib/shared/components/case-editor/case-edit-form/case-edit-form.component.mjs +3 -24
- package/esm2022/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.mjs +2 -6
- package/esm2022/lib/shared/components/palette/date/read-date-field.component.mjs +4 -4
- package/esm2022/lib/shared/components/palette/datetime-picker/datetime-picker.component.mjs +10 -41
- package/esm2022/lib/shared/components/search-result/search-result.component.mjs +1 -1
- package/esm2022/lib/shared/services/form/field-type-sanitiser.mjs +3 -38
- package/esm2022/lib/shared/services/form/form-value.service.mjs +1 -24
- package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs +35 -186
- package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
- package/lib/components/form/date-input/date-input.component.d.ts +0 -4
- package/lib/components/form/date-input/date-input.component.d.ts.map +1 -1
- package/lib/shared/components/case-editor/case-edit-form/case-edit-form.component.d.ts +0 -1
- package/lib/shared/components/case-editor/case-edit-form/case-edit-form.component.d.ts.map +1 -1
- package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts.map +1 -1
- package/lib/shared/components/palette/date/read-date-field.component.d.ts.map +1 -1
- package/lib/shared/components/palette/datetime-picker/datetime-picker.component.d.ts +0 -2
- package/lib/shared/components/palette/datetime-picker/datetime-picker.component.d.ts.map +1 -1
- package/lib/shared/components/search-result/search-result.component.d.ts.map +1 -1
- package/lib/shared/services/form/field-type-sanitiser.d.ts +0 -5
- package/lib/shared/services/form/field-type-sanitiser.d.ts.map +1 -1
- package/lib/shared/services/form/form-value.service.d.ts +0 -1
- package/lib/shared/services/form/form-value.service.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -17,7 +17,6 @@ import { Type, Exclude, Expose, plainToClassFromExist, plainToClass } from 'clas
|
|
|
17
17
|
import moment from 'moment';
|
|
18
18
|
import { __decorate, __metadata } from 'tslib';
|
|
19
19
|
import * as _ from 'underscore';
|
|
20
|
-
import { isEqual } from 'underscore';
|
|
21
20
|
import 'reflect-metadata';
|
|
22
21
|
import { generate } from 'pegjs';
|
|
23
22
|
import { StateMachine } from '@edium/fsm';
|
|
@@ -499,40 +498,20 @@ class DateInputComponent {
|
|
|
499
498
|
writeValue(obj) {
|
|
500
499
|
if (obj) {
|
|
501
500
|
this.rawValue = this.removeMilliseconds(obj);
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
this.second = this.displaySecond = '';
|
|
515
|
-
return;
|
|
516
|
-
}
|
|
517
|
-
const localDate = this.getOffsetDate(date);
|
|
518
|
-
this.year = this.displayYear = String(localDate.getFullYear());
|
|
519
|
-
this.month = this.displayMonth = this.padZero(localDate.getMonth() + 1);
|
|
520
|
-
this.day = this.displayDay = this.padZero(localDate.getDate());
|
|
521
|
-
if (dateInput.includes('T')) {
|
|
522
|
-
this.hour = this.displayHour = this.padZero(localDate.getHours());
|
|
523
|
-
this.minute = this.displayMinute = this.padZero(localDate.getMinutes());
|
|
524
|
-
this.second = this.displaySecond = this.padZero(localDate.getSeconds());
|
|
525
|
-
}
|
|
526
|
-
else {
|
|
527
|
-
this.hour = this.displayHour = '';
|
|
528
|
-
this.minute = this.displayMinute = '';
|
|
529
|
-
this.second = this.displaySecond = '';
|
|
501
|
+
// needs to handle also partial dates, e.g. -05-2016 (missing day)
|
|
502
|
+
const [datePart, timePart] = this.rawValue.split('T');
|
|
503
|
+
const dateValues = datePart.split('-');
|
|
504
|
+
this.year = this.displayYear = dateValues[0] || '';
|
|
505
|
+
this.month = this.displayMonth = dateValues[1] || '';
|
|
506
|
+
this.day = this.displayDay = dateValues[2] || '';
|
|
507
|
+
if (timePart) {
|
|
508
|
+
const timeParts = timePart.split(':');
|
|
509
|
+
this.hour = this.displayHour = timeParts[0] || '';
|
|
510
|
+
this.minute = this.displayMinute = timeParts[1] || '';
|
|
511
|
+
this.second = this.displaySecond = timeParts[2] || '';
|
|
512
|
+
}
|
|
530
513
|
}
|
|
531
514
|
}
|
|
532
|
-
getOffsetDate(date) {
|
|
533
|
-
const localOffset = -date.getTimezoneOffset() / 60;
|
|
534
|
-
return new Date(date.getTime() + localOffset * 3600 * 1000);
|
|
535
|
-
}
|
|
536
515
|
validate(control) {
|
|
537
516
|
if (this.mandatory && !this.viewValue()) {
|
|
538
517
|
return {
|
|
@@ -560,42 +539,42 @@ class DateInputComponent {
|
|
|
560
539
|
dayChange(value) {
|
|
561
540
|
// get value from input
|
|
562
541
|
this.day = value;
|
|
563
|
-
this.rawValue = this.
|
|
542
|
+
this.rawValue = this.viewValue();
|
|
564
543
|
// update the form
|
|
565
544
|
this.propagateChange(this.rawValue);
|
|
566
545
|
}
|
|
567
546
|
monthChange(value) {
|
|
568
547
|
// get value from input
|
|
569
548
|
this.month = value;
|
|
570
|
-
this.rawValue = this.
|
|
549
|
+
this.rawValue = this.viewValue();
|
|
571
550
|
// update the form
|
|
572
551
|
this.propagateChange(this.rawValue);
|
|
573
552
|
}
|
|
574
553
|
yearChange(value) {
|
|
575
554
|
// get value from input
|
|
576
555
|
this.year = value;
|
|
577
|
-
this.rawValue = this.
|
|
556
|
+
this.rawValue = this.viewValue();
|
|
578
557
|
// update the form
|
|
579
558
|
this.propagateChange(this.rawValue);
|
|
580
559
|
}
|
|
581
560
|
hourChange(value) {
|
|
582
561
|
// get value from input
|
|
583
562
|
this.hour = value;
|
|
584
|
-
this.rawValue = this.
|
|
563
|
+
this.rawValue = this.viewValue();
|
|
585
564
|
// update the form
|
|
586
565
|
this.propagateChange(this.rawValue);
|
|
587
566
|
}
|
|
588
567
|
minuteChange(value) {
|
|
589
568
|
// get value from input
|
|
590
569
|
this.minute = value;
|
|
591
|
-
this.rawValue = this.
|
|
570
|
+
this.rawValue = this.viewValue();
|
|
592
571
|
// update the form
|
|
593
572
|
this.propagateChange(this.rawValue);
|
|
594
573
|
}
|
|
595
574
|
secondChange(value) {
|
|
596
575
|
// get value from input
|
|
597
576
|
this.second = value;
|
|
598
|
-
this.rawValue = this.
|
|
577
|
+
this.rawValue = this.viewValue();
|
|
599
578
|
// update the form
|
|
600
579
|
this.propagateChange(this.rawValue);
|
|
601
580
|
}
|
|
@@ -630,23 +609,6 @@ class DateInputComponent {
|
|
|
630
609
|
secondId() {
|
|
631
610
|
return this.id + '-second';
|
|
632
611
|
}
|
|
633
|
-
// convert the dates to UTC before sending to the backend
|
|
634
|
-
convertToUTC(input) {
|
|
635
|
-
if (!input)
|
|
636
|
-
return null;
|
|
637
|
-
const date = new Date(input);
|
|
638
|
-
const year = date.getUTCFullYear();
|
|
639
|
-
const month = this.padZero(date.getUTCMonth() + 1);
|
|
640
|
-
const day = this.padZero(date.getUTCDate());
|
|
641
|
-
const hour = this.padZero(date.getUTCHours());
|
|
642
|
-
const minute = this.padZero(date.getUTCMinutes());
|
|
643
|
-
const second = this.padZero(date.getUTCSeconds());
|
|
644
|
-
const ms = date.getUTCMilliseconds().toString().padStart(3, '0');
|
|
645
|
-
return `${year}-${month}-${day}T${hour}:${minute}:${second}.${ms}`;
|
|
646
|
-
}
|
|
647
|
-
padZero(value) {
|
|
648
|
-
return value.toString().padStart(2, '0');
|
|
649
|
-
}
|
|
650
612
|
viewValue() {
|
|
651
613
|
if (this.day || this.month || this.year || this.hour || this.minute || this.second) {
|
|
652
614
|
const date = [
|
|
@@ -5761,7 +5723,6 @@ class FieldTypeSanitiser {
|
|
|
5761
5723
|
static FIELD_TYPE_DYNAMIC_RADIO_LIST = 'DynamicRadioList';
|
|
5762
5724
|
static FIELD_TYPE_DYNAMIC_MULTISELECT_LIST = 'DynamicMultiSelectList';
|
|
5763
5725
|
static DYNAMIC_LIST_TYPE = ['DynamicList', 'DynamicRadioList', 'DynamicMultiSelectList'];
|
|
5764
|
-
static DATE_FORMAT = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{3}Z$/;
|
|
5765
5726
|
/**
|
|
5766
5727
|
* This method finds dynamiclists in a form and replaces their string
|
|
5767
5728
|
* values, with a JSON object, as below:
|
|
@@ -5795,7 +5756,6 @@ class FieldTypeSanitiser {
|
|
|
5795
5756
|
this.sanitiseLists(caseField.field_type.complex_fields, data[caseField.id]);
|
|
5796
5757
|
break;
|
|
5797
5758
|
case FieldTypeSanitiser.FIELD_TYPE_COLLECTION:
|
|
5798
|
-
this.synchronizeCasefieldWithData(caseField, data);
|
|
5799
5759
|
if (Array.isArray(data[caseField.id])) {
|
|
5800
5760
|
data[caseField.id].forEach((formElement) => {
|
|
5801
5761
|
this.sanitiseLists(caseField.field_type.collection_field_type.complex_fields, formElement.value);
|
|
@@ -5805,38 +5765,6 @@ class FieldTypeSanitiser {
|
|
|
5805
5765
|
}
|
|
5806
5766
|
});
|
|
5807
5767
|
}
|
|
5808
|
-
synchronizeCasefieldWithData(caseField, data) {
|
|
5809
|
-
for (const field in caseField._value) {
|
|
5810
|
-
for (const id in data[caseField.id]) {
|
|
5811
|
-
if (caseField._value[field]?.id === data[caseField.id][id]?.id) {
|
|
5812
|
-
this.updateFieldValues(caseField._value[field].value, data[caseField.id][id]?.value);
|
|
5813
|
-
}
|
|
5814
|
-
}
|
|
5815
|
-
}
|
|
5816
|
-
}
|
|
5817
|
-
updateFieldValues(caseFieldValue, dataValue) {
|
|
5818
|
-
for (const key in dataValue) {
|
|
5819
|
-
if ((typeof caseFieldValue[key] === 'object')) {
|
|
5820
|
-
if (!isEqual(caseFieldValue[key], dataValue[key])) {
|
|
5821
|
-
this.updateObjectValue(caseFieldValue[key], dataValue[key]);
|
|
5822
|
-
}
|
|
5823
|
-
}
|
|
5824
|
-
else {
|
|
5825
|
-
this.updatePrimitiveValue(caseFieldValue, key, dataValue[key]);
|
|
5826
|
-
}
|
|
5827
|
-
}
|
|
5828
|
-
}
|
|
5829
|
-
updateObjectValue(formattedObject, dataObject) {
|
|
5830
|
-
// we only want to update the value if there is a list_items property
|
|
5831
|
-
if ((formattedObject?.value !== dataObject) && (formattedObject.list_items)) {
|
|
5832
|
-
formattedObject.value = dataObject;
|
|
5833
|
-
}
|
|
5834
|
-
}
|
|
5835
|
-
updatePrimitiveValue(caseFieldValue, key, dataValue) {
|
|
5836
|
-
if ((!caseFieldValue[key]) || (caseFieldValue[key] !== dataValue)) {
|
|
5837
|
-
caseFieldValue[key] = dataValue;
|
|
5838
|
-
}
|
|
5839
|
-
}
|
|
5840
5768
|
ensureDynamicMultiSelectListPopulated(caseFields) {
|
|
5841
5769
|
return caseFields.map((field) => {
|
|
5842
5770
|
if (field.field_type.type !== 'Complex') {
|
|
@@ -5877,7 +5805,7 @@ class FieldTypeSanitiser {
|
|
|
5877
5805
|
const values = data[field.id];
|
|
5878
5806
|
if (Array.isArray(values)) {
|
|
5879
5807
|
const listItems = this.getListItems(field);
|
|
5880
|
-
const matches = listItems.filter(
|
|
5808
|
+
const matches = listItems.filter(item => values.map(v => v.code).indexOf(item.code) !== -1);
|
|
5881
5809
|
data[field.id] = {
|
|
5882
5810
|
value: matches,
|
|
5883
5811
|
list_items: listItems
|
|
@@ -5888,7 +5816,7 @@ class FieldTypeSanitiser {
|
|
|
5888
5816
|
const stringValue = data[field.id];
|
|
5889
5817
|
if (typeof stringValue === 'string') {
|
|
5890
5818
|
const listItems = this.getListItems(field);
|
|
5891
|
-
const matches = listItems.filter(
|
|
5819
|
+
const matches = listItems.filter(value => value?.code === stringValue);
|
|
5892
5820
|
if (matches && matches.length > 0) {
|
|
5893
5821
|
data[field.id] = {
|
|
5894
5822
|
value: matches[0],
|
|
@@ -6182,9 +6110,6 @@ class FormValueService {
|
|
|
6182
6110
|
if (Array.isArray(rawValue)) {
|
|
6183
6111
|
return this.sanitiseArray(rawValue);
|
|
6184
6112
|
}
|
|
6185
|
-
if (FieldTypeSanitiser.DATE_FORMAT.test(rawValue)) {
|
|
6186
|
-
return rawValue.replace(/Z$/, '');
|
|
6187
|
-
}
|
|
6188
6113
|
switch (typeof rawValue) {
|
|
6189
6114
|
case 'object':
|
|
6190
6115
|
return this.sanitiseObject(rawValue);
|
|
@@ -6203,26 +6128,6 @@ class FormValueService {
|
|
|
6203
6128
|
}
|
|
6204
6129
|
}
|
|
6205
6130
|
}
|
|
6206
|
-
checkValuesSetInCollection(caseField, data) {
|
|
6207
|
-
for (const field in data) {
|
|
6208
|
-
const fieldId = data[field].id;
|
|
6209
|
-
if (Array.isArray(caseField.data[fieldId])) {
|
|
6210
|
-
for (const subField in caseField.data[fieldId]) {
|
|
6211
|
-
if (data[field]?._value &&
|
|
6212
|
-
typeof data[field]._value[subField] === 'object' &&
|
|
6213
|
-
Object.keys(caseField.data[fieldId][subField] ?? {}).every((key) => key in data[field]._value[subField])) {
|
|
6214
|
-
if (caseField.data[fieldId][subField] !== data[field]?._value[subField]) {
|
|
6215
|
-
caseField.data[fieldId][subField] = data[field]._value[subField];
|
|
6216
|
-
}
|
|
6217
|
-
}
|
|
6218
|
-
}
|
|
6219
|
-
}
|
|
6220
|
-
else if ((data[field]._value) && (caseField.data[fieldId] !== data[field]._value)) {
|
|
6221
|
-
caseField.data[fieldId] = data[field]._value;
|
|
6222
|
-
}
|
|
6223
|
-
}
|
|
6224
|
-
return caseField;
|
|
6225
|
-
}
|
|
6226
6131
|
// TODO refactor so that this and remove unnecessary fields have a common iterator that applies functions to each node visited
|
|
6227
6132
|
removeNullLabels(data, caseFields) {
|
|
6228
6133
|
if (data && caseFields && caseFields.length > 0) {
|
|
@@ -10571,29 +10476,8 @@ class CaseEditFormComponent {
|
|
|
10571
10476
|
this.initial = JSON.stringify(this.formValueService.sanitise(this.formGroup.value));
|
|
10572
10477
|
}
|
|
10573
10478
|
detectChangesAndEmit(changes) {
|
|
10574
|
-
const current = this.formValueService.sanitise(changes);
|
|
10575
|
-
|
|
10576
|
-
this.valuesChanged.emit(!isEqual);
|
|
10577
|
-
}
|
|
10578
|
-
deepEqual(obj1, obj2) {
|
|
10579
|
-
// Simple deep equality check
|
|
10580
|
-
if (obj1 === obj2) {
|
|
10581
|
-
return true;
|
|
10582
|
-
}
|
|
10583
|
-
if (typeof obj1 !== 'object' || typeof obj2 !== 'object' || obj1 == null || obj2 == null) {
|
|
10584
|
-
return false;
|
|
10585
|
-
}
|
|
10586
|
-
const keys1 = Object.keys(obj1);
|
|
10587
|
-
const keys2 = Object.keys(obj2);
|
|
10588
|
-
if (keys1.length !== keys2.length) {
|
|
10589
|
-
return false;
|
|
10590
|
-
}
|
|
10591
|
-
for (const key of keys1) {
|
|
10592
|
-
if (!this.deepEqual(obj1[key], obj2[key])) {
|
|
10593
|
-
return false;
|
|
10594
|
-
}
|
|
10595
|
-
}
|
|
10596
|
-
return true;
|
|
10479
|
+
const current = JSON.stringify(this.formValueService.sanitise(changes));
|
|
10480
|
+
this.initial !== current ? this.valuesChanged.emit(true) : this.valuesChanged.emit(false);
|
|
10597
10481
|
}
|
|
10598
10482
|
static ɵfac = function CaseEditFormComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CaseEditFormComponent)(i0.ɵɵdirectiveInject(FormValueService)); };
|
|
10599
10483
|
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CaseEditFormComponent, selectors: [["ccd-case-edit-form"]], inputs: { fields: "fields", formGroup: "formGroup", caseFields: "caseFields", pageChangeSubject: "pageChangeSubject" }, outputs: { valuesChanged: "valuesChanged" }, decls: 1, vars: 1, consts: [["CompoundRow", ""], ["ccdConditionalShowForm", "", 3, "formGroup", "caseFields", "contextFields", 4, "ngFor", "ngForOf"], ["ccdConditionalShowForm", "", 3, "formGroup", "caseFields", "contextFields"], ["ccdLabelSubstitutor", "", 3, "caseField", "formGroup", "contextFields"], [3, "ngSwitch"], [3, "caseField", "caseFields", "withLabel", "formGroup", 4, "ngSwitchCase"], [4, "ngSwitchCase"], [3, "caseField", "caseFields", "withLabel", "formGroup"], [4, "ngIf", "ngIfElse"], [3, "caseField", "caseFields", "formGroup", "idPrefix", "hidden"]], template: function CaseEditFormComponent_Template(rf, ctx) { if (rf & 1) {
|
|
@@ -11753,13 +11637,9 @@ class CaseEditPageComponent {
|
|
|
11753
11637
|
*/
|
|
11754
11638
|
getFilteredCaseEventData(caseFields, formValue, clearEmpty = false, clearNonCase = false, fromPreviousPage = false) {
|
|
11755
11639
|
// Get the data for the fields specified.
|
|
11756
|
-
|
|
11640
|
+
const formFields = this.formValueService.filterCurrentPageFields(caseFields, formValue);
|
|
11757
11641
|
// Sort out the dynamic lists.
|
|
11758
11642
|
this.formValueService.sanitiseDynamicLists(caseFields, formFields);
|
|
11759
|
-
// we only want to ensure this when the field_type is a collection of complex fields
|
|
11760
|
-
if (caseFields.some((field) => field.field_type?.type === 'Collection' && field.field_type?.collection_field_type?.type === 'Complex')) {
|
|
11761
|
-
formFields = this.formValueService.checkValuesSetInCollection(formFields, caseFields);
|
|
11762
|
-
}
|
|
11763
11643
|
// Get hold of the CaseEventData.
|
|
11764
11644
|
const caseEventData = this.formValueService.sanitise(formFields);
|
|
11765
11645
|
// delete fields which are not part of the case event journey wizard pages case fields
|
|
@@ -15158,7 +15038,7 @@ class ReadComplexFieldComponent extends AbstractFieldReadComponent {
|
|
|
15158
15038
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ReadComplexFieldComponent, { className: "ReadComplexFieldComponent", filePath: "lib/shared/components/palette/complex/read-complex-field.component.ts", lineNumber: 10 }); })();
|
|
15159
15039
|
|
|
15160
15040
|
class ReadDateFieldComponent extends AbstractFieldReadComponent {
|
|
15161
|
-
timeZone = '
|
|
15041
|
+
timeZone = 'utc';
|
|
15162
15042
|
static ɵfac = /*@__PURE__*/ (() => { let ɵReadDateFieldComponent_BaseFactory; return function ReadDateFieldComponent_Factory(__ngFactoryType__) { return (ɵReadDateFieldComponent_BaseFactory || (ɵReadDateFieldComponent_BaseFactory = i0.ɵɵgetInheritedFactory(ReadDateFieldComponent)))(__ngFactoryType__ || ReadDateFieldComponent); }; })();
|
|
15163
15043
|
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ReadDateFieldComponent, selectors: [["ccd-read-date-field"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 3, vars: 5, consts: [[1, "text-16"]], template: function ReadDateFieldComponent_Template(rf, ctx) { if (rf & 1) {
|
|
15164
15044
|
i0.ɵɵelementStart(0, "span", 0);
|
|
@@ -15167,14 +15047,14 @@ class ReadDateFieldComponent extends AbstractFieldReadComponent {
|
|
|
15167
15047
|
i0.ɵɵelementEnd();
|
|
15168
15048
|
} if (rf & 2) {
|
|
15169
15049
|
i0.ɵɵadvance();
|
|
15170
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind3(2, 1, ctx.caseField.value, "
|
|
15050
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind3(2, 1, ctx.caseField.value, "utc", ctx.caseField.dateTimeDisplayFormat));
|
|
15171
15051
|
} }, dependencies: [DatePipe], encapsulation: 2 });
|
|
15172
15052
|
}
|
|
15173
15053
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ReadDateFieldComponent, [{
|
|
15174
15054
|
type: Component,
|
|
15175
15055
|
args: [{
|
|
15176
15056
|
selector: 'ccd-read-date-field',
|
|
15177
|
-
template: `<span class="text-16">{{caseField.value | ccdDate:'
|
|
15057
|
+
template: `<span class="text-16">{{caseField.value | ccdDate:'utc':caseField.dateTimeDisplayFormat}}</span>`
|
|
15178
15058
|
}]
|
|
15179
15059
|
}], null, null); })();
|
|
15180
15060
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ReadDateFieldComponent, { className: "ReadDateFieldComponent", filePath: "lib/shared/components/palette/date/read-date-field.component.ts", lineNumber: 8 }); })();
|
|
@@ -29395,7 +29275,6 @@ class DatetimePickerComponent extends AbstractFormFieldComponent {
|
|
|
29395
29275
|
minError = false;
|
|
29396
29276
|
maxError = false;
|
|
29397
29277
|
dateTimeEntryFormat;
|
|
29398
|
-
isUpdating = false;
|
|
29399
29278
|
datetimePicker;
|
|
29400
29279
|
inputElement;
|
|
29401
29280
|
dateControl = new FormControl(new Date());
|
|
@@ -29418,7 +29297,7 @@ class DatetimePickerComponent extends AbstractFormFieldComponent {
|
|
|
29418
29297
|
// otherwise the last format given will be how the text shown will be displayed
|
|
29419
29298
|
setTimeout(() => {
|
|
29420
29299
|
this.setDateTimeFormat();
|
|
29421
|
-
this.
|
|
29300
|
+
this.formatValueAndSetErrors();
|
|
29422
29301
|
}, 1000);
|
|
29423
29302
|
// when the status changes check that the maximum/minimum date has not been exceeded
|
|
29424
29303
|
this.dateControl.statusChanges.subscribe(() => {
|
|
@@ -29520,54 +29399,24 @@ class DatetimePickerComponent extends AbstractFormFieldComponent {
|
|
|
29520
29399
|
this.valueChanged();
|
|
29521
29400
|
}
|
|
29522
29401
|
}
|
|
29523
|
-
loadValue() {
|
|
29524
|
-
if (this.inputElement.nativeElement.value) {
|
|
29525
|
-
const inputValue = this.inputElement.nativeElement.value;
|
|
29526
|
-
const formValue = moment(inputValue, this.dateTimeEntryFormat).format(this.momentFormat);
|
|
29527
|
-
if (formValue !== 'Invalid date') {
|
|
29528
|
-
const localMoment = moment.utc(formValue).local();
|
|
29529
|
-
this.dateControl.setValue(moment(formValue).format(this.momentFormat));
|
|
29530
|
-
this.inputElement.nativeElement.value = localMoment.format(this.dateTimeEntryFormat);
|
|
29531
|
-
if (this.datetimePicker) {
|
|
29532
|
-
this.datetimePicker.select(localMoment);
|
|
29533
|
-
}
|
|
29534
|
-
}
|
|
29535
|
-
else {
|
|
29536
|
-
// If invalid, just show the raw value
|
|
29537
|
-
this.inputElement.nativeElement.value = this.dateControl.value;
|
|
29538
|
-
}
|
|
29539
|
-
}
|
|
29540
|
-
else {
|
|
29541
|
-
this.inputElement.nativeElement.value = '';
|
|
29542
|
-
}
|
|
29543
|
-
}
|
|
29544
29402
|
formatValueAndSetErrors() {
|
|
29545
|
-
if (this.isUpdating)
|
|
29546
|
-
return;
|
|
29547
|
-
this.isUpdating = true;
|
|
29548
29403
|
if (this.inputElement.nativeElement.value) {
|
|
29549
|
-
|
|
29550
|
-
|
|
29551
|
-
const localMoment = moment(inputValue, this.dateTimeEntryFormat, true);
|
|
29404
|
+
let formValue = this.inputElement.nativeElement.value;
|
|
29405
|
+
formValue = moment(formValue, this.dateTimeEntryFormat).format(this.momentFormat);
|
|
29552
29406
|
if (formValue !== 'Invalid date') {
|
|
29553
|
-
|
|
29554
|
-
this.dateControl.setValue(
|
|
29555
|
-
this.inputElement.nativeElement.value = localMoment.format(this.dateTimeEntryFormat);
|
|
29556
|
-
if (this.datetimePicker) {
|
|
29557
|
-
this.datetimePicker.select(localMoment); // guarded from recursion
|
|
29558
|
-
}
|
|
29559
|
-
this.isUpdating = false;
|
|
29407
|
+
// if not invalid set the value as the formatted value
|
|
29408
|
+
this.dateControl.setValue(formValue);
|
|
29560
29409
|
}
|
|
29561
29410
|
else {
|
|
29411
|
+
// ensure that the datepicker picks up the invalid error
|
|
29562
29412
|
const keepErrorText = this.inputElement.nativeElement.value;
|
|
29563
29413
|
this.dateControl.setValue(keepErrorText);
|
|
29564
29414
|
this.inputElement.nativeElement.value = keepErrorText;
|
|
29565
|
-
this.isUpdating = false;
|
|
29566
29415
|
}
|
|
29567
29416
|
}
|
|
29568
29417
|
else {
|
|
29418
|
+
// ensure required errors are picked up if relevant
|
|
29569
29419
|
this.dateControl.setValue('');
|
|
29570
|
-
this.isUpdating = false;
|
|
29571
29420
|
}
|
|
29572
29421
|
}
|
|
29573
29422
|
static ɵfac = function DatetimePickerComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || DatetimePickerComponent)(i0.ɵɵdirectiveInject(FormatTranslatorService), i0.ɵɵdirectiveInject(NGX_MAT_DATE_FORMATS)); };
|
|
@@ -29586,7 +29435,7 @@ class DatetimePickerComponent extends AbstractFormFieldComponent {
|
|
|
29586
29435
|
deps: [MAT_LEGACY_DATE_LOCALE, NGX_MAT_MOMENT_DATE_ADAPTER_OPTIONS]
|
|
29587
29436
|
},
|
|
29588
29437
|
{ provide: NGX_MAT_MOMENT_DATE_ADAPTER_OPTIONS, useValue: { useUtc: true } }
|
|
29589
|
-
]), i0.ɵɵInheritDefinitionFeature], decls: 17, vars: 27, consts: [["input", ""], ["picker", ""], [1, "govuk-form-group", "bottom-30", 3, "id", "ngClass"], ["class", "form-label", 4, "ngIf"], ["class", "form-hint", 4, "ngIf"], ["class", "error-message", 4, "ngIf"], [1, "datepicker-container"], ["
|
|
29438
|
+
]), i0.ɵɵInheritDefinitionFeature], decls: 17, vars: 27, consts: [["input", ""], ["picker", ""], [1, "govuk-form-group", "bottom-30", 3, "id", "ngClass"], ["class", "form-label", 4, "ngIf"], ["class", "form-hint", 4, "ngIf"], ["class", "error-message", 4, "ngIf"], [1, "datepicker-container"], ["ng-model-options", "{timezone:'utc'}", 1, "govuk-input", 3, "focusin", "focusout", "dateChange", "min", "max", "formControl", "ngxMatDatetimePicker"], ["matSuffix", "", "id", "pickerOpener", 3, "for"], [3, "yearSelected", "monthSelected", "opened", "color", "touchUi", "hideTime", "startView", "stepHour", "stepSecond", "stepMinute", "showSeconds", "showSpinners", "disableMinute", "enableMeridian"], ["mat-raised-button", "", "color", "primary", "ngxMatDatepickerApply", ""], [1, "form-label"], [1, "form-hint"], [1, "error-message"]], template: function DatetimePickerComponent_Template(rf, ctx) { if (rf & 1) {
|
|
29590
29439
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
29591
29440
|
i0.ɵɵelementStart(0, "div", 2)(1, "fieldset")(2, "legend");
|
|
29592
29441
|
i0.ɵɵtemplate(3, DatetimePickerComponent_span_3_Template, 3, 3, "span", 3)(4, DatetimePickerComponent_span_4_Template, 3, 3, "span", 4)(5, DatetimePickerComponent_span_5_Template, 3, 4, "span", 5)(6, DatetimePickerComponent_span_6_Template, 3, 3, "span", 5)(7, DatetimePickerComponent_span_7_Template, 3, 3, "span", 5);
|
|
@@ -29632,7 +29481,7 @@ class DatetimePickerComponent extends AbstractFormFieldComponent {
|
|
|
29632
29481
|
deps: [MAT_LEGACY_DATE_LOCALE, NGX_MAT_MOMENT_DATE_ADAPTER_OPTIONS]
|
|
29633
29482
|
},
|
|
29634
29483
|
{ provide: NGX_MAT_MOMENT_DATE_ADAPTER_OPTIONS, useValue: { useUtc: true } }
|
|
29635
|
-
], template: "<div class=\"govuk-form-group bottom-30\" [id]=\"caseField.id\"\n [ngClass]=\"{'form-group-error': dateControl && !dateControl.valid && dateControl.dirty}\">\n <fieldset>\n <legend>\n <span class=\"form-label\" *ngIf=\"caseField.label\">{{(caseField | ccdFieldLabel)}}</span>\n <span class=\"form-hint\" *ngIf=\"caseField.hint_text\">{{caseField.hint_text | rpxTranslate}}</span>\n <span class=\"error-message\"\n *ngIf=\"dateControl && dateControl.errors && dateControl.dirty && !(minError || maxError)\">{{(dateControl.errors | ccdFirstError:caseField.label)}}</span>\n <span class=\"error-message\"\n *ngIf=\"dateControl && dateControl.dirty && minError\">{{'This date is older than the minimum date allowed' | rpxTranslate}}</span>\n <span class=\"error-message\"\n *ngIf=\"dateControl && dateControl.dirty && maxError\">{{'This date is later than the maximum date allowed' | rpxTranslate}}</span>\n </legend>\n <div class=\"datepicker-container\">\n <input readonly \n class=\"govuk-input\"\n #input\n attr.aria-label=\"Please enter a date and time in the format | rpxTranslate {{dateTimeEntryFormat}}\"\n [min]=\"minDate(caseField)\"\n [max]=\"maxDate(caseField)\"\n [formControl]=\"dateControl\"\n [ngxMatDatetimePicker]=\"picker\"\n (focusin)=\"focusIn()\"\n (focusout)=\"focusOut()\"\n (dateChange)=\"valueChanged()\"\n style=\"pointer-events: none;\"\n >\n <mat-datepicker-toggle matSuffix [for]=\"picker\" id=\"pickerOpener\"></mat-datepicker-toggle>\n <ngx-mat-datetime-picker #picker\n [color]=\"color\"\n [touchUi]=\"touchUi\"\n [hideTime]=\"hideTime\"\n [startView]=\"startView\"\n [stepHour]=\"stepHour\"\n [stepSecond]=\"stepSecond\"\n [stepMinute]=\"stepMinute\"\n [showSeconds]=\"showSeconds\"\n [showSpinners]=\"showSpinners\"\n [disableMinute]=\"disableMinute\"\n [enableMeridian]=\"enableMeridian\"\n (yearSelected)=\"yearSelected($event)\"\n (monthSelected)=\"monthSelected($event)\"\n (opened)=\"toggleClick()\"\n >\n <ngx-mat-datepicker-actions>\n <button mat-raised-button color=\"primary\" ngxMatDatepickerApply>Confirm</button>\n </ngx-mat-datepicker-actions>\n </ngx-mat-datetime-picker>\n </div>\n </fieldset>\n</div>\n", styles: ["@charset \"UTF-8\";.datepicker-container{display:inline-block;position:relative;min-width:298px}.datepicker-container .govuk-input{height:35px;min-width:298px;width:auto;padding-right:40px;border:1px solid #000}.datepicker-container .govuk-input:focus{outline:1px solid #ffdd00;border:1px solid black}.datepicker-container .govuk-input::-ms-clear{display:none}.datepicker-container .datepicker-wrapper-input{position:relative;display:inline-block;top:-20%;border:0}.datepicker-container .datepicker-wrapper-input:focus{border:0;outline:none}.datepicker-container .mat-icon-button{height:32px;width:32px}.datepicker-container .mat-icon-button:focus{outline:1px solid #ffdd00}.datepicker-container .mat-icon-button .mat-datepicker-toggle-default-icon{position:relative;top:-5px}.datepicker-container .mat-datepicker-toggle{position:absolute;right:0}.datepicker-container .mat-mdc-icon-button.mat-mdc-button-base{width:32px;height:32px;padding:5px 0 0}.datepicker-container .mat-mdc-icon-button.mat-mdc-button-base:focus{outline:1px solid #fd0}.cdk-overlay-container .mat-datepicker-content{border:1px solid black;border-radius:0;max-width:295px;background:#fff}.cdk-overlay-container .mat-datepicker-content .mat-calendar-table{width:calc(100% - 1px);table-layout:fixed}.cdk-overlay-container .mat-datepicker-content .mat-calendar-header{height:34px;border-bottom:1px ridge #bfc1c3}.cdk-overlay-container .mat-datepicker-content .mat-calendar-period-button{left:14%;min-width:125px;border-right:1px ridge #bfc1c3;border-left:1px ridge #bfc1c3;border-radius:0;top:-20px;width:200%}.cdk-overlay-container .mat-datepicker-content .mat-calendar-period-button .mat-button-wrapper{text-align:center;font-weight:700}.cdk-overlay-container .mat-datepicker-content .mat-calendar-period-button:focus{border:2px solid black}.cdk-overlay-container .mat-datepicker-content .mat-calendar-previous-button{left:-73%;top:-20px;border:2px solid transparent;border-radius:0}.cdk-overlay-container .mat-datepicker-content .mat-calendar-previous-button:focus{border-color:#000}.cdk-overlay-container .mat-datepicker-content .mat-calendar-previous-button:after{border-left-width:5px;border-top-width:5px;color:#000;padding:4px;top:-2px;left:-2px}.cdk-overlay-container .mat-datepicker-content .mat-calendar-next-button{top:-20px;left:1%;border:2px solid transparent;border-radius:0}.cdk-overlay-container .mat-datepicker-content .mat-calendar-next-button:focus{border-color:#000}.cdk-overlay-container .mat-datepicker-content .mat-calendar-next-button:after{border-right-width:5px;border-top-width:5px;color:#000;padding:4px;top:-2px;left:-2px}.cdk-overlay-container .mat-datepicker-content .mat-button-wrapper{text-transform:capitalize!important}.cdk-overlay-container .mat-datepicker-content .mat-calendar{border-bottom:1px solid black}.cdk-overlay-container .mat-datepicker-content .mat-calendar-table-header-divider{padding:0;border-bottom:none}.cdk-overlay-container .mat-datepicker-content .mat-calendar-table-header-divider:after{height:0px}.cdk-overlay-container .mat-datepicker-content .mat-calendar-content{padding:0}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-table-header{color:#000}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-table-header th.ng-star-inserted{font-weight:700;font-size:15px;padding-top:2%;padding-bottom:2%;column-width:20px}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-table-header tr:nth-of-type(1) th{visibility:hidden}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-table-header tr:nth-of-type(1) th:after{visibility:visible;color:#000;position:relative;left:-15px}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-table-header tr:nth-of-type(1) th:nth-of-type(1):after{content:\"MON\"}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-table-header tr:nth-of-type(1) th:nth-of-type(2):after{left:-12px;content:\"TUE\"}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-table-header tr:nth-of-type(1) th:nth-of-type(3):after{left:-18px;content:\"WED\"}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-table-header tr:nth-of-type(1) th:nth-of-type(4):after{left:-14px;content:\"THU\"}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-table-header tr:nth-of-type(1) th:nth-of-type(5):after{left:-10px;content:\"FRI\"}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-table-header tr:nth-of-type(1) th:nth-of-type(6):after{content:\"SAT\"}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-table-header tr:nth-of-type(1) th:nth-of-type(7):after{content:\"SUN\"}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-body-label{font-weight:700;font-size:large;color:#000}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-body-selected{border:none;background-color:transparent;color:#fff}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-body-active{background-color:#5694ca}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-body-active .mat-calendar-body-today{border:none;box-shadow:none}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-body-cell{border:1px ridge #bfc1c3}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-body-cell[aria-selected=true],.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-body-cell[aria-pressed=true]{background-color:#1d70b8;outline:3px solid #ffdd00;border:2px solid black;outline-offset:1px;z-index:1}.cdk-overlay-container .mat-datepicker-content ngx-mat-multi-year-view .mat-calendar-table{border-collapse:separate;border-spacing:10px}.cdk-overlay-container .mat-datepicker-content ngx-mat-multi-year-view .mat-calendar-table .mat-calendar-body-active{background-color:#5694ca}.cdk-overlay-container .mat-datepicker-content ngx-mat-multi-year-view .mat-calendar-table .mat-calendar-body-cell{border:1px solid #bfc1c3}.cdk-overlay-container .mat-datepicker-content ngx-mat-multi-year-view .mat-calendar-table .mat-calendar-body-cell .mat-calendar-body-cell-content{border:none}.cdk-overlay-container .mat-datepicker-content ngx-mat-multi-year-view .mat-calendar-table .mat-calendar-body-cell .mat-calendar-body-selected{border:none;box-shadow:none;background-color:transparent}.cdk-overlay-container .mat-datepicker-content ngx-mat-multi-year-view .mat-calendar-table .mat-calendar-body-cell[aria-selected=true]{background-color:#1d70b8;outline:2px solid #ffdd00}.cdk-overlay-container .mat-datepicker-content ngx-mat-year-view .mat-calendar-table{border-collapse:separate;border-spacing:20px}.cdk-overlay-container .mat-datepicker-content ngx-mat-year-view .mat-calendar-table tr:nth-of-type(1){visibility:collapse}.cdk-overlay-container .mat-datepicker-content ngx-mat-year-view .mat-calendar-table .mat-calendar-body-active{background-color:#5694ca}.cdk-overlay-container .mat-datepicker-content ngx-mat-year-view .mat-calendar-table .mat-calendar-body-cell{border:1px solid #bfc1c3}.cdk-overlay-container .mat-datepicker-content ngx-mat-year-view .mat-calendar-table .mat-calendar-body-cell .mat-calendar-body-cell-content{border:none}.cdk-overlay-container .mat-datepicker-content ngx-mat-year-view .mat-calendar-table .mat-calendar-body-cell .mat-calendar-body-selected{border:none;box-shadow:none;background-color:transparent}.cdk-overlay-container .mat-datepicker-content ngx-mat-year-view .mat-calendar-table .mat-calendar-body-cell[aria-selected=true]{background-color:#1d70b8;outline:3px solid #ffdd00;border:2px solid black;outline-offset:1px}.cdk-overlay-container .mat-datepicker-content .time-container{height:80px;padding-top:0}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker{width:100%}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table{margin-left:0!important}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tbody{position:relative}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr mdc-icon-button mat-mdc-icon-button mat-unthemed mat-mdc-button-base .mat-icon-button .mat-button-wrapper{width:auto;height:auto}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr mdc-icon-button mat-mdc-icon-button mat-unthemed mat-mdc-button-base .mat-icon-button:focus{outline:none}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:first-child{position:absolute;left:49px;top:15px;z-index:2}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:first-child button:disabled{display:none}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:first-child td:first-child [aria-label=\"expand_less icon\"]{position:absolute;left:-2px;top:25px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:first-child td:nth-child(3) [aria-label=\"expand_less icon\"].mat-icon-button{position:absolute;left:82px!important;top:25px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:first-child td:nth-child(5) [aria-label=\"expand_less icon\"].mat-icon-button{position:absolute;left:169px!important;top:25px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:first-child td:nth-last-child(1) [aria-label=\"expand_less icon\"].mat-icon-button{left:153px!important}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:first-child td:nth-last-child(2) [aria-label=\"expand_less icon\"].mat-icon-button{left:65px!important}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(2){display:flex;padding:20px 0 20px 15px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(2) td{margin-right:30px;text-align:right}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(2) td:first-child .mat-form-field{width:50px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(2) td:first-child .mat-form-field:before{color:#000;content:\"Hours\";position:relative;top:-5px;left:-5px;font-size:15px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(2) td:nth-child(3) .mat-form-field:before{color:#000;content:\"Minutes\";position:relative;top:-5px;font-size:15px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(2) td:last-child{text-align:left;left:-15px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(2) .mat-form-field-disabled{display:none}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(2) td:nth-of-type(5) .mat-form-field:before{color:#000;content:\"Seconds\";position:relative;top:-5px;font-size:15px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(2) .meridian{border-bottom:none}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(2) .meridian .mat-button{height:30px;top:21px;border-radius:0;color:#000;border-color:#000;background-color:#dee0e2;display:flex;justify-content:center}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(2) .meridian .mat-button .mat-button-wrapper{position:relative;top:-2px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(4){display:flex;padding:2rem 0 2rem 15px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(4) td{margin-right:30px;text-align:right}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(4) td:last-child{text-align:left}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:last-child{position:absolute;left:49px;top:40px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:last-child button:disabled{display:none}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:last-child td:first-child [aria-label=\"expand_more icon\"]{position:absolute;top:15px;left:-2px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:last-child td:nth-child(3) [aria-label=\"expand_more icon\"].mat-icon-button{position:absolute;left:82px!important;top:15px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:last-child td:nth-child(5) [aria-label=\"expand_more icon\"].mat-icon-button{position:absolute;top:15px;left:169px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:last-child td:nth-last-child(1) [aria-label=\"expand_more icon\"].mat-icon-button{left:65px!important}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:last-child td:nth-last-child(1).ng-star-inserted [aria-label=\"expand_more icon\"].mat-icon-button{left:153px!important}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr td{padding:0;border-bottom:0;position:relative}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr .spacer{display:none}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr .mat-icon{visibility:hidden;display:none}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr .mat-button-wrapper{display:block;width:15px;height:8px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr .mat-form-field-wrapper{padding-bottom:0}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr .mat-form-field{width:auto;max-width:none}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr [aria-label=\"expand_less icon\"].mat-icon-button .mat-button-wrapper:after{content:\" \\25b2\"}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr [aria-label=\"expand_more icon\"].mat-icon-button .mat-button-wrapper:after{content:\"\\25bc\"}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr .mat-form-field-flex{width:100%}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr .mat-form-field-flex .mat-form-field-infix{border:1px solid black;height:20px;width:37px;display:flex;justify-content:center;align-items:center}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr .mat-form-field-underline{visibility:hidden}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr input{height:33px;width:37px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr input:focus{border-color:#000}.cdk-overlay-container .mat-datepicker-content .actions{padding-bottom:20px;margin-top:20px;justify-content:flex-start}.cdk-overlay-container .mat-datepicker-content .actions .mat-button{background-color:#00823b;position:relative;display:-moz-inline-stack;display:inline-block;padding:.526315em .789473em .263157em;border:none;border-radius:0;outline:1px solid transparent;outline-offset:-1px;-webkit-appearance:none;box-shadow:0 2px #003618;font-size:1em;line-height:1.25;text-decoration:none;-webkit-font-smoothing:antialiased;color:#fff;box-sizing:border-box;vertical-align:top;width:80px;cursor:pointer}.cdk-overlay-container .mat-datepicker-content .actions .mat-button:focus{outline:2px solid #ffdd00}.cdk-overlay-container .mat-datepicker-content .actions .mat-button:hover{background-color:#006400}.cdk-overlay-container .mat-datepicker-content .actions .mat-button .mat-icon{visibility:hidden}.cdk-overlay-container .mat-datepicker-content .actions .mat-button .mat-button-wrapper:before{color:#fff;content:\"Confirm\";position:relative;font-size:15px;left:-3px}.cdk-overlay-container .mat-datepicker-content .mat-datepicker-actions{margin-top:120px;padding:8px 8px 28px;justify-content:flex-start}.cdk-overlay-container .mat-datepicker-content .mat-datepicker-actions button{background-color:#00823b;position:relative;display:-moz-inline-stack;display:inline-block;padding:.526315em .789473em .263157em;border:none;border-radius:0;outline:1px solid transparent;outline-offset:-1px;-webkit-appearance:none;box-shadow:0 2px #003618;font-size:1em;line-height:1.25;text-decoration:none;-webkit-font-smoothing:antialiased;color:#fff;box-sizing:border-box;vertical-align:top;width:80px;cursor:pointer}\n"] }]
|
|
29484
|
+
], template: "<div class=\"govuk-form-group bottom-30\" [id]=\"caseField.id\"\n [ngClass]=\"{'form-group-error': dateControl && !dateControl.valid && dateControl.dirty}\">\n <fieldset>\n <legend>\n <span class=\"form-label\" *ngIf=\"caseField.label\">{{(caseField | ccdFieldLabel)}}</span>\n <span class=\"form-hint\" *ngIf=\"caseField.hint_text\">{{caseField.hint_text | rpxTranslate}}</span>\n <span class=\"error-message\"\n *ngIf=\"dateControl && dateControl.errors && dateControl.dirty && !(minError || maxError)\">{{(dateControl.errors | ccdFirstError:caseField.label)}}</span>\n <span class=\"error-message\"\n *ngIf=\"dateControl && dateControl.dirty && minError\">{{'This date is older than the minimum date allowed' | rpxTranslate}}</span>\n <span class=\"error-message\"\n *ngIf=\"dateControl && dateControl.dirty && maxError\">{{'This date is later than the maximum date allowed' | rpxTranslate}}</span>\n </legend>\n <div class=\"datepicker-container\">\n <input class=\"govuk-input\"\n #input\n attr.aria-label=\"Please enter a date and time in the format | rpxTranslate {{dateTimeEntryFormat}}\"\n [min]=\"minDate(caseField)\"\n [max]=\"maxDate(caseField)\"\n [formControl]=\"dateControl\"\n [ngxMatDatetimePicker]=\"picker\"\n (focusin)=\"focusIn()\"\n (focusout)=\"focusOut()\"\n (dateChange)=\"valueChanged()\"\n ng-model-options=\"{timezone:'utc'}\"\n >\n <mat-datepicker-toggle matSuffix [for]=\"picker\" id=\"pickerOpener\"></mat-datepicker-toggle>\n <ngx-mat-datetime-picker #picker\n [color]=\"color\"\n [touchUi]=\"touchUi\"\n [hideTime]=\"hideTime\"\n [startView]=\"startView\"\n [stepHour]=\"stepHour\"\n [stepSecond]=\"stepSecond\"\n [stepMinute]=\"stepMinute\"\n [showSeconds]=\"showSeconds\"\n [showSpinners]=\"showSpinners\"\n [disableMinute]=\"disableMinute\"\n [enableMeridian]=\"enableMeridian\"\n (yearSelected)=\"yearSelected($event)\"\n (monthSelected)=\"monthSelected($event)\"\n (opened)=\"toggleClick()\"\n >\n <ngx-mat-datepicker-actions>\n <button mat-raised-button color=\"primary\" ngxMatDatepickerApply>Confirm</button>\n </ngx-mat-datepicker-actions>\n </ngx-mat-datetime-picker>\n </div>\n </fieldset>\n</div>\n", styles: ["@charset \"UTF-8\";.datepicker-container{display:inline-block;position:relative;min-width:298px}.datepicker-container .govuk-input{height:35px;min-width:298px;width:auto;padding-right:40px;border:1px solid #000}.datepicker-container .govuk-input:focus{outline:1px solid #ffdd00;border:1px solid black}.datepicker-container .govuk-input::-ms-clear{display:none}.datepicker-container .datepicker-wrapper-input{position:relative;display:inline-block;top:-20%;border:0}.datepicker-container .datepicker-wrapper-input:focus{border:0;outline:none}.datepicker-container .mat-icon-button{height:32px;width:32px}.datepicker-container .mat-icon-button:focus{outline:1px solid #ffdd00}.datepicker-container .mat-icon-button .mat-datepicker-toggle-default-icon{position:relative;top:-5px}.datepicker-container .mat-datepicker-toggle{position:absolute;right:0}.datepicker-container .mat-mdc-icon-button.mat-mdc-button-base{width:32px;height:32px;padding:5px 0 0}.datepicker-container .mat-mdc-icon-button.mat-mdc-button-base:focus{outline:1px solid #fd0}.cdk-overlay-container .mat-datepicker-content{border:1px solid black;border-radius:0;max-width:295px;background:#fff}.cdk-overlay-container .mat-datepicker-content .mat-calendar-table{width:calc(100% - 1px);table-layout:fixed}.cdk-overlay-container .mat-datepicker-content .mat-calendar-header{height:34px;border-bottom:1px ridge #bfc1c3}.cdk-overlay-container .mat-datepicker-content .mat-calendar-period-button{left:14%;min-width:125px;border-right:1px ridge #bfc1c3;border-left:1px ridge #bfc1c3;border-radius:0;top:-20px;width:200%}.cdk-overlay-container .mat-datepicker-content .mat-calendar-period-button .mat-button-wrapper{text-align:center;font-weight:700}.cdk-overlay-container .mat-datepicker-content .mat-calendar-period-button:focus{border:2px solid black}.cdk-overlay-container .mat-datepicker-content .mat-calendar-previous-button{left:-73%;top:-20px;border:2px solid transparent;border-radius:0}.cdk-overlay-container .mat-datepicker-content .mat-calendar-previous-button:focus{border-color:#000}.cdk-overlay-container .mat-datepicker-content .mat-calendar-previous-button:after{border-left-width:5px;border-top-width:5px;color:#000;padding:4px;top:-2px;left:-2px}.cdk-overlay-container .mat-datepicker-content .mat-calendar-next-button{top:-20px;left:1%;border:2px solid transparent;border-radius:0}.cdk-overlay-container .mat-datepicker-content .mat-calendar-next-button:focus{border-color:#000}.cdk-overlay-container .mat-datepicker-content .mat-calendar-next-button:after{border-right-width:5px;border-top-width:5px;color:#000;padding:4px;top:-2px;left:-2px}.cdk-overlay-container .mat-datepicker-content .mat-button-wrapper{text-transform:capitalize!important}.cdk-overlay-container .mat-datepicker-content .mat-calendar{border-bottom:1px solid black}.cdk-overlay-container .mat-datepicker-content .mat-calendar-table-header-divider{padding:0;border-bottom:none}.cdk-overlay-container .mat-datepicker-content .mat-calendar-table-header-divider:after{height:0px}.cdk-overlay-container .mat-datepicker-content .mat-calendar-content{padding:0}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-table-header{color:#000}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-table-header th.ng-star-inserted{font-weight:700;font-size:15px;padding-top:2%;padding-bottom:2%;column-width:20px}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-table-header tr:nth-of-type(1) th{visibility:hidden}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-table-header tr:nth-of-type(1) th:after{visibility:visible;color:#000;position:relative;left:-15px}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-table-header tr:nth-of-type(1) th:nth-of-type(1):after{content:\"MON\"}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-table-header tr:nth-of-type(1) th:nth-of-type(2):after{left:-12px;content:\"TUE\"}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-table-header tr:nth-of-type(1) th:nth-of-type(3):after{left:-18px;content:\"WED\"}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-table-header tr:nth-of-type(1) th:nth-of-type(4):after{left:-14px;content:\"THU\"}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-table-header tr:nth-of-type(1) th:nth-of-type(5):after{left:-10px;content:\"FRI\"}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-table-header tr:nth-of-type(1) th:nth-of-type(6):after{content:\"SAT\"}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-table-header tr:nth-of-type(1) th:nth-of-type(7):after{content:\"SUN\"}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-body-label{font-weight:700;font-size:large;color:#000}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-body-selected{border:none;background-color:transparent;color:#fff}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-body-active{background-color:#5694ca}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-body-active .mat-calendar-body-today{border:none;box-shadow:none}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-body-cell{border:1px ridge #bfc1c3}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-body-cell[aria-selected=true],.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-body-cell[aria-pressed=true]{background-color:#1d70b8;outline:3px solid #ffdd00;border:2px solid black;outline-offset:1px;z-index:1}.cdk-overlay-container .mat-datepicker-content ngx-mat-multi-year-view .mat-calendar-table{border-collapse:separate;border-spacing:10px}.cdk-overlay-container .mat-datepicker-content ngx-mat-multi-year-view .mat-calendar-table .mat-calendar-body-active{background-color:#5694ca}.cdk-overlay-container .mat-datepicker-content ngx-mat-multi-year-view .mat-calendar-table .mat-calendar-body-cell{border:1px solid #bfc1c3}.cdk-overlay-container .mat-datepicker-content ngx-mat-multi-year-view .mat-calendar-table .mat-calendar-body-cell .mat-calendar-body-cell-content{border:none}.cdk-overlay-container .mat-datepicker-content ngx-mat-multi-year-view .mat-calendar-table .mat-calendar-body-cell .mat-calendar-body-selected{border:none;box-shadow:none;background-color:transparent}.cdk-overlay-container .mat-datepicker-content ngx-mat-multi-year-view .mat-calendar-table .mat-calendar-body-cell[aria-selected=true]{background-color:#1d70b8;outline:2px solid #ffdd00}.cdk-overlay-container .mat-datepicker-content ngx-mat-year-view .mat-calendar-table{border-collapse:separate;border-spacing:20px}.cdk-overlay-container .mat-datepicker-content ngx-mat-year-view .mat-calendar-table tr:nth-of-type(1){visibility:collapse}.cdk-overlay-container .mat-datepicker-content ngx-mat-year-view .mat-calendar-table .mat-calendar-body-active{background-color:#5694ca}.cdk-overlay-container .mat-datepicker-content ngx-mat-year-view .mat-calendar-table .mat-calendar-body-cell{border:1px solid #bfc1c3}.cdk-overlay-container .mat-datepicker-content ngx-mat-year-view .mat-calendar-table .mat-calendar-body-cell .mat-calendar-body-cell-content{border:none}.cdk-overlay-container .mat-datepicker-content ngx-mat-year-view .mat-calendar-table .mat-calendar-body-cell .mat-calendar-body-selected{border:none;box-shadow:none;background-color:transparent}.cdk-overlay-container .mat-datepicker-content ngx-mat-year-view .mat-calendar-table .mat-calendar-body-cell[aria-selected=true]{background-color:#1d70b8;outline:3px solid #ffdd00;border:2px solid black;outline-offset:1px}.cdk-overlay-container .mat-datepicker-content .time-container{height:80px;padding-top:0}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker{width:100%}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table{margin-left:0!important}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tbody{position:relative}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr mdc-icon-button mat-mdc-icon-button mat-unthemed mat-mdc-button-base .mat-icon-button .mat-button-wrapper{width:auto;height:auto}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr mdc-icon-button mat-mdc-icon-button mat-unthemed mat-mdc-button-base .mat-icon-button:focus{outline:none}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:first-child{position:absolute;left:49px;top:15px;z-index:2}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:first-child button:disabled{display:none}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:first-child td:first-child [aria-label=\"expand_less icon\"]{position:absolute;left:-2px;top:25px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:first-child td:nth-child(3) [aria-label=\"expand_less icon\"].mat-icon-button{position:absolute;left:82px!important;top:25px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:first-child td:nth-child(5) [aria-label=\"expand_less icon\"].mat-icon-button{position:absolute;left:169px!important;top:25px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:first-child td:nth-last-child(1) [aria-label=\"expand_less icon\"].mat-icon-button{left:153px!important}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:first-child td:nth-last-child(2) [aria-label=\"expand_less icon\"].mat-icon-button{left:65px!important}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(2){display:flex;padding:20px 0 20px 15px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(2) td{margin-right:30px;text-align:right}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(2) td:first-child .mat-form-field{width:50px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(2) td:first-child .mat-form-field:before{color:#000;content:\"Hours\";position:relative;top:-5px;left:-5px;font-size:15px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(2) td:nth-child(3) .mat-form-field:before{color:#000;content:\"Minutes\";position:relative;top:-5px;font-size:15px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(2) td:last-child{text-align:left;left:-15px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(2) .mat-form-field-disabled{display:none}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(2) td:nth-of-type(5) .mat-form-field:before{color:#000;content:\"Seconds\";position:relative;top:-5px;font-size:15px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(2) .meridian{border-bottom:none}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(2) .meridian .mat-button{height:30px;top:21px;border-radius:0;color:#000;border-color:#000;background-color:#dee0e2;display:flex;justify-content:center}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(2) .meridian .mat-button .mat-button-wrapper{position:relative;top:-2px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(4){display:flex;padding:2rem 0 2rem 15px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(4) td{margin-right:30px;text-align:right}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(4) td:last-child{text-align:left}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:last-child{position:absolute;left:49px;top:40px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:last-child button:disabled{display:none}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:last-child td:first-child [aria-label=\"expand_more icon\"]{position:absolute;top:15px;left:-2px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:last-child td:nth-child(3) [aria-label=\"expand_more icon\"].mat-icon-button{position:absolute;left:82px!important;top:15px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:last-child td:nth-child(5) [aria-label=\"expand_more icon\"].mat-icon-button{position:absolute;top:15px;left:169px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:last-child td:nth-last-child(1) [aria-label=\"expand_more icon\"].mat-icon-button{left:65px!important}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:last-child td:nth-last-child(1).ng-star-inserted [aria-label=\"expand_more icon\"].mat-icon-button{left:153px!important}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr td{padding:0;border-bottom:0;position:relative}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr .spacer{display:none}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr .mat-icon{visibility:hidden;display:none}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr .mat-button-wrapper{display:block;width:15px;height:8px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr .mat-form-field-wrapper{padding-bottom:0}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr .mat-form-field{width:auto;max-width:none}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr [aria-label=\"expand_less icon\"].mat-icon-button .mat-button-wrapper:after{content:\" \\25b2\"}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr [aria-label=\"expand_more icon\"].mat-icon-button .mat-button-wrapper:after{content:\"\\25bc\"}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr .mat-form-field-flex{width:100%}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr .mat-form-field-flex .mat-form-field-infix{border:1px solid black;height:20px;width:37px;display:flex;justify-content:center;align-items:center}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr .mat-form-field-underline{visibility:hidden}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr input{height:33px;width:37px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr input:focus{border-color:#000}.cdk-overlay-container .mat-datepicker-content .actions{padding-bottom:20px;margin-top:20px;justify-content:flex-start}.cdk-overlay-container .mat-datepicker-content .actions .mat-button{background-color:#00823b;position:relative;display:-moz-inline-stack;display:inline-block;padding:.526315em .789473em .263157em;border:none;border-radius:0;outline:1px solid transparent;outline-offset:-1px;-webkit-appearance:none;box-shadow:0 2px #003618;font-size:1em;line-height:1.25;text-decoration:none;-webkit-font-smoothing:antialiased;color:#fff;box-sizing:border-box;vertical-align:top;width:80px;cursor:pointer}.cdk-overlay-container .mat-datepicker-content .actions .mat-button:focus{outline:2px solid #ffdd00}.cdk-overlay-container .mat-datepicker-content .actions .mat-button:hover{background-color:#006400}.cdk-overlay-container .mat-datepicker-content .actions .mat-button .mat-icon{visibility:hidden}.cdk-overlay-container .mat-datepicker-content .actions .mat-button .mat-button-wrapper:before{color:#fff;content:\"Confirm\";position:relative;font-size:15px;left:-3px}.cdk-overlay-container .mat-datepicker-content .mat-datepicker-actions{margin-top:120px;padding:8px 8px 28px;justify-content:flex-start}.cdk-overlay-container .mat-datepicker-content .mat-datepicker-actions button{background-color:#00823b;position:relative;display:-moz-inline-stack;display:inline-block;padding:.526315em .789473em .263157em;border:none;border-radius:0;outline:1px solid transparent;outline-offset:-1px;-webkit-appearance:none;box-shadow:0 2px #003618;font-size:1em;line-height:1.25;text-decoration:none;-webkit-font-smoothing:antialiased;color:#fff;box-sizing:border-box;vertical-align:top;width:80px;cursor:pointer}\n"] }]
|
|
29636
29485
|
}], () => [{ type: FormatTranslatorService }, { type: undefined, decorators: [{
|
|
29637
29486
|
type: Inject,
|
|
29638
29487
|
args: [NGX_MAT_DATE_FORMATS]
|