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.
Files changed (201) hide show
  1. package/fesm2022/cmat-components-adapter.mjs +9 -46
  2. package/fesm2022/cmat-components-adapter.mjs.map +1 -1
  3. package/fesm2022/cmat-components-breadcrumb.mjs +104 -205
  4. package/fesm2022/cmat-components-breadcrumb.mjs.map +1 -1
  5. package/fesm2022/cmat-components-card.mjs +4 -8
  6. package/fesm2022/cmat-components-card.mjs.map +1 -1
  7. package/fesm2022/cmat-components-carousel.mjs +12 -12
  8. package/fesm2022/cmat-components-cascade.mjs +14 -20
  9. package/fesm2022/cmat-components-cascade.mjs.map +1 -1
  10. package/fesm2022/cmat-components-chip-input.mjs +21 -21
  11. package/fesm2022/cmat-components-chip-input.mjs.map +1 -1
  12. package/fesm2022/cmat-components-code-editor.mjs +4 -22
  13. package/fesm2022/cmat-components-code-editor.mjs.map +1 -1
  14. package/fesm2022/cmat-components-custom-formly.mjs +153 -220
  15. package/fesm2022/cmat-components-custom-formly.mjs.map +1 -1
  16. package/fesm2022/cmat-components-date-range.mjs +5 -177
  17. package/fesm2022/cmat-components-date-range.mjs.map +1 -1
  18. package/fesm2022/cmat-components-date-time-display.mjs +3 -15
  19. package/fesm2022/cmat-components-date-time-display.mjs.map +1 -1
  20. package/fesm2022/cmat-components-drawer.mjs +6 -96
  21. package/fesm2022/cmat-components-drawer.mjs.map +1 -1
  22. package/fesm2022/cmat-components-empty-state.mjs +4 -25
  23. package/fesm2022/cmat-components-empty-state.mjs.map +1 -1
  24. package/fesm2022/cmat-components-file-preview.mjs +3 -21
  25. package/fesm2022/cmat-components-file-preview.mjs.map +1 -1
  26. package/fesm2022/cmat-components-filter-toolbar.mjs +7 -50
  27. package/fesm2022/cmat-components-filter-toolbar.mjs.map +1 -1
  28. package/fesm2022/cmat-components-form-actions.mjs +3 -9
  29. package/fesm2022/cmat-components-form-actions.mjs.map +1 -1
  30. package/fesm2022/cmat-components-fullscreen.mjs +4 -4
  31. package/fesm2022/cmat-components-fullscreen.mjs.map +1 -1
  32. package/fesm2022/cmat-components-highlight.mjs +6 -31
  33. package/fesm2022/cmat-components-highlight.mjs.map +1 -1
  34. package/fesm2022/cmat-components-image-viewer.mjs +3 -12
  35. package/fesm2022/cmat-components-image-viewer.mjs.map +1 -1
  36. package/fesm2022/cmat-components-inline-loading.mjs +3 -12
  37. package/fesm2022/cmat-components-inline-loading.mjs.map +1 -1
  38. package/fesm2022/cmat-components-json-editor.mjs +10 -13
  39. package/fesm2022/cmat-components-json-editor.mjs.map +1 -1
  40. package/fesm2022/cmat-components-knob-input.mjs +18 -12
  41. package/fesm2022/cmat-components-knob-input.mjs.map +1 -1
  42. package/fesm2022/cmat-components-masonry.mjs +3 -9
  43. package/fesm2022/cmat-components-masonry.mjs.map +1 -1
  44. package/fesm2022/cmat-components-material-color-picker.mjs +3 -23
  45. package/fesm2022/cmat-components-material-color-picker.mjs.map +1 -1
  46. package/fesm2022/cmat-components-material-datetimepicker.mjs +49 -397
  47. package/fesm2022/cmat-components-material-datetimepicker.mjs.map +1 -1
  48. package/fesm2022/cmat-components-navigation.mjs +183 -725
  49. package/fesm2022/cmat-components-navigation.mjs.map +1 -1
  50. package/fesm2022/cmat-components-opt-input.mjs +7 -10
  51. package/fesm2022/cmat-components-opt-input.mjs.map +1 -1
  52. package/fesm2022/cmat-components-org-chart.mjs +11 -11
  53. package/fesm2022/cmat-components-org-chart.mjs.map +1 -1
  54. package/fesm2022/cmat-components-page-header.mjs +8 -19
  55. package/fesm2022/cmat-components-page-header.mjs.map +1 -1
  56. package/fesm2022/cmat-components-pagination.mjs +96 -93
  57. package/fesm2022/cmat-components-pagination.mjs.map +1 -1
  58. package/fesm2022/cmat-components-password-strength.mjs +10 -11
  59. package/fesm2022/cmat-components-password-strength.mjs.map +1 -1
  60. package/fesm2022/cmat-components-popover.mjs +15 -149
  61. package/fesm2022/cmat-components-popover.mjs.map +1 -1
  62. package/fesm2022/cmat-components-progress-bar.mjs +9 -16
  63. package/fesm2022/cmat-components-progress-bar.mjs.map +1 -1
  64. package/fesm2022/cmat-components-qrcode.mjs +5 -11
  65. package/fesm2022/cmat-components-qrcode.mjs.map +1 -1
  66. package/fesm2022/cmat-components-rating.mjs +3 -3
  67. package/fesm2022/cmat-components-rich-text-editor.mjs +4 -25
  68. package/fesm2022/cmat-components-rich-text-editor.mjs.map +1 -1
  69. package/fesm2022/cmat-components-select-search.mjs +46 -72
  70. package/fesm2022/cmat-components-select-search.mjs.map +1 -1
  71. package/fesm2022/cmat-components-select-table.mjs +193 -150
  72. package/fesm2022/cmat-components-select-table.mjs.map +1 -1
  73. package/fesm2022/cmat-components-select-tree.mjs +124 -78
  74. package/fesm2022/cmat-components-select-tree.mjs.map +1 -1
  75. package/fesm2022/cmat-components-skeleton.mjs +4 -22
  76. package/fesm2022/cmat-components-skeleton.mjs.map +1 -1
  77. package/fesm2022/cmat-components-speed-dial.mjs +9 -11
  78. package/fesm2022/cmat-components-speed-dial.mjs.map +1 -1
  79. package/fesm2022/cmat-components-status-tag.mjs +3 -18
  80. package/fesm2022/cmat-components-status-tag.mjs.map +1 -1
  81. package/fesm2022/cmat-components-table-toolbar.mjs +3 -15
  82. package/fesm2022/cmat-components-table-toolbar.mjs.map +1 -1
  83. package/fesm2022/cmat-components-timeline.mjs +18 -21
  84. package/fesm2022/cmat-components-timeline.mjs.map +1 -1
  85. package/fesm2022/cmat-components-toast.mjs +16 -14
  86. package/fesm2022/cmat-components-toast.mjs.map +1 -1
  87. package/fesm2022/cmat-components-transfer-picker.mjs +103 -80
  88. package/fesm2022/cmat-components-transfer-picker.mjs.map +1 -1
  89. package/fesm2022/cmat-components-treetable.mjs +6 -6
  90. package/fesm2022/cmat-components-upload.mjs +21 -36
  91. package/fesm2022/cmat-components-upload.mjs.map +1 -1
  92. package/fesm2022/cmat-components-x6-angular-shape.mjs +0 -1
  93. package/fesm2022/cmat-components-x6-angular-shape.mjs.map +1 -1
  94. package/fesm2022/cmat-directives-animate-on-scroll.mjs +6 -27
  95. package/fesm2022/cmat-directives-animate-on-scroll.mjs.map +1 -1
  96. package/fesm2022/cmat-directives-arrow-cursor.mjs +7 -9
  97. package/fesm2022/cmat-directives-arrow-cursor.mjs.map +1 -1
  98. package/fesm2022/cmat-directives-autofocus.mjs +3 -3
  99. package/fesm2022/cmat-directives-data-exporter.mjs +24 -33
  100. package/fesm2022/cmat-directives-data-exporter.mjs.map +1 -1
  101. package/fesm2022/cmat-directives-debounce.mjs +14 -17
  102. package/fesm2022/cmat-directives-debounce.mjs.map +1 -1
  103. package/fesm2022/cmat-directives-digit-only.mjs +6 -23
  104. package/fesm2022/cmat-directives-digit-only.mjs.map +1 -1
  105. package/fesm2022/cmat-directives-equal-validator.mjs +3 -3
  106. package/fesm2022/cmat-directives-seamless-auto-scroll.mjs +4 -11
  107. package/fesm2022/cmat-directives-seamless-auto-scroll.mjs.map +1 -1
  108. package/fesm2022/cmat-lib-mock-api.mjs +6 -43
  109. package/fesm2022/cmat-lib-mock-api.mjs.map +1 -1
  110. package/fesm2022/cmat-pipes-bytes.mjs +3 -3
  111. package/fesm2022/cmat-pipes-date-format.mjs +3 -3
  112. package/fesm2022/cmat-pipes-find-by-key.mjs +3 -5
  113. package/fesm2022/cmat-pipes-find-by-key.mjs.map +1 -1
  114. package/fesm2022/cmat-pipes-group-by.mjs +3 -3
  115. package/fesm2022/cmat-pipes-keys.mjs +3 -3
  116. package/fesm2022/cmat-pipes-secure.mjs +8 -12
  117. package/fesm2022/cmat-pipes-secure.mjs.map +1 -1
  118. package/fesm2022/cmat-pipes-uppercase.mjs +3 -3
  119. package/fesm2022/cmat-services-alert.mjs +3 -3
  120. package/fesm2022/cmat-services-config.mjs +50 -26
  121. package/fesm2022/cmat-services-config.mjs.map +1 -1
  122. package/fesm2022/cmat-services-confirmation.mjs +9 -11
  123. package/fesm2022/cmat-services-confirmation.mjs.map +1 -1
  124. package/fesm2022/cmat-services-data.mjs +56 -101
  125. package/fesm2022/cmat-services-data.mjs.map +1 -1
  126. package/fesm2022/cmat-services-export-as.mjs +4 -32
  127. package/fesm2022/cmat-services-export-as.mjs.map +1 -1
  128. package/fesm2022/cmat-services-loading.mjs +49 -40
  129. package/fesm2022/cmat-services-loading.mjs.map +1 -1
  130. package/fesm2022/cmat-services-local-storage.mjs +3 -3
  131. package/fesm2022/cmat-services-media-watcher.mjs +19 -25
  132. package/fesm2022/cmat-services-media-watcher.mjs.map +1 -1
  133. package/fesm2022/cmat-services-platform.mjs +3 -10
  134. package/fesm2022/cmat-services-platform.mjs.map +1 -1
  135. package/fesm2022/cmat-services-splash-screen.mjs +8 -13
  136. package/fesm2022/cmat-services-splash-screen.mjs.map +1 -1
  137. package/fesm2022/cmat-services-title.mjs +8 -12
  138. package/fesm2022/cmat-services-title.mjs.map +1 -1
  139. package/fesm2022/cmat-services-translation.mjs +3 -3
  140. package/fesm2022/cmat-services-utils.mjs +5 -27
  141. package/fesm2022/cmat-services-utils.mjs.map +1 -1
  142. package/fesm2022/cmat-validators.mjs +0 -8
  143. package/fesm2022/cmat-validators.mjs.map +1 -1
  144. package/fesm2022/cmat.mjs +3159 -3441
  145. package/fesm2022/cmat.mjs.map +1 -1
  146. package/package.json +1 -1
  147. package/tailwind/plugins/helpers.js +1 -10
  148. package/tailwind/plugins/scrollbar/index.js +0 -1
  149. package/tailwind/plugins/scrollbar/typedefs.js +1 -7
  150. package/tailwind/plugins/scrollbar/utilities.js +9 -58
  151. package/tailwind/plugins/scrollbar/variants.js +2 -17
  152. package/tailwind/plugins/theming.js +1 -57
  153. package/tailwind/utils/generate-contrasts.js +1 -12
  154. package/tailwind/utils/generate-palette.js +1 -32
  155. package/types/cmat-components-adapter.d.ts +0 -25
  156. package/types/cmat-components-breadcrumb.d.ts +25 -175
  157. package/types/cmat-components-carousel.d.ts +0 -18
  158. package/types/cmat-components-cascade.d.ts +1 -1
  159. package/types/cmat-components-chip-input.d.ts +4 -3
  160. package/types/cmat-components-code-editor.d.ts +0 -18
  161. package/types/cmat-components-custom-formly.d.ts +22 -28
  162. package/types/cmat-components-date-range.d.ts +0 -71
  163. package/types/cmat-components-date-time-display.d.ts +0 -15
  164. package/types/cmat-components-drawer.d.ts +0 -42
  165. package/types/cmat-components-empty-state.d.ts +0 -21
  166. package/types/cmat-components-file-preview.d.ts +0 -18
  167. package/types/cmat-components-filter-toolbar.d.ts +3 -43
  168. package/types/cmat-components-form-actions.d.ts +0 -6
  169. package/types/cmat-components-image-viewer.d.ts +0 -12
  170. package/types/cmat-components-inline-loading.d.ts +0 -9
  171. package/types/cmat-components-knob-input.d.ts +1 -1
  172. package/types/cmat-components-material-datetimepicker.d.ts +0 -263
  173. package/types/cmat-components-navigation.d.ts +24 -164
  174. package/types/cmat-components-opt-input.d.ts +1 -1
  175. package/types/cmat-components-page-header.d.ts +2 -16
  176. package/types/cmat-components-pagination.d.ts +22 -24
  177. package/types/cmat-components-popover.d.ts +1 -109
  178. package/types/cmat-components-progress-bar.d.ts +3 -4
  179. package/types/cmat-components-rich-text-editor.d.ts +0 -21
  180. package/types/cmat-components-select-search.d.ts +3 -19
  181. package/types/cmat-components-select-table.d.ts +17 -4
  182. package/types/cmat-components-select-tree.d.ts +20 -19
  183. package/types/cmat-components-skeleton.d.ts +0 -18
  184. package/types/cmat-components-status-tag.d.ts +0 -15
  185. package/types/cmat-components-table-toolbar.d.ts +0 -12
  186. package/types/cmat-components-timeline.d.ts +3 -4
  187. package/types/cmat-components-toast.d.ts +1 -0
  188. package/types/cmat-components-transfer-picker.d.ts +23 -27
  189. package/types/cmat-components-upload.d.ts +7 -10
  190. package/types/cmat-components-x6-angular-shape.d.ts +0 -1
  191. package/types/cmat-directives-arrow-cursor.d.ts +1 -1
  192. package/types/cmat-directives-debounce.d.ts +3 -4
  193. package/types/cmat-pipes-secure.d.ts +3 -4
  194. package/types/cmat-services-config.d.ts +35 -13
  195. package/types/cmat-services-data.d.ts +13 -12
  196. package/types/cmat-services-export-as.d.ts +0 -22
  197. package/types/cmat-services-loading.d.ts +15 -10
  198. package/types/cmat-services-media-watcher.d.ts +10 -13
  199. package/types/cmat-services-splash-screen.d.ts +2 -4
  200. package/types/cmat-services-title.d.ts +3 -5
  201. 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.7", ngImport: i0, type: CNativeDatetimeAdapter, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
254
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: CNativeDatetimeAdapter }); }
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.7", ngImport: i0, type: CNativeDatetimeAdapter, decorators: [{
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.7", ngImport: i0, type: DayjsDatetimeAdapter, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
359
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: DayjsDatetimeAdapter }); }
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.7", ngImport: i0, type: DayjsDatetimeAdapter, decorators: [{
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.7", ngImport: i0, type: DayjsDateAdapter, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
560
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: DayjsDateAdapter }); }
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.7", ngImport: i0, type: DayjsDateAdapter, decorators: [{
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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"}