@ng-matero/extensions 16.3.2 → 17.1.0

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 (251) hide show
  1. package/_index.scss +26 -13
  2. package/alert/_alert-theme.scss +54 -24
  3. package/alert/alert-module.d.ts +3 -3
  4. package/alert/alert.d.ts +4 -7
  5. package/alert/alert.scss +3 -3
  6. package/button/_button-theme.scss +6 -4
  7. package/button/button-loading.d.ts +5 -10
  8. package/button/button-module.d.ts +5 -5
  9. package/checkbox-group/checkbox-group-module.d.ts +6 -6
  10. package/checkbox-group/checkbox-group.d.ts +5 -10
  11. package/colorpicker/_colorpicker-theme.scss +62 -34
  12. package/colorpicker/colorpicker-input.d.ts +2 -4
  13. package/colorpicker/colorpicker-module.d.ts +10 -10
  14. package/colorpicker/colorpicker-toggle.d.ts +4 -5
  15. package/colorpicker/colorpicker.d.ts +8 -9
  16. package/column-resize/column-resize-directives/column-resize-flex.d.ts +1 -1
  17. package/column-resize/column-resize-directives/column-resize.d.ts +1 -1
  18. package/column-resize/column-resize-module.d.ts +1 -1
  19. package/core/color/_all-color.scss +7 -18
  20. package/core/datetime/datetime.module.d.ts +4 -1
  21. package/core/density/_all-density.scss +17 -25
  22. package/core/pipes/is-template-ref.pipe.d.ts +1 -1
  23. package/core/pipes/pipes.module.d.ts +4 -4
  24. package/core/pipes/to-observable.pipe.d.ts +1 -1
  25. package/core/style/_sass-utils.scss +13 -1
  26. package/core/theming/_all-theme.scss +32 -17
  27. package/core/tokens/_token-utils.scss +4 -5
  28. package/core/tokens/m2/mdc/_plain-tooltip.scss +21 -29
  29. package/core/tokens/m2/mtx/_alert.scss +14 -15
  30. package/core/tokens/m2/mtx/_colorpicker.scss +8 -11
  31. package/core/tokens/m2/mtx/_datetimepicker.scss +38 -47
  32. package/core/tokens/m2/mtx/_drawer.scss +9 -10
  33. package/core/tokens/m2/mtx/_grid.scss +23 -22
  34. package/core/tokens/m2/mtx/_loader.scss +6 -6
  35. package/core/tokens/m2/mtx/_popover.scss +10 -11
  36. package/core/tokens/m2/mtx/_progress.scss +18 -17
  37. package/core/tokens/m2/mtx/_select.scss +23 -24
  38. package/core/tokens/m2/mtx/_split.scss +8 -11
  39. package/core/typography/_all-typography.scss +40 -0
  40. package/core/typography/_typography.scss +1 -579
  41. package/datetimepicker/_datetimepicker-theme.scss +75 -48
  42. package/datetimepicker/calendar-body.d.ts +1 -1
  43. package/datetimepicker/calendar.d.ts +8 -15
  44. package/datetimepicker/calendar.scss +16 -4
  45. package/datetimepicker/clock.d.ts +2 -3
  46. package/datetimepicker/datetimepicker-content.scss +3 -3
  47. package/datetimepicker/datetimepicker-input.d.ts +2 -3
  48. package/datetimepicker/datetimepicker-module.d.ts +16 -16
  49. package/datetimepicker/datetimepicker-toggle.d.ts +4 -5
  50. package/datetimepicker/datetimepicker.d.ts +16 -27
  51. package/datetimepicker/month-view.d.ts +2 -2
  52. package/datetimepicker/multi-year-view.d.ts +2 -2
  53. package/datetimepicker/time.d.ts +6 -8
  54. package/datetimepicker/time.scss +2 -2
  55. package/datetimepicker/year-view.d.ts +2 -2
  56. package/dialog/dialog-container.d.ts +1 -1
  57. package/dialog/dialog-module.d.ts +7 -7
  58. package/drawer/_drawer-theme.scss +55 -22
  59. package/drawer/drawer-container.d.ts +1 -1
  60. package/drawer/drawer-container.scss +25 -4
  61. package/drawer/drawer-module.d.ts +5 -5
  62. package/esm2022/alert/alert-module.mjs +6 -7
  63. package/esm2022/alert/alert.mjs +11 -18
  64. package/esm2022/button/button-loading.mjs +13 -23
  65. package/esm2022/button/button-module.mjs +6 -7
  66. package/esm2022/checkbox-group/checkbox-group-module.mjs +6 -7
  67. package/esm2022/checkbox-group/checkbox-group.mjs +19 -31
  68. package/esm2022/colorpicker/colorpicker-input.mjs +14 -14
  69. package/esm2022/colorpicker/colorpicker-module.mjs +20 -19
  70. package/esm2022/colorpicker/colorpicker-toggle.mjs +19 -18
  71. package/esm2022/colorpicker/colorpicker.mjs +46 -44
  72. package/esm2022/column-resize/column-resize-directives/column-resize-flex.mjs +6 -5
  73. package/esm2022/column-resize/column-resize-directives/column-resize.mjs +6 -5
  74. package/esm2022/column-resize/column-resize-module.mjs +6 -6
  75. package/esm2022/column-resize/column-resize-notifier.mjs +7 -7
  76. package/esm2022/column-resize/column-resize.mjs +4 -4
  77. package/esm2022/column-resize/column-size-store.mjs +3 -3
  78. package/esm2022/column-resize/event-dispatcher.mjs +5 -5
  79. package/esm2022/column-resize/overlay-handle.mjs +4 -4
  80. package/esm2022/column-resize/polyfill.mjs +1 -1
  81. package/esm2022/column-resize/resizable.mjs +4 -4
  82. package/esm2022/column-resize/resize-strategy.mjs +14 -14
  83. package/esm2022/core/datetime/datetime-adapter.mjs +1 -1
  84. package/esm2022/core/datetime/datetime.module.mjs +19 -23
  85. package/esm2022/core/datetime/native-datetime-adapter.mjs +6 -6
  86. package/esm2022/core/pipes/is-template-ref.pipe.mjs +5 -5
  87. package/esm2022/core/pipes/pipes.module.mjs +6 -7
  88. package/esm2022/core/pipes/to-observable.pipe.mjs +5 -5
  89. package/esm2022/datetimepicker/calendar-body.mjs +5 -6
  90. package/esm2022/datetimepicker/calendar.mjs +38 -48
  91. package/esm2022/datetimepicker/clock.mjs +11 -11
  92. package/esm2022/datetimepicker/datetimepicker-errors.mjs +4 -3
  93. package/esm2022/datetimepicker/datetimepicker-input.mjs +14 -14
  94. package/esm2022/datetimepicker/datetimepicker-intl.mjs +3 -3
  95. package/esm2022/datetimepicker/datetimepicker-module.mjs +28 -11
  96. package/esm2022/datetimepicker/datetimepicker-toggle.mjs +19 -18
  97. package/esm2022/datetimepicker/datetimepicker.mjs +70 -89
  98. package/esm2022/datetimepicker/month-view.mjs +8 -10
  99. package/esm2022/datetimepicker/multi-year-view.mjs +10 -11
  100. package/esm2022/datetimepicker/time.mjs +19 -24
  101. package/esm2022/datetimepicker/year-view.mjs +10 -11
  102. package/esm2022/dialog/dialog-container.mjs +21 -12
  103. package/esm2022/dialog/dialog-module.mjs +23 -7
  104. package/esm2022/dialog/dialog.mjs +7 -6
  105. package/esm2022/drawer/drawer-container.mjs +7 -8
  106. package/esm2022/drawer/drawer-module.mjs +6 -7
  107. package/esm2022/drawer/drawer-ref.mjs +1 -1
  108. package/esm2022/drawer/drawer.mjs +8 -7
  109. package/esm2022/grid/cell.mjs +36 -14
  110. package/esm2022/grid/column-menu.mjs +31 -15
  111. package/esm2022/grid/column-resize/column-resize-directives/column-resize-flex.mjs +6 -5
  112. package/esm2022/grid/column-resize/column-resize-directives/column-resize.mjs +6 -5
  113. package/esm2022/grid/column-resize/column-resize-module.mjs +14 -14
  114. package/esm2022/grid/column-resize/index.mjs +8 -0
  115. package/esm2022/grid/column-resize/overlay-handle.mjs +7 -6
  116. package/esm2022/grid/column-resize/resizable-directives/resizable.mjs +7 -6
  117. package/esm2022/grid/column-resize/resize-strategy.mjs +5 -5
  118. package/esm2022/grid/expansion-toggle.mjs +6 -5
  119. package/esm2022/grid/grid-module.mjs +39 -37
  120. package/esm2022/grid/grid-pipes.mjs +30 -30
  121. package/esm2022/grid/grid-utils.mjs +7 -6
  122. package/esm2022/grid/grid.mjs +175 -111
  123. package/esm2022/loader/loader-module.mjs +6 -7
  124. package/esm2022/loader/loader.mjs +17 -29
  125. package/esm2022/photoviewer/photoviewer-module.mjs +6 -7
  126. package/esm2022/photoviewer/photoviewer.mjs +8 -7
  127. package/esm2022/popover/popover-content.mjs +10 -9
  128. package/esm2022/popover/popover-module.mjs +22 -7
  129. package/esm2022/popover/popover-target.mjs +6 -5
  130. package/esm2022/popover/popover-trigger.mjs +15 -8
  131. package/esm2022/popover/popover.mjs +54 -139
  132. package/esm2022/progress/progress-module.mjs +6 -7
  133. package/esm2022/progress/progress.mjs +15 -26
  134. package/esm2022/select/option.mjs +12 -17
  135. package/esm2022/select/select-module.mjs +20 -9
  136. package/esm2022/select/select.mjs +19 -19
  137. package/esm2022/select/templates.mjs +56 -56
  138. package/esm2022/split/split-module.mjs +6 -7
  139. package/esm2022/split/split-pane.mjs +6 -5
  140. package/esm2022/split/split.mjs +8 -8
  141. package/esm2022/split/utils.mjs +1 -1
  142. package/esm2022/tooltip/tooltip-module.mjs +24 -7
  143. package/esm2022/tooltip/tooltip.mjs +104 -117
  144. package/fesm2022/mtxAlert.mjs +15 -23
  145. package/fesm2022/mtxAlert.mjs.map +1 -1
  146. package/fesm2022/mtxButton.mjs +17 -28
  147. package/fesm2022/mtxButton.mjs.map +1 -1
  148. package/fesm2022/mtxCheckboxGroup.mjs +22 -37
  149. package/fesm2022/mtxCheckboxGroup.mjs.map +1 -1
  150. package/fesm2022/mtxColorpicker.mjs +479 -474
  151. package/fesm2022/mtxColorpicker.mjs.map +1 -1
  152. package/fesm2022/mtxColumnResize.mjs +51 -49
  153. package/fesm2022/mtxColumnResize.mjs.map +1 -1
  154. package/fesm2022/mtxCore.mjs +36 -41
  155. package/fesm2022/mtxCore.mjs.map +1 -1
  156. package/fesm2022/mtxDatetimepicker.mjs +898 -905
  157. package/fesm2022/mtxDatetimepicker.mjs.map +1 -1
  158. package/fesm2022/mtxDialog.mjs +47 -25
  159. package/fesm2022/mtxDialog.mjs.map +1 -1
  160. package/fesm2022/mtxDrawer.mjs +20 -21
  161. package/fesm2022/mtxDrawer.mjs.map +1 -1
  162. package/fesm2022/mtxGrid.mjs +330 -229
  163. package/fesm2022/mtxGrid.mjs.map +1 -1
  164. package/fesm2022/mtxLoader.mjs +21 -36
  165. package/fesm2022/mtxLoader.mjs.map +1 -1
  166. package/fesm2022/mtxPhotoviewer.mjs +12 -12
  167. package/fesm2022/mtxPhotoviewer.mjs.map +1 -1
  168. package/fesm2022/mtxPopover.mjs +103 -165
  169. package/fesm2022/mtxPopover.mjs.map +1 -1
  170. package/fesm2022/mtxProgress.mjs +19 -32
  171. package/fesm2022/mtxProgress.mjs.map +1 -1
  172. package/fesm2022/mtxSelect.mjs +99 -93
  173. package/fesm2022/mtxSelect.mjs.map +1 -1
  174. package/fesm2022/mtxSplit.mjs +17 -18
  175. package/fesm2022/mtxSplit.mjs.map +1 -1
  176. package/fesm2022/mtxTooltip.mjs +128 -125
  177. package/fesm2022/mtxTooltip.mjs.map +1 -1
  178. package/grid/_grid-theme.scss +58 -29
  179. package/grid/cell.d.ts +1 -1
  180. package/grid/column-menu.d.ts +1 -1
  181. package/grid/column-resize/column-resize-directives/column-resize-flex.d.ts +1 -1
  182. package/grid/column-resize/column-resize-directives/column-resize.d.ts +1 -1
  183. package/grid/column-resize/column-resize-module.d.ts +7 -6
  184. package/grid/column-resize/index.d.ts +7 -0
  185. package/grid/column-resize/overlay-handle.d.ts +1 -1
  186. package/grid/column-resize/resizable-directives/resizable.d.ts +1 -1
  187. package/grid/expansion-toggle.d.ts +1 -1
  188. package/grid/grid-module.d.ts +25 -25
  189. package/grid/grid-pipes.d.ts +7 -7
  190. package/grid/grid.d.ts +57 -25
  191. package/grid/grid.scss +8 -1
  192. package/loader/_loader-theme.scss +55 -22
  193. package/loader/loader-module.d.ts +5 -5
  194. package/loader/loader.d.ts +5 -10
  195. package/loader/loader.scss +1 -1
  196. package/package.json +13 -19
  197. package/photoviewer/photoviewer-module.d.ts +1 -1
  198. package/photoviewer/photoviewer.d.ts +2 -1
  199. package/popover/_popover-theme.scss +55 -22
  200. package/popover/popover-content.d.ts +1 -1
  201. package/popover/popover-module.d.ts +8 -8
  202. package/popover/popover-target.d.ts +1 -1
  203. package/popover/popover-trigger.d.ts +1 -1
  204. package/popover/popover.d.ts +24 -55
  205. package/popover/popover.scss +1 -1
  206. package/prebuilt-themes/deeppurple-amber.css +1 -1
  207. package/prebuilt-themes/indigo-pink.css +1 -1
  208. package/prebuilt-themes/pink-bluegrey.css +1 -1
  209. package/prebuilt-themes/purple-green.css +1 -1
  210. package/progress/_progress-theme.scss +60 -22
  211. package/progress/progress-module.d.ts +3 -3
  212. package/progress/progress.d.ts +5 -10
  213. package/progress/progress.scss +3 -3
  214. package/select/_select-theme.scss +66 -34
  215. package/select/option.d.ts +3 -6
  216. package/select/select-module.d.ts +7 -7
  217. package/select/select.d.ts +2 -4
  218. package/select/select.scss +109 -109
  219. package/select/templates.d.ts +11 -11
  220. package/split/_split-theme.scss +62 -32
  221. package/split/split-module.d.ts +4 -4
  222. package/split/split-pane.d.ts +1 -1
  223. package/split/split.d.ts +1 -1
  224. package/split/split.scss +2 -4
  225. package/tooltip/_tooltip-theme.scss +66 -34
  226. package/tooltip/tooltip-module.d.ts +7 -7
  227. package/tooltip/tooltip.d.ts +30 -44
  228. package/tooltip/tooltip.scss +2 -4
  229. package/_theming.scss +0 -16
  230. package/alert/_alert-theme.import.scss +0 -2
  231. package/button/_button-theme.import.scss +0 -2
  232. package/colorpicker/_colorpicker-theme.import.scss +0 -2
  233. package/core/density/_compatibility.scss +0 -74
  234. package/core/mdc-helpers/_mdc-helpers.scss +0 -242
  235. package/core/style/_elevation.scss +0 -91
  236. package/core/style/_private.scss +0 -32
  237. package/core/style/_variables.scss +0 -44
  238. package/core/style/_vendor-prefixes.scss +0 -46
  239. package/core/theming/_palette.scss +0 -746
  240. package/core/theming/_theming.scss +0 -497
  241. package/core/typography/_typography-utils.scss +0 -101
  242. package/datetimepicker/_datetimepicker-theme.import.scss +0 -4
  243. package/drawer/_drawer-theme.import.scss +0 -2
  244. package/grid/_grid-theme.import.scss +0 -2
  245. package/loader/_loader-theme.import.scss +0 -2
  246. package/popover/_popover-theme.import.scss +0 -2
  247. package/progress/_progress-theme.import.scss +0 -2
  248. package/select/_select-density.scss +0 -68
  249. package/select/_select-theme.import.scss +0 -3
  250. package/split/_split-theme.import.scss +0 -2
  251. package/tooltip/_tooltip-theme.import.scss +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"mtxCore.mjs","sources":["../../../projects/extensions/core/datetime/datetime-adapter.ts","../../../projects/extensions/core/datetime/datetime-formats.ts","../../../projects/extensions/core/datetime/native-datetime-adapter.ts","../../../projects/extensions/core/datetime/native-datetime-formats.ts","../../../projects/extensions/core/datetime/datetime.module.ts","../../../projects/extensions/core/pipes/to-observable.pipe.ts","../../../projects/extensions/core/pipes/is-template-ref.pipe.ts","../../../projects/extensions/core/pipes/pipes.module.ts","../../../projects/extensions/core/mtxCore.ts"],"sourcesContent":["import { DateAdapter } from '@angular/material/core';\n\nexport abstract class DatetimeAdapter<D> extends DateAdapter<D> {\n constructor(protected _delegate: DateAdapter<D>) {\n super();\n }\n\n abstract getHour(date: D): number;\n\n abstract getMinute(date: D): number;\n\n abstract getFirstDateOfMonth(date: D): D;\n\n abstract isInNextMonth(startDate: D, endDate: D): boolean;\n\n abstract getHourNames(): string[];\n\n abstract getMinuteNames(): string[];\n\n abstract addCalendarHours(date: D, months: number): D;\n\n abstract addCalendarMinutes(date: D, minutes: number): D;\n\n abstract createDatetime(\n year: number,\n month: number,\n date: number,\n hour: number,\n minute: number\n ): D;\n\n getValidDateOrNull(obj: any): D | null {\n return this.isDateInstance(obj) && this.isValid(obj) ? obj : null;\n }\n\n compareDatetime(first: D, second: D, respectMinutePart: boolean = true): number | boolean {\n return (\n this.compareDate(first, second) ||\n this.getHour(first) - this.getHour(second) ||\n (respectMinutePart && this.getMinute(first) - this.getMinute(second))\n );\n }\n\n sameDatetime(first: D | null, second: D | null): boolean {\n if (first && second) {\n const firstValid = this.isValid(first);\n const secondValid = this.isValid(second);\n if (firstValid && secondValid) {\n return !this.compareDatetime(first, second);\n }\n return firstValid === secondValid;\n }\n return first === second;\n }\n\n sameYear(first: D, second: D) {\n return first && second && this.getYear(first) === this.getYear(second);\n }\n\n sameDay(first: D, second: D) {\n return (\n first &&\n second &&\n this.getDate(first) === this.getDate(second) &&\n this.sameMonthAndYear(first, second)\n );\n }\n\n sameHour(first: D, second: D) {\n return (\n first && second && this.getHour(first) === this.getHour(second) && this.sameDay(first, second)\n );\n }\n\n sameMinute(first: D, second: D) {\n return (\n first &&\n second &&\n this.getMinute(first) === this.getMinute(second) &&\n this.sameHour(first, second)\n );\n }\n\n sameMonthAndYear(first: D | null, second: D | null): boolean {\n if (first && second) {\n const firstValid = this.isValid(first);\n const secondValid = this.isValid(second);\n if (firstValid && secondValid) {\n return !(\n this.getYear(first) - this.getYear(second) || this.getMonth(first) - this.getMonth(second)\n );\n }\n return firstValid === secondValid;\n }\n return first === second;\n }\n\n // delegate\n clone(date: D): D {\n return this._delegate.clone(date);\n }\n\n addCalendarYears(date: D, years: number): D {\n return this._delegate.addCalendarYears(date, years);\n }\n\n addCalendarMonths(date: D, months: number): D {\n return this._delegate.addCalendarMonths(date, months);\n }\n\n addCalendarDays(date: D, days: number): D {\n return this._delegate.addCalendarDays(date, days);\n }\n\n getYear(date: D): number {\n return this._delegate.getYear(date);\n }\n\n getMonth(date: D): number {\n return this._delegate.getMonth(date);\n }\n\n getDate(date: D): number {\n return this._delegate.getDate(date);\n }\n\n getDayOfWeek(date: D): number {\n return this._delegate.getDayOfWeek(date);\n }\n\n getMonthNames(style: any): string[] {\n return this._delegate.getMonthNames(style);\n }\n\n getDateNames(): string[] {\n return this._delegate.getDateNames();\n }\n\n getDayOfWeekNames(style: any): string[] {\n return this._delegate.getDayOfWeekNames(style);\n }\n\n getYearName(date: D): string {\n return this._delegate.getYearName(date);\n }\n\n getFirstDayOfWeek(): number {\n return this._delegate.getFirstDayOfWeek();\n }\n\n getNumDaysInMonth(date: D): number {\n return this._delegate.getNumDaysInMonth(date);\n }\n\n createDate(year: number, month: number, date: number): D {\n return this._delegate.createDate(year, month, date);\n }\n\n today(): D {\n return this._delegate.today();\n }\n\n parse(value: any, parseFormat: any): D | null {\n return this._delegate.parse(value, parseFormat);\n }\n\n format(date: D, displayFormat: any): string {\n return this._delegate.format(date, displayFormat);\n }\n\n toIso8601(date: D): string {\n return this._delegate.toIso8601(date);\n }\n\n isDateInstance(obj: any): boolean {\n return this._delegate.isDateInstance(obj);\n }\n\n isValid(date: D): boolean {\n return this._delegate.isValid(date);\n }\n\n invalid(): D {\n return this._delegate.invalid();\n }\n\n clampDate(date: D, min?: D | null, max?: D | null): D {\n if (min && (this.compareDatetime(date, min) as number) < 0) {\n return min;\n }\n if (max && (this.compareDatetime(date, max) as number) > 0) {\n return max;\n }\n return date;\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport interface MtxDatetimeFormats {\n parse: {\n dateInput?: any;\n monthInput?: any;\n yearInput?: any;\n timeInput?: any;\n datetimeInput?: any;\n };\n display: {\n dateInput: any;\n monthInput: any;\n yearInput?: any;\n timeInput: any;\n datetimeInput: any;\n monthYearLabel: any;\n dateA11yLabel: any;\n monthYearA11yLabel: any;\n popupHeaderDateLabel: any;\n };\n}\n\nexport const MTX_DATETIME_FORMATS = new InjectionToken<MtxDatetimeFormats>('mtx-datetime-formats');\n","import { Inject, Injectable, Optional } from '@angular/core';\nimport { DateAdapter, MAT_DATE_LOCALE } from '@angular/material/core';\nimport { DatetimeAdapter } from './datetime-adapter';\n\n/** The default hour names to use if Intl API is not available. */\nconst DEFAULT_HOUR_NAMES = range(24, i => String(i));\n\n/** The default minute names to use if Intl API is not available. */\nconst DEFAULT_MINUTE_NAMES = range(60, i => String(i));\n\nfunction range<T>(length: number, valueFunction: (index: number) => T): T[] {\n const valuesArray = Array(length);\n for (let i = 0; i < length; i++) {\n valuesArray[i] = valueFunction(i);\n }\n return valuesArray;\n}\n\n@Injectable()\nexport class NativeDatetimeAdapter extends DatetimeAdapter<Date> {\n constructor(\n @Optional() @Inject(MAT_DATE_LOCALE) matDateLocale: string,\n _delegate: DateAdapter<Date>\n ) {\n super(_delegate);\n this.setLocale(matDateLocale);\n }\n\n clone(date: Date): Date {\n return this.createDatetime(\n this.getYear(date),\n this.getMonth(date),\n this.getDate(date),\n this.getHour(date),\n this.getMinute(date)\n );\n }\n\n getHour(date: Date): number {\n return date.getHours();\n }\n\n getMinute(date: Date): number {\n return date.getMinutes();\n }\n\n isInNextMonth(startDate: Date, endDate: Date): boolean {\n const nextMonth = this.getDateInNextMonth(startDate);\n return this.sameMonthAndYear(nextMonth, endDate);\n }\n\n createDatetime(year: number, month: number, date: number, hour: number, minute: number): Date {\n // Check for invalid month and date (except upper bound on date which we have to check after\n // creating the Date).\n if (month < 0 || month > 11) {\n throw Error(`Invalid month index \"${month}\". Month index has to be between 0 and 11.`);\n }\n\n if (date < 1) {\n throw Error(`Invalid date \"${date}\". Date has to be greater than 0.`);\n }\n\n if (hour < 0 || hour > 23) {\n throw Error(`Invalid hour \"${hour}\". Hour has to be between 0 and 23.`);\n }\n\n if (minute < 0 || minute > 59) {\n throw Error(`Invalid minute \"${minute}\". Minute has to be between 0 and 59.`);\n }\n\n const result = this._createDateWithOverflow(year, month, date, hour, minute);\n\n // Check that the date wasn't above the upper bound for the month, causing the month to overflow\n if (result.getMonth() !== month) {\n throw Error(`Invalid date \"${date}\" for month with index \"${month}\".`);\n }\n\n return result;\n }\n\n getFirstDateOfMonth(date: Date): Date {\n const result = new Date();\n result.setFullYear(date.getFullYear(), date.getMonth(), 1);\n return result;\n }\n\n getHourNames(): string[] {\n return DEFAULT_HOUR_NAMES;\n }\n\n getMinuteNames(): string[] {\n return DEFAULT_MINUTE_NAMES;\n }\n\n addCalendarYears(date: Date, years: number): Date {\n return this.addCalendarMonths(date, years * 12);\n }\n\n addCalendarMonths(date: Date, months: number): Date {\n let newDate = this._createDateWithOverflow(\n this.getYear(date),\n this.getMonth(date) + months,\n this.getDate(date),\n this.getHour(date),\n this.getMinute(date)\n );\n\n // It's possible to wind up in the wrong month if the original month has more days than the new\n // month. In this case we want to go to the last day of the desired month.\n // Note: the additional + 12 % 12 ensures we end up with a positive number, since JS % doesn't\n // guarantee this.\n if (this.getMonth(newDate) !== (((this.getMonth(date) + months) % 12) + 12) % 12) {\n newDate = this._createDateWithOverflow(\n this.getYear(newDate),\n this.getMonth(newDate),\n 0,\n this.getHour(date),\n this.getMinute(date)\n );\n }\n\n return newDate;\n }\n\n addCalendarDays(date: Date, days: number): Date {\n return this._createDateWithOverflow(\n this.getYear(date),\n this.getMonth(date),\n this.getDate(date) + days,\n this.getHour(date),\n this.getMinute(date)\n );\n }\n\n addCalendarHours(date: Date, hours: number): Date {\n return this._createDateWithOverflow(\n this.getYear(date),\n this.getMonth(date),\n this.getDate(date),\n this.getHour(date) + hours,\n this.getMinute(date)\n );\n }\n\n addCalendarMinutes(date: Date, minutes: number): Date {\n return this._createDateWithOverflow(\n this.getYear(date),\n this.getMonth(date),\n this.getDate(date),\n this.getHour(date),\n this.getMinute(date) + minutes\n );\n }\n\n toIso8601(date: Date): string {\n return (\n super.toIso8601(date) +\n 'T' +\n [this._2digit(date.getUTCHours()), this._2digit(date.getUTCMinutes())].join(':')\n );\n }\n\n private getDateInNextMonth(date: Date) {\n return new Date(date.getFullYear(), date.getMonth() + 1, 1, date.getHours(), date.getMinutes());\n }\n\n /**\n * Strip out unicode LTR and RTL characters. Edge and IE insert these into formatted dates while\n * other browsers do not. We remove them to make output consistent and because they interfere with\n * date parsing.\n * @param str The string to strip direction characters from.\n * @returns The stripped string.\n */\n private _stripDirectionalityCharacters(str: string) {\n return str.replace(/[\\u200e\\u200f]/g, '');\n }\n\n /**\n * Pads a number to make it two digits.\n * @param n The number to pad.\n * @returns The padded number.\n */\n private _2digit(n: number) {\n return ('00' + n).slice(-2);\n }\n\n /** Creates a date but allows the month and date to overflow. */\n private _createDateWithOverflow(\n year: number,\n month: number,\n date: number,\n hours: number,\n minutes: number\n ) {\n const result = new Date(year, month, date, hours, minutes);\n\n // We need to correct for the fact that JS native Date treats years in range [0, 99] as\n // abbreviations for 19xx.\n if (year >= 0 && year < 100) {\n result.setFullYear(this.getYear(result) - 1900);\n }\n return result;\n }\n}\n","import { MtxDatetimeFormats } from './datetime-formats';\n\nexport const MTX_NATIVE_DATETIME_FORMATS: MtxDatetimeFormats = {\n parse: {},\n display: {\n dateInput: { year: 'numeric', month: '2-digit', day: '2-digit' },\n monthInput: { month: 'long' },\n datetimeInput: {\n year: 'numeric',\n month: '2-digit',\n day: '2-digit',\n hour: '2-digit',\n minute: '2-digit',\n },\n timeInput: { hour: '2-digit', minute: '2-digit' },\n monthYearLabel: { year: 'numeric', month: 'short' },\n dateA11yLabel: { year: 'numeric', month: 'long', day: 'numeric' },\n monthYearA11yLabel: { year: 'numeric', month: 'long' },\n popupHeaderDateLabel: { weekday: 'short', month: 'short', day: '2-digit' },\n },\n};\n","import { NgModule } from '@angular/core';\nimport { MatNativeDateModule, NativeDateModule } from '@angular/material/core';\nimport { DatetimeAdapter } from './datetime-adapter';\nimport { MTX_DATETIME_FORMATS } from './datetime-formats';\nimport { NativeDatetimeAdapter } from './native-datetime-adapter';\nimport { MTX_NATIVE_DATETIME_FORMATS } from './native-datetime-formats';\n\n@NgModule({\n imports: [NativeDateModule],\n providers: [\n {\n provide: DatetimeAdapter,\n useClass: NativeDatetimeAdapter,\n },\n ],\n})\nexport class NativeDatetimeModule {}\n\n@NgModule({\n imports: [NativeDatetimeModule, MatNativeDateModule],\n providers: [{ provide: MTX_DATETIME_FORMATS, useValue: MTX_NATIVE_DATETIME_FORMATS }],\n})\nexport class MtxNativeDatetimeModule {}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { Observable, of, isObservable } from 'rxjs';\n\n@Pipe({ name: 'toObservable' })\nexport class MtxToObservablePipe implements PipeTransform {\n // eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents\n transform(value: Observable<any> | unknown): Observable<any> {\n return isObservable(value) ? value : of(value);\n }\n}\n","import { Pipe, PipeTransform, TemplateRef } from '@angular/core';\n\n@Pipe({ name: 'isTemplateRef' })\nexport class MtxIsTemplateRefPipe implements PipeTransform {\n transform(obj: any) {\n return obj instanceof TemplateRef;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { MtxToObservablePipe } from './to-observable.pipe';\nimport { MtxIsTemplateRefPipe } from './is-template-ref.pipe';\n\n@NgModule({\n imports: [CommonModule],\n exports: [MtxToObservablePipe, MtxIsTemplateRefPipe],\n declarations: [MtxToObservablePipe, MtxIsTemplateRefPipe],\n})\nexport class MtxPipesModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mtxCore.mjs","sources":["../../../projects/extensions/core/datetime/datetime-adapter.ts","../../../projects/extensions/core/datetime/datetime-formats.ts","../../../projects/extensions/core/datetime/native-datetime-adapter.ts","../../../projects/extensions/core/datetime/native-datetime-formats.ts","../../../projects/extensions/core/datetime/datetime.module.ts","../../../projects/extensions/core/pipes/to-observable.pipe.ts","../../../projects/extensions/core/pipes/is-template-ref.pipe.ts","../../../projects/extensions/core/pipes/pipes.module.ts","../../../projects/extensions/core/mtxCore.ts"],"sourcesContent":["import { DateAdapter } from '@angular/material/core';\n\nexport abstract class DatetimeAdapter<D> extends DateAdapter<D> {\n constructor(protected _delegate: DateAdapter<D>) {\n super();\n }\n\n abstract getHour(date: D): number;\n\n abstract getMinute(date: D): number;\n\n abstract getFirstDateOfMonth(date: D): D;\n\n abstract isInNextMonth(startDate: D, endDate: D): boolean;\n\n abstract getHourNames(): string[];\n\n abstract getMinuteNames(): string[];\n\n abstract addCalendarHours(date: D, months: number): D;\n\n abstract addCalendarMinutes(date: D, minutes: number): D;\n\n abstract createDatetime(\n year: number,\n month: number,\n date: number,\n hour: number,\n minute: number\n ): D;\n\n getValidDateOrNull(obj: any): D | null {\n return this.isDateInstance(obj) && this.isValid(obj) ? obj : null;\n }\n\n compareDatetime(first: D, second: D, respectMinutePart: boolean = true): number | boolean {\n return (\n this.compareDate(first, second) ||\n this.getHour(first) - this.getHour(second) ||\n (respectMinutePart && this.getMinute(first) - this.getMinute(second))\n );\n }\n\n sameDatetime(first: D | null, second: D | null): boolean {\n if (first && second) {\n const firstValid = this.isValid(first);\n const secondValid = this.isValid(second);\n if (firstValid && secondValid) {\n return !this.compareDatetime(first, second);\n }\n return firstValid === secondValid;\n }\n return first === second;\n }\n\n sameYear(first: D, second: D) {\n return first && second && this.getYear(first) === this.getYear(second);\n }\n\n sameDay(first: D, second: D) {\n return (\n first &&\n second &&\n this.getDate(first) === this.getDate(second) &&\n this.sameMonthAndYear(first, second)\n );\n }\n\n sameHour(first: D, second: D) {\n return (\n first && second && this.getHour(first) === this.getHour(second) && this.sameDay(first, second)\n );\n }\n\n sameMinute(first: D, second: D) {\n return (\n first &&\n second &&\n this.getMinute(first) === this.getMinute(second) &&\n this.sameHour(first, second)\n );\n }\n\n sameMonthAndYear(first: D | null, second: D | null): boolean {\n if (first && second) {\n const firstValid = this.isValid(first);\n const secondValid = this.isValid(second);\n if (firstValid && secondValid) {\n return !(\n this.getYear(first) - this.getYear(second) || this.getMonth(first) - this.getMonth(second)\n );\n }\n return firstValid === secondValid;\n }\n return first === second;\n }\n\n // delegate\n clone(date: D): D {\n return this._delegate.clone(date);\n }\n\n addCalendarYears(date: D, years: number): D {\n return this._delegate.addCalendarYears(date, years);\n }\n\n addCalendarMonths(date: D, months: number): D {\n return this._delegate.addCalendarMonths(date, months);\n }\n\n addCalendarDays(date: D, days: number): D {\n return this._delegate.addCalendarDays(date, days);\n }\n\n getYear(date: D): number {\n return this._delegate.getYear(date);\n }\n\n getMonth(date: D): number {\n return this._delegate.getMonth(date);\n }\n\n getDate(date: D): number {\n return this._delegate.getDate(date);\n }\n\n getDayOfWeek(date: D): number {\n return this._delegate.getDayOfWeek(date);\n }\n\n getMonthNames(style: any): string[] {\n return this._delegate.getMonthNames(style);\n }\n\n getDateNames(): string[] {\n return this._delegate.getDateNames();\n }\n\n getDayOfWeekNames(style: any): string[] {\n return this._delegate.getDayOfWeekNames(style);\n }\n\n getYearName(date: D): string {\n return this._delegate.getYearName(date);\n }\n\n getFirstDayOfWeek(): number {\n return this._delegate.getFirstDayOfWeek();\n }\n\n getNumDaysInMonth(date: D): number {\n return this._delegate.getNumDaysInMonth(date);\n }\n\n createDate(year: number, month: number, date: number): D {\n return this._delegate.createDate(year, month, date);\n }\n\n today(): D {\n return this._delegate.today();\n }\n\n parse(value: any, parseFormat: any): D | null {\n return this._delegate.parse(value, parseFormat);\n }\n\n format(date: D, displayFormat: any): string {\n return this._delegate.format(date, displayFormat);\n }\n\n toIso8601(date: D): string {\n return this._delegate.toIso8601(date);\n }\n\n isDateInstance(obj: any): boolean {\n return this._delegate.isDateInstance(obj);\n }\n\n isValid(date: D): boolean {\n return this._delegate.isValid(date);\n }\n\n invalid(): D {\n return this._delegate.invalid();\n }\n\n clampDate(date: D, min?: D | null, max?: D | null): D {\n if (min && (this.compareDatetime(date, min) as number) < 0) {\n return min;\n }\n if (max && (this.compareDatetime(date, max) as number) > 0) {\n return max;\n }\n return date;\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport interface MtxDatetimeFormats {\n parse: {\n dateInput?: any;\n monthInput?: any;\n yearInput?: any;\n timeInput?: any;\n datetimeInput?: any;\n };\n display: {\n dateInput: any;\n monthInput: any;\n yearInput?: any;\n timeInput: any;\n datetimeInput: any;\n monthYearLabel: any;\n dateA11yLabel: any;\n monthYearA11yLabel: any;\n popupHeaderDateLabel: any;\n };\n}\n\nexport const MTX_DATETIME_FORMATS = new InjectionToken<MtxDatetimeFormats>('mtx-datetime-formats');\n","import { Inject, Injectable, Optional } from '@angular/core';\nimport { DateAdapter, MAT_DATE_LOCALE } from '@angular/material/core';\nimport { DatetimeAdapter } from './datetime-adapter';\n\n/** The default hour names to use if Intl API is not available. */\nconst DEFAULT_HOUR_NAMES = range(24, i => String(i));\n\n/** The default minute names to use if Intl API is not available. */\nconst DEFAULT_MINUTE_NAMES = range(60, i => String(i));\n\nfunction range<T>(length: number, valueFunction: (index: number) => T): T[] {\n const valuesArray = Array(length);\n for (let i = 0; i < length; i++) {\n valuesArray[i] = valueFunction(i);\n }\n return valuesArray;\n}\n\n@Injectable()\nexport class NativeDatetimeAdapter extends DatetimeAdapter<Date> {\n constructor(\n @Optional() @Inject(MAT_DATE_LOCALE) matDateLocale: string,\n _delegate: DateAdapter<Date>\n ) {\n super(_delegate);\n this.setLocale(matDateLocale);\n }\n\n clone(date: Date): Date {\n return this.createDatetime(\n this.getYear(date),\n this.getMonth(date),\n this.getDate(date),\n this.getHour(date),\n this.getMinute(date)\n );\n }\n\n getHour(date: Date): number {\n return date.getHours();\n }\n\n getMinute(date: Date): number {\n return date.getMinutes();\n }\n\n isInNextMonth(startDate: Date, endDate: Date): boolean {\n const nextMonth = this.getDateInNextMonth(startDate);\n return this.sameMonthAndYear(nextMonth, endDate);\n }\n\n createDatetime(year: number, month: number, date: number, hour: number, minute: number): Date {\n // Check for invalid month and date (except upper bound on date which we have to check after\n // creating the Date).\n if (month < 0 || month > 11) {\n throw Error(`Invalid month index \"${month}\". Month index has to be between 0 and 11.`);\n }\n\n if (date < 1) {\n throw Error(`Invalid date \"${date}\". Date has to be greater than 0.`);\n }\n\n if (hour < 0 || hour > 23) {\n throw Error(`Invalid hour \"${hour}\". Hour has to be between 0 and 23.`);\n }\n\n if (minute < 0 || minute > 59) {\n throw Error(`Invalid minute \"${minute}\". Minute has to be between 0 and 59.`);\n }\n\n const result = this._createDateWithOverflow(year, month, date, hour, minute);\n\n // Check that the date wasn't above the upper bound for the month, causing the month to overflow\n if (result.getMonth() !== month) {\n throw Error(`Invalid date \"${date}\" for month with index \"${month}\".`);\n }\n\n return result;\n }\n\n getFirstDateOfMonth(date: Date): Date {\n const result = new Date();\n result.setFullYear(date.getFullYear(), date.getMonth(), 1);\n return result;\n }\n\n getHourNames(): string[] {\n return DEFAULT_HOUR_NAMES;\n }\n\n getMinuteNames(): string[] {\n return DEFAULT_MINUTE_NAMES;\n }\n\n addCalendarYears(date: Date, years: number): Date {\n return this.addCalendarMonths(date, years * 12);\n }\n\n addCalendarMonths(date: Date, months: number): Date {\n let newDate = this._createDateWithOverflow(\n this.getYear(date),\n this.getMonth(date) + months,\n this.getDate(date),\n this.getHour(date),\n this.getMinute(date)\n );\n\n // It's possible to wind up in the wrong month if the original month has more days than the new\n // month. In this case we want to go to the last day of the desired month.\n // Note: the additional + 12 % 12 ensures we end up with a positive number, since JS % doesn't\n // guarantee this.\n if (this.getMonth(newDate) !== (((this.getMonth(date) + months) % 12) + 12) % 12) {\n newDate = this._createDateWithOverflow(\n this.getYear(newDate),\n this.getMonth(newDate),\n 0,\n this.getHour(date),\n this.getMinute(date)\n );\n }\n\n return newDate;\n }\n\n addCalendarDays(date: Date, days: number): Date {\n return this._createDateWithOverflow(\n this.getYear(date),\n this.getMonth(date),\n this.getDate(date) + days,\n this.getHour(date),\n this.getMinute(date)\n );\n }\n\n addCalendarHours(date: Date, hours: number): Date {\n return this._createDateWithOverflow(\n this.getYear(date),\n this.getMonth(date),\n this.getDate(date),\n this.getHour(date) + hours,\n this.getMinute(date)\n );\n }\n\n addCalendarMinutes(date: Date, minutes: number): Date {\n return this._createDateWithOverflow(\n this.getYear(date),\n this.getMonth(date),\n this.getDate(date),\n this.getHour(date),\n this.getMinute(date) + minutes\n );\n }\n\n toIso8601(date: Date): string {\n return (\n super.toIso8601(date) +\n 'T' +\n [this._2digit(date.getUTCHours()), this._2digit(date.getUTCMinutes())].join(':')\n );\n }\n\n private getDateInNextMonth(date: Date) {\n return new Date(date.getFullYear(), date.getMonth() + 1, 1, date.getHours(), date.getMinutes());\n }\n\n /**\n * Strip out unicode LTR and RTL characters. Edge and IE insert these into formatted dates while\n * other browsers do not. We remove them to make output consistent and because they interfere with\n * date parsing.\n * @param str The string to strip direction characters from.\n * @returns The stripped string.\n */\n private _stripDirectionalityCharacters(str: string) {\n return str.replace(/[\\u200e\\u200f]/g, '');\n }\n\n /**\n * Pads a number to make it two digits.\n * @param n The number to pad.\n * @returns The padded number.\n */\n private _2digit(n: number) {\n return ('00' + n).slice(-2);\n }\n\n /** Creates a date but allows the month and date to overflow. */\n private _createDateWithOverflow(\n year: number,\n month: number,\n date: number,\n hours: number,\n minutes: number\n ) {\n const result = new Date(year, month, date, hours, minutes);\n\n // We need to correct for the fact that JS native Date treats years in range [0, 99] as\n // abbreviations for 19xx.\n if (year >= 0 && year < 100) {\n result.setFullYear(this.getYear(result) - 1900);\n }\n return result;\n }\n}\n","import { MtxDatetimeFormats } from './datetime-formats';\n\nexport const MTX_NATIVE_DATETIME_FORMATS: MtxDatetimeFormats = {\n parse: {},\n display: {\n dateInput: { year: 'numeric', month: '2-digit', day: '2-digit' },\n monthInput: { month: 'long' },\n datetimeInput: {\n year: 'numeric',\n month: '2-digit',\n day: '2-digit',\n hour: '2-digit',\n minute: '2-digit',\n },\n timeInput: { hour: '2-digit', minute: '2-digit' },\n monthYearLabel: { year: 'numeric', month: 'short' },\n dateA11yLabel: { year: 'numeric', month: 'long', day: 'numeric' },\n monthYearA11yLabel: { year: 'numeric', month: 'long' },\n popupHeaderDateLabel: { weekday: 'short', month: 'short', day: '2-digit' },\n },\n};\n","import { NgModule, Provider } from '@angular/core';\nimport { NativeDateModule, provideNativeDateAdapter } from '@angular/material/core';\nimport { DatetimeAdapter } from './datetime-adapter';\nimport { MTX_DATETIME_FORMATS, MtxDatetimeFormats } from './datetime-formats';\nimport { NativeDatetimeAdapter } from './native-datetime-adapter';\nimport { MTX_NATIVE_DATETIME_FORMATS } from './native-datetime-formats';\n\n@NgModule({\n imports: [NativeDateModule],\n providers: [{ provide: DatetimeAdapter, useClass: NativeDatetimeAdapter }],\n})\nexport class NativeDatetimeModule {}\n\nexport function provideNativeDatetimeAdapter(\n formats: MtxDatetimeFormats = MTX_NATIVE_DATETIME_FORMATS\n): Provider[] {\n return [\n provideNativeDateAdapter(),\n { provide: DatetimeAdapter, useClass: NativeDatetimeAdapter },\n { provide: MTX_DATETIME_FORMATS, useValue: formats },\n ];\n}\n\n@NgModule({\n providers: [provideNativeDatetimeAdapter()],\n})\nexport class MtxNativeDatetimeModule {}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { Observable, of, isObservable } from 'rxjs';\n\n@Pipe({ name: 'toObservable', standalone: true })\nexport class MtxToObservablePipe implements PipeTransform {\n // eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents\n transform(value: Observable<any> | unknown): Observable<any> {\n return isObservable(value) ? value : of(value);\n }\n}\n","import { Pipe, PipeTransform, TemplateRef } from '@angular/core';\n\n@Pipe({ name: 'isTemplateRef', standalone: true })\nexport class MtxIsTemplateRefPipe implements PipeTransform {\n transform(obj: any) {\n return obj instanceof TemplateRef;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { MtxToObservablePipe } from './to-observable.pipe';\nimport { MtxIsTemplateRefPipe } from './is-template-ref.pipe';\n\n@NgModule({\n imports: [CommonModule, MtxToObservablePipe, MtxIsTemplateRefPipe],\n exports: [MtxToObservablePipe, MtxIsTemplateRefPipe],\n})\nexport class MtxPipesModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}