@sd-angular/core 1.3.243 → 1.3.245

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 (105) 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 +716 -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 +718 -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 -0
  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 +741 -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.umd.js +4 -4
  35. package/bundles/sd-angular-core.umd.min.js +1 -1
  36. package/bundles/sd-angular-core.umd.min.js.map +1 -1
  37. package/date/index.d.ts +1 -0
  38. package/date/package.json +12 -0
  39. package/date/sd-angular-core-date.d.ts +4 -0
  40. package/date/sd-angular-core-date.metadata.json +1 -0
  41. package/date/src/lib/date.component.d.ts +62 -0
  42. package/date/src/lib/date.module.d.ts +2 -0
  43. package/date/src/public-api.d.ts +2 -0
  44. package/date-full/index.d.ts +1 -0
  45. package/date-full/package.json +12 -0
  46. package/date-full/sd-angular-core-date-full.d.ts +4 -0
  47. package/date-full/sd-angular-core-date-full.metadata.json +1 -0
  48. package/date-full/src/lib/date-full.component.d.ts +64 -0
  49. package/date-full/src/lib/date-full.module.d.ts +2 -0
  50. package/date-full/src/public-api.d.ts +2 -0
  51. package/date-time/sd-angular-core-date-time.metadata.json +1 -1
  52. package/esm2015/autocomplete/src/lib/autocomplete.component.js +2 -2
  53. package/esm2015/autocomplete/src/lib/autocomplete.module.js +8 -10
  54. package/esm2015/date/index.js +2 -0
  55. package/esm2015/date/sd-angular-core-date.js +5 -0
  56. package/esm2015/date/src/lib/date.component.js +309 -0
  57. package/esm2015/date/src/lib/date.module.js +38 -0
  58. package/esm2015/date/src/public-api.js +3 -0
  59. package/esm2015/date-full/index.js +2 -0
  60. package/esm2015/date-full/sd-angular-core-date-full.js +5 -0
  61. package/esm2015/date-full/src/lib/date-full.component.js +307 -0
  62. package/esm2015/date-full/src/lib/date-full.module.js +40 -0
  63. package/esm2015/date-full/src/public-api.js +3 -0
  64. package/esm2015/date-time/src/lib/date-time.component.js +2 -2
  65. package/esm2015/date-time/src/lib/date-time.module.js +10 -12
  66. package/esm2015/export/src/lib/export.service.js +4 -1
  67. package/esm2015/form/src/lib/form.module.js +21 -12
  68. package/esm2015/input-number/src/lib/input-number.component.js +2 -2
  69. package/esm2015/input-number/src/lib/input-number.module.js +3 -7
  70. package/esm2015/month/index.js +2 -0
  71. package/esm2015/month/sd-angular-core-month.js +5 -0
  72. package/esm2015/month/src/lib/month.component.js +332 -0
  73. package/esm2015/month/src/lib/month.module.js +40 -0
  74. package/esm2015/month/src/public-api.js +3 -0
  75. package/esm2015/public-api.js +4 -1
  76. package/fesm2015/sd-angular-core-autocomplete.js +8 -10
  77. package/fesm2015/sd-angular-core-autocomplete.js.map +1 -1
  78. package/fesm2015/sd-angular-core-date-full.js +348 -0
  79. package/fesm2015/sd-angular-core-date-full.js.map +1 -0
  80. package/fesm2015/sd-angular-core-date-time.js +12 -14
  81. package/fesm2015/sd-angular-core-date-time.js.map +1 -1
  82. package/fesm2015/sd-angular-core-date.js +348 -0
  83. package/fesm2015/sd-angular-core-date.js.map +1 -0
  84. package/fesm2015/sd-angular-core-export.js +3 -0
  85. package/fesm2015/sd-angular-core-export.js.map +1 -1
  86. package/fesm2015/sd-angular-core-form.js +19 -10
  87. package/fesm2015/sd-angular-core-form.js.map +1 -1
  88. package/fesm2015/sd-angular-core-input-number.js +3 -7
  89. package/fesm2015/sd-angular-core-input-number.js.map +1 -1
  90. package/fesm2015/sd-angular-core-month.js +373 -0
  91. package/fesm2015/sd-angular-core-month.js.map +1 -0
  92. package/fesm2015/sd-angular-core.js +3 -0
  93. package/fesm2015/sd-angular-core.js.map +1 -1
  94. package/form/sd-angular-core-form.metadata.json +1 -1
  95. package/input-number/sd-angular-core-input-number.metadata.json +1 -1
  96. package/month/index.d.ts +1 -0
  97. package/month/package.json +12 -0
  98. package/month/sd-angular-core-month.d.ts +4 -0
  99. package/month/sd-angular-core-month.metadata.json +1 -0
  100. package/month/src/lib/month.component.d.ts +64 -0
  101. package/month/src/lib/month.module.d.ts +2 -0
  102. package/month/src/public-api.d.ts +2 -0
  103. package/package.json +1 -1
  104. package/public-api.d.ts +3 -0
  105. package/{sd-angular-core-1.3.243.tgz → sd-angular-core-1.3.245.tgz} +0 -0
@@ -0,0 +1,309 @@
1
+ var _date, _name, _form, _subscription;
2
+ import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
3
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, EventEmitter, Inject, Input, Optional, Output, ViewChild, } from '@angular/core';
4
+ import { NgForm, Validators } from '@angular/forms';
5
+ import { MAT_DATE_FORMATS } from '@angular/material/core';
6
+ import { MatDatepicker } from '@angular/material/datepicker';
7
+ import { FORM_CONFIG, SdFormControl, SdLabelDefDirective, SdViewDefDirective } from '@sd-angular/core/common';
8
+ import moment from 'moment';
9
+ import { DeviceDetectorService } from 'ngx-device-detector';
10
+ import hash from 'object-hash';
11
+ import { Subscription } from 'rxjs';
12
+ import * as uuid from 'uuid';
13
+ const CUSTOM_DATE_FORMATS = {
14
+ parse: {
15
+ dateInput: 'DD/MM/YYYY',
16
+ },
17
+ display: {
18
+ dateInput: 'DD/MM/YYYY',
19
+ monthYearLabel: 'MMM YYYY',
20
+ dateA11yLabel: 'LL',
21
+ monthYearA11yLabel: 'MMMM YYYY',
22
+ },
23
+ };
24
+ const ɵ0 = CUSTOM_DATE_FORMATS;
25
+ export class SdDate {
26
+ constructor(ref, deviceService, formConfig) {
27
+ this.ref = ref;
28
+ this.formConfig = formConfig;
29
+ this.id = `I${uuid.v4()}`;
30
+ this.isMobileOrTablet = false;
31
+ _date.set(this, void 0);
32
+ _name.set(this, uuid.v4());
33
+ this.disableErrorMessage = false;
34
+ this.formControl = new SdFormControl();
35
+ _form.set(this, void 0);
36
+ this.required = false;
37
+ this.sdChange = new EventEmitter();
38
+ this.sdFocus = new EventEmitter();
39
+ this.modelChange = new EventEmitter();
40
+ _subscription.set(this, new Subscription());
41
+ this.isFocused = false;
42
+ this.onFocus = () => {
43
+ this.isFocused = true;
44
+ this.sdFocus.emit();
45
+ };
46
+ this.onBlur = () => {
47
+ this.isFocused = false;
48
+ };
49
+ this.onClick = () => {
50
+ var _a;
51
+ if ((_a = this.sdView) === null || _a === void 0 ? void 0 : _a.templateRef) {
52
+ if (!this.formControl.disabled && !this.isFocused) {
53
+ this.focus();
54
+ }
55
+ }
56
+ };
57
+ this.blur = () => {
58
+ var _a, _b;
59
+ (_b = (_a = this.input) === null || _a === void 0 ? void 0 : _a.nativeElement) === null || _b === void 0 ? void 0 : _b.blur();
60
+ };
61
+ this.focus = () => {
62
+ this.isFocused = true;
63
+ setTimeout(() => {
64
+ var _a, _b, _c;
65
+ (_b = (_a = this.input) === null || _a === void 0 ? void 0 : _a.nativeElement) === null || _b === void 0 ? void 0 : _b.focus();
66
+ (_c = this.datePicker) === null || _c === void 0 ? void 0 : _c.open();
67
+ //
68
+ }, 100);
69
+ };
70
+ this.onKeyDown = (event) => {
71
+ const key = event.keyCode || event.charCode;
72
+ let isShift = false;
73
+ if (key === 16) {
74
+ isShift = true;
75
+ }
76
+ // cho phép copy parse
77
+ if (event.ctrlKey && (key === 67 || key === 86)) {
78
+ console.log('action copy parse... datepicker');
79
+ return true;
80
+ }
81
+ // Allow only Numeric Keys.
82
+ if (((key >= 48 && key <= 57) ||
83
+ key === 8 ||
84
+ key <= 37 ||
85
+ key <= 39 ||
86
+ (key >= 96 && key <= 105) ||
87
+ key === 191 ||
88
+ key === 186 ||
89
+ key === 59) &&
90
+ isShift === false) {
91
+ return true;
92
+ }
93
+ else {
94
+ return false;
95
+ }
96
+ };
97
+ this.onKeyup = event => {
98
+ const currentVal = event.target.value;
99
+ const formControl = this.formControl;
100
+ let regex = /^([1-9]|([012][0-9])|(3[01]))\/([0]{0,1}[1-9]|1[012])\/\d\d\d\d$/g;
101
+ if (currentVal && !regex.test(currentVal)) {
102
+ setTimeout(() => {
103
+ this.isValid = true;
104
+ formControl.markAsDirty();
105
+ formControl.markAsTouched();
106
+ formControl.setErrors(Object.assign(Object.assign({}, formControl.errors), { date: `Chưa đúng định dạng 'dd/MM/yyyy'` }));
107
+ }, 0);
108
+ }
109
+ else {
110
+ setTimeout(() => {
111
+ this.isValid = false;
112
+ formControl.setErrors(Object.assign(Object.assign({}, formControl.errors), { date: null }));
113
+ this.formControl.updateValueAndValidity();
114
+ }, 0);
115
+ }
116
+ };
117
+ this.onChange = (event) => {
118
+ var _a, _b, _c;
119
+ const value = (_a = event.value) === null || _a === void 0 ? void 0 : _a.toDate();
120
+ (_c = (_b = this.input) === null || _b === void 0 ? void 0 : _b.nativeElement) === null || _c === void 0 ? void 0 : _c.focus();
121
+ if (!this.isValid) {
122
+ if (new Date(__classPrivateFieldGet(this, _date)) !== value) {
123
+ this.modelChange.emit(value);
124
+ this.sdChange.emit(value);
125
+ }
126
+ }
127
+ else {
128
+ this.isValid = false;
129
+ this.formControl.setValue(null);
130
+ this.modelChange.emit(null);
131
+ this.sdChange.emit(null);
132
+ }
133
+ };
134
+ this.clear = ($event) => {
135
+ $event === null || $event === void 0 ? void 0 : $event.stopPropagation();
136
+ if (this.formControl.value) {
137
+ this.formControl.setValue(null);
138
+ this.modelChange.emit(null);
139
+ this.sdChange.emit(null);
140
+ }
141
+ };
142
+ this.isMobileOrTablet = !deviceService.isDesktop();
143
+ }
144
+ set name(val) {
145
+ if (val) {
146
+ __classPrivateFieldSet(this, _name, val);
147
+ }
148
+ }
149
+ set _disableErrorMessage(val) {
150
+ this.disableErrorMessage = val === '' || val;
151
+ val = val === '' || val;
152
+ }
153
+ set _min(val) {
154
+ if (Date.isDate(val)) {
155
+ this.min = new Date(val);
156
+ }
157
+ else {
158
+ this.min = null;
159
+ }
160
+ }
161
+ set _max(val) {
162
+ if (Date.isDate(val)) {
163
+ this.max = new Date(val);
164
+ }
165
+ else {
166
+ this.max = null;
167
+ }
168
+ }
169
+ set form(val) {
170
+ if (val) {
171
+ if (val instanceof NgForm) {
172
+ __classPrivateFieldSet(this, _form, val.form);
173
+ }
174
+ else {
175
+ __classPrivateFieldSet(this, _form, val);
176
+ }
177
+ }
178
+ }
179
+ set disabled(val) {
180
+ val = val === '' || val;
181
+ if (val) {
182
+ this.formControl.disable();
183
+ }
184
+ else {
185
+ this.formControl.enable();
186
+ }
187
+ }
188
+ set _required(val) {
189
+ this.required = val === '' || val;
190
+ if (this.required) {
191
+ this.formControl.setValidators([Validators.required]);
192
+ }
193
+ else {
194
+ this.formControl.clearValidators();
195
+ }
196
+ }
197
+ set _inlineError(val) {
198
+ this.inlineError = val;
199
+ // this.#updateValidator();
200
+ if (this.inlineError) {
201
+ this.formControl.setValidators([this.customInlineErrorValidator()]);
202
+ this.formControl.updateValueAndValidity();
203
+ }
204
+ else {
205
+ this.formControl.clearValidators();
206
+ this.formControl.updateValueAndValidity();
207
+ }
208
+ }
209
+ set _label(val) {
210
+ this.label = val;
211
+ this.qcId = hash({
212
+ selector: 'sd-date',
213
+ label: val,
214
+ });
215
+ }
216
+ set minDate(val) {
217
+ if (Date.isDate(val)) {
218
+ this.min = new Date(val);
219
+ }
220
+ else {
221
+ this.min = null;
222
+ }
223
+ }
224
+ set maxDate(val) {
225
+ if (Date.isDate(val)) {
226
+ this.max = new Date(val);
227
+ }
228
+ else {
229
+ this.max = null;
230
+ }
231
+ }
232
+ set model(val) {
233
+ if (!Date.isDate(val)) {
234
+ val = null;
235
+ }
236
+ if (__classPrivateFieldGet(this, _date) !== val) {
237
+ __classPrivateFieldSet(this, _date, val);
238
+ 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;
239
+ this.formControl.setValue(date);
240
+ }
241
+ }
242
+ ngOnDestroy() {
243
+ var _a;
244
+ (_a = __classPrivateFieldGet(this, _form)) === null || _a === void 0 ? void 0 : _a.removeControl(__classPrivateFieldGet(this, _name));
245
+ __classPrivateFieldGet(this, _subscription).unsubscribe();
246
+ }
247
+ ngOnInit() {
248
+ var _a, _b;
249
+ this.appearance = this.appearance || ((_a = this.formConfig) === null || _a === void 0 ? void 0 : _a.appearance);
250
+ __classPrivateFieldGet(this, _subscription).add(this.formControl.sdChanges.subscribe(() => {
251
+ // this.formControl.updateValueAndValidity();
252
+ this.ref.markForCheck();
253
+ }));
254
+ (_b = __classPrivateFieldGet(this, _form)) === null || _b === void 0 ? void 0 : _b.addControl(__classPrivateFieldGet(this, _name), this.formControl);
255
+ }
256
+ // Hàm tạo Validators tùy chỉnh cho inlineError
257
+ customInlineErrorValidator() {
258
+ return (control) => {
259
+ return { inlineError: true };
260
+ };
261
+ }
262
+ ngAfterViewInit() { }
263
+ focusInputElement() {
264
+ var _a, _b;
265
+ (_b = (_a = this.input) === null || _a === void 0 ? void 0 : _a.nativeElement) === null || _b === void 0 ? void 0 : _b.focus();
266
+ }
267
+ }
268
+ _date = new WeakMap(), _name = new WeakMap(), _form = new WeakMap(), _subscription = new WeakMap();
269
+ SdDate.decorators = [
270
+ { type: Component, args: [{
271
+ selector: 'sd-date',
272
+ 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 && !datePicker?.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 [required]=\"required\"\r\n [matDatepicker]=\"picker2\"\r\n [placeholder]=\"placeholder || (appearance ? label : '')\"\r\n [min]=\"min\"\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]=\"10\" />\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\r\n <mat-icon class=\"pointer sd-suffix-icon\" (click)=\"!formControl?.disabled && picker2.open()\" #btn matSuffix>today </mat-icon>\r\n\r\n <mat-datepicker #picker2 [touchUi]=\"isMobileOrTablet\"></mat-datepicker>\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?.matDatepickerMin && 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?.matDatepickerMax && 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",
273
+ changeDetection: ChangeDetectionStrategy.OnPush,
274
+ providers: [{ provide: MAT_DATE_FORMATS, useValue: ɵ0 }],
275
+ 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}"]
276
+ },] }
277
+ ];
278
+ SdDate.ctorParameters = () => [
279
+ { type: ChangeDetectorRef },
280
+ { type: DeviceDetectorService },
281
+ { type: undefined, decorators: [{ type: Inject, args: [FORM_CONFIG,] }, { type: Optional }] }
282
+ ];
283
+ SdDate.propDecorators = {
284
+ name: [{ type: Input }],
285
+ appearance: [{ type: Input }],
286
+ _disableErrorMessage: [{ type: Input, args: ['disableErrorMessage',] }],
287
+ _min: [{ type: Input, args: ['min',] }],
288
+ _max: [{ type: Input, args: ['max',] }],
289
+ size: [{ type: Input }],
290
+ form: [{ type: Input }],
291
+ disabled: [{ type: Input }],
292
+ _required: [{ type: Input, args: ['required',] }],
293
+ _inlineError: [{ type: Input, args: ['inlineError',] }],
294
+ _label: [{ type: Input, args: ['label',] }],
295
+ placeholder: [{ type: Input }],
296
+ minDate: [{ type: Input }],
297
+ maxDate: [{ type: Input }],
298
+ validator: [{ type: Input }],
299
+ sdChange: [{ type: Output }],
300
+ sdFocus: [{ type: Output }],
301
+ model: [{ type: Input }],
302
+ modelChange: [{ type: Output }],
303
+ sdView: [{ type: ContentChild, args: [SdViewDefDirective,] }],
304
+ sdLabelDef: [{ type: ContentChild, args: [SdLabelDefDirective,] }],
305
+ input: [{ type: ViewChild, args: ['input',] }],
306
+ datePicker: [{ type: ViewChild, args: [MatDatepicker,] }]
307
+ };
308
+ export { ɵ0 };
309
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvbmdoaWF0dDE1X29uZW1vdW50L0RvY3VtZW50cy9saWItY29yZS11aS9wcm9qZWN0cy9zZC1jb3JlL2RhdGUvIiwic291cmNlcyI6WyJzcmMvbGliL2RhdGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFFWixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFHTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQThCLE1BQU0sRUFBZSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsYUFBYSxFQUEyQixNQUFNLDhCQUE4QixDQUFDO0FBRXRGLE9BQU8sRUFBRSxXQUFXLEVBQXNCLGFBQWEsRUFBRSxtQkFBbUIsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2xJLE9BQU8sTUFBa0IsTUFBTSxRQUFRLENBQUM7QUFDeEMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDNUQsT0FBTyxJQUFJLE1BQU0sYUFBYSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUM7QUFFN0IsTUFBTSxtQkFBbUIsR0FBRztJQUMxQixLQUFLLEVBQUU7UUFDTCxTQUFTLEVBQUUsWUFBWTtLQUN4QjtJQUNELE9BQU8sRUFBRTtRQUNQLFNBQVMsRUFBRSxZQUFZO1FBQ3ZCLGNBQWMsRUFBRSxVQUFVO1FBQzFCLGFBQWEsRUFBRSxJQUFJO1FBQ25CLGtCQUFrQixFQUFFLFdBQVc7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RU4sS0FBSzswQkFXTCxNQUFNO3FCQUVOLFlBQVksU0FBQyxrQkFBa0I7eUJBQy9CLFlBQVksU0FBQyxtQkFBbUI7b0JBQ2hDLFNBQVMsU0FBQyxPQUFPO3lCQUNqQixTQUFTLFNBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgQ29udGVudENoaWxkLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEluamVjdCxcclxuICBJbnB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIE9wdGlvbmFsLFxyXG4gIE91dHB1dCxcclxuICBWaWV3Q2hpbGQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUdyb3VwLCBOZ0Zvcm0sIFZhbGlkYXRvckZuLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNQVRfREFURV9GT1JNQVRTIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XHJcbmltcG9ydCB7IE1hdERhdGVwaWNrZXIsIE1hdERhdGVwaWNrZXJJbnB1dEV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XHJcbmltcG9ydCB7IE1hdEZvcm1GaWVsZEFwcGVhcmFuY2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcclxuaW1wb3J0IHsgRk9STV9DT05GSUcsIElGb3JtQ29uZmlndXJhdGlvbiwgU2RGb3JtQ29udHJvbCwgU2RMYWJlbERlZkRpcmVjdGl2ZSwgU2RWaWV3RGVmRGlyZWN0aXZlIH0gZnJvbSAnQHNkLWFuZ3VsYXIvY29yZS9jb21tb24nO1xyXG5pbXBvcnQgbW9tZW50LCB7IE1vbWVudCB9IGZyb20gJ21vbWVudCc7XHJcbmltcG9ydCB7IERldmljZURldGVjdG9yU2VydmljZSB9IGZyb20gJ25neC1kZXZpY2UtZGV0ZWN0b3InO1xyXG5pbXBvcnQgaGFzaCBmcm9tICdvYmplY3QtaGFzaCc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgKiBhcyB1dWlkIGZyb20gJ3V1aWQnO1xyXG5cclxuY29uc3QgQ1VTVE9NX0RBVEVfRk9STUFUUyA9IHtcclxuICBwYXJzZToge1xyXG4gICAgZGF0ZUlucHV0OiAnREQvTU0vWVlZWScsXHJcbiAgfSxcclxuICBkaXNwbGF5OiB7XHJcbiAgICBkYXRlSW5wdXQ6ICdERC9NTS9ZWVlZJyxcclxuICAgIG1vbnRoWWVhckxhYmVsOiAnTU1NIFlZWVknLFxyXG4gICAgZGF0ZUExMXlMYWJlbDogJ0xMJyxcclxuICAgIG1vbnRoWWVhckExMXlMYWJlbDogJ01NTU0gWVlZWScsXHJcbiAgfSxcclxufTtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2QtZGF0ZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2RhdGUuY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IE1BVF9EQVRFX0ZPUk1BVFMsIHVzZVZhbHVlOiBDVVNUT01fREFURV9GT1JNQVRTIH1dLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2REYXRlIGltcGxlbWVudHMgT25EZXN0cm95LCBPbkluaXQsIEFmdGVyVmlld0luaXQge1xyXG4gIGlkID0gYEkke3V1aWQudjQoKX1gO1xyXG4gIGlzTW9iaWxlT3JUYWJsZXQgPSBmYWxzZTtcclxuICAjZGF0ZTogYW55O1xyXG4gICNuYW1lID0gdXVpZC52NCgpO1xyXG4gIEBJbnB1dCgpIHNldCBuYW1lKHZhbDogc3RyaW5nKSB7XHJcbiAgICBpZiAodmFsKSB7XHJcbiAgICAgIHRoaXMuI25hbWUgPSB2YWw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKSBhcHBlYXJhbmNlOiBNYXRGb3JtRmllbGRBcHBlYXJhbmNlO1xyXG4gIGRpc2FibGVFcnJvck1lc3NhZ2UgPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KCdkaXNhYmxlRXJyb3JNZXNzYWdlJykgc2V0IF9kaXNhYmxlRXJyb3JNZXNzYWdlKHZhbDogYm9vbGVhbiB8ICcnKSB7XHJcbiAgICB0aGlzLmRpc2FibGVFcnJvck1lc3NhZ2UgPSB2YWwgPT09ICcnIHx8IHZhbDtcclxuICAgIHZhbCA9IHZhbCA9PT0gJycgfHwgdmFsO1xyXG4gIH1cclxuXHJcbiAgZm9ybUNvbnRyb2wgPSBuZXcgU2RGb3JtQ29udHJvbCgpO1xyXG4gIG1pbjogRGF0ZTtcclxuXHJcbiAgQElucHV0KCdtaW4nKSBzZXQgX21pbih2YWw6IHN0cmluZyB8IERhdGUgfCBudW1iZXIpIHtcclxuICAgIGlmIChEYXRlLmlzRGF0ZSh2YWwpKSB7XHJcbiAgICAgIHRoaXMubWluID0gbmV3IERhdGUodmFsKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMubWluID0gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG1heDogRGF0ZTtcclxuXHJcbiAgQElucHV0KCdtYXgnKSBzZXQgX21heCh2YWw6IHN0cmluZyB8IERhdGUgfCBudW1iZXIpIHtcclxuICAgIGlmIChEYXRlLmlzRGF0ZSh2YWwpKSB7XHJcbiAgICAgIHRoaXMubWF4ID0gbmV3IERhdGUodmFsKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMubWF4ID0gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBJbnB1dCgpIHNpemU6ICdzbScgfCAnbGcnO1xyXG4gICNmb3JtOiBGb3JtR3JvdXA7XHJcbiAgQElucHV0KCkgc2V0IGZvcm0odmFsOiBOZ0Zvcm0gfCBGb3JtR3JvdXApIHtcclxuICAgIGlmICh2YWwpIHtcclxuICAgICAgaWYgKHZhbCBpbnN0YW5jZW9mIE5nRm9ybSkge1xyXG4gICAgICAgIHRoaXMuI2Zvcm0gPSB2YWwuZm9ybTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLiNmb3JtID0gdmFsO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKSBzZXQgZGlzYWJsZWQodmFsOiBib29sZWFuIHwgJycpIHtcclxuICAgIHZhbCA9IHZhbCA9PT0gJycgfHwgdmFsO1xyXG4gICAgaWYgKHZhbCkge1xyXG4gICAgICB0aGlzLmZvcm1Db250cm9sLmRpc2FibGUoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wuZW5hYmxlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZXF1aXJlZCA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoJ3JlcXVpcmVkJykgc2V0IF9yZXF1aXJlZCh2YWw6IGJvb2xlYW4gfCAnJykge1xyXG4gICAgdGhpcy5yZXF1aXJlZCA9IHZhbCA9PT0gJycgfHwgdmFsO1xyXG4gICAgaWYgKHRoaXMucmVxdWlyZWQpIHtcclxuICAgICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWxpZGF0b3JzKFtWYWxpZGF0b3JzLnJlcXVpcmVkXSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmZvcm1Db250cm9sLmNsZWFyVmFsaWRhdG9ycygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaW5saW5lRXJyb3I6IHN0cmluZztcclxuXHJcbiAgQElucHV0KCdpbmxpbmVFcnJvcicpIHNldCBfaW5saW5lRXJyb3IodmFsOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuaW5saW5lRXJyb3IgPSB2YWw7XHJcbiAgICAvLyB0aGlzLiN1cGRhdGVWYWxpZGF0b3IoKTtcclxuICAgIGlmICh0aGlzLmlubGluZUVycm9yKSB7XHJcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsaWRhdG9ycyhbdGhpcy5jdXN0b21JbmxpbmVFcnJvclZhbGlkYXRvcigpXSk7XHJcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5mb3JtQ29udHJvbC5jbGVhclZhbGlkYXRvcnMoKTtcclxuICAgICAgdGhpcy5mb3JtQ29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBxY0lkOiBzdHJpbmc7XHJcbiAgbGFiZWw6IHN0cmluZztcclxuXHJcbiAgQElucHV0KCdsYWJlbCcpIHNldCBfbGFiZWwodmFsOiBzdHJpbmcpIHtcclxuICAgIHRoaXMubGFiZWwgPSB2YWw7XHJcbiAgICB0aGlzLnFjSWQgPSBoYXNoKHtcclxuICAgICAgc2VsZWN0b3I6ICdzZC1kYXRlJyxcclxuICAgICAgbGFiZWw6IHZhbCxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZztcclxuXHJcbiAgQElucHV0KCkgc2V0IG1pbkRhdGUodmFsOiBzdHJpbmcgfCBEYXRlKSB7XHJcbiAgICBpZiAoRGF0ZS5pc0RhdGUodmFsKSkge1xyXG4gICAgICB0aGlzLm1pbiA9IG5ldyBEYXRlKHZhbCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm1pbiA9IG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKSBzZXQgbWF4RGF0ZSh2YWw6IHN0cmluZyB8IERhdGUpIHtcclxuICAgIGlmIChEYXRlLmlzRGF0ZSh2YWwpKSB7XHJcbiAgICAgIHRoaXMubWF4ID0gbmV3IERhdGUodmFsKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMubWF4ID0gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBJbnB1dCgpIHZhbGlkYXRvcjogKHZhbHVlOiBhbnkpID0+IHN0cmluZyB8IFByb21pc2U8c3RyaW5nPjtcclxuICBAT3V0cHV0KCkgc2RDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIHNkRm9jdXMgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgQElucHV0KCkgc2V0IG1vZGVsKHZhbDogYW55KSB7XHJcbiAgICBpZiAoIURhdGUuaXNEYXRlKHZhbCkpIHtcclxuICAgICAgdmFsID0gbnVsbDtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLiNkYXRlICE9PSB2YWwpIHtcclxuICAgICAgdGhpcy4jZGF0ZSA9IHZhbDtcclxuICAgICAgY29uc3QgZGF0ZSA9IERhdGUuaXNEYXRlKHRoaXMuI2RhdGUpID8gbW9tZW50KERhdGUudG9Gb3JtYXQodGhpcy4jZGF0ZSwgJ01NL2RkL3l5eXkgSEg6bW06c3MnKSwgJ01NL0REL1lZWVkgSEg6bW06c3MnKSA6IG51bGw7XHJcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUoZGF0ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAT3V0cHV0KCkgbW9kZWxDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgI3N1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcclxuICBAQ29udGVudENoaWxkKFNkVmlld0RlZkRpcmVjdGl2ZSkgc2RWaWV3OiBTZFZpZXdEZWZEaXJlY3RpdmU7XHJcbiAgQENvbnRlbnRDaGlsZChTZExhYmVsRGVmRGlyZWN0aXZlKSBzZExhYmVsRGVmOiBTZExhYmVsRGVmRGlyZWN0aXZlO1xyXG4gIEBWaWV3Q2hpbGQoJ2lucHV0JykgaW5wdXQ6IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZChNYXREYXRlcGlja2VyKSBkYXRlUGlja2VyOiBNYXREYXRlcGlja2VyPE1vbWVudD47XHJcbiAgaXNGb2N1c2VkID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZWY6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgZGV2aWNlU2VydmljZTogRGV2aWNlRGV0ZWN0b3JTZXJ2aWNlLFxyXG4gICAgQEluamVjdChGT1JNX0NPTkZJRykgQE9wdGlvbmFsKCkgcHJpdmF0ZSBmb3JtQ29uZmlnOiBJRm9ybUNvbmZpZ3VyYXRpb25cclxuICApIHtcclxuICAgIHRoaXMuaXNNb2JpbGVPclRhYmxldCA9ICFkZXZpY2VTZXJ2aWNlLmlzRGVza3RvcCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLiNmb3JtPy5yZW1vdmVDb250cm9sKHRoaXMuI25hbWUpO1xyXG4gICAgdGhpcy4jc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuYXBwZWFyYW5jZSA9IHRoaXMuYXBwZWFyYW5jZSB8fCB0aGlzLmZvcm1Db25maWc/LmFwcGVhcmFuY2U7XHJcbiAgICB0aGlzLiNzdWJzY3JpcHRpb24uYWRkKFxyXG4gICAgICB0aGlzLmZvcm1Db250cm9sLnNkQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIC8vIHRoaXMuZm9ybUNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gICAgICAgIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICAgIHRoaXMuI2Zvcm0/LmFkZENvbnRyb2wodGhpcy4jbmFtZSwgdGhpcy5mb3JtQ29udHJvbCk7XHJcbiAgfVxyXG5cclxuICAvLyBIw6BtIHThuqFvIFZhbGlkYXRvcnMgdMO5eSBjaOG7iW5oIGNobyBpbmxpbmVFcnJvclxyXG4gIGN1c3RvbUlubGluZUVycm9yVmFsaWRhdG9yKCk6IFZhbGlkYXRvckZuIHtcclxuICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB8IG51bGwgPT4ge1xyXG4gICAgICByZXR1cm4geyBpbmxpbmVFcnJvcjogdHJ1ZSB9O1xyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHt9XHJcblxyXG4gIG9uRm9jdXMgPSAoKSA9PiB7XHJcbiAgICB0aGlzLmlzRm9jdXNlZCA9IHRydWU7XHJcbiAgICB0aGlzLnNkRm9jdXMuZW1pdCgpO1xyXG4gIH07XHJcblxyXG4gIG9uQmx1ciA9ICgpID0+IHtcclxuICAgIHRoaXMuaXNGb2N1c2VkID0gZmFsc2U7XHJcbiAgfTtcclxuXHJcbiAgb25DbGljayA9ICgpID0+IHtcclxuICAgIGlmICh0aGlzLnNkVmlldz8udGVtcGxhdGVSZWYpIHtcclxuICAgICAgaWYgKCF0aGlzLmZvcm1Db250cm9sLmRpc2FibGVkICYmICF0aGlzLmlzRm9jdXNlZCkge1xyXG4gICAgICAgIHRoaXMuZm9jdXMoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH07XHJcblxyXG4gIGJsdXIgPSAoKSA9PiB7XHJcbiAgICB0aGlzLmlucHV0Py5uYXRpdmVFbGVtZW50Py5ibHVyKCk7XHJcbiAgfTtcclxuXHJcbiAgZm9jdXMgPSAoKSA9PiB7XHJcbiAgICB0aGlzLmlzRm9jdXNlZCA9IHRydWU7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5pbnB1dD8ubmF0aXZlRWxlbWVudD8uZm9jdXMoKTtcclxuICAgICAgdGhpcy5kYXRlUGlja2VyPy5vcGVuKCk7XHJcbiAgICAgIC8vXHJcbiAgICB9LCAxMDApO1xyXG4gIH07XHJcblxyXG4gIGZvY3VzSW5wdXRFbGVtZW50KCkge1xyXG4gICAgdGhpcy5pbnB1dD8ubmF0aXZlRWxlbWVudD8uZm9jdXMoKTtcclxuICB9XHJcblxyXG4gIGlzVmFsaWQ6IGJvb2xlYW47XHJcbiAgb25LZXlEb3duID0gKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XHJcbiAgICBjb25zdCBrZXkgPSBldmVudC5rZXlDb2RlIHx8IGV2ZW50LmNoYXJDb2RlO1xyXG4gICAgbGV0IGlzU2hpZnQgPSBmYWxzZTtcclxuICAgIGlmIChrZXkgPT09IDE2KSB7XHJcbiAgICAgIGlzU2hpZnQgPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIGNobyBwaMOpcCBjb3B5IHBhcnNlXHJcbiAgICBpZiAoZXZlbnQuY3RybEtleSAmJiAoa2V5ID09PSA2NyB8fCBrZXkgPT09IDg2KSkge1xyXG4gICAgICBjb25zb2xlLmxvZygnYWN0aW9uIGNvcHkgcGFyc2UuLi4gZGF0ZXBpY2tlcicpO1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBBbGxvdyBvbmx5IE51bWVyaWMgS2V5cy5cclxuICAgIGlmIChcclxuICAgICAgKChrZXkgPj0gNDggJiYga2V5IDw9IDU3KSB8fFxyXG4gICAgICAgIGtleSA9PT0gOCB8fFxyXG4gICAgICAgIGtleSA8PSAzNyB8fFxyXG4gICAgICAgIGtleSA8PSAzOSB8fFxyXG4gICAgICAgIChrZXkgPj0gOTYgJiYga2V5IDw9IDEwNSkgfHxcclxuICAgICAgICBrZXkgPT09IDE5MSB8fFxyXG4gICAgICAgIGtleSA9PT0gMTg2IHx8XHJcbiAgICAgICAga2V5ID09PSA1OSkgJiZcclxuICAgICAgaXNTaGlmdCA9PT0gZmFsc2VcclxuICAgICkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9O1xyXG5cclxuICBvbktleXVwID0gZXZlbnQgPT4ge1xyXG4gICAgY29uc3QgY3VycmVudFZhbDogc3RyaW5nID0gZXZlbnQudGFyZ2V0LnZhbHVlO1xyXG4gICAgY29uc3QgZm9ybUNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCA9IHRoaXMuZm9ybUNvbnRyb2w7XHJcbiAgICBsZXQgcmVnZXggPSAvXihbMS05XXwoWzAxMl1bMC05XSl8KDNbMDFdKSlcXC8oWzBdezAsMX1bMS05XXwxWzAxMl0pXFwvXFxkXFxkXFxkXFxkJC9nO1xyXG5cclxuICAgIGlmIChjdXJyZW50VmFsICYmICFyZWdleC50ZXN0KGN1cnJlbnRWYWwpKSB7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuaXNWYWxpZCA9IHRydWU7XHJcbiAgICAgICAgZm9ybUNvbnRyb2wubWFya0FzRGlydHkoKTtcclxuICAgICAgICBmb3JtQ29udHJvbC5tYXJrQXNUb3VjaGVkKCk7XHJcbiAgICAgICAgZm9ybUNvbnRyb2wuc2V0RXJyb3JzKHsgLi4uZm9ybUNvbnRyb2wuZXJyb3JzLCBkYXRlOiBgQ2jGsGEgxJHDum5nIMSR4buLbmggZOG6oW5nICdkZC9NTS95eXl5J2AgfSk7XHJcbiAgICAgIH0sIDApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5pc1ZhbGlkID0gZmFsc2U7XHJcbiAgICAgICAgZm9ybUNvbnRyb2wuc2V0RXJyb3JzKHsgLi4uZm9ybUNvbnRyb2wuZXJyb3JzLCBkYXRlOiBudWxsIH0pO1xyXG4gICAgICAgIHRoaXMuZm9ybUNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gICAgICB9LCAwKTtcclxuICAgIH1cclxuICB9O1xyXG5cclxuICBvbkNoYW5nZSA9IChldmVudDogTWF0RGF0ZXBpY2tlcklucHV0RXZlbnQ8TW9tZW50PikgPT4ge1xyXG4gICAgY29uc3QgdmFsdWUgPSBldmVudC52YWx1ZT8udG9EYXRlKCk7XHJcbiAgICB0aGlzLmlucHV0Py5uYXRpdmVFbGVtZW50Py5mb2N1cygpO1xyXG4gICAgaWYgKCF0aGlzLmlzVmFsaWQpIHtcclxuICAgICAgaWYgKG5ldyBEYXRlKHRoaXMuI2RhdGUpICE9PSB2YWx1ZSkge1xyXG4gICAgICAgIHRoaXMubW9kZWxDaGFuZ2UuZW1pdCh2YWx1ZSk7XHJcbiAgICAgICAgdGhpcy5zZENoYW5nZS5lbWl0KHZhbHVlKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5pc1ZhbGlkID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgIHRoaXMubW9kZWxDaGFuZ2UuZW1pdChudWxsKTtcclxuICAgICAgdGhpcy5zZENoYW5nZS5lbWl0KG51bGwpO1xyXG4gICAgfVxyXG4gIH07XHJcblxyXG4gIGNsZWFyID0gKCRldmVudDogYW55KSA9PiB7XHJcbiAgICAkZXZlbnQ/LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgaWYgKHRoaXMuZm9ybUNvbnRyb2wudmFsdWUpIHtcclxuICAgICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWx1ZShudWxsKTtcclxuICAgICAgdGhpcy5tb2RlbENoYW5nZS5lbWl0KG51bGwpO1xyXG4gICAgICB0aGlzLnNkQ2hhbmdlLmVtaXQobnVsbCk7XHJcbiAgICB9XHJcbiAgfTtcclxufVxyXG4iXX0=
@@ -0,0 +1,38 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
4
+ import { MatDatepickerModule } from '@angular/material/datepicker';
5
+ import { MatFormFieldModule } from '@angular/material/form-field';
6
+ import { MatIconModule } from '@angular/material/icon';
7
+ import { MatInputModule } from '@angular/material/input';
8
+ import { SdButtonModule } from "@sd-angular/core/button";
9
+ import { SdCommonModule } from '@sd-angular/core/common';
10
+ import { SdTranslateModule } from '@sd-angular/core/translate';
11
+ import { SdDate } from './date.component';
12
+ export class SdDateModule {
13
+ }
14
+ SdDateModule.decorators = [
15
+ { type: NgModule, args: [{
16
+ imports: [
17
+ CommonModule,
18
+ FormsModule,
19
+ ReactiveFormsModule,
20
+ MatInputModule,
21
+ MatIconModule,
22
+ MatFormFieldModule,
23
+ MatDatepickerModule,
24
+ SdTranslateModule,
25
+ SdCommonModule,
26
+ SdButtonModule
27
+ ],
28
+ declarations: [
29
+ SdDate
30
+ ],
31
+ exports: [
32
+ SdCommonModule,
33
+ SdDate
34
+ ],
35
+ providers: []
36
+ },] }
37
+ ];
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvbmdoaWF0dDE1X29uZW1vdW50L0RvY3VtZW50cy9saWItY29yZS11aS9wcm9qZWN0cy9zZC1jb3JlL2RhdGUvIiwic291cmNlcyI6WyJzcmMvbGliL2RhdGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBeUIxQyxNQUFNLE9BQU8sWUFBWTs7O1lBdkJ4QixRQUFRLFNBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osV0FBVztvQkFDWCxtQkFBbUI7b0JBQ25CLGNBQWM7b0JBQ2QsYUFBYTtvQkFDYixrQkFBa0I7b0JBQ2xCLG1CQUFtQjtvQkFDbkIsaUJBQWlCO29CQUNqQixjQUFjO29CQUNkLGNBQWM7aUJBQ2Y7Z0JBQ0QsWUFBWSxFQUFFO29CQUNaLE1BQU07aUJBQ1A7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLGNBQWM7b0JBQ2QsTUFBTTtpQkFDUDtnQkFDRCxTQUFTLEVBQUUsRUFDVjthQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdERhdGVwaWNrZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyJztcclxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XHJcbmltcG9ydCB7IFNkQnV0dG9uTW9kdWxlIH0gZnJvbSBcIkBzZC1hbmd1bGFyL2NvcmUvYnV0dG9uXCI7XHJcbmltcG9ydCB7IFNkQ29tbW9uTW9kdWxlIH0gZnJvbSAnQHNkLWFuZ3VsYXIvY29yZS9jb21tb24nO1xyXG5pbXBvcnQgeyBTZFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BzZC1hbmd1bGFyL2NvcmUvdHJhbnNsYXRlJztcclxuaW1wb3J0IHsgU2REYXRlIH0gZnJvbSAnLi9kYXRlLmNvbXBvbmVudCc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIE1hdElucHV0TW9kdWxlLFxyXG4gICAgTWF0SWNvbk1vZHVsZSxcclxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcclxuICAgIE1hdERhdGVwaWNrZXJNb2R1bGUsXHJcbiAgICBTZFRyYW5zbGF0ZU1vZHVsZSxcclxuICAgIFNkQ29tbW9uTW9kdWxlLFxyXG4gICAgU2RCdXR0b25Nb2R1bGVcclxuICBdLFxyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgU2REYXRlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBTZENvbW1vbk1vZHVsZSxcclxuICAgIFNkRGF0ZVxyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2REYXRlTW9kdWxlIHtcclxuXHJcbn1cclxuIl19
@@ -0,0 +1,3 @@
1
+ export { SdDateModule } from './lib/date.module';
2
+ export { SdDate } from './lib/date.component';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9uZ2hpYXR0MTVfb25lbW91bnQvRG9jdW1lbnRzL2xpYi1jb3JlLXVpL3Byb2plY3RzL3NkLWNvcmUvZGF0ZS8iLCJzb3VyY2VzIjpbInNyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBTZERhdGVNb2R1bGUgfSBmcm9tICcuL2xpYi9kYXRlLm1vZHVsZSc7XHJcbmV4cG9ydCB7IFNkRGF0ZSB9IGZyb20gJy4vbGliL2RhdGUuY29tcG9uZW50JztcclxuIl19
@@ -0,0 +1,2 @@
1
+ export * from './src/public-api';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvbmdoaWF0dDE1X29uZW1vdW50L0RvY3VtZW50cy9saWItY29yZS11aS9wcm9qZWN0cy9zZC1jb3JlL2RhdGUtZnVsbC8iLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NyYy9wdWJsaWMtYXBpJzsiXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2QtYW5ndWxhci1jb3JlLWRhdGUtZnVsbC5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9uZ2hpYXR0MTVfb25lbW91bnQvRG9jdW1lbnRzL2xpYi1jb3JlLXVpL3Byb2plY3RzL3NkLWNvcmUvZGF0ZS1mdWxsLyIsInNvdXJjZXMiOlsic2QtYW5ndWxhci1jb3JlLWRhdGUtZnVsbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==