cmat 0.0.78 → 0.0.79
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/fesm2022/cmat-components-adapter.mjs +9 -46
- package/fesm2022/cmat-components-adapter.mjs.map +1 -1
- package/fesm2022/cmat-components-breadcrumb.mjs +104 -205
- package/fesm2022/cmat-components-breadcrumb.mjs.map +1 -1
- package/fesm2022/cmat-components-card.mjs +4 -8
- package/fesm2022/cmat-components-card.mjs.map +1 -1
- package/fesm2022/cmat-components-carousel.mjs +12 -12
- package/fesm2022/cmat-components-cascade.mjs +14 -20
- package/fesm2022/cmat-components-cascade.mjs.map +1 -1
- package/fesm2022/cmat-components-chip-input.mjs +21 -21
- package/fesm2022/cmat-components-chip-input.mjs.map +1 -1
- package/fesm2022/cmat-components-code-editor.mjs +4 -22
- package/fesm2022/cmat-components-code-editor.mjs.map +1 -1
- package/fesm2022/cmat-components-custom-formly.mjs +153 -220
- package/fesm2022/cmat-components-custom-formly.mjs.map +1 -1
- package/fesm2022/cmat-components-date-range.mjs +5 -177
- package/fesm2022/cmat-components-date-range.mjs.map +1 -1
- package/fesm2022/cmat-components-date-time-display.mjs +3 -15
- package/fesm2022/cmat-components-date-time-display.mjs.map +1 -1
- package/fesm2022/cmat-components-drawer.mjs +6 -96
- package/fesm2022/cmat-components-drawer.mjs.map +1 -1
- package/fesm2022/cmat-components-empty-state.mjs +4 -25
- package/fesm2022/cmat-components-empty-state.mjs.map +1 -1
- package/fesm2022/cmat-components-file-preview.mjs +3 -21
- package/fesm2022/cmat-components-file-preview.mjs.map +1 -1
- package/fesm2022/cmat-components-filter-toolbar.mjs +7 -50
- package/fesm2022/cmat-components-filter-toolbar.mjs.map +1 -1
- package/fesm2022/cmat-components-form-actions.mjs +3 -9
- package/fesm2022/cmat-components-form-actions.mjs.map +1 -1
- package/fesm2022/cmat-components-fullscreen.mjs +4 -4
- package/fesm2022/cmat-components-fullscreen.mjs.map +1 -1
- package/fesm2022/cmat-components-highlight.mjs +6 -31
- package/fesm2022/cmat-components-highlight.mjs.map +1 -1
- package/fesm2022/cmat-components-image-viewer.mjs +3 -12
- package/fesm2022/cmat-components-image-viewer.mjs.map +1 -1
- package/fesm2022/cmat-components-inline-loading.mjs +3 -12
- package/fesm2022/cmat-components-inline-loading.mjs.map +1 -1
- package/fesm2022/cmat-components-json-editor.mjs +10 -13
- package/fesm2022/cmat-components-json-editor.mjs.map +1 -1
- package/fesm2022/cmat-components-knob-input.mjs +18 -12
- package/fesm2022/cmat-components-knob-input.mjs.map +1 -1
- package/fesm2022/cmat-components-masonry.mjs +3 -9
- package/fesm2022/cmat-components-masonry.mjs.map +1 -1
- package/fesm2022/cmat-components-material-color-picker.mjs +3 -23
- package/fesm2022/cmat-components-material-color-picker.mjs.map +1 -1
- package/fesm2022/cmat-components-material-datetimepicker.mjs +49 -397
- package/fesm2022/cmat-components-material-datetimepicker.mjs.map +1 -1
- package/fesm2022/cmat-components-navigation.mjs +183 -725
- package/fesm2022/cmat-components-navigation.mjs.map +1 -1
- package/fesm2022/cmat-components-opt-input.mjs +7 -10
- package/fesm2022/cmat-components-opt-input.mjs.map +1 -1
- package/fesm2022/cmat-components-org-chart.mjs +11 -11
- package/fesm2022/cmat-components-org-chart.mjs.map +1 -1
- package/fesm2022/cmat-components-page-header.mjs +8 -19
- package/fesm2022/cmat-components-page-header.mjs.map +1 -1
- package/fesm2022/cmat-components-pagination.mjs +96 -93
- package/fesm2022/cmat-components-pagination.mjs.map +1 -1
- package/fesm2022/cmat-components-password-strength.mjs +10 -11
- package/fesm2022/cmat-components-password-strength.mjs.map +1 -1
- package/fesm2022/cmat-components-popover.mjs +15 -149
- package/fesm2022/cmat-components-popover.mjs.map +1 -1
- package/fesm2022/cmat-components-progress-bar.mjs +9 -16
- package/fesm2022/cmat-components-progress-bar.mjs.map +1 -1
- package/fesm2022/cmat-components-qrcode.mjs +5 -11
- package/fesm2022/cmat-components-qrcode.mjs.map +1 -1
- package/fesm2022/cmat-components-rating.mjs +3 -3
- package/fesm2022/cmat-components-rich-text-editor.mjs +4 -25
- package/fesm2022/cmat-components-rich-text-editor.mjs.map +1 -1
- package/fesm2022/cmat-components-select-search.mjs +46 -72
- package/fesm2022/cmat-components-select-search.mjs.map +1 -1
- package/fesm2022/cmat-components-select-table.mjs +193 -150
- package/fesm2022/cmat-components-select-table.mjs.map +1 -1
- package/fesm2022/cmat-components-select-tree.mjs +124 -78
- package/fesm2022/cmat-components-select-tree.mjs.map +1 -1
- package/fesm2022/cmat-components-skeleton.mjs +4 -22
- package/fesm2022/cmat-components-skeleton.mjs.map +1 -1
- package/fesm2022/cmat-components-speed-dial.mjs +9 -11
- package/fesm2022/cmat-components-speed-dial.mjs.map +1 -1
- package/fesm2022/cmat-components-status-tag.mjs +3 -18
- package/fesm2022/cmat-components-status-tag.mjs.map +1 -1
- package/fesm2022/cmat-components-table-toolbar.mjs +3 -15
- package/fesm2022/cmat-components-table-toolbar.mjs.map +1 -1
- package/fesm2022/cmat-components-timeline.mjs +18 -21
- package/fesm2022/cmat-components-timeline.mjs.map +1 -1
- package/fesm2022/cmat-components-toast.mjs +16 -14
- package/fesm2022/cmat-components-toast.mjs.map +1 -1
- package/fesm2022/cmat-components-transfer-picker.mjs +103 -80
- package/fesm2022/cmat-components-transfer-picker.mjs.map +1 -1
- package/fesm2022/cmat-components-treetable.mjs +6 -6
- package/fesm2022/cmat-components-upload.mjs +21 -36
- package/fesm2022/cmat-components-upload.mjs.map +1 -1
- package/fesm2022/cmat-components-x6-angular-shape.mjs +0 -1
- package/fesm2022/cmat-components-x6-angular-shape.mjs.map +1 -1
- package/fesm2022/cmat-directives-animate-on-scroll.mjs +6 -27
- package/fesm2022/cmat-directives-animate-on-scroll.mjs.map +1 -1
- package/fesm2022/cmat-directives-arrow-cursor.mjs +7 -9
- package/fesm2022/cmat-directives-arrow-cursor.mjs.map +1 -1
- package/fesm2022/cmat-directives-autofocus.mjs +3 -3
- package/fesm2022/cmat-directives-data-exporter.mjs +24 -33
- package/fesm2022/cmat-directives-data-exporter.mjs.map +1 -1
- package/fesm2022/cmat-directives-debounce.mjs +14 -17
- package/fesm2022/cmat-directives-debounce.mjs.map +1 -1
- package/fesm2022/cmat-directives-digit-only.mjs +6 -23
- package/fesm2022/cmat-directives-digit-only.mjs.map +1 -1
- package/fesm2022/cmat-directives-equal-validator.mjs +3 -3
- package/fesm2022/cmat-directives-seamless-auto-scroll.mjs +4 -11
- package/fesm2022/cmat-directives-seamless-auto-scroll.mjs.map +1 -1
- package/fesm2022/cmat-lib-mock-api.mjs +6 -43
- package/fesm2022/cmat-lib-mock-api.mjs.map +1 -1
- package/fesm2022/cmat-pipes-bytes.mjs +3 -3
- package/fesm2022/cmat-pipes-date-format.mjs +3 -3
- package/fesm2022/cmat-pipes-find-by-key.mjs +3 -5
- package/fesm2022/cmat-pipes-find-by-key.mjs.map +1 -1
- package/fesm2022/cmat-pipes-group-by.mjs +3 -3
- package/fesm2022/cmat-pipes-keys.mjs +3 -3
- package/fesm2022/cmat-pipes-secure.mjs +8 -12
- package/fesm2022/cmat-pipes-secure.mjs.map +1 -1
- package/fesm2022/cmat-pipes-uppercase.mjs +3 -3
- package/fesm2022/cmat-services-alert.mjs +3 -3
- package/fesm2022/cmat-services-config.mjs +50 -26
- package/fesm2022/cmat-services-config.mjs.map +1 -1
- package/fesm2022/cmat-services-confirmation.mjs +9 -11
- package/fesm2022/cmat-services-confirmation.mjs.map +1 -1
- package/fesm2022/cmat-services-data.mjs +56 -101
- package/fesm2022/cmat-services-data.mjs.map +1 -1
- package/fesm2022/cmat-services-export-as.mjs +4 -32
- package/fesm2022/cmat-services-export-as.mjs.map +1 -1
- package/fesm2022/cmat-services-loading.mjs +49 -40
- package/fesm2022/cmat-services-loading.mjs.map +1 -1
- package/fesm2022/cmat-services-local-storage.mjs +3 -3
- package/fesm2022/cmat-services-media-watcher.mjs +19 -25
- package/fesm2022/cmat-services-media-watcher.mjs.map +1 -1
- package/fesm2022/cmat-services-platform.mjs +3 -10
- package/fesm2022/cmat-services-platform.mjs.map +1 -1
- package/fesm2022/cmat-services-splash-screen.mjs +8 -13
- package/fesm2022/cmat-services-splash-screen.mjs.map +1 -1
- package/fesm2022/cmat-services-title.mjs +8 -12
- package/fesm2022/cmat-services-title.mjs.map +1 -1
- package/fesm2022/cmat-services-translation.mjs +3 -3
- package/fesm2022/cmat-services-utils.mjs +5 -27
- package/fesm2022/cmat-services-utils.mjs.map +1 -1
- package/fesm2022/cmat-validators.mjs +0 -8
- package/fesm2022/cmat-validators.mjs.map +1 -1
- package/fesm2022/cmat.mjs +3159 -3441
- package/fesm2022/cmat.mjs.map +1 -1
- package/package.json +1 -1
- package/tailwind/plugins/helpers.js +1 -10
- package/tailwind/plugins/scrollbar/index.js +0 -1
- package/tailwind/plugins/scrollbar/typedefs.js +1 -7
- package/tailwind/plugins/scrollbar/utilities.js +9 -58
- package/tailwind/plugins/scrollbar/variants.js +2 -17
- package/tailwind/plugins/theming.js +1 -57
- package/tailwind/utils/generate-contrasts.js +1 -12
- package/tailwind/utils/generate-palette.js +1 -32
- package/types/cmat-components-adapter.d.ts +0 -25
- package/types/cmat-components-breadcrumb.d.ts +25 -175
- package/types/cmat-components-carousel.d.ts +0 -18
- package/types/cmat-components-cascade.d.ts +1 -1
- package/types/cmat-components-chip-input.d.ts +4 -3
- package/types/cmat-components-code-editor.d.ts +0 -18
- package/types/cmat-components-custom-formly.d.ts +22 -28
- package/types/cmat-components-date-range.d.ts +0 -71
- package/types/cmat-components-date-time-display.d.ts +0 -15
- package/types/cmat-components-drawer.d.ts +0 -42
- package/types/cmat-components-empty-state.d.ts +0 -21
- package/types/cmat-components-file-preview.d.ts +0 -18
- package/types/cmat-components-filter-toolbar.d.ts +3 -43
- package/types/cmat-components-form-actions.d.ts +0 -6
- package/types/cmat-components-image-viewer.d.ts +0 -12
- package/types/cmat-components-inline-loading.d.ts +0 -9
- package/types/cmat-components-knob-input.d.ts +1 -1
- package/types/cmat-components-material-datetimepicker.d.ts +0 -263
- package/types/cmat-components-navigation.d.ts +24 -164
- package/types/cmat-components-opt-input.d.ts +1 -1
- package/types/cmat-components-page-header.d.ts +2 -16
- package/types/cmat-components-pagination.d.ts +22 -24
- package/types/cmat-components-popover.d.ts +1 -109
- package/types/cmat-components-progress-bar.d.ts +3 -4
- package/types/cmat-components-rich-text-editor.d.ts +0 -21
- package/types/cmat-components-select-search.d.ts +3 -19
- package/types/cmat-components-select-table.d.ts +17 -4
- package/types/cmat-components-select-tree.d.ts +20 -19
- package/types/cmat-components-skeleton.d.ts +0 -18
- package/types/cmat-components-status-tag.d.ts +0 -15
- package/types/cmat-components-table-toolbar.d.ts +0 -12
- package/types/cmat-components-timeline.d.ts +3 -4
- package/types/cmat-components-toast.d.ts +1 -0
- package/types/cmat-components-transfer-picker.d.ts +23 -27
- package/types/cmat-components-upload.d.ts +7 -10
- package/types/cmat-components-x6-angular-shape.d.ts +0 -1
- package/types/cmat-directives-arrow-cursor.d.ts +1 -1
- package/types/cmat-directives-debounce.d.ts +3 -4
- package/types/cmat-pipes-secure.d.ts +3 -4
- package/types/cmat-services-config.d.ts +35 -13
- package/types/cmat-services-data.d.ts +13 -12
- package/types/cmat-services-export-as.d.ts +0 -22
- package/types/cmat-services-loading.d.ts +15 -10
- package/types/cmat-services-media-watcher.d.ts +10 -13
- package/types/cmat-services-splash-screen.d.ts +2 -4
- package/types/cmat-services-title.d.ts +3 -5
- package/types/cmat.d.ts +655 -1308
|
@@ -55,7 +55,6 @@ class DatetimeAdapter extends DateAdapter {
|
|
|
55
55
|
}
|
|
56
56
|
return first === second;
|
|
57
57
|
}
|
|
58
|
-
// delegate
|
|
59
58
|
clone(date) {
|
|
60
59
|
return this._delegate.clone(date);
|
|
61
60
|
}
|
|
@@ -135,9 +134,7 @@ class DatetimeAdapter extends DateAdapter {
|
|
|
135
134
|
|
|
136
135
|
const CMAT_DATETIME_FORMATS = new InjectionToken('cmat-datetime-formats');
|
|
137
136
|
|
|
138
|
-
/** The default hour names to use if Intl API is not available. */
|
|
139
137
|
const DEFAULT_HOUR_NAMES = range$2(24, i => String(i));
|
|
140
|
-
/** The default minute names to use if Intl API is not available. */
|
|
141
138
|
const DEFAULT_MINUTE_NAMES = range$2(60, i => String(i));
|
|
142
139
|
function range$2(length, valueFunction) {
|
|
143
140
|
const valuesArray = Array(length);
|
|
@@ -167,8 +164,6 @@ class CNativeDatetimeAdapter extends DatetimeAdapter {
|
|
|
167
164
|
return this.sameMonthAndYear(nextMonth, endDate);
|
|
168
165
|
}
|
|
169
166
|
createDatetime(year, month, date, hour, minute) {
|
|
170
|
-
// Check for invalid month and date (except upper bound on date which we have to check after
|
|
171
|
-
// creating the Date).
|
|
172
167
|
if (month < 0 || month > 11) {
|
|
173
168
|
throw Error(`Invalid month index "${month}". Month index has to be between 0 and 11.`);
|
|
174
169
|
}
|
|
@@ -182,7 +177,6 @@ class CNativeDatetimeAdapter extends DatetimeAdapter {
|
|
|
182
177
|
throw Error(`Invalid minute "${minute}". Minute has to be between 0 and 59.`);
|
|
183
178
|
}
|
|
184
179
|
const result = this._createDateWithOverflow(year, month, date, hour, minute);
|
|
185
|
-
// Check that the date wasn't above the upper bound for the month, causing the month to overflow
|
|
186
180
|
if (result.getMonth() !== month) {
|
|
187
181
|
throw Error(`Invalid date "${date}" for month with index "${month}".`);
|
|
188
182
|
}
|
|
@@ -204,10 +198,6 @@ class CNativeDatetimeAdapter extends DatetimeAdapter {
|
|
|
204
198
|
}
|
|
205
199
|
addCalendarMonths(date, months) {
|
|
206
200
|
let newDate = this._createDateWithOverflow(this.getYear(date), this.getMonth(date) + months, this.getDate(date), this.getHour(date), this.getMinute(date));
|
|
207
|
-
// It's possible to wind up in the wrong month if the original month has more days than the new
|
|
208
|
-
// month. In this case we want to go to the last day of the desired month.
|
|
209
|
-
// Note: the additional + 12 % 12 ensures we end up with a positive number, since JS % doesn't
|
|
210
|
-
// guarantee this.
|
|
211
201
|
if (this.getMonth(newDate) !== ((this.getMonth(date) + months) % 12 + 12) % 12) {
|
|
212
202
|
newDate = this._createDateWithOverflow(this.getYear(newDate), this.getMonth(newDate), 0, this.getHour(date), this.getMinute(date));
|
|
213
203
|
}
|
|
@@ -231,29 +221,21 @@ class CNativeDatetimeAdapter extends DatetimeAdapter {
|
|
|
231
221
|
_getDateInNextMonth(date) {
|
|
232
222
|
return new Date(date.getFullYear(), date.getMonth() + 1, 1, date.getHours(), date.getMinutes());
|
|
233
223
|
}
|
|
234
|
-
/**
|
|
235
|
-
* Pads a number to make it two digits.
|
|
236
|
-
*
|
|
237
|
-
* @param n The number to pad.
|
|
238
|
-
* @returns The padded number.
|
|
239
|
-
*/
|
|
240
224
|
_2digit(n) {
|
|
241
225
|
return ('00' + n).slice(-2);
|
|
242
226
|
}
|
|
243
227
|
/* Creates a date but allows the month and date to overflow. */
|
|
244
228
|
_createDateWithOverflow(year, month, date, hours, minutes) {
|
|
245
229
|
const result = new Date(year, month, date, hours, minutes);
|
|
246
|
-
// We need to correct for the fact that JS native Date treats years in range [0, 99] as
|
|
247
|
-
// abbreviations for 19xx.
|
|
248
230
|
if (year >= 0 && year < 100) {
|
|
249
231
|
result.setFullYear(this.getYear(result) - 1900);
|
|
250
232
|
}
|
|
251
233
|
return result;
|
|
252
234
|
}
|
|
253
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
254
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
235
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: CNativeDatetimeAdapter, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
236
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: CNativeDatetimeAdapter }); }
|
|
255
237
|
}
|
|
256
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
238
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: CNativeDatetimeAdapter, decorators: [{
|
|
257
239
|
type: Injectable
|
|
258
240
|
}], ctorParameters: () => [] });
|
|
259
241
|
|
|
@@ -313,8 +295,6 @@ class DayjsDatetimeAdapter extends DatetimeAdapter {
|
|
|
313
295
|
return super.sameMonthAndYear(nextMonth, endDate);
|
|
314
296
|
}
|
|
315
297
|
createDatetime(year, month, date, hour, minute) {
|
|
316
|
-
// Check for invalid month and date (except upper bound on date which we have to check after
|
|
317
|
-
// creating the Date).
|
|
318
298
|
if (month < 0 || month > 11) {
|
|
319
299
|
throw Error(`Invalid month index "${month}". Month index has to be between 0 and 11.`);
|
|
320
300
|
}
|
|
@@ -328,7 +308,6 @@ class DayjsDatetimeAdapter extends DatetimeAdapter {
|
|
|
328
308
|
throw Error(`Invalid minute "${minute}". Minute has to be between 0 and 59.`);
|
|
329
309
|
}
|
|
330
310
|
const result = dayjs(new Date(year, month, date, hour, minute));
|
|
331
|
-
// If the result isn't valid, the date must have been out of bounds for this month.
|
|
332
311
|
if (!result.isValid()) {
|
|
333
312
|
throw Error(`Invalid date "${date}" for month with index "${month}".`);
|
|
334
313
|
}
|
|
@@ -355,10 +334,10 @@ class DayjsDatetimeAdapter extends DatetimeAdapter {
|
|
|
355
334
|
_getDateInNextMonth(date) {
|
|
356
335
|
return super.clone(date).date(1).add(1, 'month');
|
|
357
336
|
}
|
|
358
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
359
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
337
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: DayjsDatetimeAdapter, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
338
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: DayjsDatetimeAdapter }); }
|
|
360
339
|
}
|
|
361
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
340
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: DayjsDatetimeAdapter, decorators: [{
|
|
362
341
|
type: Injectable
|
|
363
342
|
}], ctorParameters: () => [] });
|
|
364
343
|
|
|
@@ -383,7 +362,6 @@ const CMAT_DAYJS_DATETIME_FORMATS = {
|
|
|
383
362
|
}
|
|
384
363
|
};
|
|
385
364
|
|
|
386
|
-
/** InjectionToken for Dayjs date adapter to configure options. */
|
|
387
365
|
const CMAT_DAYJS_DATE_ADAPTER_OPTIONS = new InjectionToken('CMAT_DAYJS_DATE_ADAPTER_OPTIONS', {
|
|
388
366
|
providedIn: 'root',
|
|
389
367
|
factory: CMAT_DAYJS_DATE_ADAPTER_OPTIONS_FACTORY
|
|
@@ -401,7 +379,6 @@ function range(length, valueFunction) {
|
|
|
401
379
|
}
|
|
402
380
|
return valuesArray;
|
|
403
381
|
}
|
|
404
|
-
/** Adapts Dayjs Dates for use with Angular Material. */
|
|
405
382
|
class DayjsDateAdapter extends DateAdapter {
|
|
406
383
|
constructor() {
|
|
407
384
|
super();
|
|
@@ -499,26 +476,12 @@ class DayjsDateAdapter extends DateAdapter {
|
|
|
499
476
|
toIso8601(date) {
|
|
500
477
|
return date.toISOString();
|
|
501
478
|
}
|
|
502
|
-
/**
|
|
503
|
-
* Attempts to deserialize a value to a valid date object. This is different from parsing in that
|
|
504
|
-
* deserialize should only accept non-ambiguous, locale-independent formats (e.g. a ISO 8601
|
|
505
|
-
* string). The default implementation does not allow any deserialization, it simply checks that
|
|
506
|
-
* the given value is already a valid date object or null. The `<mat-datepicker>` will call this
|
|
507
|
-
* method on all of it's `@Input()` properties that accept dates. It is therefore possible to
|
|
508
|
-
* support passing values from your backend directly to these properties by overriding this method
|
|
509
|
-
* to also deserialize the format used by your backend.
|
|
510
|
-
*
|
|
511
|
-
* @param value The value to be deserialized into a date object.
|
|
512
|
-
* @returns The deserialized date object, either a valid date, null if the value can be
|
|
513
|
-
* deserialized into a null date (e.g. the empty string), or an invalid date.
|
|
514
|
-
*/
|
|
515
479
|
deserialize(value) {
|
|
516
480
|
let date;
|
|
517
481
|
if (value instanceof Date) {
|
|
518
482
|
date = this._dayJs(value);
|
|
519
483
|
}
|
|
520
484
|
else if (this.isDateInstance(value)) {
|
|
521
|
-
// NOTE: assumes that cloning also sets the correct locale.
|
|
522
485
|
return this.clone(value);
|
|
523
486
|
}
|
|
524
487
|
if (typeof value === 'string') {
|
|
@@ -556,10 +519,10 @@ class DayjsDateAdapter extends DateAdapter {
|
|
|
556
519
|
dayjs.extend(localeData);
|
|
557
520
|
this.setLocale(dateLocale);
|
|
558
521
|
}
|
|
559
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
560
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
522
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: DayjsDateAdapter, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
523
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: DayjsDateAdapter }); }
|
|
561
524
|
}
|
|
562
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
525
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: DayjsDateAdapter, decorators: [{
|
|
563
526
|
type: Injectable
|
|
564
527
|
}], ctorParameters: () => [] });
|
|
565
528
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cmat-components-adapter.mjs","sources":["../../../projects/cmat/components/adapter/datetime-adapter.ts","../../../projects/cmat/components/adapter/datetime-formats.ts","../../../projects/cmat/components/adapter/native-datetime-adapter.ts","../../../projects/cmat/components/adapter/native-datetime-formats.ts","../../../projects/cmat/components/adapter/dayjs-datetime-adapter.ts","../../../projects/cmat/components/adapter/dayjs-datetime-formats.ts","../../../projects/cmat/components/adapter/dayjs-date-adapter.ts","../../../projects/cmat/components/adapter/dayjs-date-formats.ts","../../../projects/cmat/components/adapter/cmat-components-adapter.ts"],"sourcesContent":["import { DateAdapter } from '@angular/material/core';\r\n\r\nexport abstract class DatetimeAdapter<D> extends DateAdapter<D> {\r\n\r\n constructor(protected _delegate: DateAdapter<D>) {\r\n super();\r\n }\r\n\r\n override getValidDateOrNull(obj: any): D | null {\r\n return this.isDateInstance(obj) && this.isValid(obj) ? obj : null;\r\n }\r\n\r\n compareDatetime(first: D, second: D, respectMinutePart: boolean = true): number | boolean {\r\n return this.compareDate(first, second) ||\r\n this.getHour(first) - this.getHour(second) ||\r\n (respectMinutePart && this.getMinute(first) - this.getMinute(second));\r\n }\r\n\r\n sameDatetime(first: D | null, second: D | null): boolean {\r\n if (first && second) {\r\n const firstValid = this.isValid(first);\r\n const secondValid = this.isValid(second);\r\n if (firstValid && secondValid) {\r\n return !this.compareDatetime(first, second);\r\n }\r\n return firstValid === secondValid;\r\n }\r\n return first === second;\r\n }\r\n\r\n sameYear(first: D, second: D): boolean {\r\n return first && second && this.getYear(first) === this.getYear(second);\r\n }\r\n\r\n sameDay(first: D, second: D): boolean {\r\n return first && second && this.getDate(first) === this.getDate(second) && this.sameMonthAndYear(first, second);\r\n }\r\n\r\n sameHour(first: D, second: D): boolean {\r\n return first && second && this.getHour(first) === this.getHour(second) && this.sameDay(first, second);\r\n }\r\n\r\n sameMinute(first: D, second: D): boolean {\r\n return first && second && this.getMinute(first) === this.getMinute(second) && this.sameHour(first, second);\r\n }\r\n\r\n sameMonthAndYear(first: D | null, second: D | null): boolean {\r\n if (first && second) {\r\n const firstValid = this.isValid(first);\r\n const secondValid = this.isValid(second);\r\n if (firstValid && secondValid) {\r\n return !(this.getYear(first) - this.getYear(second) ||\r\n this.getMonth(first) - this.getMonth(second));\r\n }\r\n return firstValid === secondValid;\r\n }\r\n return first === second;\r\n }\r\n\r\n // delegate\r\n clone(date: D): D {\r\n return this._delegate.clone(date);\r\n }\r\n\r\n addCalendarYears(date: D, years: number): D {\r\n return this._delegate.addCalendarYears(date, years);\r\n }\r\n\r\n addCalendarMonths(date: D, months: number): D {\r\n return this._delegate.addCalendarMonths(date, months);\r\n }\r\n\r\n addCalendarDays(date: D, days: number): D {\r\n return this._delegate.addCalendarDays(date, days);\r\n }\r\n\r\n getYear(date: D): number {\r\n return this._delegate.getYear(date);\r\n }\r\n\r\n getMonth(date: D): number {\r\n return this._delegate.getMonth(date);\r\n }\r\n\r\n getDate(date: D): number {\r\n return this._delegate.getDate(date);\r\n }\r\n\r\n getDayOfWeek(date: D): number {\r\n return this._delegate.getDayOfWeek(date);\r\n }\r\n\r\n getMonthNames(style: any): string[] {\r\n return this._delegate.getMonthNames(style);\r\n }\r\n\r\n getDateNames(): string[] {\r\n return this._delegate.getDateNames();\r\n }\r\n\r\n getDayOfWeekNames(style: 'long' | 'short' | 'narrow'): string[] {\r\n return this._delegate.getDayOfWeekNames(style);\r\n }\r\n\r\n getYearName(date: D): string {\r\n return this._delegate.getYearName(date);\r\n }\r\n\r\n getFirstDayOfWeek(): number {\r\n return this._delegate.getFirstDayOfWeek();\r\n }\r\n\r\n getNumDaysInMonth(date: D): number {\r\n return this._delegate.getNumDaysInMonth(date);\r\n }\r\n\r\n createDate(year: number, month: number, date: number): D {\r\n return this._delegate.createDate(year, month, date);\r\n }\r\n\r\n today(): D {\r\n return this._delegate.today();\r\n }\r\n\r\n parse(value: any, parseFormat: any): D | null {\r\n return this._delegate.parse(value, parseFormat);\r\n }\r\n\r\n format(date: D, displayFormat: any): string {\r\n return this._delegate.format(date, displayFormat);\r\n }\r\n\r\n toIso8601(date: D): string {\r\n return this._delegate.toIso8601(date);\r\n }\r\n\r\n isDateInstance(obj: any): boolean {\r\n return this._delegate.isDateInstance(obj);\r\n }\r\n\r\n isValid(date: D): boolean {\r\n return this._delegate.isValid(date);\r\n }\r\n\r\n invalid(): D {\r\n return this._delegate.invalid();\r\n }\r\n\r\n override clampDate(date: D, min?: D | null, max?: D | null): D {\r\n if (min && (this.compareDatetime(date, min) as number) < 0) {\r\n return min;\r\n }\r\n if (max && (this.compareDatetime(date, max) as number) > 0) {\r\n return max;\r\n }\r\n return date;\r\n }\r\n\r\n abstract getHour(date: D): number;\r\n\r\n abstract getMinute(date: D): number;\r\n\r\n abstract getFirstDateOfMonth(date: D): D;\r\n\r\n\r\n abstract isInNextMonth(startDate: D, endDate: D): boolean;\r\n\r\n abstract getHourNames(): string[];\r\n\r\n abstract getMinuteNames(): string[];\r\n\r\n abstract addCalendarHours(date: D, months: number): D;\r\n\r\n abstract addCalendarMinutes(date: D, months: number): D;\r\n\r\n abstract createDatetime(year: number, month: number, date: number, hour: number, minute: number): D;\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport interface CmatDatetimeFormats {\r\n parse: {\r\n dateInput?: any;\r\n monthInput?: any;\r\n timeInput?: any;\r\n datetimeInput?: any;\r\n yearInput?: any;\r\n };\r\n display: {\r\n dateInput: any;\r\n monthInput: any;\r\n timeInput: any;\r\n datetimeInput: any;\r\n yearInput: any;\r\n monthYearLabel: any;\r\n dateA11yLabel: any;\r\n monthYearA11yLabel: any;\r\n popupHeaderDateLabel: any;\r\n };\r\n}\r\n\r\nexport const CMAT_DATETIME_FORMATS = new InjectionToken<CmatDatetimeFormats>('cmat-datetime-formats');\r\n","import { Injectable, inject } from '@angular/core';\r\nimport { DateAdapter, MAT_DATE_LOCALE } from '@angular/material/core';\r\nimport { DatetimeAdapter } from './datetime-adapter';\r\n\r\n/** The default hour names to use if Intl API is not available. */\r\nconst DEFAULT_HOUR_NAMES = range(24, i => String(i));\r\n\r\n/** The default minute names to use if Intl API is not available. */\r\nconst DEFAULT_MINUTE_NAMES = range(60, i => String(i));\r\n\r\nfunction range<T>(length: number, valueFunction: (index: number) => T): T[] {\r\n const valuesArray = Array(length);\r\n for (let i = 0; i < length; i++) {\r\n valuesArray[i] = valueFunction(i);\r\n }\r\n return valuesArray;\r\n}\r\n\r\n@Injectable()\r\nexport class CNativeDatetimeAdapter extends DatetimeAdapter<Date> {\r\n\r\n constructor() {\r\n const matDateLocale = inject(MAT_DATE_LOCALE, { optional: true })!;\r\n const _delegate = inject<DateAdapter<Date>>(DateAdapter);\r\n\r\n super(_delegate);\r\n this.setLocale(matDateLocale);\r\n }\r\n\r\n override clone(date: Date): Date {\r\n return this.createDatetime(this.getYear(date), this.getMonth(date), this.getDate(date), this.getHour(date), this.getMinute(date));\r\n }\r\n\r\n getHour(date: Date): number {\r\n return date.getHours();\r\n }\r\n\r\n getMinute(date: Date): number {\r\n return date.getMinutes();\r\n }\r\n\r\n isInNextMonth(startDate: Date, endDate: Date): boolean {\r\n const nextMonth = this._getDateInNextMonth(startDate);\r\n return this.sameMonthAndYear(nextMonth, endDate);\r\n }\r\n\r\n createDatetime(year: number, month: number, date: number, hour: number, minute: number): Date {\r\n // Check for invalid month and date (except upper bound on date which we have to check after\r\n // creating the Date).\r\n if (month < 0 || month > 11) {\r\n throw Error(`Invalid month index \"${month}\". Month index has to be between 0 and 11.`);\r\n }\r\n\r\n if (date < 1) {\r\n throw Error(`Invalid date \"${date}\". Date has to be greater than 0.`);\r\n }\r\n\r\n if (hour < 0 || hour > 23) {\r\n throw Error(`Invalid hour \"${hour}\". Hour has to be between 0 and 23.`);\r\n }\r\n\r\n if (minute < 0 || minute > 59) {\r\n throw Error(`Invalid minute \"${minute}\". Minute has to be between 0 and 59.`);\r\n }\r\n\r\n const result = this._createDateWithOverflow(year, month, date, hour, minute);\r\n\r\n // Check that the date wasn't above the upper bound for the month, causing the month to overflow\r\n if (result.getMonth() !== month) {\r\n throw Error(`Invalid date \"${date}\" for month with index \"${month}\".`);\r\n }\r\n\r\n return result;\r\n }\r\n\r\n getFirstDateOfMonth(date: Date): Date {\r\n const result = new Date();\r\n result.setFullYear(date.getFullYear(), date.getMonth(), 1);\r\n return result;\r\n }\r\n\r\n getHourNames(): string[] {\r\n return DEFAULT_HOUR_NAMES;\r\n }\r\n\r\n getMinuteNames(): string[] {\r\n return DEFAULT_MINUTE_NAMES;\r\n }\r\n\r\n override addCalendarYears(date: Date, years: number): Date {\r\n return this.addCalendarMonths(date, years * 12);\r\n }\r\n\r\n override addCalendarMonths(date: Date, months: number): Date {\r\n let newDate = this._createDateWithOverflow(\r\n this.getYear(date), this.getMonth(date) + months, this.getDate(date), this.getHour(date), this.getMinute(date));\r\n\r\n // It's possible to wind up in the wrong month if the original month has more days than the new\r\n // month. In this case we want to go to the last day of the desired month.\r\n // Note: the additional + 12 % 12 ensures we end up with a positive number, since JS % doesn't\r\n // guarantee this.\r\n if (this.getMonth(newDate) !== ((this.getMonth(date) + months) % 12 + 12) % 12) {\r\n newDate = this._createDateWithOverflow(this.getYear(newDate), this.getMonth(newDate), 0, this.getHour(date), this.getMinute(date));\r\n }\r\n\r\n return newDate;\r\n }\r\n\r\n override addCalendarDays(date: Date, days: number): Date {\r\n return this._createDateWithOverflow(\r\n this.getYear(date), this.getMonth(date), this.getDate(date) + days, this.getHour(date), this.getMinute(date));\r\n }\r\n\r\n addCalendarHours(date: Date, hours: number): Date {\r\n return this._createDateWithOverflow(\r\n this.getYear(date), this.getMonth(date), this.getDate(date),\r\n this.getHour(date) + hours, this.getMinute(date));\r\n }\r\n\r\n addCalendarMinutes(date: Date, minutes: number): Date {\r\n return this._createDateWithOverflow(\r\n this.getYear(date), this.getMonth(date), this.getDate(date),\r\n this.getHour(date), this.getMinute(date) + minutes);\r\n }\r\n\r\n override toIso8601(date: Date): string {\r\n return super.toIso8601(date) + 'T' + [\r\n this._2digit(date.getUTCHours()),\r\n this._2digit(date.getUTCMinutes())\r\n ].join(':');\r\n }\r\n\r\n private _getDateInNextMonth(date: Date): Date {\r\n return new Date(date.getFullYear(), date.getMonth() + 1, 1,\r\n date.getHours(), date.getMinutes());\r\n }\r\n\r\n\r\n /**\r\n * Pads a number to make it two digits.\r\n *\r\n * @param n The number to pad.\r\n * @returns The padded number.\r\n */\r\n private _2digit(n: number): string {\r\n return ('00' + n).slice(-2);\r\n }\r\n\r\n /* Creates a date but allows the month and date to overflow. */\r\n private _createDateWithOverflow(year: number, month: number, date: number,\r\n hours: number, minutes: number): Date {\r\n const result = new Date(year, month, date, hours, minutes);\r\n\r\n // We need to correct for the fact that JS native Date treats years in range [0, 99] as\r\n // abbreviations for 19xx.\r\n if (year >= 0 && year < 100) {\r\n result.setFullYear(this.getYear(result) - 1900);\r\n }\r\n return result;\r\n }\r\n}\r\n","import { CmatDatetimeFormats } from './datetime-formats';\r\n\r\nexport const CMAT_NATIVE_DATETIME_FORMATS: CmatDatetimeFormats = {\r\n parse: {},\r\n display: {\r\n dateInput: { year: 'numeric', month: '2-digit', day: '2-digit' },\r\n monthInput: { month: 'long' },\r\n datetimeInput: { year: 'numeric', month: '2-digit', day: '2-digit', hour: '2-digit', minute: '2-digit' },\r\n timeInput: { hour: '2-digit', minute: '2-digit' },\r\n yearInput: { year: 'numeric' },\r\n monthYearLabel: { year: 'numeric', month: 'short' },\r\n dateA11yLabel: { year: 'numeric', month: 'long', day: 'numeric' },\r\n monthYearA11yLabel: { year: 'numeric', month: 'long' },\r\n popupHeaderDateLabel: { weekday: 'short', month: 'short', day: '2-digit' }\r\n }\r\n};\r\n","import { Injectable, inject } from '@angular/core';\r\nimport { DateAdapter, MAT_DATE_LOCALE } from '@angular/material/core';\r\nimport dayjs, { Dayjs } from 'dayjs';\r\nimport localeData from 'dayjs/plugin/localeData';\r\nimport { DatetimeAdapter } from './datetime-adapter';\r\n\r\nfunction range<T>(length: number, valueFunction: (index: number) => T): T[] {\r\n const valuesArray = Array(length);\r\n for (let i = 0; i < length; i++) {\r\n valuesArray[i] = valueFunction(i);\r\n }\r\n return valuesArray;\r\n}\r\n\r\n@Injectable()\r\nexport class DayjsDatetimeAdapter extends DatetimeAdapter<Dayjs> {\r\n\r\n private _localeData: {\r\n firstDayOfWeek: number;\r\n longMonths: string[];\r\n shortMonths: string[];\r\n dates: string[];\r\n hours: string[];\r\n minutes: string[];\r\n longDaysOfWeek: string[];\r\n shortDaysOfWeek: string[];\r\n narrowDaysOfWeek: string[];\r\n };\r\n\r\n constructor() {\r\n const matDateLocale = inject(MAT_DATE_LOCALE, { optional: true })!;\r\n const _delegate = inject<DateAdapter<Dayjs>>(DateAdapter);\r\n\r\n super(_delegate);\r\n this.setLocale(matDateLocale || dayjs.locale());\r\n dayjs.extend(localeData);\r\n }\r\n\r\n override setLocale(locale: any): void {\r\n super.setLocale(locale);\r\n\r\n const dayjsLocaleData = dayjs.localeData();\r\n this._localeData = {\r\n firstDayOfWeek: dayjsLocaleData.firstDayOfWeek(),\r\n longMonths: dayjsLocaleData.months(),\r\n shortMonths: dayjsLocaleData.monthsShort(),\r\n dates: range(31, i => super.createDate(2017, 0, i + 1).format('D')),\r\n hours: range(24, i => this.createDatetime(2017, 0, 1, i, 0).format('H')),\r\n minutes: range(60, i => this.createDatetime(2017, 0, 1, 1, i).format('m')),\r\n longDaysOfWeek: dayjsLocaleData.weekdays(),\r\n shortDaysOfWeek: dayjsLocaleData.weekdaysShort(),\r\n narrowDaysOfWeek: dayjsLocaleData.weekdaysMin()\r\n };\r\n }\r\n\r\n getHour(date: Dayjs): number {\r\n return super.clone(date).hour();\r\n }\r\n\r\n getMinute(date: Dayjs): number {\r\n return super.clone(date).minute();\r\n }\r\n\r\n isInNextMonth(startDate: Dayjs, endDate: Dayjs): boolean {\r\n const nextMonth = this._getDateInNextMonth(startDate);\r\n return super.sameMonthAndYear(nextMonth, endDate);\r\n }\r\n\r\n createDatetime(year: number, month: number, date: number, hour: number, minute: number): Dayjs {\r\n // Check for invalid month and date (except upper bound on date which we have to check after\r\n // creating the Date).\r\n if (month < 0 || month > 11) {\r\n throw Error(`Invalid month index \"${month}\". Month index has to be between 0 and 11.`);\r\n }\r\n\r\n if (date < 1) {\r\n throw Error(`Invalid date \"${date}\". Date has to be greater than 0.`);\r\n }\r\n\r\n if (hour < 0 || hour > 23) {\r\n throw Error(`Invalid hour \"${hour}\". Hour has to be between 0 and 23.`);\r\n }\r\n\r\n if (minute < 0 || minute > 59) {\r\n throw Error(`Invalid minute \"${minute}\". Minute has to be between 0 and 59.`);\r\n }\r\n\r\n const result = dayjs(new Date(year, month, date, hour, minute));\r\n\r\n // If the result isn't valid, the date must have been out of bounds for this month.\r\n if (!result.isValid()) {\r\n throw Error(`Invalid date \"${date}\" for month with index \"${month}\".`);\r\n }\r\n\r\n return result;\r\n }\r\n\r\n getFirstDateOfMonth(date: Dayjs): Dayjs {\r\n return super.clone(date).startOf('month');\r\n }\r\n\r\n getHourNames(): string[] {\r\n return this._localeData.hours;\r\n }\r\n\r\n getMinuteNames(): string[] {\r\n return this._localeData.minutes;\r\n }\r\n\r\n addCalendarHours(date: Dayjs, hours: number): Dayjs {\r\n return super.clone(date).add(hours, 'hour');\r\n }\r\n\r\n addCalendarMinutes(date: Dayjs, minutes: number): Dayjs {\r\n return super.clone(date).add(minutes, 'minute');\r\n }\r\n\r\n override deserialize(value: any): Dayjs | null {\r\n return this._delegate.deserialize(value);\r\n }\r\n\r\n private _getDateInNextMonth(date: Dayjs): Dayjs {\r\n return super.clone(date).date(1).add(1, 'month');\r\n }\r\n}\r\n","import { CmatDatetimeFormats } from './datetime-formats';\r\n\r\nexport const CMAT_DAYJS_DATETIME_FORMATS: CmatDatetimeFormats = {\r\n parse: {\r\n dateInput: 'L',\r\n monthInput: 'MMMM',\r\n timeInput: 'LT',\r\n datetimeInput: 'L LT',\r\n yearInput: 'YYYY'\r\n },\r\n display: {\r\n dateInput: 'L',\r\n monthInput: 'MMMM',\r\n datetimeInput: 'L LT',\r\n timeInput: 'LT',\r\n yearInput: 'YYYY',\r\n monthYearLabel: 'MMM YYYY',\r\n dateA11yLabel: 'LL',\r\n monthYearA11yLabel: 'MMMM YYYY',\r\n popupHeaderDateLabel: 'MMM DD, ddd'\r\n }\r\n};\r\n","import { Injectable, InjectionToken, inject } from '@angular/core';\r\nimport { DateAdapter, MAT_DATE_LOCALE } from '@angular/material/core';\r\nimport dayjs, { Dayjs } from 'dayjs';\r\nimport customParseFormat from 'dayjs/plugin/customParseFormat';\r\nimport localeData from 'dayjs/plugin/localeData';\r\nimport LocalizedFormat from 'dayjs/plugin/localizedFormat';\r\nimport utc from 'dayjs/plugin/utc';\r\n\r\n\r\nexport interface DayJsDateAdapterOptions {\r\n /**\r\n * Turns the use of utc dates on or off.\r\n * Changing this will change how Angular Material components like DatePicker output dates.\r\n * {@default false}\r\n */\r\n useUtc?: boolean;\r\n}\r\n\r\n/** InjectionToken for Dayjs date adapter to configure options. */\r\nexport const CMAT_DAYJS_DATE_ADAPTER_OPTIONS = new InjectionToken<DayJsDateAdapterOptions>(\r\n 'CMAT_DAYJS_DATE_ADAPTER_OPTIONS', {\r\n providedIn: 'root',\r\n factory: CMAT_DAYJS_DATE_ADAPTER_OPTIONS_FACTORY\r\n});\r\n\r\n// eslint-disable-next-line @typescript-eslint/naming-convention\r\nexport function CMAT_DAYJS_DATE_ADAPTER_OPTIONS_FACTORY(): DayJsDateAdapterOptions {\r\n return {\r\n useUtc: false\r\n };\r\n}\r\n\r\nfunction range<T>(length: number, valueFunction: (index: number) => T): T[] {\r\n const valuesArray = Array(length);\r\n for (let i = 0; i < length; i++) {\r\n valuesArray[i] = valueFunction(i);\r\n }\r\n return valuesArray;\r\n}\r\n\r\n@Injectable()\r\n/** Adapts Dayjs Dates for use with Angular Material. */\r\nexport class DayjsDateAdapter extends DateAdapter<Dayjs> {\r\n private _options = inject<DayJsDateAdapterOptions>(CMAT_DAYJS_DATE_ADAPTER_OPTIONS, { optional: true });\r\n\r\n private _localeData: {\r\n firstDayOfWeek: number;\r\n longMonths: string[];\r\n shortMonths: string[];\r\n dates: string[];\r\n longDaysOfWeek: string[];\r\n shortDaysOfWeek: string[];\r\n narrowDaysOfWeek: string[];\r\n };\r\n\r\n \r\n\r\n constructor() {\r\n super();\r\n const dateLocale = inject(MAT_DATE_LOCALE, {optional: true});\r\n\r\n this._initializeParser(dateLocale);\r\n }\r\n private get _shouldUseUtc(): boolean {\r\n const { useUtc }: DayJsDateAdapterOptions = this._options ?? {};\r\n return !!useUtc;\r\n }\r\n\r\n override setLocale(locale: string): void {\r\n super.setLocale(locale);\r\n\r\n const dayJsLocaleData = this._dayJs().localeData();\r\n this._localeData = {\r\n firstDayOfWeek: dayJsLocaleData.firstDayOfWeek(),\r\n longMonths: dayJsLocaleData.months(),\r\n shortMonths: dayJsLocaleData.monthsShort(),\r\n dates: range(31, i => this.createDate(2017, 0, i + 1).format('D')),\r\n longDaysOfWeek: range(7, i => this._dayJs().set('day', i).format('dddd')),\r\n shortDaysOfWeek: dayJsLocaleData.weekdaysShort(),\r\n narrowDaysOfWeek: dayJsLocaleData.weekdaysMin(),\r\n };\r\n }\r\n\r\n getYear(date: Dayjs): number {\r\n return this._dayJs(date).year();\r\n }\r\n\r\n getMonth(date: Dayjs): number {\r\n return this._dayJs(date).month();\r\n }\r\n\r\n getDate(date: Dayjs): number {\r\n return this._dayJs(date).date();\r\n }\r\n\r\n getDayOfWeek(date: Dayjs): number {\r\n return this._dayJs(date).day();\r\n }\r\n\r\n getMonthNames(style: 'long' | 'short' | 'narrow'): string[] {\r\n return style === 'long' ? this._localeData.longMonths : this._localeData.shortMonths;\r\n }\r\n\r\n getDateNames(): string[] {\r\n return this._localeData.dates;\r\n }\r\n\r\n getDayOfWeekNames(style: 'long' | 'short' | 'narrow'): string[] {\r\n if (style === 'long') {\r\n return this._localeData.longDaysOfWeek;\r\n }\r\n if (style === 'short') {\r\n return this._localeData.shortDaysOfWeek;\r\n }\r\n return this._localeData.narrowDaysOfWeek;\r\n }\r\n\r\n getYearName(date: Dayjs): string {\r\n return this._dayJs(date).format('YYYY');\r\n }\r\n\r\n getFirstDayOfWeek(): number {\r\n return this._localeData.firstDayOfWeek;\r\n }\r\n\r\n getNumDaysInMonth(date: Dayjs): number {\r\n return this._dayJs(date).daysInMonth();\r\n }\r\n\r\n clone(date: Dayjs): Dayjs {\r\n return date.clone();\r\n }\r\n\r\n createDate(year: number, month: number, date: number): Dayjs {\r\n const returnDayjs = this._dayJs()\r\n .set('year', year)\r\n .set('month', month)\r\n .set('date', date);\r\n return returnDayjs;\r\n }\r\n\r\n today(): Dayjs {\r\n return this._dayJs();\r\n }\r\n\r\n parse(value: any, parseFormat: string): Dayjs | null {\r\n if (value && typeof value === 'string') {\r\n return this._dayJs(value, parseFormat, this.locale);\r\n }\r\n return value ? this._dayJs(value).locale(this.locale) : null;\r\n }\r\n\r\n format(date: Dayjs, displayFormat: string): string {\r\n if (!this.isValid(date)) {\r\n throw Error('DayjsDateAdapter: Cannot format invalid date.');\r\n }\r\n return date.locale(this.locale).format(displayFormat);\r\n }\r\n\r\n addCalendarYears(date: Dayjs, years: number): Dayjs {\r\n return date.add(years, 'year');\r\n }\r\n\r\n addCalendarMonths(date: Dayjs, months: number): Dayjs {\r\n return date.add(months, 'month');\r\n }\r\n\r\n addCalendarDays(date: Dayjs, days: number): Dayjs {\r\n return date.add(days, 'day');\r\n }\r\n\r\n toIso8601(date: Dayjs): string {\r\n return date.toISOString();\r\n }\r\n\r\n /**\r\n * Attempts to deserialize a value to a valid date object. This is different from parsing in that\r\n * deserialize should only accept non-ambiguous, locale-independent formats (e.g. a ISO 8601\r\n * string). The default implementation does not allow any deserialization, it simply checks that\r\n * the given value is already a valid date object or null. The `<mat-datepicker>` will call this\r\n * method on all of it's `@Input()` properties that accept dates. It is therefore possible to\r\n * support passing values from your backend directly to these properties by overriding this method\r\n * to also deserialize the format used by your backend.\r\n *\r\n * @param value The value to be deserialized into a date object.\r\n * @returns The deserialized date object, either a valid date, null if the value can be\r\n * deserialized into a null date (e.g. the empty string), or an invalid date.\r\n */\r\n override deserialize(value: any): Dayjs | null {\r\n let date: any;\r\n if (value instanceof Date) {\r\n date = this._dayJs(value);\r\n } else if (this.isDateInstance(value)) {\r\n // NOTE: assumes that cloning also sets the correct locale.\r\n return this.clone(value);\r\n }\r\n if (typeof value === 'string') {\r\n if (!value) {\r\n return null;\r\n }\r\n date = this._dayJs(value).toISOString();\r\n }\r\n if (date && this.isValid(date)) {\r\n return this._dayJs(date); // NOTE: Is this necessary since Dayjs is immutable and Moment was not?\r\n }\r\n return super.deserialize(value);\r\n }\r\n\r\n isDateInstance(obj: any): boolean {\r\n return dayjs.isDayjs(obj);\r\n }\r\n\r\n isValid(date: Dayjs): boolean {\r\n return this._dayJs(date).isValid();\r\n }\r\n\r\n invalid(): Dayjs {\r\n return this._dayJs(null);\r\n }\r\n\r\n private _dayJs(input?: any, format?: string, locale?: string): Dayjs {\r\n if (!this._shouldUseUtc) {\r\n return dayjs(input, { format, locale }, locale);\r\n }\r\n return dayjs(input, { format, locale, utc: this._shouldUseUtc }, locale).utc();\r\n }\r\n\r\n private _initializeParser(dateLocale: any): void {\r\n if (this._shouldUseUtc) {\r\n dayjs.extend(utc);\r\n }\r\n\r\n dayjs.extend(LocalizedFormat);\r\n dayjs.extend(customParseFormat);\r\n dayjs.extend(localeData);\r\n\r\n this.setLocale(dateLocale);\r\n }\r\n}\r\n","import { MatDateFormats } from '@angular/material/core';\r\n\r\nexport const CMAT_DAYJS_DATE_FORMATS: MatDateFormats = {\r\n parse: {\r\n dateInput: 'YYYY/MM/DD',\r\n },\r\n display: {\r\n dateInput: 'YYYY/MM/DD',\r\n monthYearLabel: 'YYYY MMM',\r\n dateA11yLabel: 'LL',\r\n monthYearA11yLabel: 'YYYY MMMM',\r\n }\r\n};\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["range"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cmat-components-adapter.mjs","sources":["../../../projects/cmat/components/adapter/datetime-adapter.ts","../../../projects/cmat/components/adapter/datetime-formats.ts","../../../projects/cmat/components/adapter/native-datetime-adapter.ts","../../../projects/cmat/components/adapter/native-datetime-formats.ts","../../../projects/cmat/components/adapter/dayjs-datetime-adapter.ts","../../../projects/cmat/components/adapter/dayjs-datetime-formats.ts","../../../projects/cmat/components/adapter/dayjs-date-adapter.ts","../../../projects/cmat/components/adapter/dayjs-date-formats.ts","../../../projects/cmat/components/adapter/cmat-components-adapter.ts"],"sourcesContent":["import { DateAdapter } from '@angular/material/core';\r\n\r\nexport abstract class DatetimeAdapter<D> extends DateAdapter<D> {\r\n\r\n constructor(protected _delegate: DateAdapter<D>) {\r\n super();\r\n }\r\n\r\n override getValidDateOrNull(obj: any): D | null {\r\n return this.isDateInstance(obj) && this.isValid(obj) ? obj : null;\r\n }\r\n\r\n compareDatetime(first: D, second: D, respectMinutePart: boolean = true): number | boolean {\r\n return this.compareDate(first, second) ||\r\n this.getHour(first) - this.getHour(second) ||\r\n (respectMinutePart && this.getMinute(first) - this.getMinute(second));\r\n }\r\n\r\n sameDatetime(first: D | null, second: D | null): boolean {\r\n if (first && second) {\r\n const firstValid = this.isValid(first);\r\n const secondValid = this.isValid(second);\r\n if (firstValid && secondValid) {\r\n return !this.compareDatetime(first, second);\r\n }\r\n return firstValid === secondValid;\r\n }\r\n return first === second;\r\n }\r\n\r\n sameYear(first: D, second: D): boolean {\r\n return first && second && this.getYear(first) === this.getYear(second);\r\n }\r\n\r\n sameDay(first: D, second: D): boolean {\r\n return first && second && this.getDate(first) === this.getDate(second) && this.sameMonthAndYear(first, second);\r\n }\r\n\r\n sameHour(first: D, second: D): boolean {\r\n return first && second && this.getHour(first) === this.getHour(second) && this.sameDay(first, second);\r\n }\r\n\r\n sameMinute(first: D, second: D): boolean {\r\n return first && second && this.getMinute(first) === this.getMinute(second) && this.sameHour(first, second);\r\n }\r\n\r\n sameMonthAndYear(first: D | null, second: D | null): boolean {\r\n if (first && second) {\r\n const firstValid = this.isValid(first);\r\n const secondValid = this.isValid(second);\r\n if (firstValid && secondValid) {\r\n return !(this.getYear(first) - this.getYear(second) ||\r\n this.getMonth(first) - this.getMonth(second));\r\n }\r\n return firstValid === secondValid;\r\n }\r\n return first === second;\r\n }\r\n clone(date: D): D {\r\n return this._delegate.clone(date);\r\n }\r\n\r\n addCalendarYears(date: D, years: number): D {\r\n return this._delegate.addCalendarYears(date, years);\r\n }\r\n\r\n addCalendarMonths(date: D, months: number): D {\r\n return this._delegate.addCalendarMonths(date, months);\r\n }\r\n\r\n addCalendarDays(date: D, days: number): D {\r\n return this._delegate.addCalendarDays(date, days);\r\n }\r\n\r\n getYear(date: D): number {\r\n return this._delegate.getYear(date);\r\n }\r\n\r\n getMonth(date: D): number {\r\n return this._delegate.getMonth(date);\r\n }\r\n\r\n getDate(date: D): number {\r\n return this._delegate.getDate(date);\r\n }\r\n\r\n getDayOfWeek(date: D): number {\r\n return this._delegate.getDayOfWeek(date);\r\n }\r\n\r\n getMonthNames(style: any): string[] {\r\n return this._delegate.getMonthNames(style);\r\n }\r\n\r\n getDateNames(): string[] {\r\n return this._delegate.getDateNames();\r\n }\r\n\r\n getDayOfWeekNames(style: 'long' | 'short' | 'narrow'): string[] {\r\n return this._delegate.getDayOfWeekNames(style);\r\n }\r\n\r\n getYearName(date: D): string {\r\n return this._delegate.getYearName(date);\r\n }\r\n\r\n getFirstDayOfWeek(): number {\r\n return this._delegate.getFirstDayOfWeek();\r\n }\r\n\r\n getNumDaysInMonth(date: D): number {\r\n return this._delegate.getNumDaysInMonth(date);\r\n }\r\n\r\n createDate(year: number, month: number, date: number): D {\r\n return this._delegate.createDate(year, month, date);\r\n }\r\n\r\n today(): D {\r\n return this._delegate.today();\r\n }\r\n\r\n parse(value: any, parseFormat: any): D | null {\r\n return this._delegate.parse(value, parseFormat);\r\n }\r\n\r\n format(date: D, displayFormat: any): string {\r\n return this._delegate.format(date, displayFormat);\r\n }\r\n\r\n toIso8601(date: D): string {\r\n return this._delegate.toIso8601(date);\r\n }\r\n\r\n isDateInstance(obj: any): boolean {\r\n return this._delegate.isDateInstance(obj);\r\n }\r\n\r\n isValid(date: D): boolean {\r\n return this._delegate.isValid(date);\r\n }\r\n\r\n invalid(): D {\r\n return this._delegate.invalid();\r\n }\r\n\r\n override clampDate(date: D, min?: D | null, max?: D | null): D {\r\n if (min && (this.compareDatetime(date, min) as number) < 0) {\r\n return min;\r\n }\r\n if (max && (this.compareDatetime(date, max) as number) > 0) {\r\n return max;\r\n }\r\n return date;\r\n }\r\n\r\n abstract getHour(date: D): number;\r\n\r\n abstract getMinute(date: D): number;\r\n\r\n abstract getFirstDateOfMonth(date: D): D;\r\n\r\n\r\n abstract isInNextMonth(startDate: D, endDate: D): boolean;\r\n\r\n abstract getHourNames(): string[];\r\n\r\n abstract getMinuteNames(): string[];\r\n\r\n abstract addCalendarHours(date: D, months: number): D;\r\n\r\n abstract addCalendarMinutes(date: D, months: number): D;\r\n\r\n abstract createDatetime(year: number, month: number, date: number, hour: number, minute: number): D;\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport interface CmatDatetimeFormats {\r\n parse: {\r\n dateInput?: any;\r\n monthInput?: any;\r\n timeInput?: any;\r\n datetimeInput?: any;\r\n yearInput?: any;\r\n };\r\n display: {\r\n dateInput: any;\r\n monthInput: any;\r\n timeInput: any;\r\n datetimeInput: any;\r\n yearInput: any;\r\n monthYearLabel: any;\r\n dateA11yLabel: any;\r\n monthYearA11yLabel: any;\r\n popupHeaderDateLabel: any;\r\n };\r\n}\r\n\r\nexport const CMAT_DATETIME_FORMATS = new InjectionToken<CmatDatetimeFormats>('cmat-datetime-formats');\r\n","import { Injectable, inject } from '@angular/core';\r\nimport { DateAdapter, MAT_DATE_LOCALE } from '@angular/material/core';\r\nimport { DatetimeAdapter } from './datetime-adapter';\r\n\r\n\r\nconst DEFAULT_HOUR_NAMES = range(24, i => String(i));\r\n\r\n\r\nconst DEFAULT_MINUTE_NAMES = range(60, i => String(i));\r\n\r\nfunction range<T>(length: number, valueFunction: (index: number) => T): T[] {\r\n const valuesArray = Array(length);\r\n for (let i = 0; i < length; i++) {\r\n valuesArray[i] = valueFunction(i);\r\n }\r\n return valuesArray;\r\n}\r\n\r\n@Injectable()\r\nexport class CNativeDatetimeAdapter extends DatetimeAdapter<Date> {\r\n\r\n constructor() {\r\n const matDateLocale = inject(MAT_DATE_LOCALE, { optional: true })!;\r\n const _delegate = inject<DateAdapter<Date>>(DateAdapter);\r\n\r\n super(_delegate);\r\n this.setLocale(matDateLocale);\r\n }\r\n\r\n override clone(date: Date): Date {\r\n return this.createDatetime(this.getYear(date), this.getMonth(date), this.getDate(date), this.getHour(date), this.getMinute(date));\r\n }\r\n\r\n getHour(date: Date): number {\r\n return date.getHours();\r\n }\r\n\r\n getMinute(date: Date): number {\r\n return date.getMinutes();\r\n }\r\n\r\n isInNextMonth(startDate: Date, endDate: Date): boolean {\r\n const nextMonth = this._getDateInNextMonth(startDate);\r\n return this.sameMonthAndYear(nextMonth, endDate);\r\n }\r\n\r\n createDatetime(year: number, month: number, date: number, hour: number, minute: number): Date {\r\n if (month < 0 || month > 11) {\r\n throw Error(`Invalid month index \"${month}\". Month index has to be between 0 and 11.`);\r\n }\r\n\r\n if (date < 1) {\r\n throw Error(`Invalid date \"${date}\". Date has to be greater than 0.`);\r\n }\r\n\r\n if (hour < 0 || hour > 23) {\r\n throw Error(`Invalid hour \"${hour}\". Hour has to be between 0 and 23.`);\r\n }\r\n\r\n if (minute < 0 || minute > 59) {\r\n throw Error(`Invalid minute \"${minute}\". Minute has to be between 0 and 59.`);\r\n }\r\n\r\n const result = this._createDateWithOverflow(year, month, date, hour, minute);\r\n if (result.getMonth() !== month) {\r\n throw Error(`Invalid date \"${date}\" for month with index \"${month}\".`);\r\n }\r\n\r\n return result;\r\n }\r\n\r\n getFirstDateOfMonth(date: Date): Date {\r\n const result = new Date();\r\n result.setFullYear(date.getFullYear(), date.getMonth(), 1);\r\n return result;\r\n }\r\n\r\n getHourNames(): string[] {\r\n return DEFAULT_HOUR_NAMES;\r\n }\r\n\r\n getMinuteNames(): string[] {\r\n return DEFAULT_MINUTE_NAMES;\r\n }\r\n\r\n override addCalendarYears(date: Date, years: number): Date {\r\n return this.addCalendarMonths(date, years * 12);\r\n }\r\n\r\n override addCalendarMonths(date: Date, months: number): Date {\r\n let newDate = this._createDateWithOverflow(\r\n this.getYear(date), this.getMonth(date) + months, this.getDate(date), this.getHour(date), this.getMinute(date));\r\n if (this.getMonth(newDate) !== ((this.getMonth(date) + months) % 12 + 12) % 12) {\r\n newDate = this._createDateWithOverflow(this.getYear(newDate), this.getMonth(newDate), 0, this.getHour(date), this.getMinute(date));\r\n }\r\n\r\n return newDate;\r\n }\r\n\r\n override addCalendarDays(date: Date, days: number): Date {\r\n return this._createDateWithOverflow(\r\n this.getYear(date), this.getMonth(date), this.getDate(date) + days, this.getHour(date), this.getMinute(date));\r\n }\r\n\r\n addCalendarHours(date: Date, hours: number): Date {\r\n return this._createDateWithOverflow(\r\n this.getYear(date), this.getMonth(date), this.getDate(date),\r\n this.getHour(date) + hours, this.getMinute(date));\r\n }\r\n\r\n addCalendarMinutes(date: Date, minutes: number): Date {\r\n return this._createDateWithOverflow(\r\n this.getYear(date), this.getMonth(date), this.getDate(date),\r\n this.getHour(date), this.getMinute(date) + minutes);\r\n }\r\n\r\n override toIso8601(date: Date): string {\r\n return super.toIso8601(date) + 'T' + [\r\n this._2digit(date.getUTCHours()),\r\n this._2digit(date.getUTCMinutes())\r\n ].join(':');\r\n }\r\n\r\n private _getDateInNextMonth(date: Date): Date {\r\n return new Date(date.getFullYear(), date.getMonth() + 1, 1,\r\n date.getHours(), date.getMinutes());\r\n }\r\n\r\n\r\n \r\n private _2digit(n: number): string {\r\n return ('00' + n).slice(-2);\r\n }\r\n\r\n /* Creates a date but allows the month and date to overflow. */\r\n private _createDateWithOverflow(year: number, month: number, date: number,\r\n hours: number, minutes: number): Date {\r\n const result = new Date(year, month, date, hours, minutes);\r\n if (year >= 0 && year < 100) {\r\n result.setFullYear(this.getYear(result) - 1900);\r\n }\r\n return result;\r\n }\r\n}\r\n","import { CmatDatetimeFormats } from './datetime-formats';\r\n\r\nexport const CMAT_NATIVE_DATETIME_FORMATS: CmatDatetimeFormats = {\r\n parse: {},\r\n display: {\r\n dateInput: { year: 'numeric', month: '2-digit', day: '2-digit' },\r\n monthInput: { month: 'long' },\r\n datetimeInput: { year: 'numeric', month: '2-digit', day: '2-digit', hour: '2-digit', minute: '2-digit' },\r\n timeInput: { hour: '2-digit', minute: '2-digit' },\r\n yearInput: { year: 'numeric' },\r\n monthYearLabel: { year: 'numeric', month: 'short' },\r\n dateA11yLabel: { year: 'numeric', month: 'long', day: 'numeric' },\r\n monthYearA11yLabel: { year: 'numeric', month: 'long' },\r\n popupHeaderDateLabel: { weekday: 'short', month: 'short', day: '2-digit' }\r\n }\r\n};\r\n","import { Injectable, inject } from '@angular/core';\r\nimport { DateAdapter, MAT_DATE_LOCALE } from '@angular/material/core';\r\nimport dayjs, { Dayjs } from 'dayjs';\r\nimport localeData from 'dayjs/plugin/localeData';\r\nimport { DatetimeAdapter } from './datetime-adapter';\r\n\r\nfunction range<T>(length: number, valueFunction: (index: number) => T): T[] {\r\n const valuesArray = Array(length);\r\n for (let i = 0; i < length; i++) {\r\n valuesArray[i] = valueFunction(i);\r\n }\r\n return valuesArray;\r\n}\r\n\r\n@Injectable()\r\nexport class DayjsDatetimeAdapter extends DatetimeAdapter<Dayjs> {\r\n\r\n private _localeData: {\r\n firstDayOfWeek: number;\r\n longMonths: string[];\r\n shortMonths: string[];\r\n dates: string[];\r\n hours: string[];\r\n minutes: string[];\r\n longDaysOfWeek: string[];\r\n shortDaysOfWeek: string[];\r\n narrowDaysOfWeek: string[];\r\n };\r\n\r\n constructor() {\r\n const matDateLocale = inject(MAT_DATE_LOCALE, { optional: true })!;\r\n const _delegate = inject<DateAdapter<Dayjs>>(DateAdapter);\r\n\r\n super(_delegate);\r\n this.setLocale(matDateLocale || dayjs.locale());\r\n dayjs.extend(localeData);\r\n }\r\n\r\n override setLocale(locale: any): void {\r\n super.setLocale(locale);\r\n\r\n const dayjsLocaleData = dayjs.localeData();\r\n this._localeData = {\r\n firstDayOfWeek: dayjsLocaleData.firstDayOfWeek(),\r\n longMonths: dayjsLocaleData.months(),\r\n shortMonths: dayjsLocaleData.monthsShort(),\r\n dates: range(31, i => super.createDate(2017, 0, i + 1).format('D')),\r\n hours: range(24, i => this.createDatetime(2017, 0, 1, i, 0).format('H')),\r\n minutes: range(60, i => this.createDatetime(2017, 0, 1, 1, i).format('m')),\r\n longDaysOfWeek: dayjsLocaleData.weekdays(),\r\n shortDaysOfWeek: dayjsLocaleData.weekdaysShort(),\r\n narrowDaysOfWeek: dayjsLocaleData.weekdaysMin()\r\n };\r\n }\r\n\r\n getHour(date: Dayjs): number {\r\n return super.clone(date).hour();\r\n }\r\n\r\n getMinute(date: Dayjs): number {\r\n return super.clone(date).minute();\r\n }\r\n\r\n isInNextMonth(startDate: Dayjs, endDate: Dayjs): boolean {\r\n const nextMonth = this._getDateInNextMonth(startDate);\r\n return super.sameMonthAndYear(nextMonth, endDate);\r\n }\r\n\r\n createDatetime(year: number, month: number, date: number, hour: number, minute: number): Dayjs {\r\n if (month < 0 || month > 11) {\r\n throw Error(`Invalid month index \"${month}\". Month index has to be between 0 and 11.`);\r\n }\r\n\r\n if (date < 1) {\r\n throw Error(`Invalid date \"${date}\". Date has to be greater than 0.`);\r\n }\r\n\r\n if (hour < 0 || hour > 23) {\r\n throw Error(`Invalid hour \"${hour}\". Hour has to be between 0 and 23.`);\r\n }\r\n\r\n if (minute < 0 || minute > 59) {\r\n throw Error(`Invalid minute \"${minute}\". Minute has to be between 0 and 59.`);\r\n }\r\n\r\n const result = dayjs(new Date(year, month, date, hour, minute));\r\n if (!result.isValid()) {\r\n throw Error(`Invalid date \"${date}\" for month with index \"${month}\".`);\r\n }\r\n\r\n return result;\r\n }\r\n\r\n getFirstDateOfMonth(date: Dayjs): Dayjs {\r\n return super.clone(date).startOf('month');\r\n }\r\n\r\n getHourNames(): string[] {\r\n return this._localeData.hours;\r\n }\r\n\r\n getMinuteNames(): string[] {\r\n return this._localeData.minutes;\r\n }\r\n\r\n addCalendarHours(date: Dayjs, hours: number): Dayjs {\r\n return super.clone(date).add(hours, 'hour');\r\n }\r\n\r\n addCalendarMinutes(date: Dayjs, minutes: number): Dayjs {\r\n return super.clone(date).add(minutes, 'minute');\r\n }\r\n\r\n override deserialize(value: any): Dayjs | null {\r\n return this._delegate.deserialize(value);\r\n }\r\n\r\n private _getDateInNextMonth(date: Dayjs): Dayjs {\r\n return super.clone(date).date(1).add(1, 'month');\r\n }\r\n}\r\n","import { CmatDatetimeFormats } from './datetime-formats';\r\n\r\nexport const CMAT_DAYJS_DATETIME_FORMATS: CmatDatetimeFormats = {\r\n parse: {\r\n dateInput: 'L',\r\n monthInput: 'MMMM',\r\n timeInput: 'LT',\r\n datetimeInput: 'L LT',\r\n yearInput: 'YYYY'\r\n },\r\n display: {\r\n dateInput: 'L',\r\n monthInput: 'MMMM',\r\n datetimeInput: 'L LT',\r\n timeInput: 'LT',\r\n yearInput: 'YYYY',\r\n monthYearLabel: 'MMM YYYY',\r\n dateA11yLabel: 'LL',\r\n monthYearA11yLabel: 'MMMM YYYY',\r\n popupHeaderDateLabel: 'MMM DD, ddd'\r\n }\r\n};\r\n","import { Injectable, InjectionToken, inject } from '@angular/core';\r\nimport { DateAdapter, MAT_DATE_LOCALE } from '@angular/material/core';\r\nimport dayjs, { Dayjs } from 'dayjs';\r\nimport customParseFormat from 'dayjs/plugin/customParseFormat';\r\nimport localeData from 'dayjs/plugin/localeData';\r\nimport LocalizedFormat from 'dayjs/plugin/localizedFormat';\r\nimport utc from 'dayjs/plugin/utc';\r\n\r\n\r\nexport interface DayJsDateAdapterOptions {\r\n \r\n useUtc?: boolean;\r\n}\r\n\r\n\r\nexport const CMAT_DAYJS_DATE_ADAPTER_OPTIONS = new InjectionToken<DayJsDateAdapterOptions>(\r\n 'CMAT_DAYJS_DATE_ADAPTER_OPTIONS', {\r\n providedIn: 'root',\r\n factory: CMAT_DAYJS_DATE_ADAPTER_OPTIONS_FACTORY\r\n});\r\n\r\n// eslint-disable-next-line @typescript-eslint/naming-convention\r\nexport function CMAT_DAYJS_DATE_ADAPTER_OPTIONS_FACTORY(): DayJsDateAdapterOptions {\r\n return {\r\n useUtc: false\r\n };\r\n}\r\n\r\nfunction range<T>(length: number, valueFunction: (index: number) => T): T[] {\r\n const valuesArray = Array(length);\r\n for (let i = 0; i < length; i++) {\r\n valuesArray[i] = valueFunction(i);\r\n }\r\n return valuesArray;\r\n}\r\n\r\n@Injectable()\r\n\r\nexport class DayjsDateAdapter extends DateAdapter<Dayjs> {\r\n private _options = inject<DayJsDateAdapterOptions>(CMAT_DAYJS_DATE_ADAPTER_OPTIONS, { optional: true });\r\n\r\n private _localeData: {\r\n firstDayOfWeek: number;\r\n longMonths: string[];\r\n shortMonths: string[];\r\n dates: string[];\r\n longDaysOfWeek: string[];\r\n shortDaysOfWeek: string[];\r\n narrowDaysOfWeek: string[];\r\n };\r\n\r\n \r\n\r\n constructor() {\r\n super();\r\n const dateLocale = inject(MAT_DATE_LOCALE, {optional: true});\r\n\r\n this._initializeParser(dateLocale);\r\n }\r\n private get _shouldUseUtc(): boolean {\r\n const { useUtc }: DayJsDateAdapterOptions = this._options ?? {};\r\n return !!useUtc;\r\n }\r\n\r\n override setLocale(locale: string): void {\r\n super.setLocale(locale);\r\n\r\n const dayJsLocaleData = this._dayJs().localeData();\r\n this._localeData = {\r\n firstDayOfWeek: dayJsLocaleData.firstDayOfWeek(),\r\n longMonths: dayJsLocaleData.months(),\r\n shortMonths: dayJsLocaleData.monthsShort(),\r\n dates: range(31, i => this.createDate(2017, 0, i + 1).format('D')),\r\n longDaysOfWeek: range(7, i => this._dayJs().set('day', i).format('dddd')),\r\n shortDaysOfWeek: dayJsLocaleData.weekdaysShort(),\r\n narrowDaysOfWeek: dayJsLocaleData.weekdaysMin(),\r\n };\r\n }\r\n\r\n getYear(date: Dayjs): number {\r\n return this._dayJs(date).year();\r\n }\r\n\r\n getMonth(date: Dayjs): number {\r\n return this._dayJs(date).month();\r\n }\r\n\r\n getDate(date: Dayjs): number {\r\n return this._dayJs(date).date();\r\n }\r\n\r\n getDayOfWeek(date: Dayjs): number {\r\n return this._dayJs(date).day();\r\n }\r\n\r\n getMonthNames(style: 'long' | 'short' | 'narrow'): string[] {\r\n return style === 'long' ? this._localeData.longMonths : this._localeData.shortMonths;\r\n }\r\n\r\n getDateNames(): string[] {\r\n return this._localeData.dates;\r\n }\r\n\r\n getDayOfWeekNames(style: 'long' | 'short' | 'narrow'): string[] {\r\n if (style === 'long') {\r\n return this._localeData.longDaysOfWeek;\r\n }\r\n if (style === 'short') {\r\n return this._localeData.shortDaysOfWeek;\r\n }\r\n return this._localeData.narrowDaysOfWeek;\r\n }\r\n\r\n getYearName(date: Dayjs): string {\r\n return this._dayJs(date).format('YYYY');\r\n }\r\n\r\n getFirstDayOfWeek(): number {\r\n return this._localeData.firstDayOfWeek;\r\n }\r\n\r\n getNumDaysInMonth(date: Dayjs): number {\r\n return this._dayJs(date).daysInMonth();\r\n }\r\n\r\n clone(date: Dayjs): Dayjs {\r\n return date.clone();\r\n }\r\n\r\n createDate(year: number, month: number, date: number): Dayjs {\r\n const returnDayjs = this._dayJs()\r\n .set('year', year)\r\n .set('month', month)\r\n .set('date', date);\r\n return returnDayjs;\r\n }\r\n\r\n today(): Dayjs {\r\n return this._dayJs();\r\n }\r\n\r\n parse(value: any, parseFormat: string): Dayjs | null {\r\n if (value && typeof value === 'string') {\r\n return this._dayJs(value, parseFormat, this.locale);\r\n }\r\n return value ? this._dayJs(value).locale(this.locale) : null;\r\n }\r\n\r\n format(date: Dayjs, displayFormat: string): string {\r\n if (!this.isValid(date)) {\r\n throw Error('DayjsDateAdapter: Cannot format invalid date.');\r\n }\r\n return date.locale(this.locale).format(displayFormat);\r\n }\r\n\r\n addCalendarYears(date: Dayjs, years: number): Dayjs {\r\n return date.add(years, 'year');\r\n }\r\n\r\n addCalendarMonths(date: Dayjs, months: number): Dayjs {\r\n return date.add(months, 'month');\r\n }\r\n\r\n addCalendarDays(date: Dayjs, days: number): Dayjs {\r\n return date.add(days, 'day');\r\n }\r\n\r\n toIso8601(date: Dayjs): string {\r\n return date.toISOString();\r\n }\r\n\r\n \r\n override deserialize(value: any): Dayjs | null {\r\n let date: any;\r\n if (value instanceof Date) {\r\n date = this._dayJs(value);\r\n } else if (this.isDateInstance(value)) {\r\n return this.clone(value);\r\n }\r\n if (typeof value === 'string') {\r\n if (!value) {\r\n return null;\r\n }\r\n date = this._dayJs(value).toISOString();\r\n }\r\n if (date && this.isValid(date)) {\r\n return this._dayJs(date); // NOTE: Is this necessary since Dayjs is immutable and Moment was not?\r\n }\r\n return super.deserialize(value);\r\n }\r\n\r\n isDateInstance(obj: any): boolean {\r\n return dayjs.isDayjs(obj);\r\n }\r\n\r\n isValid(date: Dayjs): boolean {\r\n return this._dayJs(date).isValid();\r\n }\r\n\r\n invalid(): Dayjs {\r\n return this._dayJs(null);\r\n }\r\n\r\n private _dayJs(input?: any, format?: string, locale?: string): Dayjs {\r\n if (!this._shouldUseUtc) {\r\n return dayjs(input, { format, locale }, locale);\r\n }\r\n return dayjs(input, { format, locale, utc: this._shouldUseUtc }, locale).utc();\r\n }\r\n\r\n private _initializeParser(dateLocale: any): void {\r\n if (this._shouldUseUtc) {\r\n dayjs.extend(utc);\r\n }\r\n\r\n dayjs.extend(LocalizedFormat);\r\n dayjs.extend(customParseFormat);\r\n dayjs.extend(localeData);\r\n\r\n this.setLocale(dateLocale);\r\n }\r\n}\r\n","import { MatDateFormats } from '@angular/material/core';\r\n\r\nexport const CMAT_DAYJS_DATE_FORMATS: MatDateFormats = {\r\n parse: {\r\n dateInput: 'YYYY/MM/DD',\r\n },\r\n display: {\r\n dateInput: 'YYYY/MM/DD',\r\n monthYearLabel: 'YYYY MMM',\r\n dateA11yLabel: 'LL',\r\n monthYearA11yLabel: 'YYYY MMMM',\r\n }\r\n};\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["range"],"mappings":"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"}
|