@sd-angular/core 1.3.242 → 1.3.244

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 (125) hide show
  1. package/autocomplete/sd-angular-core-autocomplete.metadata.json +1 -1
  2. package/bundles/sd-angular-core-autocomplete.umd.js +20 -21
  3. package/bundles/sd-angular-core-autocomplete.umd.js.map +1 -1
  4. package/bundles/sd-angular-core-autocomplete.umd.min.js +1 -15
  5. package/bundles/sd-angular-core-autocomplete.umd.min.js.map +1 -1
  6. package/bundles/sd-angular-core-date-full.umd.js +712 -0
  7. package/bundles/sd-angular-core-date-full.umd.js.map +1 -0
  8. package/bundles/sd-angular-core-date-full.umd.min.js +2 -0
  9. package/bundles/sd-angular-core-date-full.umd.min.js.map +1 -0
  10. package/bundles/sd-angular-core-date-time.umd.js +5 -6
  11. package/bundles/sd-angular-core-date-time.umd.js.map +1 -1
  12. package/bundles/sd-angular-core-date-time.umd.min.js +1 -1
  13. package/bundles/sd-angular-core-date-time.umd.min.js.map +1 -1
  14. package/bundles/sd-angular-core-date.umd.js +719 -0
  15. package/bundles/sd-angular-core-date.umd.js.map +1 -0
  16. package/bundles/sd-angular-core-date.umd.min.js +2 -0
  17. package/bundles/sd-angular-core-date.umd.min.js.map +1 -0
  18. package/bundles/sd-angular-core-export.umd.js +3 -1
  19. package/bundles/sd-angular-core-export.umd.js.map +1 -1
  20. package/bundles/sd-angular-core-export.umd.min.js +1 -1
  21. package/bundles/sd-angular-core-export.umd.min.js.map +1 -1
  22. package/bundles/sd-angular-core-form.umd.js +10 -4
  23. package/bundles/sd-angular-core-form.umd.js.map +1 -1
  24. package/bundles/sd-angular-core-form.umd.min.js +1 -1
  25. package/bundles/sd-angular-core-form.umd.min.js.map +1 -1
  26. package/bundles/sd-angular-core-input-number.umd.js +7 -10
  27. package/bundles/sd-angular-core-input-number.umd.js.map +1 -1
  28. package/bundles/sd-angular-core-input-number.umd.min.js +2 -2
  29. package/bundles/sd-angular-core-input-number.umd.min.js.map +1 -1
  30. package/bundles/sd-angular-core-month.umd.js +742 -0
  31. package/bundles/sd-angular-core-month.umd.js.map +1 -0
  32. package/bundles/sd-angular-core-month.umd.min.js +2 -0
  33. package/bundles/sd-angular-core-month.umd.min.js.map +1 -0
  34. package/bundles/sd-angular-core-table.umd.js +11 -3
  35. package/bundles/sd-angular-core-table.umd.js.map +1 -1
  36. package/bundles/sd-angular-core-table.umd.min.js +1 -1
  37. package/bundles/sd-angular-core-table.umd.min.js.map +1 -1
  38. package/bundles/sd-angular-core-upload-excel.umd.js +4 -4
  39. package/bundles/sd-angular-core-upload-excel.umd.js.map +1 -1
  40. package/bundles/sd-angular-core-upload-excel.umd.min.js +2 -2
  41. package/bundles/sd-angular-core-upload-excel.umd.min.js.map +1 -1
  42. package/bundles/sd-angular-core.umd.js +4 -4
  43. package/bundles/sd-angular-core.umd.min.js +1 -1
  44. package/bundles/sd-angular-core.umd.min.js.map +1 -1
  45. package/date/index.d.ts +1 -0
  46. package/date/package.json +12 -0
  47. package/date/sd-angular-core-date.d.ts +4 -0
  48. package/date/sd-angular-core-date.metadata.json +1 -0
  49. package/date/src/lib/date.component.d.ts +63 -0
  50. package/date/src/lib/date.module.d.ts +2 -0
  51. package/date/src/public-api.d.ts +2 -0
  52. package/date-full/index.d.ts +1 -0
  53. package/date-full/package.json +12 -0
  54. package/date-full/sd-angular-core-date-full.d.ts +4 -0
  55. package/date-full/sd-angular-core-date-full.metadata.json +1 -0
  56. package/date-full/src/lib/date-full.component.d.ts +64 -0
  57. package/date-full/src/lib/date-full.module.d.ts +2 -0
  58. package/date-full/src/public-api.d.ts +2 -0
  59. package/date-time/sd-angular-core-date-time.metadata.json +1 -1
  60. package/esm2015/autocomplete/src/lib/autocomplete.component.js +2 -2
  61. package/esm2015/autocomplete/src/lib/autocomplete.module.js +8 -10
  62. package/esm2015/date/index.js +2 -0
  63. package/esm2015/date/sd-angular-core-date.js +5 -0
  64. package/esm2015/date/src/lib/date.component.js +310 -0
  65. package/esm2015/date/src/lib/date.module.js +38 -0
  66. package/esm2015/date/src/public-api.js +3 -0
  67. package/esm2015/date-full/index.js +2 -0
  68. package/esm2015/date-full/sd-angular-core-date-full.js +5 -0
  69. package/esm2015/date-full/src/lib/date-full.component.js +303 -0
  70. package/esm2015/date-full/src/lib/date-full.module.js +40 -0
  71. package/esm2015/date-full/src/public-api.js +3 -0
  72. package/esm2015/date-time/src/lib/date-time.component.js +2 -2
  73. package/esm2015/date-time/src/lib/date-time.module.js +10 -12
  74. package/esm2015/export/src/lib/export.model.js +1 -1
  75. package/esm2015/export/src/lib/export.service.js +4 -2
  76. package/esm2015/form/src/lib/form.module.js +21 -12
  77. package/esm2015/input-number/src/lib/input-number.component.js +2 -2
  78. package/esm2015/input-number/src/lib/input-number.module.js +3 -7
  79. package/esm2015/month/index.js +2 -0
  80. package/esm2015/month/sd-angular-core-month.js +5 -0
  81. package/esm2015/month/src/lib/month.component.js +334 -0
  82. package/esm2015/month/src/lib/month.module.js +40 -0
  83. package/esm2015/month/src/public-api.js +3 -0
  84. package/esm2015/public-api.js +4 -1
  85. package/esm2015/table/src/lib/table.component.js +12 -4
  86. package/esm2015/upload-excel/src/lib/upload-excel.component.js +4 -4
  87. package/export/sd-angular-core-export.metadata.json +1 -1
  88. package/export/src/lib/export.model.d.ts +15 -34
  89. package/export/src/lib/export.service.d.ts +3 -3
  90. package/fesm2015/sd-angular-core-autocomplete.js +8 -10
  91. package/fesm2015/sd-angular-core-autocomplete.js.map +1 -1
  92. package/fesm2015/sd-angular-core-date-full.js +344 -0
  93. package/fesm2015/sd-angular-core-date-full.js.map +1 -0
  94. package/fesm2015/sd-angular-core-date-time.js +12 -14
  95. package/fesm2015/sd-angular-core-date-time.js.map +1 -1
  96. package/fesm2015/sd-angular-core-date.js +349 -0
  97. package/fesm2015/sd-angular-core-date.js.map +1 -0
  98. package/fesm2015/sd-angular-core-export.js +3 -1
  99. package/fesm2015/sd-angular-core-export.js.map +1 -1
  100. package/fesm2015/sd-angular-core-form.js +19 -10
  101. package/fesm2015/sd-angular-core-form.js.map +1 -1
  102. package/fesm2015/sd-angular-core-input-number.js +3 -7
  103. package/fesm2015/sd-angular-core-input-number.js.map +1 -1
  104. package/fesm2015/sd-angular-core-month.js +374 -0
  105. package/fesm2015/sd-angular-core-month.js.map +1 -0
  106. package/fesm2015/sd-angular-core-table.js +11 -3
  107. package/fesm2015/sd-angular-core-table.js.map +1 -1
  108. package/fesm2015/sd-angular-core-upload-excel.js +2 -2
  109. package/fesm2015/sd-angular-core-upload-excel.js.map +1 -1
  110. package/fesm2015/sd-angular-core.js +3 -0
  111. package/fesm2015/sd-angular-core.js.map +1 -1
  112. package/form/sd-angular-core-form.metadata.json +1 -1
  113. package/input-number/sd-angular-core-input-number.metadata.json +1 -1
  114. package/month/index.d.ts +1 -0
  115. package/month/package.json +12 -0
  116. package/month/sd-angular-core-month.d.ts +4 -0
  117. package/month/sd-angular-core-month.metadata.json +1 -0
  118. package/month/src/lib/month.component.d.ts +66 -0
  119. package/month/src/lib/month.module.d.ts +2 -0
  120. package/month/src/public-api.d.ts +2 -0
  121. package/package.json +1 -1
  122. package/public-api.d.ts +3 -0
  123. package/{sd-angular-core-1.3.242.tgz → sd-angular-core-1.3.244.tgz} +0 -0
  124. package/upload-excel/sd-angular-core-upload-excel.metadata.json +1 -1
  125. package/upload-excel/src/lib/upload-excel.component.d.ts +4 -4
@@ -0,0 +1,303 @@
1
+ var _date, _name, _form, _subscription;
2
+ import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
3
+ import { NGX_MAT_DATE_FORMATS, NgxMatDatetimePicker, } from '@angular-material-components/datetime-picker';
4
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, EventEmitter, Inject, Input, Optional, Output, ViewChild } from '@angular/core';
5
+ import { NgForm, Validators } from '@angular/forms';
6
+ import { FORM_CONFIG, SdFormControl, SdLabelDefDirective, SdViewDefDirective } from '@sd-angular/core/common';
7
+ import moment from 'moment';
8
+ import { DeviceDetectorService } from 'ngx-device-detector';
9
+ import hash from 'object-hash';
10
+ import { Subscription } from 'rxjs';
11
+ import * as uuid from 'uuid';
12
+ const CUSTOM_DATETIME_FORMATS = {
13
+ parse: {
14
+ dateInput: 'DD/MM/YYYY HH:mm:ss'
15
+ },
16
+ display: {
17
+ dateInput: 'DD/MM/YYYY HH:mm:ss',
18
+ monthYearLabel: 'MMM YYYY',
19
+ dateA11yLabel: 'LL',
20
+ monthYearA11yLabel: 'MMMM YYYY'
21
+ }
22
+ };
23
+ const ɵ0 = CUSTOM_DATETIME_FORMATS;
24
+ export class SdDateFull {
25
+ constructor(ref, deviceService, formConfig) {
26
+ this.ref = ref;
27
+ this.formConfig = formConfig;
28
+ this.id = `I${uuid.v4()}`;
29
+ this.isMobileOrTablet = false;
30
+ _date.set(this, void 0);
31
+ _name.set(this, uuid.v4());
32
+ this.disableErrorMessage = false;
33
+ this.formControl = new SdFormControl();
34
+ _form.set(this, void 0);
35
+ this.required = false;
36
+ this.sdChange = new EventEmitter();
37
+ this.sdFocus = new EventEmitter();
38
+ this.modelChange = new EventEmitter();
39
+ _subscription.set(this, new Subscription());
40
+ this.isFocused = false;
41
+ this.onFocus = () => {
42
+ this.isFocused = true;
43
+ this.sdFocus.emit();
44
+ };
45
+ this.onBlur = () => {
46
+ this.isFocused = false;
47
+ };
48
+ this.onClick = () => {
49
+ var _a;
50
+ if ((_a = this.sdView) === null || _a === void 0 ? void 0 : _a.templateRef) {
51
+ if (!this.formControl.disabled && !this.isFocused) {
52
+ this.focus();
53
+ }
54
+ }
55
+ };
56
+ this.blur = () => {
57
+ var _a, _b;
58
+ (_b = (_a = this.input) === null || _a === void 0 ? void 0 : _a.nativeElement) === null || _b === void 0 ? void 0 : _b.blur();
59
+ };
60
+ this.focus = () => {
61
+ this.isFocused = true;
62
+ setTimeout(() => {
63
+ var _a, _b, _c;
64
+ (_b = (_a = this.input) === null || _a === void 0 ? void 0 : _a.nativeElement) === null || _b === void 0 ? void 0 : _b.focus();
65
+ (_c = this.dateTimePicker) === null || _c === void 0 ? void 0 : _c.open();
66
+ }, 100);
67
+ };
68
+ this.onKeyDown = (event) => {
69
+ const key = event.keyCode || event.charCode;
70
+ let isShift = false;
71
+ if (key === 16) {
72
+ isShift = true;
73
+ }
74
+ // cho phép copy parse
75
+ if (event.ctrlKey && (key === 67 || key === 86)) {
76
+ console.log('action copy parse... datepicker');
77
+ return true;
78
+ }
79
+ // Allow only Numeric Keys.
80
+ if (((key >= 48 && key <= 57) || key === 8 || key <= 37 || key <= 39 || (key >= 96 && key <= 105) || key === 191 || key === 186 || key === 59) && isShift === false) {
81
+ return true;
82
+ }
83
+ else {
84
+ return false;
85
+ }
86
+ };
87
+ this.onKeyup = (event) => {
88
+ const currentVal = event.target.value;
89
+ const formControl = this.formControl;
90
+ let regex = /^([1-9]|([012][0-9])|(3[01]))\/([0]{0,1}[1-9]|1[012])\/\d\d\d\d [012]{0,1}[0-9]:[0-6][0-9]:[0-6][0-9]$/g;
91
+ if (currentVal && !regex.test(currentVal)) {
92
+ setTimeout(() => {
93
+ this.isValid = true;
94
+ formControl.markAsDirty();
95
+ formControl.markAsTouched();
96
+ formControl.setErrors(Object.assign(Object.assign({}, formControl.errors), { date: `Sai định dạng` }));
97
+ }, 0);
98
+ }
99
+ else {
100
+ setTimeout(() => {
101
+ this.isValid = false;
102
+ formControl.setErrors(Object.assign(Object.assign({}, formControl.errors), { date: null }));
103
+ this.formControl.updateValueAndValidity();
104
+ }, 0);
105
+ }
106
+ };
107
+ this.onChange = (event) => {
108
+ var _a;
109
+ const value = (_a = event.value) === null || _a === void 0 ? void 0 : _a.toDate();
110
+ if (!this.isValid) {
111
+ if (new Date(__classPrivateFieldGet(this, _date)) !== value) {
112
+ this.modelChange.emit(value);
113
+ this.sdChange.emit(value);
114
+ }
115
+ }
116
+ else {
117
+ this.isValid = false;
118
+ this.formControl.setValue(null);
119
+ this.modelChange.emit(null);
120
+ this.sdChange.emit(null);
121
+ }
122
+ };
123
+ this.clear = ($event) => {
124
+ $event === null || $event === void 0 ? void 0 : $event.stopPropagation();
125
+ if (this.formControl.value) {
126
+ this.formControl.setValue(null);
127
+ this.modelChange.emit(null);
128
+ this.sdChange.emit(null);
129
+ }
130
+ };
131
+ this.isMobileOrTablet = !deviceService.isDesktop();
132
+ }
133
+ set name(val) {
134
+ if (val) {
135
+ __classPrivateFieldSet(this, _name, val);
136
+ }
137
+ }
138
+ set _disableErrorMessage(val) {
139
+ this.disableErrorMessage = (val === '') || val;
140
+ val = (val === '') || val;
141
+ }
142
+ set _min(val) {
143
+ if (Date.isDate(val)) {
144
+ this.min = new Date(val);
145
+ }
146
+ else {
147
+ this.min = null;
148
+ }
149
+ }
150
+ set _max(val) {
151
+ if (Date.isDate(val)) {
152
+ this.max = new Date(val);
153
+ }
154
+ else {
155
+ this.max = null;
156
+ }
157
+ }
158
+ set form(val) {
159
+ if (val) {
160
+ if (val instanceof NgForm) {
161
+ __classPrivateFieldSet(this, _form, val.form);
162
+ }
163
+ else {
164
+ __classPrivateFieldSet(this, _form, val);
165
+ }
166
+ }
167
+ }
168
+ set disabled(val) {
169
+ val = (val === '') || val;
170
+ if (val) {
171
+ this.formControl.disable();
172
+ }
173
+ else {
174
+ this.formControl.enable();
175
+ }
176
+ }
177
+ set _required(val) {
178
+ this.required = (val === '') || val;
179
+ if (this.required) {
180
+ this.formControl.setValidators([Validators.required]);
181
+ }
182
+ else {
183
+ this.formControl.clearValidators();
184
+ }
185
+ }
186
+ set _inlineError(val) {
187
+ this.inlineError = val;
188
+ // this.#updateValidator();
189
+ if (this.inlineError) {
190
+ this.formControl.setValidators([this.customInlineErrorValidator()]);
191
+ this.formControl.updateValueAndValidity();
192
+ }
193
+ else {
194
+ this.formControl.clearValidators();
195
+ this.formControl.updateValueAndValidity();
196
+ }
197
+ }
198
+ set _label(val) {
199
+ this.label = val;
200
+ this.qcId = hash({
201
+ selector: 'sd-date-full',
202
+ label: val
203
+ });
204
+ }
205
+ ;
206
+ set minDate(val) {
207
+ if (Date.isDate(val)) {
208
+ this.min = new Date(val);
209
+ }
210
+ else {
211
+ this.min = null;
212
+ }
213
+ }
214
+ set maxDate(val) {
215
+ if (Date.isDate(val)) {
216
+ this.max = new Date(val);
217
+ }
218
+ else {
219
+ this.max = null;
220
+ }
221
+ }
222
+ set model(val) {
223
+ if (!Date.isDate(val)) {
224
+ val = null;
225
+ }
226
+ if (__classPrivateFieldGet(this, _date) !== val) {
227
+ __classPrivateFieldSet(this, _date, val);
228
+ const date = Date.isDate(__classPrivateFieldGet(this, _date)) ? moment(Date.toFormat(__classPrivateFieldGet(this, _date), 'MM/dd/yyyy HH:mm:ss'), 'MM/DD/YYYY HH:mm:ss') : null;
229
+ this.formControl.setValue(date);
230
+ }
231
+ }
232
+ ngOnDestroy() {
233
+ var _a;
234
+ (_a = __classPrivateFieldGet(this, _form)) === null || _a === void 0 ? void 0 : _a.removeControl(__classPrivateFieldGet(this, _name));
235
+ __classPrivateFieldGet(this, _subscription).unsubscribe();
236
+ }
237
+ ngOnInit() {
238
+ var _a, _b;
239
+ this.appearance = this.appearance || ((_a = this.formConfig) === null || _a === void 0 ? void 0 : _a.appearance);
240
+ __classPrivateFieldGet(this, _subscription).add(this.formControl.sdChanges.subscribe(() => {
241
+ // this.formControl.updateValueAndValidity();
242
+ this.ref.markForCheck();
243
+ }));
244
+ (_b = __classPrivateFieldGet(this, _form)) === null || _b === void 0 ? void 0 : _b.addControl(__classPrivateFieldGet(this, _name), this.formControl);
245
+ }
246
+ // Hàm tạo Validators tùy chỉnh cho inlineError
247
+ customInlineErrorValidator() {
248
+ return (control) => {
249
+ return { inlineError: true };
250
+ };
251
+ }
252
+ ngAfterViewInit() {
253
+ }
254
+ focusInputElement() {
255
+ var _a, _b;
256
+ (_b = (_a = this.input) === null || _a === void 0 ? void 0 : _a.nativeElement) === null || _b === void 0 ? void 0 : _b.focus();
257
+ }
258
+ }
259
+ _date = new WeakMap(), _name = new WeakMap(), _form = new WeakMap(), _subscription = new WeakMap();
260
+ SdDateFull.decorators = [
261
+ { type: Component, args: [{
262
+ selector: 'sd-date-full',
263
+ template: "<ng-container *ngIf=\"!appearance && sdLabelDef?.templateRef\">\r\n <ng-container *ngTemplateOutlet=\"sdLabelDef.templateRef\"> </ng-container>\r\n</ng-container>\r\n<label *ngIf=\"!appearance && label && !sdLabelDef?.templateRef\" class=\"d-block mb-0 T14M\"\r\n >{{ label }} <span class=\"text-danger mb-2\" *ngIf=\"required\">*</span></label\r\n>\r\n<div\r\n class=\"d-flex align-items-center\"\r\n [class.sd-view]=\"sdView?.templateRef\"\r\n [class.c-focused]=\"isFocused\"\r\n [class.c-disabled]=\"formControl.disabled\"\r\n (click)=\"onClick()\">\r\n <ng-container *ngIf=\"sdView?.templateRef && !isFocused && !dateTimePicker?.opened; else default\">\r\n <ng-container *ngTemplateOutlet=\"sdView.templateRef; context: { value: formControl.value }\"> </ng-container>\r\n </ng-container>\r\n <ng-template #default>\r\n <mat-form-field\r\n class=\"sd-md\"\r\n [ngClass]=\"{ 'sd-sm': size === 'sm', 'no-padding-wrapper': disableErrorMessage }\"\r\n [appearance]=\"appearance || 'outline'\">\r\n <mat-label *ngIf=\"appearance && label\">{{ label }}</mat-label>\r\n <input\r\n aria-hidden=\"true\"\r\n [id]=\"id\"\r\n matInput\r\n (keyup)=\"onKeyup($event)\"\r\n (keydown)=\"onKeyDown($event)\"\r\n (dateChange)=\"onChange($event)\"\r\n [autocomplete]=\"id\"\r\n autocorrect=\"off\"\r\n [formControl]=\"formControl\"\r\n [ngxMatDatetimePicker]=\"picker1\"\r\n [placeholder]=\"placeholder || (appearance ? label : '')\"\r\n [min]=\"min\"\r\n [required]=\"required\"\r\n [max]=\"max\"\r\n (focus)=\"onFocus()\"\r\n (blur)=\"onBlur()\"\r\n [attr.data-qclabel]=\"label\"\r\n [attr.data-qcid]=\"qcId\"\r\n #input\r\n [maxLength]=\"19\" />\r\n <ng-content select=\"[sdSuffixIcon]\" matSuffix></ng-content>\r\n <mat-icon\r\n *ngIf=\"formControl?.value && !required && !formControl.disabled\"\r\n class=\"pointer sd-suffix-icon\"\r\n (click)=\"clear($event)\"\r\n matSuffix\r\n >cancel\r\n </mat-icon>\r\n <mat-datepicker-toggle matSuffix [for]=\"picker1\"> </mat-datepicker-toggle>\r\n <ngx-mat-datetime-picker\r\n #picker1\r\n [defaultTime]=\"defaultTime\"\r\n [touchUi]=\"isMobileOrTablet\"\r\n [showSpinners]=\"false\"\r\n (opened)=\"onFocus()\"\r\n (closed)=\"onBlur(); focusInputElement()\">\r\n </ngx-mat-datetime-picker>\r\n\r\n <mat-error *ngIf=\"formControl?.errors?.required && formControl?.touched\">\r\n <ng-container *ngIf=\"!disableErrorMessage\">{{ 'This field is required' | sdTranslate }}</ng-container>\r\n </mat-error>\r\n <mat-error *ngIf=\"formControl?.errors?.matDatetimePickerMin && formControl?.touched && !isFocused\">\r\n <ng-container *ngIf=\"!disableErrorMessage\"\r\n >{{ 'Min date' | sdTranslate }}:\r\n <strong>{{ min | date : 'dd/MM/yyyy HH:mm' }}</strong>\r\n </ng-container>\r\n </mat-error>\r\n <mat-error *ngIf=\"formControl?.errors?.matDatetimePickerMax && formControl?.touched && !isFocused\">\r\n <ng-container *ngIf=\"!disableErrorMessage\"\r\n >{{ 'Max date' | sdTranslate }}:\r\n <strong>{{ max | date : 'dd/MM/yyyy HH:mm' }}</strong>\r\n </ng-container>\r\n </mat-error>\r\n <mat-error *ngIf=\"formControl?.errors?.matDatetimePickerParse && formControl?.touched && !isFocused\">\r\n <ng-container *ngIf=\"!disableErrorMessage\"\r\n >{{ 'Parse error' | sdTranslate }}:\r\n <strong>{{ formControl?.errors?.matDatetimePickerParse?.text }}</strong>\r\n </ng-container>\r\n </mat-error>\r\n <mat-error *ngIf=\"formControl?.errors?.customValidator && formControl?.touched && !disableErrorMessage\">\r\n <ng-container *ngIf=\"!disableErrorMessage\">{{ formControl?.errors?.customValidator }} </ng-container>\r\n </mat-error>\r\n <mat-error *ngIf=\"formControl?.errors?.date && formControl?.touched && !disableErrorMessage\">\r\n <ng-container *ngIf=\"!disableErrorMessage\">{{ formControl?.errors?.date }} </ng-container>\r\n </mat-error>\r\n <mat-error *ngIf=\"formControl.errors?.inlineError && formControl?.touched && !disableErrorMessage\">\r\n <ng-container *ngIf=\"!disableErrorMessage\">{{ inlineError }}</ng-container>\r\n </mat-error>\r\n </mat-form-field>\r\n </ng-template>\r\n</div>\r\n",
264
+ changeDetection: ChangeDetectionStrategy.OnPush,
265
+ providers: [
266
+ { provide: NGX_MAT_DATE_FORMATS, useValue: ɵ0 }
267
+ ],
268
+ styles: [":host{display:block;padding-top:5px}:host ::ng-deep .mat-form-field.no-padding-wrapper .mat-form-field-wrapper{padding-bottom:0}:host ::ng-deep .mat-form-field.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{background:#f6f6f6;color:#e9e9e9}:host ::ng-deep .mat-form-field input.mat-input-element:disabled{color:#4d4d4d!important}:host ::ng-deep .mat-form-field .mat-placeholder-required{color:#f82c13}.sd-view:not(.c-focused):not(.c-disabled):hover{background-color:#ebecf0}"]
269
+ },] }
270
+ ];
271
+ SdDateFull.ctorParameters = () => [
272
+ { type: ChangeDetectorRef },
273
+ { type: DeviceDetectorService },
274
+ { type: undefined, decorators: [{ type: Inject, args: [FORM_CONFIG,] }, { type: Optional }] }
275
+ ];
276
+ SdDateFull.propDecorators = {
277
+ name: [{ type: Input }],
278
+ appearance: [{ type: Input }],
279
+ _disableErrorMessage: [{ type: Input, args: ['disableErrorMessage',] }],
280
+ _min: [{ type: Input, args: ['min',] }],
281
+ _max: [{ type: Input, args: ['max',] }],
282
+ size: [{ type: Input }],
283
+ form: [{ type: Input }],
284
+ disabled: [{ type: Input }],
285
+ _required: [{ type: Input, args: ['required',] }],
286
+ _inlineError: [{ type: Input, args: ['inlineError',] }],
287
+ _label: [{ type: Input, args: ['label',] }],
288
+ placeholder: [{ type: Input }],
289
+ defaultTime: [{ type: Input }],
290
+ minDate: [{ type: Input }],
291
+ maxDate: [{ type: Input }],
292
+ validator: [{ type: Input }],
293
+ sdChange: [{ type: Output }],
294
+ sdFocus: [{ type: Output }],
295
+ model: [{ type: Input }],
296
+ modelChange: [{ type: Output }],
297
+ sdView: [{ type: ContentChild, args: [SdViewDefDirective,] }],
298
+ sdLabelDef: [{ type: ContentChild, args: [SdLabelDefDirective,] }],
299
+ input: [{ type: ViewChild, args: ['input',] }],
300
+ dateTimePicker: [{ type: ViewChild, args: [NgxMatDatetimePicker,] }]
301
+ };
302
+ export { ɵ0 };
303
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1mdWxsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9uZ2hpYXR0MTVfb25lbW91bnQvRG9jdW1lbnRzL2xpYi1jb3JlLXVpL3Byb2plY3RzL3NkLWNvcmUvZGF0ZS1mdWxsLyIsInNvdXJjZXMiOlsic3JjL2xpYi9kYXRlLWZ1bGwuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLG9CQUFvQixFQUFFLG9CQUFvQixHQUFHLE1BQU0sOENBQThDLENBQUM7QUFDM0csT0FBTyxFQUVMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFFWixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFHTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQThCLE1BQU0sRUFBZSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUc3RixPQUFPLEVBQUUsV0FBVyxFQUFzQixhQUFhLEVBQUUsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNsSSxPQUFPLE1BQWtCLE1BQU0sUUFBUSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzVELE9BQU8sSUFBSSxNQUFNLGFBQWEsQ0FBQztBQUMvQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BDLE9BQU8sS0FBSyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBRTdCLE1BQU0sdUJBQXVCLEdBQUc7SUFDOUIsS0FBSyxFQUFFO1FBQ0wsU0FBUyxFQUFFLHFCQUFxQjtLQUNqQztJQUNELE9BQU8sRUFBRTtRQUNQLFNBQVMsRUFBRSxxQkFBcUI7UUFDaEMsY0FBYyxFQUFFLFVBQVU7UUFDMUIsYUFBYSxFQUFFLElBQUk7UUFDbkIsa0JBQWtCLEVBQUUsV0FBVztLQUNoQztDQUNGLENB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RU4sWUFBWSxTQUFDLGtCQUFrQjt5QkFDL0IsWUFBWSxTQUFDLG1CQUFtQjtvQkFDaEMsU0FBUyxTQUFDLE9BQU87NkJBQ2pCLFNBQVMsU0FBQyxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOR1hfTUFUX0RBVEVfRk9STUFUUywgTmd4TWF0RGF0ZXRpbWVQaWNrZXIsIH0gZnJvbSAnQGFuZ3VsYXItbWF0ZXJpYWwtY29tcG9uZW50cy9kYXRldGltZS1waWNrZXInO1xyXG5pbXBvcnQge1xyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIENvbnRlbnRDaGlsZCxcclxuICBFbGVtZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbmplY3QsXHJcbiAgSW5wdXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdCxcclxuICBPcHRpb25hbCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0NoaWxkXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUdyb3VwLCBOZ0Zvcm0sIFZhbGlkYXRvckZuLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXREYXRlcGlja2VyLCBNYXREYXRlcGlja2VySW5wdXRFdmVudCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xyXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRBcHBlYXJhbmNlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IEZPUk1fQ09ORklHLCBJRm9ybUNvbmZpZ3VyYXRpb24sIFNkRm9ybUNvbnRyb2wsIFNkTGFiZWxEZWZEaXJlY3RpdmUsIFNkVmlld0RlZkRpcmVjdGl2ZSB9IGZyb20gJ0BzZC1hbmd1bGFyL2NvcmUvY29tbW9uJztcclxuaW1wb3J0IG1vbWVudCwgeyBNb21lbnQgfSBmcm9tICdtb21lbnQnO1xyXG5pbXBvcnQgeyBEZXZpY2VEZXRlY3RvclNlcnZpY2UgfSBmcm9tICduZ3gtZGV2aWNlLWRldGVjdG9yJztcclxuaW1wb3J0IGhhc2ggZnJvbSAnb2JqZWN0LWhhc2gnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0ICogYXMgdXVpZCBmcm9tICd1dWlkJztcclxuXHJcbmNvbnN0IENVU1RPTV9EQVRFVElNRV9GT1JNQVRTID0ge1xyXG4gIHBhcnNlOiB7XHJcbiAgICBkYXRlSW5wdXQ6ICdERC9NTS9ZWVlZIEhIOm1tOnNzJ1xyXG4gIH0sXHJcbiAgZGlzcGxheToge1xyXG4gICAgZGF0ZUlucHV0OiAnREQvTU0vWVlZWSBISDptbTpzcycsXHJcbiAgICBtb250aFllYXJMYWJlbDogJ01NTSBZWVlZJyxcclxuICAgIGRhdGVBMTF5TGFiZWw6ICdMTCcsXHJcbiAgICBtb250aFllYXJBMTF5TGFiZWw6ICdNTU1NIFlZWVknXHJcbiAgfVxyXG59O1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzZC1kYXRlLWZ1bGwnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRlLWZ1bGwuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2RhdGUtZnVsbC5jb21wb25lbnQuc2NzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge3Byb3ZpZGU6IE5HWF9NQVRfREFURV9GT1JNQVRTLCB1c2VWYWx1ZTogQ1VTVE9NX0RBVEVUSU1FX0ZPUk1BVFN9XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2REYXRlRnVsbCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcclxuICBpZCA9IGBJJHt1dWlkLnY0KCl9YDtcclxuICBpc01vYmlsZU9yVGFibGV0ID0gZmFsc2U7XHJcbiAgI2RhdGU6IGFueTtcclxuICAjbmFtZSA9IHV1aWQudjQoKTtcclxuICBASW5wdXQoKSBzZXQgbmFtZSh2YWw6IHN0cmluZykge1xyXG4gICAgaWYgKHZhbCkge1xyXG4gICAgICB0aGlzLiNuYW1lID0gdmFsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQElucHV0KCkgYXBwZWFyYW5jZTogTWF0Rm9ybUZpZWxkQXBwZWFyYW5jZTtcclxuICBkaXNhYmxlRXJyb3JNZXNzYWdlID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgnZGlzYWJsZUVycm9yTWVzc2FnZScpIHNldCBfZGlzYWJsZUVycm9yTWVzc2FnZSh2YWw6IGJvb2xlYW4gfCAnJykge1xyXG4gICAgdGhpcy5kaXNhYmxlRXJyb3JNZXNzYWdlID0gKHZhbCA9PT0gJycpIHx8IHZhbDtcclxuICAgIHZhbCA9ICh2YWwgPT09ICcnKSB8fCB2YWw7XHJcbiAgfVxyXG5cclxuICBmb3JtQ29udHJvbCA9IG5ldyBTZEZvcm1Db250cm9sKCk7XHJcbiAgbWluOiBEYXRlO1xyXG5cclxuICBASW5wdXQoJ21pbicpIHNldCBfbWluKHZhbDogc3RyaW5nIHwgRGF0ZSB8IG51bWJlcikge1xyXG4gICAgaWYgKERhdGUuaXNEYXRlKHZhbCkpIHtcclxuICAgICAgdGhpcy5taW4gPSBuZXcgRGF0ZSh2YWwpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5taW4gPSBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbWF4OiBEYXRlO1xyXG5cclxuICBASW5wdXQoJ21heCcpIHNldCBfbWF4KHZhbDogc3RyaW5nIHwgRGF0ZSB8IG51bWJlcikge1xyXG4gICAgaWYgKERhdGUuaXNEYXRlKHZhbCkpIHtcclxuICAgICAgdGhpcy5tYXggPSBuZXcgRGF0ZSh2YWwpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5tYXggPSBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQElucHV0KCkgc2l6ZTogJ3NtJyB8ICdsZyc7XHJcbiAgI2Zvcm06IEZvcm1Hcm91cDtcclxuICBASW5wdXQoKSBzZXQgZm9ybSh2YWw6IE5nRm9ybSB8IEZvcm1Hcm91cCkge1xyXG4gICAgaWYgKHZhbCkge1xyXG4gICAgICBpZiAodmFsIGluc3RhbmNlb2YgTmdGb3JtKSB7XHJcbiAgICAgICAgdGhpcy4jZm9ybSA9IHZhbC5mb3JtO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuI2Zvcm0gPSB2YWw7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBJbnB1dCgpIHNldCBkaXNhYmxlZCh2YWw6IGJvb2xlYW4gfCAnJykge1xyXG4gICAgdmFsID0gKHZhbCA9PT0gJycpIHx8IHZhbDtcclxuICAgIGlmICh2YWwpIHtcclxuICAgICAgdGhpcy5mb3JtQ29udHJvbC5kaXNhYmxlKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmZvcm1Db250cm9sLmVuYWJsZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVxdWlyZWQgPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KCdyZXF1aXJlZCcpIHNldCBfcmVxdWlyZWQodmFsOiBib29sZWFuIHwgJycpIHtcclxuICAgIHRoaXMucmVxdWlyZWQgPSAodmFsID09PSAnJykgfHwgdmFsO1xyXG4gICAgaWYgKHRoaXMucmVxdWlyZWQpIHtcclxuICAgICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWxpZGF0b3JzKFtWYWxpZGF0b3JzLnJlcXVpcmVkXSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmZvcm1Db250cm9sLmNsZWFyVmFsaWRhdG9ycygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaW5saW5lRXJyb3I6IHN0cmluZztcclxuXHJcbiAgQElucHV0KCdpbmxpbmVFcnJvcicpIHNldCBfaW5saW5lRXJyb3IodmFsOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuaW5saW5lRXJyb3IgPSB2YWw7XHJcbiAgICAvLyB0aGlzLiN1cGRhdGVWYWxpZGF0b3IoKTtcclxuICAgIGlmICh0aGlzLmlubGluZUVycm9yKSB7XHJcblxyXG5cclxuICAgICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWxpZGF0b3JzKFt0aGlzLmN1c3RvbUlubGluZUVycm9yVmFsaWRhdG9yKCldKTtcclxuICAgICAgdGhpcy5mb3JtQ29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XHJcblxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5mb3JtQ29udHJvbC5jbGVhclZhbGlkYXRvcnMoKTtcclxuICAgICAgdGhpcy5mb3JtQ29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XHJcblxyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIHFjSWQ6IHN0cmluZztcclxuICBsYWJlbDogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoJ2xhYmVsJykgc2V0IF9sYWJlbCh2YWw6IHN0cmluZykge1xyXG4gICAgdGhpcy5sYWJlbCA9IHZhbDtcclxuICAgIHRoaXMucWNJZCA9IGhhc2goe1xyXG4gICAgICBzZWxlY3RvcjogJ3NkLWRhdGUtZnVsbCcsXHJcbiAgICAgIGxhYmVsOiB2YWxcclxuICAgIH0pO1xyXG4gIH07XHJcblxyXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgZGVmYXVsdFRpbWU6IGFueTtcclxuXHJcbiAgQElucHV0KCkgc2V0IG1pbkRhdGUodmFsOiBzdHJpbmcgfCBEYXRlKSB7XHJcbiAgICBpZiAoRGF0ZS5pc0RhdGUodmFsKSkge1xyXG4gICAgICB0aGlzLm1pbiA9IG5ldyBEYXRlKHZhbCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm1pbiA9IG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKSBzZXQgbWF4RGF0ZSh2YWw6IHN0cmluZyB8IERhdGUpIHtcclxuICAgIGlmIChEYXRlLmlzRGF0ZSh2YWwpKSB7XHJcbiAgICAgIHRoaXMubWF4ID0gbmV3IERhdGUodmFsKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMubWF4ID0gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBJbnB1dCgpIHZhbGlkYXRvcjogKHZhbHVlOiBhbnkpID0+IHN0cmluZyB8IFByb21pc2U8c3RyaW5nPjtcclxuICBAT3V0cHV0KCkgc2RDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIHNkRm9jdXMgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgQElucHV0KCkgc2V0IG1vZGVsKHZhbDogYW55KSB7XHJcbiAgICBpZiAoIURhdGUuaXNEYXRlKHZhbCkpIHtcclxuICAgICAgdmFsID0gbnVsbDtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLiNkYXRlICE9PSB2YWwpIHtcclxuICAgICAgdGhpcy4jZGF0ZSA9IHZhbDtcclxuICAgICAgY29uc3QgZGF0ZSA9IERhdGUuaXNEYXRlKHRoaXMuI2RhdGUpID8gbW9tZW50KERhdGUudG9Gb3JtYXQodGhpcy4jZGF0ZSwgJ01NL2RkL3l5eXkgSEg6bW06c3MnKSwgJ01NL0REL1lZWVkgSEg6bW06c3MnKSA6IG51bGw7XHJcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUoZGF0ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAT3V0cHV0KCkgbW9kZWxDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgI3N1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcclxuICBAQ29udGVudENoaWxkKFNkVmlld0RlZkRpcmVjdGl2ZSkgc2RWaWV3OiBTZFZpZXdEZWZEaXJlY3RpdmU7XHJcbiAgQENvbnRlbnRDaGlsZChTZExhYmVsRGVmRGlyZWN0aXZlKSBzZExhYmVsRGVmOiBTZExhYmVsRGVmRGlyZWN0aXZlO1xyXG4gIEBWaWV3Q2hpbGQoJ2lucHV0JykgaW5wdXQ6IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZChOZ3hNYXREYXRldGltZVBpY2tlcikgZGF0ZVRpbWVQaWNrZXI6IE5neE1hdERhdGV0aW1lUGlja2VyPE1vbWVudD47XHJcbiAgaXNGb2N1c2VkID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZWY6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgZGV2aWNlU2VydmljZTogRGV2aWNlRGV0ZWN0b3JTZXJ2aWNlLFxyXG4gICAgQEluamVjdChGT1JNX0NPTkZJRykgQE9wdGlvbmFsKCkgcHJpdmF0ZSBmb3JtQ29uZmlnOiBJRm9ybUNvbmZpZ3VyYXRpb24pIHtcclxuICAgIHRoaXMuaXNNb2JpbGVPclRhYmxldCA9ICFkZXZpY2VTZXJ2aWNlLmlzRGVza3RvcCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLiNmb3JtPy5yZW1vdmVDb250cm9sKHRoaXMuI25hbWUpO1xyXG4gICAgdGhpcy4jc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuYXBwZWFyYW5jZSA9IHRoaXMuYXBwZWFyYW5jZSB8fCB0aGlzLmZvcm1Db25maWc/LmFwcGVhcmFuY2U7XHJcbiAgICB0aGlzLiNzdWJzY3JpcHRpb24uYWRkKHRoaXMuZm9ybUNvbnRyb2wuc2RDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIC8vIHRoaXMuZm9ybUNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gICAgICB0aGlzLnJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICAgIH0pKTtcclxuICAgIHRoaXMuI2Zvcm0/LmFkZENvbnRyb2wodGhpcy4jbmFtZSwgdGhpcy5mb3JtQ29udHJvbCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgLy8gSMOgbSB04bqhbyBWYWxpZGF0b3JzIHTDuXkgY2jhu4luaCBjaG8gaW5saW5lRXJyb3JcclxuICBjdXN0b21JbmxpbmVFcnJvclZhbGlkYXRvcigpOiBWYWxpZGF0b3JGbiB7XHJcbiAgICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IHsgW2tleTogc3RyaW5nXTogYW55IH0gfCBudWxsID0+IHtcclxuICAgICAgcmV0dXJuIHtpbmxpbmVFcnJvcjogdHJ1ZX07XHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gIH1cclxuXHJcbiAgb25Gb2N1cyA9ICgpID0+IHtcclxuICAgIHRoaXMuaXNGb2N1c2VkID0gdHJ1ZTtcclxuICAgIHRoaXMuc2RGb2N1cy5lbWl0KCk7XHJcbiAgfTtcclxuXHJcbiAgb25CbHVyID0gKCkgPT4ge1xyXG4gICAgdGhpcy5pc0ZvY3VzZWQgPSBmYWxzZTtcclxuICB9O1xyXG5cclxuICBvbkNsaWNrID0gKCkgPT4ge1xyXG4gICAgaWYgKHRoaXMuc2RWaWV3Py50ZW1wbGF0ZVJlZikge1xyXG4gICAgICBpZiAoIXRoaXMuZm9ybUNvbnRyb2wuZGlzYWJsZWQgJiYgIXRoaXMuaXNGb2N1c2VkKSB7XHJcbiAgICAgICAgdGhpcy5mb2N1cygpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfTtcclxuXHJcbiAgYmx1ciA9ICgpID0+IHtcclxuICAgIHRoaXMuaW5wdXQ/Lm5hdGl2ZUVsZW1lbnQ/LmJsdXIoKTtcclxuICB9O1xyXG5cclxuICBmb2N1cyA9ICgpID0+IHtcclxuICAgIHRoaXMuaXNGb2N1c2VkID0gdHJ1ZTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLmlucHV0Py5uYXRpdmVFbGVtZW50Py5mb2N1cygpO1xyXG4gICAgICB0aGlzLmRhdGVUaW1lUGlja2VyPy5vcGVuKCk7XHJcbiAgICB9LCAxMDApO1xyXG4gIH07XHJcblxyXG4gIGZvY3VzSW5wdXRFbGVtZW50KCkge1xyXG4gICAgdGhpcy5pbnB1dD8ubmF0aXZlRWxlbWVudD8uZm9jdXMoKTtcclxuICB9XHJcblxyXG4gIGlzVmFsaWQ6IGJvb2xlYW47XHJcbiAgb25LZXlEb3duID0gKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XHJcbiAgICBjb25zdCBrZXkgPSBldmVudC5rZXlDb2RlIHx8IGV2ZW50LmNoYXJDb2RlO1xyXG4gICAgbGV0IGlzU2hpZnQgPSBmYWxzZTtcclxuICAgIGlmIChrZXkgPT09IDE2KSB7XHJcbiAgICAgIGlzU2hpZnQgPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIGNobyBwaMOpcCBjb3B5IHBhcnNlXHJcbiAgICBpZiAoZXZlbnQuY3RybEtleSAmJiAoa2V5ID09PSA2NyB8fCBrZXkgPT09IDg2KSkge1xyXG4gICAgICBjb25zb2xlLmxvZygnYWN0aW9uIGNvcHkgcGFyc2UuLi4gZGF0ZXBpY2tlcicpO1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBBbGxvdyBvbmx5IE51bWVyaWMgS2V5cy5cclxuICAgIGlmICgoKGtleSA+PSA0OCAmJiBrZXkgPD0gNTcpIHx8IGtleSA9PT0gOCB8fCBrZXkgPD0gMzcgfHwga2V5IDw9IDM5IHx8IChrZXkgPj0gOTYgJiYga2V5IDw9IDEwNSkgfHwga2V5ID09PSAxOTEgfHwga2V5ID09PSAxODYgfHwga2V5ID09PSA1OSkgJiYgaXNTaGlmdCA9PT0gZmFsc2UpIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgfTtcclxuXHJcbiAgb25LZXl1cCA9IChldmVudCkgPT4ge1xyXG4gICAgY29uc3QgY3VycmVudFZhbDogc3RyaW5nID0gZXZlbnQudGFyZ2V0LnZhbHVlO1xyXG4gICAgY29uc3QgZm9ybUNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCA9IHRoaXMuZm9ybUNvbnRyb2w7XHJcbiAgICBsZXQgcmVnZXggPSAvXihbMS05XXwoWzAxMl1bMC05XSl8KDNbMDFdKSlcXC8oWzBdezAsMX1bMS05XXwxWzAxMl0pXFwvXFxkXFxkXFxkXFxkIFswMTJdezAsMX1bMC05XTpbMC02XVswLTldOlswLTZdWzAtOV0kL2c7XHJcblxyXG4gICAgaWYgKGN1cnJlbnRWYWwgJiYgIXJlZ2V4LnRlc3QoY3VycmVudFZhbCkpIHtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5pc1ZhbGlkID0gdHJ1ZTtcclxuICAgICAgICBmb3JtQ29udHJvbC5tYXJrQXNEaXJ0eSgpO1xyXG4gICAgICAgIGZvcm1Db250cm9sLm1hcmtBc1RvdWNoZWQoKTtcclxuICAgICAgICBmb3JtQ29udHJvbC5zZXRFcnJvcnMoey4uLmZvcm1Db250cm9sLmVycm9ycywgZGF0ZTogYFNhaSDEkeG7i25oIGThuqFuZ2B9KTtcclxuICAgICAgfSwgMCk7XHJcblxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5pc1ZhbGlkID0gZmFsc2U7XHJcbiAgICAgICAgZm9ybUNvbnRyb2wuc2V0RXJyb3JzKHsuLi5mb3JtQ29udHJvbC5lcnJvcnMsIGRhdGU6IG51bGx9KTtcclxuICAgICAgICB0aGlzLmZvcm1Db250cm9sLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuICAgICAgfSwgMCk7XHJcbiAgICB9XHJcbiAgfTtcclxuXHJcbiAgb25DaGFuZ2UgPSAoZXZlbnQ6IE1hdERhdGVwaWNrZXJJbnB1dEV2ZW50PE1vbWVudD4pID0+IHtcclxuICAgIGNvbnN0IHZhbHVlID0gZXZlbnQudmFsdWU/LnRvRGF0ZSgpO1xyXG4gICAgaWYgKCF0aGlzLmlzVmFsaWQpIHtcclxuICAgICAgaWYgKG5ldyBEYXRlKHRoaXMuI2RhdGUpICE9PSB2YWx1ZSkge1xyXG4gICAgICAgIHRoaXMubW9kZWxDaGFuZ2UuZW1pdCh2YWx1ZSk7XHJcbiAgICAgICAgdGhpcy5zZENoYW5nZS5lbWl0KHZhbHVlKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5pc1ZhbGlkID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgIHRoaXMubW9kZWxDaGFuZ2UuZW1pdChudWxsKTtcclxuICAgICAgdGhpcy5zZENoYW5nZS5lbWl0KG51bGwpO1xyXG4gICAgfVxyXG4gIH07XHJcblxyXG4gIGNsZWFyID0gKCRldmVudDogYW55KSA9PiB7XHJcbiAgICAkZXZlbnQ/LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgaWYgKHRoaXMuZm9ybUNvbnRyb2wudmFsdWUpIHtcclxuICAgICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWx1ZShudWxsKTtcclxuICAgICAgdGhpcy5tb2RlbENoYW5nZS5lbWl0KG51bGwpO1xyXG4gICAgICB0aGlzLnNkQ2hhbmdlLmVtaXQobnVsbCk7XHJcbiAgICB9XHJcbiAgfTtcclxufVxyXG4iXX0=
@@ -0,0 +1,40 @@
1
+ import { NgxMatDatetimePickerModule, NgxMatTimepickerModule } from '@angular-material-components/datetime-picker';
2
+ import { NgxMatMomentModule } from '@angular-material-components/moment-adapter';
3
+ import { CommonModule } from '@angular/common';
4
+ import { NgModule } from '@angular/core';
5
+ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
6
+ import { MatMomentDateModule } from '@angular/material-moment-adapter';
7
+ import { MatDatepickerModule } from '@angular/material/datepicker';
8
+ import { MatFormFieldModule } from '@angular/material/form-field';
9
+ import { MatIconModule } from '@angular/material/icon';
10
+ import { MatInputModule } from '@angular/material/input';
11
+ import { SdButtonModule } from '@sd-angular/core/button';
12
+ import { SdCommonModule } from '@sd-angular/core/common';
13
+ import { SdTranslateModule } from '@sd-angular/core/translate';
14
+ import { SdDateFull } from './date-full.component';
15
+ export class SdDateFullModule {
16
+ }
17
+ SdDateFullModule.decorators = [
18
+ { type: NgModule, args: [{
19
+ imports: [
20
+ CommonModule,
21
+ FormsModule,
22
+ ReactiveFormsModule,
23
+ MatInputModule,
24
+ MatIconModule,
25
+ MatFormFieldModule,
26
+ MatDatepickerModule,
27
+ MatMomentDateModule,
28
+ NgxMatDatetimePickerModule,
29
+ NgxMatTimepickerModule,
30
+ NgxMatMomentModule,
31
+ SdTranslateModule,
32
+ SdCommonModule,
33
+ SdButtonModule,
34
+ ],
35
+ declarations: [SdDateFull],
36
+ exports: [SdCommonModule, SdDateFull],
37
+ providers: [],
38
+ },] }
39
+ ];
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1mdWxsLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9uZ2hpYXR0MTVfb25lbW91bnQvRG9jdW1lbnRzL2xpYi1jb3JlLXVpL3Byb2plY3RzL3NkLWNvcmUvZGF0ZS1mdWxsLyIsInNvdXJjZXMiOlsic3JjL2xpYi9kYXRlLWZ1bGwubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ2xILE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBdUJuRCxNQUFNLE9BQU8sZ0JBQWdCOzs7WUFyQjVCLFFBQVEsU0FBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixXQUFXO29CQUNYLG1CQUFtQjtvQkFDbkIsY0FBYztvQkFDZCxhQUFhO29CQUNiLGtCQUFrQjtvQkFDbEIsbUJBQW1CO29CQUNuQixtQkFBbUI7b0JBQ25CLDBCQUEwQjtvQkFDMUIsc0JBQXNCO29CQUN0QixrQkFBa0I7b0JBQ2xCLGlCQUFpQjtvQkFDakIsY0FBYztvQkFDZCxjQUFjO2lCQUNmO2dCQUNELFlBQVksRUFBRSxDQUFDLFVBQVUsQ0FBQztnQkFDMUIsT0FBTyxFQUFFLENBQUMsY0FBYyxFQUFFLFVBQVUsQ0FBQztnQkFDckMsU0FBUyxFQUFFLEVBQUU7YUFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5neE1hdERhdGV0aW1lUGlja2VyTW9kdWxlLCBOZ3hNYXRUaW1lcGlja2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXItbWF0ZXJpYWwtY29tcG9uZW50cy9kYXRldGltZS1waWNrZXInO1xyXG5pbXBvcnQgeyBOZ3hNYXRNb21lbnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci1tYXRlcmlhbC1jb21wb25lbnRzL21vbWVudC1hZGFwdGVyJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdE1vbWVudERhdGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC1tb21lbnQtYWRhcHRlcic7XHJcbmltcG9ydCB7IE1hdERhdGVwaWNrZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyJztcclxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XHJcbmltcG9ydCB7IFNkQnV0dG9uTW9kdWxlIH0gZnJvbSAnQHNkLWFuZ3VsYXIvY29yZS9idXR0b24nO1xyXG5pbXBvcnQgeyBTZENvbW1vbk1vZHVsZSB9IGZyb20gJ0BzZC1hbmd1bGFyL2NvcmUvY29tbW9uJztcclxuaW1wb3J0IHsgU2RUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAc2QtYW5ndWxhci9jb3JlL3RyYW5zbGF0ZSc7XHJcbmltcG9ydCB7IFNkRGF0ZUZ1bGwgfSBmcm9tICcuL2RhdGUtZnVsbC5jb21wb25lbnQnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBNYXRJbnB1dE1vZHVsZSxcclxuICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXHJcbiAgICBNYXREYXRlcGlja2VyTW9kdWxlLFxyXG4gICAgTWF0TW9tZW50RGF0ZU1vZHVsZSxcclxuICAgIE5neE1hdERhdGV0aW1lUGlja2VyTW9kdWxlLFxyXG4gICAgTmd4TWF0VGltZXBpY2tlck1vZHVsZSxcclxuICAgIE5neE1hdE1vbWVudE1vZHVsZSxcclxuICAgIFNkVHJhbnNsYXRlTW9kdWxlLFxyXG4gICAgU2RDb21tb25Nb2R1bGUsXHJcbiAgICBTZEJ1dHRvbk1vZHVsZSxcclxuICBdLFxyXG4gIGRlY2xhcmF0aW9uczogW1NkRGF0ZUZ1bGxdLFxyXG4gIGV4cG9ydHM6IFtTZENvbW1vbk1vZHVsZSwgU2REYXRlRnVsbF0sXHJcbiAgcHJvdmlkZXJzOiBbXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNkRGF0ZUZ1bGxNb2R1bGUge31cclxuIl19
@@ -0,0 +1,3 @@
1
+ export { SdDateFullModule } from './lib/date-full.module';
2
+ export { SdDateFull } from './lib/date-full.component';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9uZ2hpYXR0MTVfb25lbW91bnQvRG9jdW1lbnRzL2xpYi1jb3JlLXVpL3Byb2plY3RzL3NkLWNvcmUvZGF0ZS1mdWxsLyIsInNvdXJjZXMiOlsic3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgU2REYXRlRnVsbE1vZHVsZSB9IGZyb20gJy4vbGliL2RhdGUtZnVsbC5tb2R1bGUnO1xyXG5leHBvcnQgeyBTZERhdGVGdWxsIH0gZnJvbSAnLi9saWIvZGF0ZS1mdWxsLmNvbXBvbmVudCc7XHJcbiJdfQ==