@ng-matero/extensions 18.4.1 → 19.0.1

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 (286) hide show
  1. package/_index.scss +3 -1
  2. package/alert/_alert-theme.scss +19 -8
  3. package/alert/alert.d.ts +1 -2
  4. package/button/button-loading.d.ts +1 -2
  5. package/checkbox-group/checkbox-group.d.ts +12 -4
  6. package/colorpicker/_colorpicker-theme.scss +19 -8
  7. package/colorpicker/colorpicker-input.d.ts +1 -3
  8. package/colorpicker/colorpicker-toggle.d.ts +3 -3
  9. package/colorpicker/colorpicker.d.ts +4 -7
  10. package/column-resize/column-resize-directives/column-resize-flex.d.ts +2 -1
  11. package/column-resize/column-resize-directives/column-resize.d.ts +2 -1
  12. package/column-resize/column-resize-notifier.d.ts +0 -1
  13. package/column-resize/column-resize.d.ts +1 -1
  14. package/column-resize/event-dispatcher.d.ts +0 -9
  15. package/column-resize/overlay-handle.d.ts +1 -1
  16. package/column-resize/resizable.d.ts +1 -1
  17. package/column-resize/resize-strategy.d.ts +4 -4
  18. package/core/datetime/datetime-adapter.d.ts +1 -2
  19. package/core/datetime/native-datetime-adapter.d.ts +3 -3
  20. package/core/style/_button-common.scss +18 -0
  21. package/core/theming/_config-validation.scss +4 -4
  22. package/core/theming/_definition.scss +12 -2
  23. package/core/theming/prebuilt/azure-blue.scss +10 -22
  24. package/core/theming/prebuilt/cyan-orange.scss +10 -22
  25. package/core/theming/prebuilt/magenta-violet.scss +10 -22
  26. package/core/theming/prebuilt/rose-red.scss +10 -22
  27. package/core/tokens/_m3-system.scss +273 -0
  28. package/core/tokens/_m3-tokens.scss +8 -151
  29. package/core/tokens/_token-utils.scss +102 -43
  30. package/core/tokens/m2/_index.scss +2 -0
  31. package/core/tokens/m3/definitions/_index.scss +1 -0
  32. package/core/tokens/m3/definitions/_md-comp-plain-tooltip.scss +51 -0
  33. package/core/tokens/m3/index.scss +2 -0
  34. package/core/tokens/m3/mdc/_plain-tooltip.scss +15 -0
  35. package/core/tokens/m3/mtx/_alert.scss +14 -14
  36. package/core/tokens/m3/mtx/_colorpicker.scss +2 -2
  37. package/core/tokens/m3/mtx/_datetimepicker.scss +2 -2
  38. package/core/tokens/m3/mtx/_drawer.scss +2 -2
  39. package/core/tokens/m3/mtx/_grid.scss +2 -2
  40. package/core/tokens/m3/mtx/_loader.scss +2 -2
  41. package/core/tokens/m3/mtx/_popover.scss +2 -2
  42. package/core/tokens/m3/mtx/_progress.scss +2 -2
  43. package/core/tokens/m3/mtx/_select.scss +2 -2
  44. package/core/tokens/m3/mtx/_split.scss +2 -2
  45. package/datetimepicker/_datetimepicker-theme.scss +23 -10
  46. package/datetimepicker/calendar-body.d.ts +26 -4
  47. package/datetimepicker/calendar-body.scss +58 -9
  48. package/datetimepicker/calendar.d.ts +31 -31
  49. package/datetimepicker/clock.d.ts +11 -5
  50. package/datetimepicker/datetimepicker-actions.d.ts +9 -5
  51. package/datetimepicker/datetimepicker-content.scss +15 -0
  52. package/datetimepicker/datetimepicker-input.d.ts +4 -5
  53. package/datetimepicker/datetimepicker-module.d.ts +2 -2
  54. package/datetimepicker/datetimepicker-toggle.d.ts +4 -3
  55. package/datetimepicker/datetimepicker.d.ts +12 -8
  56. package/datetimepicker/month-view.d.ts +22 -7
  57. package/datetimepicker/multi-year-view.d.ts +20 -20
  58. package/datetimepicker/public-api.d.ts +2 -2
  59. package/datetimepicker/{time.d.ts → time-view.d.ts} +21 -9
  60. package/datetimepicker/{time.scss → time-view.scss} +1 -1
  61. package/datetimepicker/year-view.d.ts +21 -11
  62. package/dialog/dialog-container.d.ts +1 -2
  63. package/dialog/dialog.d.ts +0 -1
  64. package/drawer/_drawer-theme.scss +19 -8
  65. package/drawer/drawer-container.d.ts +2 -5
  66. package/drawer/drawer.d.ts +3 -5
  67. package/fesm2022/mtxAlert.mjs +15 -15
  68. package/fesm2022/mtxAlert.mjs.map +1 -1
  69. package/fesm2022/mtxButton.mjs +13 -14
  70. package/fesm2022/mtxButton.mjs.map +1 -1
  71. package/fesm2022/mtxCheckboxGroup.mjs +51 -31
  72. package/fesm2022/mtxCheckboxGroup.mjs.map +1 -1
  73. package/fesm2022/mtxColorpicker.mjs +91 -109
  74. package/fesm2022/mtxColorpicker.mjs.map +1 -1
  75. package/fesm2022/mtxColumnResize.mjs +79 -96
  76. package/fesm2022/mtxColumnResize.mjs.map +1 -1
  77. package/fesm2022/mtxCore.mjs +31 -36
  78. package/fesm2022/mtxCore.mjs.map +1 -1
  79. package/fesm2022/mtxDatetimepicker.mjs +1181 -1093
  80. package/fesm2022/mtxDatetimepicker.mjs.map +1 -1
  81. package/fesm2022/mtxDialog.mjs +30 -41
  82. package/fesm2022/mtxDialog.mjs.map +1 -1
  83. package/fesm2022/mtxDrawer.mjs +36 -52
  84. package/fesm2022/mtxDrawer.mjs.map +1 -1
  85. package/fesm2022/mtxGrid.mjs +168 -204
  86. package/fesm2022/mtxGrid.mjs.map +1 -1
  87. package/fesm2022/mtxLoader.mjs +12 -12
  88. package/fesm2022/mtxLoader.mjs.map +1 -1
  89. package/fesm2022/mtxPhotoviewer.mjs +11 -12
  90. package/fesm2022/mtxPhotoviewer.mjs.map +1 -1
  91. package/fesm2022/mtxPopover.mjs +106 -119
  92. package/fesm2022/mtxPopover.mjs.map +1 -1
  93. package/fesm2022/mtxProgress.mjs +8 -8
  94. package/fesm2022/mtxProgress.mjs.map +1 -1
  95. package/fesm2022/mtxSelect.mjs +157 -169
  96. package/fesm2022/mtxSelect.mjs.map +1 -1
  97. package/fesm2022/mtxSplit.mjs +39 -40
  98. package/fesm2022/mtxSplit.mjs.map +1 -1
  99. package/fesm2022/mtxTooltip.mjs +105 -91
  100. package/fesm2022/mtxTooltip.mjs.map +1 -1
  101. package/grid/_grid-theme.scss +23 -10
  102. package/grid/cell.d.ts +1 -4
  103. package/grid/column-resize/column-resize-directives/column-resize-flex.d.ts +0 -1
  104. package/grid/column-resize/column-resize-directives/column-resize.d.ts +0 -1
  105. package/grid/column-resize/overlay-handle.d.ts +1 -2
  106. package/grid/column-resize/resizable-directives/resizable.d.ts +2 -3
  107. package/grid/column-resize/resize-strategy.d.ts +2 -4
  108. package/grid/grid-pipes.d.ts +0 -2
  109. package/grid/grid.d.ts +5 -5
  110. package/grid/grid.scss +5 -6
  111. package/loader/_loader-theme.scss +19 -8
  112. package/loader/loader.d.ts +0 -2
  113. package/package.json +11 -47
  114. package/photoviewer/photoviewer.d.ts +1 -2
  115. package/popover/_popover-theme.scss +19 -8
  116. package/popover/popover-content.d.ts +1 -1
  117. package/popover/popover-target.d.ts +1 -2
  118. package/popover/popover-trigger.d.ts +5 -6
  119. package/popover/popover.d.ts +1 -2
  120. package/prebuilt-themes/azure-blue.css +1 -1
  121. package/prebuilt-themes/cyan-orange.css +1 -1
  122. package/prebuilt-themes/deeppurple-amber.css +1 -1
  123. package/prebuilt-themes/indigo-pink.css +1 -1
  124. package/prebuilt-themes/magenta-violet.css +1 -1
  125. package/prebuilt-themes/pink-bluegrey.css +1 -1
  126. package/prebuilt-themes/purple-green.css +1 -1
  127. package/prebuilt-themes/rose-red.css +1 -1
  128. package/progress/_progress-theme.scss +23 -10
  129. package/select/_select-theme.scss +23 -10
  130. package/select/option.d.ts +0 -1
  131. package/select/select-intl.d.ts +2 -4
  132. package/select/select.d.ts +8 -7
  133. package/select/select.scss +3 -3
  134. package/select/templates.d.ts +0 -12
  135. package/split/_split-theme.scss +19 -8
  136. package/split/split-pane.d.ts +3 -4
  137. package/split/split.d.ts +4 -4
  138. package/split/split.scss +1 -1
  139. package/tooltip/_tooltip-theme.scss +11 -4
  140. package/tooltip/tooltip.d.ts +17 -9
  141. package/tooltip/tooltip.scss +8 -3
  142. package/esm2022/alert/alert-module.mjs +0 -17
  143. package/esm2022/alert/alert.mjs +0 -46
  144. package/esm2022/alert/mtxAlert.mjs +0 -5
  145. package/esm2022/alert/public-api.mjs +0 -3
  146. package/esm2022/button/button-loading.mjs +0 -66
  147. package/esm2022/button/button-module.mjs +0 -19
  148. package/esm2022/button/mtxButton.mjs +0 -5
  149. package/esm2022/button/public-api.mjs +0 -3
  150. package/esm2022/checkbox-group/checkbox-group-module.mjs +0 -20
  151. package/esm2022/checkbox-group/checkbox-group.mjs +0 -222
  152. package/esm2022/checkbox-group/interfaces.mjs +0 -2
  153. package/esm2022/checkbox-group/mtxCheckboxGroup.mjs +0 -5
  154. package/esm2022/checkbox-group/public-api.mjs +0 -4
  155. package/esm2022/colorpicker/colorpicker-animations.mjs +0 -16
  156. package/esm2022/colorpicker/colorpicker-input.mjs +0 -228
  157. package/esm2022/colorpicker/colorpicker-module.mjs +0 -64
  158. package/esm2022/colorpicker/colorpicker-toggle.mjs +0 -102
  159. package/esm2022/colorpicker/colorpicker.mjs +0 -363
  160. package/esm2022/colorpicker/mtxColorpicker.mjs +0 -5
  161. package/esm2022/colorpicker/public-api.mjs +0 -6
  162. package/esm2022/column-resize/column-resize-directives/column-resize-flex.mjs +0 -40
  163. package/esm2022/column-resize/column-resize-directives/column-resize.mjs +0 -40
  164. package/esm2022/column-resize/column-resize-directives/constants.mjs +0 -21
  165. package/esm2022/column-resize/column-resize-module.mjs +0 -28
  166. package/esm2022/column-resize/column-resize-notifier.mjs +0 -52
  167. package/esm2022/column-resize/column-resize.mjs +0 -82
  168. package/esm2022/column-resize/column-size-store.mjs +0 -20
  169. package/esm2022/column-resize/event-dispatcher.mjs +0 -70
  170. package/esm2022/column-resize/mtxColumnResize.mjs +0 -5
  171. package/esm2022/column-resize/overlay-handle.mjs +0 -146
  172. package/esm2022/column-resize/polyfill.mjs +0 -19
  173. package/esm2022/column-resize/public-api.mjs +0 -13
  174. package/esm2022/column-resize/resizable.mjs +0 -199
  175. package/esm2022/column-resize/resize-ref.mjs +0 -17
  176. package/esm2022/column-resize/resize-strategy.mjs +0 -238
  177. package/esm2022/column-resize/selectors.mjs +0 -13
  178. package/esm2022/core/datetime/datetime-adapter.mjs +0 -132
  179. package/esm2022/core/datetime/datetime-formats.mjs +0 -3
  180. package/esm2022/core/datetime/datetime.module.mjs +0 -38
  181. package/esm2022/core/datetime/index.mjs +0 -6
  182. package/esm2022/core/datetime/native-datetime-adapter.mjs +0 -138
  183. package/esm2022/core/datetime/native-datetime-formats.mjs +0 -20
  184. package/esm2022/core/mtxCore.mjs +0 -5
  185. package/esm2022/core/pipes/index.mjs +0 -4
  186. package/esm2022/core/pipes/is-template-ref.pipe.mjs +0 -14
  187. package/esm2022/core/pipes/pipes.module.mjs +0 -18
  188. package/esm2022/core/pipes/to-observable.pipe.mjs +0 -15
  189. package/esm2022/core/public-api.mjs +0 -3
  190. package/esm2022/datetimepicker/calendar-body.mjs +0 -77
  191. package/esm2022/datetimepicker/calendar.mjs +0 -661
  192. package/esm2022/datetimepicker/clock.mjs +0 -362
  193. package/esm2022/datetimepicker/datetimepicker-actions.mjs +0 -88
  194. package/esm2022/datetimepicker/datetimepicker-animations.mjs +0 -44
  195. package/esm2022/datetimepicker/datetimepicker-errors.mjs +0 -8
  196. package/esm2022/datetimepicker/datetimepicker-filtertype.mjs +0 -7
  197. package/esm2022/datetimepicker/datetimepicker-input.mjs +0 -349
  198. package/esm2022/datetimepicker/datetimepicker-intl.mjs +0 -63
  199. package/esm2022/datetimepicker/datetimepicker-module.mjs +0 -116
  200. package/esm2022/datetimepicker/datetimepicker-toggle.mjs +0 -105
  201. package/esm2022/datetimepicker/datetimepicker-types.mjs +0 -2
  202. package/esm2022/datetimepicker/datetimepicker.mjs +0 -580
  203. package/esm2022/datetimepicker/month-view.mjs +0 -148
  204. package/esm2022/datetimepicker/mtxDatetimepicker.mjs +0 -5
  205. package/esm2022/datetimepicker/multi-year-view.mjs +0 -215
  206. package/esm2022/datetimepicker/public-api.mjs +0 -17
  207. package/esm2022/datetimepicker/time.mjs +0 -470
  208. package/esm2022/datetimepicker/year-view.mjs +0 -139
  209. package/esm2022/dialog/dialog-config.mjs +0 -2
  210. package/esm2022/dialog/dialog-container.mjs +0 -43
  211. package/esm2022/dialog/dialog-module.mjs +0 -40
  212. package/esm2022/dialog/dialog.mjs +0 -75
  213. package/esm2022/dialog/mtxDialog.mjs +0 -5
  214. package/esm2022/dialog/public-api.mjs +0 -5
  215. package/esm2022/drawer/drawer-animations.mjs +0 -18
  216. package/esm2022/drawer/drawer-config.mjs +0 -35
  217. package/esm2022/drawer/drawer-container.mjs +0 -88
  218. package/esm2022/drawer/drawer-module.mjs +0 -21
  219. package/esm2022/drawer/drawer-ref.mjs +0 -99
  220. package/esm2022/drawer/drawer.mjs +0 -144
  221. package/esm2022/drawer/mtxDrawer.mjs +0 -5
  222. package/esm2022/drawer/public-api.mjs +0 -7
  223. package/esm2022/grid/cell.mjs +0 -132
  224. package/esm2022/grid/column-menu.mjs +0 -133
  225. package/esm2022/grid/column-resize/column-resize-directives/column-resize-flex.mjs +0 -38
  226. package/esm2022/grid/column-resize/column-resize-directives/column-resize.mjs +0 -38
  227. package/esm2022/grid/column-resize/column-resize-directives/common.mjs +0 -27
  228. package/esm2022/grid/column-resize/column-resize-module.mjs +0 -42
  229. package/esm2022/grid/column-resize/index.mjs +0 -8
  230. package/esm2022/grid/column-resize/overlay-handle.mjs +0 -66
  231. package/esm2022/grid/column-resize/resizable-directives/common.mjs +0 -29
  232. package/esm2022/grid/column-resize/resizable-directives/resizable.mjs +0 -64
  233. package/esm2022/grid/column-resize/resize-strategy.mjs +0 -47
  234. package/esm2022/grid/expansion-toggle.mjs +0 -65
  235. package/esm2022/grid/grid-module.mjs +0 -151
  236. package/esm2022/grid/grid-pipes.mjs +0 -129
  237. package/esm2022/grid/grid-utils.mjs +0 -56
  238. package/esm2022/grid/grid.mjs +0 -644
  239. package/esm2022/grid/interfaces.mjs +0 -2
  240. package/esm2022/grid/mtxGrid.mjs +0 -5
  241. package/esm2022/grid/public-api.mjs +0 -18
  242. package/esm2022/grid/selectable-cell.mjs +0 -53
  243. package/esm2022/loader/loader-module.mjs +0 -19
  244. package/esm2022/loader/loader.mjs +0 -57
  245. package/esm2022/loader/mtxLoader.mjs +0 -5
  246. package/esm2022/loader/public-api.mjs +0 -3
  247. package/esm2022/ng-matero-extensions.mjs +0 -5
  248. package/esm2022/photoviewer/mtxPhotoviewer.mjs +0 -5
  249. package/esm2022/photoviewer/photoviewer-module.mjs +0 -16
  250. package/esm2022/photoviewer/photoviewer.mjs +0 -64
  251. package/esm2022/photoviewer/public-api.mjs +0 -3
  252. package/esm2022/popover/mtxPopover.mjs +0 -5
  253. package/esm2022/popover/popover-animations.mjs +0 -25
  254. package/esm2022/popover/popover-content.mjs +0 -91
  255. package/esm2022/popover/popover-errors.mjs +0 -27
  256. package/esm2022/popover/popover-interfaces.mjs +0 -2
  257. package/esm2022/popover/popover-module.mjs +0 -39
  258. package/esm2022/popover/popover-target.mjs +0 -18
  259. package/esm2022/popover/popover-trigger.mjs +0 -480
  260. package/esm2022/popover/popover-types.mjs +0 -2
  261. package/esm2022/popover/popover.mjs +0 -325
  262. package/esm2022/popover/public-api.mjs +0 -9
  263. package/esm2022/progress/mtxProgress.mjs +0 -5
  264. package/esm2022/progress/progress-module.mjs +0 -17
  265. package/esm2022/progress/progress.mjs +0 -43
  266. package/esm2022/progress/public-api.mjs +0 -3
  267. package/esm2022/public-api.mjs +0 -5
  268. package/esm2022/select/mtxSelect.mjs +0 -5
  269. package/esm2022/select/option.mjs +0 -52
  270. package/esm2022/select/public-api.mjs +0 -6
  271. package/esm2022/select/select-intl.mjs +0 -32
  272. package/esm2022/select/select-module.mjs +0 -89
  273. package/esm2022/select/select.mjs +0 -611
  274. package/esm2022/select/templates.mjs +0 -135
  275. package/esm2022/split/interfaces.mjs +0 -2
  276. package/esm2022/split/mtxSplit.mjs +0 -5
  277. package/esm2022/split/public-api.mjs +0 -6
  278. package/esm2022/split/split-module.mjs +0 -18
  279. package/esm2022/split/split-pane.mjs +0 -161
  280. package/esm2022/split/split.mjs +0 -634
  281. package/esm2022/split/utils.mjs +0 -219
  282. package/esm2022/tooltip/mtxTooltip.mjs +0 -5
  283. package/esm2022/tooltip/public-api.mjs +0 -4
  284. package/esm2022/tooltip/tooltip-animations.mjs +0 -17
  285. package/esm2022/tooltip/tooltip-module.mjs +0 -41
  286. package/esm2022/tooltip/tooltip.mjs +0 -915
@@ -1,148 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, EventEmitter, Inject, Input, Optional, Output, ViewEncapsulation, } from '@angular/core';
2
- import { MTX_DATETIME_FORMATS, } from '@ng-matero/extensions/core';
3
- import { MtxCalendarBody, MtxCalendarCell } from './calendar-body';
4
- import { mtxDatetimepickerAnimations } from './datetimepicker-animations';
5
- import { createMissingDateImplError } from './datetimepicker-errors';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@ng-matero/extensions/core";
8
- const DAYS_PER_WEEK = 7;
9
- /**
10
- * An internal component used to display a single month in the datetimepicker.
11
- * @docs-private
12
- */
13
- export class MtxMonthView {
14
- constructor(_adapter, _dateFormats) {
15
- this._adapter = _adapter;
16
- this._dateFormats = _dateFormats;
17
- this.type = 'date';
18
- /** Emits when a new date is selected. */
19
- this.selectedChange = new EventEmitter();
20
- /** Emits when any date is selected. */
21
- this._userSelection = new EventEmitter();
22
- if (!this._adapter) {
23
- throw createMissingDateImplError('DatetimeAdapter');
24
- }
25
- if (!this._dateFormats) {
26
- throw createMissingDateImplError('MTX_DATETIME_FORMATS');
27
- }
28
- const firstDayOfWeek = this._adapter.getFirstDayOfWeek();
29
- const narrowWeekdays = this._adapter.getDayOfWeekNames('narrow');
30
- const longWeekdays = this._adapter.getDayOfWeekNames('long');
31
- // Rotate the labels for days of the week based on the configured first day of the week.
32
- const weekdays = longWeekdays.map((long, i) => {
33
- return { long, narrow: narrowWeekdays[i] };
34
- });
35
- this._weekdays = weekdays.slice(firstDayOfWeek).concat(weekdays.slice(0, firstDayOfWeek));
36
- this._activeDate = this._adapter.today();
37
- }
38
- /**
39
- * The date to display in this month view (everything other than the month and year is ignored).
40
- */
41
- get activeDate() {
42
- return this._activeDate;
43
- }
44
- set activeDate(value) {
45
- const oldActiveDate = this._activeDate;
46
- this._activeDate = value || this._adapter.today();
47
- if (oldActiveDate &&
48
- this._activeDate &&
49
- !this._adapter.sameMonthAndYear(oldActiveDate, this._activeDate)) {
50
- this._init();
51
- if (this._adapter.isInNextMonth(oldActiveDate, this._activeDate)) {
52
- this.calendarState('right');
53
- }
54
- else {
55
- this.calendarState('left');
56
- }
57
- }
58
- }
59
- /** The currently selected date. */
60
- get selected() {
61
- return this._selected;
62
- }
63
- set selected(value) {
64
- this._selected = value;
65
- this._selectedDate = this._getDateInCurrentMonth(this.selected);
66
- }
67
- ngAfterContentInit() {
68
- this._init();
69
- }
70
- /** Handles when a new date is selected. */
71
- _dateSelected(date) {
72
- const dateObject = this._adapter.createDatetime(this._adapter.getYear(this.activeDate), this._adapter.getMonth(this.activeDate), date, this._adapter.getHour(this.activeDate), this._adapter.getMinute(this.activeDate));
73
- this.selectedChange.emit(dateObject);
74
- this._activeDate = dateObject;
75
- if (this.type === 'date') {
76
- this._userSelection.emit();
77
- }
78
- }
79
- _calendarStateDone() {
80
- this._calendarState = '';
81
- }
82
- /** Initializes this month view. */
83
- _init() {
84
- this._selectedDate = this._getDateInCurrentMonth(this.selected);
85
- this._todayDate = this._getDateInCurrentMonth(this._adapter.today());
86
- const firstOfMonth = this._adapter.createDatetime(this._adapter.getYear(this.activeDate), this._adapter.getMonth(this.activeDate), 1, this._adapter.getHour(this.activeDate), this._adapter.getMinute(this.activeDate));
87
- this._firstWeekOffset =
88
- (DAYS_PER_WEEK +
89
- this._adapter.getDayOfWeek(firstOfMonth) -
90
- this._adapter.getFirstDayOfWeek()) %
91
- DAYS_PER_WEEK;
92
- this._createWeekCells();
93
- }
94
- /** Creates MdCalendarCells for the dates in this month. */
95
- _createWeekCells() {
96
- const daysInMonth = this._adapter.getNumDaysInMonth(this.activeDate);
97
- const dateNames = this._adapter.getDateNames();
98
- this._weeks = [[]];
99
- for (let i = 0, cell = this._firstWeekOffset; i < daysInMonth; i++, cell++) {
100
- if (cell === DAYS_PER_WEEK) {
101
- this._weeks.push([]);
102
- cell = 0;
103
- }
104
- const date = this._adapter.createDatetime(this._adapter.getYear(this.activeDate), this._adapter.getMonth(this.activeDate), i + 1, this._adapter.getHour(this.activeDate), this._adapter.getMinute(this.activeDate));
105
- const enabled = !this.dateFilter || this.dateFilter(date);
106
- const ariaLabel = this._adapter.format(date, this._dateFormats.display.dateA11yLabel);
107
- this._weeks[this._weeks.length - 1].push(new MtxCalendarCell(i + 1, dateNames[i], ariaLabel, enabled));
108
- }
109
- }
110
- /**
111
- * Gets the date in this month that the given Date falls on.
112
- * Returns null if the given Date is in another month.
113
- */
114
- _getDateInCurrentMonth(date) {
115
- return this._adapter.sameMonthAndYear(date, this.activeDate)
116
- ? this._adapter.getDate(date)
117
- : null;
118
- }
119
- calendarState(direction) {
120
- this._calendarState = direction;
121
- }
122
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: MtxMonthView, deps: [{ token: i1.DatetimeAdapter, optional: true }, { token: MTX_DATETIME_FORMATS, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
123
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: MtxMonthView, isStandalone: true, selector: "mtx-month-view", inputs: { type: "type", dateFilter: "dateFilter", activeDate: "activeDate", selected: "selected" }, outputs: { selectedChange: "selectedChange", _userSelection: "_userSelection" }, exportAs: ["mtxMonthView"], ngImport: i0, template: "<table class=\"mtx-calendar-table\" role=\"grid\">\n <thead class=\"mtx-calendar-table-header\">\n <tr>\n @for (day of _weekdays; track day) {\n <th [attr.aria-label]=\"day.long\">{{day.narrow}}</th>\n }\n </tr>\n </thead>\n <tbody mtx-calendar-body\n (@slideCalendar.done)=\"_calendarStateDone()\"\n [@slideCalendar]=\"_calendarState\"\n [rows]=\"_weeks\"\n [todayValue]=\"_todayDate!\"\n [activeCell]=\"_adapter.getDate(activeDate) - 1\"\n [selectedValue]=\"_selectedDate!\"\n (selectedValueChange)=\"_dateSelected($event)\"></tbody>\n</table>\n", dependencies: [{ kind: "component", type: MtxCalendarBody, selector: "[mtx-calendar-body]", inputs: ["label", "rows", "todayValue", "selectedValue", "labelMinRequiredCells", "numCols", "allowDisabledSelection", "activeCell"], outputs: ["selectedValueChange"], exportAs: ["mtxCalendarBody"] }], animations: [mtxDatetimepickerAnimations.slideCalendar], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
124
- }
125
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: MtxMonthView, decorators: [{
126
- type: Component,
127
- args: [{ selector: 'mtx-month-view', exportAs: 'mtxMonthView', animations: [mtxDatetimepickerAnimations.slideCalendar], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [MtxCalendarBody], template: "<table class=\"mtx-calendar-table\" role=\"grid\">\n <thead class=\"mtx-calendar-table-header\">\n <tr>\n @for (day of _weekdays; track day) {\n <th [attr.aria-label]=\"day.long\">{{day.narrow}}</th>\n }\n </tr>\n </thead>\n <tbody mtx-calendar-body\n (@slideCalendar.done)=\"_calendarStateDone()\"\n [@slideCalendar]=\"_calendarState\"\n [rows]=\"_weeks\"\n [todayValue]=\"_todayDate!\"\n [activeCell]=\"_adapter.getDate(activeDate) - 1\"\n [selectedValue]=\"_selectedDate!\"\n (selectedValueChange)=\"_dateSelected($event)\"></tbody>\n</table>\n" }]
128
- }], ctorParameters: () => [{ type: i1.DatetimeAdapter, decorators: [{
129
- type: Optional
130
- }] }, { type: undefined, decorators: [{
131
- type: Optional
132
- }, {
133
- type: Inject,
134
- args: [MTX_DATETIME_FORMATS]
135
- }] }], propDecorators: { type: [{
136
- type: Input
137
- }], dateFilter: [{
138
- type: Input
139
- }], selectedChange: [{
140
- type: Output
141
- }], _userSelection: [{
142
- type: Output
143
- }], activeDate: [{
144
- type: Input
145
- }], selected: [{
146
- type: Input
147
- }] } });
148
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9udGgtdmlldy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2V4dGVuc2lvbnMvZGF0ZXRpbWVwaWNrZXIvbW9udGgtdmlldy50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL2V4dGVuc2lvbnMvZGF0ZXRpbWVwaWNrZXIvbW9udGgtdmlldy5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBQ04saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFFTCxvQkFBb0IsR0FFckIsTUFBTSw0QkFBNEIsQ0FBQztBQUNwQyxPQUFPLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25FLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzFFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7QUFHckUsTUFBTSxhQUFhLEdBQUcsQ0FBQyxDQUFDO0FBRXhCOzs7R0FHRztBQVdILE1BQU0sT0FBTyxZQUFZO0lBZ0N2QixZQUNxQixRQUE0QixFQUNHLFlBQWdDO1FBRC9ELGFBQVEsR0FBUixRQUFRLENBQW9CO1FBQ0csaUJBQVksR0FBWixZQUFZLENBQW9CO1FBakMzRSxTQUFJLEdBQTBCLE1BQU0sQ0FBQztRQUs5Qyx5Q0FBeUM7UUFDL0IsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBSyxDQUFDO1FBRWpELHVDQUF1QztRQUNwQixtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUEwQjNELElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbkIsTUFBTSwwQkFBMEIsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3RELENBQUM7UUFFRCxJQUFJ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LGNBQWM7c0JBQWhDLE1BQU07Z0JBcURILFVBQVU7c0JBRGIsS0FBSztnQkF3QkYsUUFBUTtzQkFEWCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPcHRpb25hbCxcbiAgT3V0cHV0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBEYXRldGltZUFkYXB0ZXIsXG4gIE1UWF9EQVRFVElNRV9GT1JNQVRTLFxuICBNdHhEYXRldGltZUZvcm1hdHMsXG59IGZyb20gJ0BuZy1tYXRlcm8vZXh0ZW5zaW9ucy9jb3JlJztcbmltcG9ydCB7IE10eENhbGVuZGFyQm9keSwgTXR4Q2FsZW5kYXJDZWxsIH0gZnJvbSAnLi9jYWxlbmRhci1ib2R5JztcbmltcG9ydCB7IG10eERhdGV0aW1lcGlja2VyQW5pbWF0aW9ucyB9IGZyb20gJy4vZGF0ZXRpbWVwaWNrZXItYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBjcmVhdGVNaXNzaW5nRGF0ZUltcGxFcnJvciB9IGZyb20gJy4vZGF0ZXRpbWVwaWNrZXItZXJyb3JzJztcbmltcG9ydCB7IE10eERhdGV0aW1lcGlja2VyVHlwZSB9IGZyb20gJy4vZGF0ZXRpbWVwaWNrZXItdHlwZXMnO1xuXG5jb25zdCBEQVlTX1BFUl9XRUVLID0gNztcblxuLyoqXG4gKiBBbiBpbnRlcm5hbCBjb21wb25lbnQgdXNlZCB0byBkaXNwbGF5IGEgc2luZ2xlIG1vbnRoIGluIHRoZSBkYXRldGltZXBpY2tlci5cbiAqIEBkb2NzLXByaXZhdGVcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbXR4LW1vbnRoLXZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJ21vbnRoLXZpZXcuaHRtbCcsXG4gIGV4cG9ydEFzOiAnbXR4TW9udGhWaWV3JyxcbiAgYW5pbWF0aW9uczogW210eERhdGV0aW1lcGlja2VyQW5pbWF0aW9ucy5zbGlkZUNhbGVuZGFyXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtNdHhDYWxlbmRhckJvZHldLFxufSlcbmV4cG9ydCBjbGFzcyBNdHhNb250aFZpZXc8RD4gaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcbiAgQElucHV0KCkgdHlwZTogTXR4RGF0ZXRpbWVwaWNrZXJUeXBlID0gJ2RhdGUnO1xuXG4gIC8qKiBBIGZ1bmN0aW9uIHVzZWQgdG8gZmlsdGVyIHdoaWNoIGRhdGVzIGFyZSBzZWxlY3RhYmxlLiAqL1xuICBASW5wdXQoKSBkYXRlRmlsdGVyITogKGRhdGU6IEQpID0+IGJvb2xlYW47XG5cbiAgLyoqIEVtaXRzIHdoZW4gYSBuZXcgZGF0ZSBpcyBzZWxlY3RlZC4gKi9cbiAgQE91dHB1dCgpIHNlbGVjdGVkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxEPigpO1xuXG4gIC8qKiBFbWl0cyB3aGVuIGFueSBkYXRlIGlzIHNlbGVjdGVkLiAqL1xuICBAT3V0cHV0KCkgcmVhZG9ubHkgX3VzZXJTZWxlY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgLyoqIEdyaWQgb2YgY2FsZW5kYXIgY2VsbHMgcmVwcmVzZW50aW5nIHRoZSBkYXRlcyBvZiB0aGUgbW9udGguICovXG4gIF93ZWVrcyE6IE10eENhbGVuZGFyQ2VsbFtdW107XG5cbiAgLyoqIFRoZSBudW1iZXIgb2YgYmxhbmsgY2VsbHMgaW4gdGhlIGZpcnN0IHJvdyBiZWZvcmUgdGhlIDFzdCBvZiB0aGUgbW9udGguICovXG4gIF9maXJzdFdlZWtPZmZzZXQhOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBkYXRlIG9mIHRoZSBtb250aCB0aGF0IHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgRGF0ZSBmYWxscyBvbi5cbiAgICogTnVsbCBpZiB0aGUgY3VycmVudGx5IHNlbGVjdGVkIERhdGUgaXMgaW4gYW5vdGhlciBtb250aC5cbiAgICovXG4gIF9zZWxlY3RlZERhdGUhOiBudW1iZXIgfCBudWxsO1xuXG4gIC8qKiBUaGUgZGF0ZSBvZiB0aGUgbW9udGggdGhhdCB0b2RheSBmYWxscyBvbi4gTnVsbCBpZiB0b2RheSBpcyBpbiBhbm90aGVyIG1vbnRoLiAqL1xuICBfdG9kYXlEYXRlITogbnVtYmVyIHwgbnVsbDtcblxuICAvKiogVGhlIG5hbWVzIG9mIHRoZSB3ZWVrZGF5cy4gKi9cbiAgX3dlZWtkYXlzOiB7IGxvbmc6IHN0cmluZzsgbmFycm93OiBzdHJpbmcgfVtdO1xuXG4gIF9jYWxlbmRhclN0YXRlITogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIHB1YmxpYyBfYWRhcHRlcjogRGF0ZXRpbWVBZGFwdGVyPEQ+LFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoTVRYX0RBVEVUSU1FX0ZPUk1BVFMpIHByaXZhdGUgX2RhdGVGb3JtYXRzOiBNdHhEYXRldGltZUZvcm1hdHNcbiAgKSB7XG4gICAgaWYgKCF0aGlzLl9hZGFwdGVyKSB7XG4gICAgICB0aHJvdyBjcmVhdGVNaXNzaW5nRGF0ZUltcGxFcnJvcignRGF0ZXRpbWVBZGFwdGVyJyk7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLl9kYXRlRm9ybWF0cykge1xuICAgICAgdGhyb3cgY3JlYXRlTWlzc2luZ0RhdGVJbXBsRXJyb3IoJ01UWF9EQVRFVElNRV9GT1JNQVRTJyk7XG4gICAgfVxuXG4gICAgY29uc3QgZmlyc3REYXlPZldlZWsgPSB0aGlzLl9hZGFwdGVyLmdldEZpcnN0RGF5T2ZXZWVrKCk7XG4gICAgY29uc3QgbmFycm93V2Vla2RheXMgPSB0aGlzLl9hZGFwdGVyLmdldERheU9mV2Vla05hbWVzKCduYXJyb3cnKTtcbiAgICBjb25zdCBsb25nV2Vla2RheXMgPSB0aGlzLl9hZGFwdGVyLmdldERheU9mV2Vla05hbWVzKCdsb25nJyk7XG5cbiAgICAvLyBSb3RhdGUgdGhlIGxhYmVscyBmb3IgZGF5cyBvZiB0aGUgd2VlayBiYXNlZCBvbiB0aGUgY29uZmlndXJlZCBmaXJzdCBkYXkgb2YgdGhlIHdlZWsuXG4gICAgY29uc3Qgd2Vla2RheXMgPSBsb25nV2Vla2RheXMubWFwKChsb25nLCBpKSA9PiB7XG4gICAgICByZXR1cm4geyBsb25nLCBuYXJyb3c6IG5hcnJvd1dlZWtkYXlzW2ldIH07XG4gICAgfSk7XG4gICAgdGhpcy5fd2Vla2RheXMgPSB3ZWVrZGF5cy5zbGljZShmaXJzdERheU9mV2VlaykuY29uY2F0KHdlZWtkYXlzLnNsaWNlKDAsIGZpcnN0RGF5T2ZXZWVrKSk7XG5cbiAgICB0aGlzLl9hY3RpdmVEYXRlID0gdGhpcy5fYWRhcHRlci50b2RheSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfYWN0aXZlRGF0ZTogRDtcblxuICAvKipcbiAgICogVGhlIGRhdGUgdG8gZGlzcGxheSBpbiB0aGlzIG1vbnRoIHZpZXcgKGV2ZXJ5dGhpbmcgb3RoZXIgdGhhbiB0aGUgbW9udGggYW5kIHllYXIgaXMgaWdub3JlZCkuXG4gICAqL1xuICBASW5wdXQoKVxuICBnZXQgYWN0aXZlRGF0ZSgpOiBEIHtcbiAgICByZXR1cm4gdGhpcy5fYWN0aXZlRGF0ZTtcbiAgfVxuXG4gIHNldCBhY3RpdmVEYXRlKHZhbHVlOiBEKSB7XG4gICAgY29uc3Qgb2xkQWN0aXZlRGF0ZSA9IHRoaXMuX2FjdGl2ZURhdGU7XG4gICAgdGhpcy5fYWN0aXZlRGF0ZSA9IHZhbHVlIHx8IHRoaXMuX2FkYXB0ZXIudG9kYXkoKTtcbiAgICBpZiAoXG4gICAgICBvbGRBY3RpdmVEYXRlICYmXG4gICAgICB0aGlzLl9hY3RpdmVEYXRlICYmXG4gICAgICAhdGhpcy5fYWRhcHRlci5zYW1lTW9udGhBbmRZZWFyKG9sZEFjdGl2ZURhdGUsIHRoaXMuX2FjdGl2ZURhdGUpXG4gICAgKSB7XG4gICAgICB0aGlzLl9pbml0KCk7XG4gICAgICBpZiAodGhpcy5fYWRhcHRlci5pc0luTmV4dE1vbnRoKG9sZEFjdGl2ZURhdGUsIHRoaXMuX2FjdGl2ZURhdGUpKSB7XG4gICAgICAgIHRoaXMuY2FsZW5kYXJTdGF0ZSgncmlnaHQnKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuY2FsZW5kYXJTdGF0ZSgnbGVmdCcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKiBUaGUgY3VycmVudGx5IHNlbGVjdGVkIGRhdGUuICovXG4gIEBJbnB1dCgpXG4gIGdldCBzZWxlY3RlZCgpOiBEIHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWQ7XG4gIH1cbiAgc2V0IHNlbGVjdGVkKHZhbHVlOiBEKSB7XG4gICAgdGhpcy5fc2VsZWN0ZWQgPSB2YWx1ZTtcbiAgICB0aGlzLl9zZWxlY3RlZERhdGUgPSB0aGlzLl9nZXREYXRlSW5DdXJyZW50TW9udGgodGhpcy5zZWxlY3RlZCk7XG4gIH1cbiAgcHJpdmF0ZSBfc2VsZWN0ZWQhOiBEO1xuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9pbml0KCk7XG4gIH1cblxuICAvKiogSGFuZGxlcyB3aGVuIGEgbmV3IGRhdGUgaXMgc2VsZWN0ZWQuICovXG4gIF9kYXRlU2VsZWN0ZWQoZGF0ZTogbnVtYmVyKSB7XG4gICAgY29uc3QgZGF0ZU9iamVjdCA9IHRoaXMuX2FkYXB0ZXIuY3JlYXRlRGF0ZXRpbWUoXG4gICAgICB0aGlzLl9hZGFwdGVyLmdldFllYXIodGhpcy5hY3RpdmVEYXRlKSxcbiAgICAgIHRoaXMuX2FkYXB0ZXIuZ2V0TW9udGgodGhpcy5hY3RpdmVEYXRlKSxcbiAgICAgIGRhdGUsXG4gICAgICB0aGlzLl9hZGFwdGVyLmdldEhvdXIodGhpcy5hY3RpdmVEYXRlKSxcbiAgICAgIHRoaXMuX2FkYXB0ZXIuZ2V0TWludXRlKHRoaXMuYWN0aXZlRGF0ZSlcbiAgICApO1xuICAgIHRoaXMuc2VsZWN0ZWRDaGFuZ2UuZW1pdChkYXRlT2JqZWN0KTtcbiAgICB0aGlzLl9hY3RpdmVEYXRlID0gZGF0ZU9iamVjdDtcblxuICAgIGlmICh0aGlzLnR5cGUgPT09ICdkYXRlJykge1xuICAgICAgdGhpcy5fdXNlclNlbGVjdGlvbi5lbWl0KCk7XG4gICAgfVxuICB9XG5cbiAgX2NhbGVuZGFyU3RhdGVEb25lKCkge1xuICAgIHRoaXMuX2NhbGVuZGFyU3RhdGUgPSAnJztcbiAgfVxuXG4gIC8qKiBJbml0aWFsaXplcyB0aGlzIG1vbnRoIHZpZXcuICovXG4gIHByaXZhdGUgX2luaXQoKSB7XG4gICAgdGhpcy5fc2VsZWN0ZWREYXRlID0gdGhpcy5fZ2V0RGF0ZUluQ3VycmVudE1vbnRoKHRoaXMuc2VsZWN0ZWQpO1xuICAgIHRoaXMuX3RvZGF5RGF0ZSA9IHRoaXMuX2dldERhdGVJbkN1cnJlbnRNb250aCh0aGlzLl9hZGFwdGVyLnRvZGF5KCkpO1xuXG4gICAgY29uc3QgZmlyc3RPZk1vbnRoID0gdGhpcy5fYWRhcHRlci5jcmVhdGVEYXRldGltZShcbiAgICAgIHRoaXMuX2FkYXB0ZXIuZ2V0WWVhcih0aGlzLmFjdGl2ZURhdGUpLFxuICAgICAgdGhpcy5fYWRhcHRlci5nZXRNb250aCh0aGlzLmFjdGl2ZURhdGUpLFxuICAgICAgMSxcbiAgICAgIHRoaXMuX2FkYXB0ZXIuZ2V0SG91cih0aGlzLmFjdGl2ZURhdGUpLFxuICAgICAgdGhpcy5fYWRhcHRlci5nZXRNaW51dGUodGhpcy5hY3RpdmVEYXRlKVxuICAgICk7XG4gICAgdGhpcy5fZmlyc3RXZWVrT2Zmc2V0ID1cbiAgICAgIChEQVlTX1BFUl9XRUVLICtcbiAgICAgICAgdGhpcy5fYWRhcHRlci5nZXREYXlPZldlZWsoZmlyc3RPZk1vbnRoKSAtXG4gICAgICAgIHRoaXMuX2FkYXB0ZXIuZ2V0Rmlyc3REYXlPZldlZWsoKSkgJVxuICAgICAgREFZU19QRVJfV0VFSztcblxuICAgIHRoaXMuX2NyZWF0ZVdlZWtDZWxscygpO1xuICB9XG5cbiAgLyoqIENyZWF0ZXMgTWRDYWxlbmRhckNlbGxzIGZvciB0aGUgZGF0ZXMgaW4gdGhpcyBtb250aC4gKi9cbiAgcHJpdmF0ZSBfY3JlYXRlV2Vla0NlbGxzKCkge1xuICAgIGNvbnN0IGRheXNJbk1vbnRoID0gdGhpcy5fYWRhcHRlci5nZXROdW1EYXlzSW5Nb250aCh0aGlzLmFjdGl2ZURhdGUpO1xuICAgIGNvbnN0IGRhdGVOYW1lcyA9IHRoaXMuX2FkYXB0ZXIuZ2V0RGF0ZU5hbWVzKCk7XG4gICAgdGhpcy5fd2Vla3MgPSBbW11dO1xuICAgIGZvciAobGV0IGkgPSAwLCBjZWxsID0gdGhpcy5fZmlyc3RXZWVrT2Zmc2V0OyBpIDwgZGF5c0luTW9udGg7IGkrKywgY2VsbCsrKSB7XG4gICAgICBpZiAoY2VsbCA9PT0gREFZU19QRVJfV0VFSykge1xuICAgICAgICB0aGlzLl93ZWVrcy5wdXNoKFtdKTtcbiAgICAgICAgY2VsbCA9IDA7XG4gICAgICB9XG4gICAgICBjb25zdCBkYXRlID0gdGhpcy5fYWRhcHRlci5jcmVhdGVEYXRldGltZShcbiAgICAgICAgdGhpcy5fYWRhcHRlci5nZXRZZWFyKHRoaXMuYWN0aXZlRGF0ZSksXG4gICAgICAgIHRoaXMuX2FkYXB0ZXIuZ2V0TW9udGgodGhpcy5hY3RpdmVEYXRlKSxcbiAgICAgICAgaSArIDEsXG4gICAgICAgIHRoaXMuX2FkYXB0ZXIuZ2V0SG91cih0aGlzLmFjdGl2ZURhdGUpLFxuICAgICAgICB0aGlzLl9hZGFwdGVyLmdldE1pbnV0ZSh0aGlzLmFjdGl2ZURhdGUpXG4gICAgICApO1xuICAgICAgY29uc3QgZW5hYmxlZCA9ICF0aGlzLmRhdGVGaWx0ZXIgfHwgdGhpcy5kYXRlRmlsdGVyKGRhdGUpO1xuICAgICAgY29uc3QgYXJpYUxhYmVsID0gdGhpcy5fYWRhcHRlci5mb3JtYXQoZGF0ZSwgdGhpcy5fZGF0ZUZvcm1hdHMuZGlzcGxheS5kYXRlQTExeUxhYmVsKTtcbiAgICAgIHRoaXMuX3dlZWtzW3RoaXMuX3dlZWtzLmxlbmd0aCAtIDFdLnB1c2goXG4gICAgICAgIG5ldyBNdHhDYWxlbmRhckNlbGwoaSArIDEsIGRhdGVOYW1lc1tpXSwgYXJpYUxhYmVsLCBlbmFibGVkKVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgZGF0ZSBpbiB0aGlzIG1vbnRoIHRoYXQgdGhlIGdpdmVuIERhdGUgZmFsbHMgb24uXG4gICAqIFJldHVybnMgbnVsbCBpZiB0aGUgZ2l2ZW4gRGF0ZSBpcyBpbiBhbm90aGVyIG1vbnRoLlxuICAgKi9cbiAgcHJpdmF0ZSBfZ2V0RGF0ZUluQ3VycmVudE1vbnRoKGRhdGU6IEQpOiBudW1iZXIgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fYWRhcHRlci5zYW1lTW9udGhBbmRZZWFyKGRhdGUsIHRoaXMuYWN0aXZlRGF0ZSlcbiAgICAgID8gdGhpcy5fYWRhcHRlci5nZXREYXRlKGRhdGUpXG4gICAgICA6IG51bGw7XG4gIH1cblxuICBwcml2YXRlIGNhbGVuZGFyU3RhdGUoZGlyZWN0aW9uOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLl9jYWxlbmRhclN0YXRlID0gZGlyZWN0aW9uO1xuICB9XG59XG4iLCI8dGFibGUgY2xhc3M9XCJtdHgtY2FsZW5kYXItdGFibGVcIiByb2xlPVwiZ3JpZFwiPlxuICA8dGhlYWQgY2xhc3M9XCJtdHgtY2FsZW5kYXItdGFibGUtaGVhZGVyXCI+XG4gICAgPHRyPlxuICAgICAgQGZvciAoZGF5IG9mIF93ZWVrZGF5czsgdHJhY2sgZGF5KSB7XG4gICAgICAgIDx0aCBbYXR0ci5hcmlhLWxhYmVsXT1cImRheS5sb25nXCI+e3tkYXkubmFycm93fX08L3RoPlxuICAgICAgfVxuICAgIDwvdHI+XG4gIDwvdGhlYWQ+XG4gIDx0Ym9keSBtdHgtY2FsZW5kYXItYm9keVxuICAgIChAc2xpZGVDYWxlbmRhci5kb25lKT1cIl9jYWxlbmRhclN0YXRlRG9uZSgpXCJcbiAgICBbQHNsaWRlQ2FsZW5kYXJdPVwiX2NhbGVuZGFyU3RhdGVcIlxuICAgIFtyb3dzXT1cIl93ZWVrc1wiXG4gICAgW3RvZGF5VmFsdWVdPVwiX3RvZGF5RGF0ZSFcIlxuICAgIFthY3RpdmVDZWxsXT1cIl9hZGFwdGVyLmdldERhdGUoYWN0aXZlRGF0ZSkgLSAxXCJcbiAgICBbc2VsZWN0ZWRWYWx1ZV09XCJfc2VsZWN0ZWREYXRlIVwiXG4gICAgKHNlbGVjdGVkVmFsdWVDaGFuZ2UpPVwiX2RhdGVTZWxlY3RlZCgkZXZlbnQpXCI+PC90Ym9keT5cbjwvdGFibGU+XG4iXX0=
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXR4RGF0ZXRpbWVwaWNrZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9leHRlbnNpb25zL2RhdGV0aW1lcGlja2VyL210eERhdGV0aW1lcGlja2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=
@@ -1,215 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, EventEmitter, Inject, Input, Optional, Output, ViewEncapsulation, } from '@angular/core';
2
- import { MTX_DATETIME_FORMATS, } from '@ng-matero/extensions/core';
3
- import { MtxCalendarBody, MtxCalendarCell } from './calendar-body';
4
- import { mtxDatetimepickerAnimations } from './datetimepicker-animations';
5
- import { createMissingDateImplError } from './datetimepicker-errors';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@ng-matero/extensions/core";
8
- export const yearsPerPage = 24;
9
- export const yearsPerRow = 4;
10
- /**
11
- * An internal component used to display multiple years in the datetimepicker.
12
- * @docs-private
13
- */
14
- export class MtxMultiYearView {
15
- constructor(_adapter, _dateFormats) {
16
- this._adapter = _adapter;
17
- this._dateFormats = _dateFormats;
18
- this.type = 'date';
19
- /** Emits when a new month is selected. */
20
- this.selectedChange = new EventEmitter();
21
- /** Emits when any date is selected. */
22
- this._userSelection = new EventEmitter();
23
- if (!this._adapter) {
24
- throw createMissingDateImplError('DatetimeAdapter');
25
- }
26
- if (!this._dateFormats) {
27
- throw createMissingDateImplError('MTX_DATETIME_FORMATS');
28
- }
29
- this._activeDate = this._adapter.today();
30
- }
31
- /** The date to display in this multi year view */
32
- get activeDate() {
33
- return this._activeDate;
34
- }
35
- set activeDate(value) {
36
- const oldActiveDate = this._activeDate;
37
- this._activeDate = value || this._adapter.today();
38
- if (oldActiveDate &&
39
- this._activeDate &&
40
- !isSameMultiYearView(this._adapter, oldActiveDate, this._activeDate, this.minDate, this.maxDate)) {
41
- this._init();
42
- }
43
- }
44
- /** The currently selected date. */
45
- get selected() {
46
- return this._selected;
47
- }
48
- set selected(value) {
49
- this._selected = value;
50
- this._selectedYear = this._selected && this._adapter.getYear(this._selected);
51
- }
52
- /** The minimum selectable date. */
53
- get minDate() {
54
- return this._minDate;
55
- }
56
- set minDate(value) {
57
- this._minDate = this._getValidDateOrNull(this._adapter.deserialize(value));
58
- }
59
- /** The maximum selectable date. */
60
- get maxDate() {
61
- return this._maxDate;
62
- }
63
- set maxDate(value) {
64
- this._maxDate = this._getValidDateOrNull(this._adapter.deserialize(value));
65
- }
66
- ngAfterContentInit() {
67
- this._init();
68
- }
69
- /** Handles when a new year is selected. */
70
- _yearSelected(year) {
71
- const month = this._adapter.getMonth(this.activeDate);
72
- const normalizedDate = this._adapter.createDatetime(year, month, 1, 0, 0);
73
- const dateObject = this._adapter.createDatetime(year, month, Math.min(this._adapter.getDate(this.activeDate), this._adapter.getNumDaysInMonth(normalizedDate)), this._adapter.getHour(this.activeDate), this._adapter.getMinute(this.activeDate));
74
- this.selectedChange.emit(dateObject);
75
- this._activeDate = dateObject;
76
- if (this.type === 'year') {
77
- this._userSelection.emit();
78
- }
79
- }
80
- _getActiveCell() {
81
- return getActiveOffset(this._adapter, this.activeDate, this.minDate, this.maxDate);
82
- }
83
- _calendarStateDone() {
84
- this._calendarState = '';
85
- }
86
- /** Initializes this year view. */
87
- _init() {
88
- this._todayYear = this._adapter.getYear(this._adapter.today());
89
- this._yearLabel = this._adapter.getYearName(this.activeDate);
90
- const activeYear = this._adapter.getYear(this.activeDate);
91
- const minYearOfPage = activeYear - getActiveOffset(this._adapter, this.activeDate, this.minDate, this.maxDate);
92
- this._years = [];
93
- for (let i = 0, row = []; i < yearsPerPage; i++) {
94
- row.push(minYearOfPage + i);
95
- if (row.length === yearsPerRow) {
96
- this._years.push(row.map(year => this._createCellForYear(year)));
97
- row = [];
98
- }
99
- }
100
- }
101
- /** Creates an MtxCalendarCell for the given year. */
102
- _createCellForYear(year) {
103
- const yearName = this._adapter.getYearName(this._adapter.createDate(year, 0, 1));
104
- return new MtxCalendarCell(year, yearName, yearName, this._shouldEnableYear(year));
105
- }
106
- /** Whether the given year is enabled. */
107
- _shouldEnableYear(year) {
108
- // disable if the year is greater than maxDate lower than minDate
109
- if (year === undefined ||
110
- year === null ||
111
- (this.maxDate && year > this._adapter.getYear(this.maxDate)) ||
112
- (this.minDate && year < this._adapter.getYear(this.minDate))) {
113
- return false;
114
- }
115
- // enable if it reaches here and there's no filter defined
116
- if (!this.dateFilter) {
117
- return true;
118
- }
119
- const firstOfYear = this._adapter.createDate(year, 0, 1);
120
- // If any date in the year is enabled count the year as enabled.
121
- for (let date = firstOfYear; this._adapter.getYear(date) === year; date = this._adapter.addCalendarDays(date, 1)) {
122
- if (this.dateFilter(date)) {
123
- return true;
124
- }
125
- }
126
- return false;
127
- }
128
- /**
129
- * Gets the year in this years range that the given Date falls on.
130
- * Returns null if the given Date is not in this range.
131
- */
132
- _getYearInCurrentRange(date) {
133
- const year = this._adapter.getYear(date);
134
- return this._isInRange(year) ? year : null;
135
- }
136
- /**
137
- * Validate if the current year is in the current range
138
- * Returns true if is in range else returns false
139
- */
140
- _isInRange(year) {
141
- return true;
142
- }
143
- /**
144
- * @param obj The object to check.
145
- * @returns The given object if it is both a date instance and valid, otherwise null.
146
- */
147
- _getValidDateOrNull(obj) {
148
- return this._adapter.isDateInstance(obj) && this._adapter.isValid(obj) ? obj : null;
149
- }
150
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: MtxMultiYearView, deps: [{ token: i1.DatetimeAdapter, optional: true }, { token: MTX_DATETIME_FORMATS, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
151
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: MtxMultiYearView, isStandalone: true, selector: "mtx-multi-year-view", inputs: { type: "type", dateFilter: "dateFilter", activeDate: "activeDate", selected: "selected", minDate: "minDate", maxDate: "maxDate" }, outputs: { selectedChange: "selectedChange", _userSelection: "_userSelection" }, exportAs: ["mtxMultiYearView"], ngImport: i0, template: "<table class=\"mtx-calendar-table\" role=\"grid\">\n <thead class=\"mtx-calendar-table-header\"></thead>\n <tbody mtx-calendar-body\n (@slideCalendar.done)=\"_calendarStateDone()\"\n [@slideCalendar]=\"_calendarState\"\n [todayValue]=\"_todayYear\"\n [rows]=\"_years\"\n [numCols]=\"4\"\n [activeCell]=\"_getActiveCell()\"\n [allowDisabledSelection]=\"true\"\n [selectedValue]=\"_selectedYear!\"\n (selectedValueChange)=\"_yearSelected($event)\"></tbody>\n</table>\n", dependencies: [{ kind: "component", type: MtxCalendarBody, selector: "[mtx-calendar-body]", inputs: ["label", "rows", "todayValue", "selectedValue", "labelMinRequiredCells", "numCols", "allowDisabledSelection", "activeCell"], outputs: ["selectedValueChange"], exportAs: ["mtxCalendarBody"] }], animations: [mtxDatetimepickerAnimations.slideCalendar], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
152
- }
153
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: MtxMultiYearView, decorators: [{
154
- type: Component,
155
- args: [{ selector: 'mtx-multi-year-view', exportAs: 'mtxMultiYearView', animations: [mtxDatetimepickerAnimations.slideCalendar], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [MtxCalendarBody], template: "<table class=\"mtx-calendar-table\" role=\"grid\">\n <thead class=\"mtx-calendar-table-header\"></thead>\n <tbody mtx-calendar-body\n (@slideCalendar.done)=\"_calendarStateDone()\"\n [@slideCalendar]=\"_calendarState\"\n [todayValue]=\"_todayYear\"\n [rows]=\"_years\"\n [numCols]=\"4\"\n [activeCell]=\"_getActiveCell()\"\n [allowDisabledSelection]=\"true\"\n [selectedValue]=\"_selectedYear!\"\n (selectedValueChange)=\"_yearSelected($event)\"></tbody>\n</table>\n" }]
156
- }], ctorParameters: () => [{ type: i1.DatetimeAdapter, decorators: [{
157
- type: Optional
158
- }] }, { type: undefined, decorators: [{
159
- type: Optional
160
- }, {
161
- type: Inject,
162
- args: [MTX_DATETIME_FORMATS]
163
- }] }], propDecorators: { type: [{
164
- type: Input
165
- }], dateFilter: [{
166
- type: Input
167
- }], selectedChange: [{
168
- type: Output
169
- }], _userSelection: [{
170
- type: Output
171
- }], activeDate: [{
172
- type: Input
173
- }], selected: [{
174
- type: Input
175
- }], minDate: [{
176
- type: Input
177
- }], maxDate: [{
178
- type: Input
179
- }] } });
180
- export function isSameMultiYearView(dateAdapter, date1, date2, minDate, maxDate) {
181
- const year1 = dateAdapter.getYear(date1);
182
- const year2 = dateAdapter.getYear(date2);
183
- const startingYear = getStartingYear(dateAdapter, minDate, maxDate);
184
- return (Math.floor((year1 - startingYear) / yearsPerPage) ===
185
- Math.floor((year2 - startingYear) / yearsPerPage));
186
- }
187
- /**
188
- * When the multi-year view is first opened, the active year will be in view.
189
- * So we compute how many years are between the active year and the *slot* where our
190
- * "startingYear" will render when paged into view.
191
- */
192
- export function getActiveOffset(dateAdapter, activeDate, minDate, maxDate) {
193
- const activeYear = dateAdapter.getYear(activeDate);
194
- return euclideanModulo(activeYear - getStartingYear(dateAdapter, minDate, maxDate), yearsPerPage);
195
- }
196
- /**
197
- * We pick a "starting" year such that either the maximum year would be at the end
198
- * or the minimum year would be at the beginning of a page.
199
- */
200
- function getStartingYear(dateAdapter, minDate, maxDate) {
201
- let startingYear = 0;
202
- if (maxDate) {
203
- const maxYear = dateAdapter.getYear(maxDate);
204
- startingYear = maxYear - yearsPerPage + 1;
205
- }
206
- else if (minDate) {
207
- startingYear = dateAdapter.getYear(minDate);
208
- }
209
- return startingYear;
210
- }
211
- /** Gets remainder that is non-negative, even if first number is negative */
212
- function euclideanModulo(a, b) {
213
- return ((a % b) + b) % b;
214
- }
215
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGkteWVhci12aWV3LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZXh0ZW5zaW9ucy9kYXRldGltZXBpY2tlci9tdWx0aS15ZWFyLXZpZXcudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9leHRlbnNpb25zL2RhdGV0aW1lcGlja2VyL211bHRpLXllYXItdmlldy5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBQ04saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFFTCxvQkFBb0IsR0FFckIsTUFBTSw0QkFBNEIsQ0FBQztBQUNwQyxPQUFPLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25FLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzFFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7QUFHckUsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLEVBQUUsQ0FBQztBQUUvQixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxDQUFDO0FBRTdCOzs7R0FHRztBQVdILE1BQU0sT0FBTyxnQkFBZ0I7SUE2QjNCLFlBQ3FCLFFBQTRCLEVBQ0csWUFBZ0M7UUFEL0QsYUFBUSxHQUFSLFFBQVEsQ0FBb0I7UUFDRyxpQkFBWSxHQUFaLFlBQVksQ0FBb0I7UUE5QjNFLFNBQUksR0FBMEIsTUFBTSxDQUFDO1FBSzlDLDBDQUEwQztRQUNoQyxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFLLENBQUM7UUFFakQsdUNBQXVDO1FBQ3BCLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQXVCM0QsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVB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Q0FBQztRQUNqRCxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxHQUFHLFlBQVksQ0FBQyxHQUFHLFlBQVksQ0FBQyxDQUNsRCxDQUFDO0FBQ0osQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsZUFBZSxDQUM3QixXQUErQixFQUMvQixVQUFhLEVBQ2IsT0FBaUIsRUFDakIsT0FBaUI7SUFFakIsTUFBTSxVQUFVLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNuRCxPQUFPLGVBQWUsQ0FBQyxVQUFVLEdBQUcsZUFBZSxDQUFDLFdBQVcsRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLEVBQUUsWUFBWSxDQUFDLENBQUM7QUFDcEcsQ0FBQztBQUVEOzs7R0FHRztBQUNILFNBQVMsZUFBZSxDQUN0QixXQUErQixFQUMvQixPQUFpQixFQUNqQixPQUFpQjtJQUVqQixJQUFJLFlBQVksR0FBRyxDQUFDLENBQUM7SUFDckIsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUNaLE1BQU0sT0FBTyxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDN0MsWUFBWSxHQUFHLE9BQU8sR0FBRyxZQUFZLEdBQUcsQ0FBQyxDQUFDO0lBQzVDLENBQUM7U0FBTSxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ25CLFlBQVksR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFDRCxPQUFPLFlBQVksQ0FBQztBQUN0QixDQUFDO0FBRUQsNEVBQTRFO0FBQzVFLFNBQVMsZUFBZSxDQUFDLENBQVMsRUFBRSxDQUFTO0lBQzNDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDM0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgRGF0ZXRpbWVBZGFwdGVyLFxuICBNVFhfREFURVRJTUVfRk9STUFUUyxcbiAgTXR4RGF0ZXRpbWVGb3JtYXRzLFxufSBmcm9tICdAbmctbWF0ZXJvL2V4dGVuc2lvbnMvY29yZSc7XG5pbXBvcnQgeyBNdHhDYWxlbmRhckJvZHksIE10eENhbGVuZGFyQ2VsbCB9IGZyb20gJy4vY2FsZW5kYXItYm9keSc7XG5pbXBvcnQgeyBtdHhEYXRldGltZXBpY2tlckFuaW1hdGlvbnMgfSBmcm9tICcuL2RhdGV0aW1lcGlja2VyLWFuaW1hdGlvbnMnO1xuaW1wb3J0IHsgY3JlYXRlTWlzc2luZ0RhdGVJbXBsRXJyb3IgfSBmcm9tICcuL2RhdGV0aW1lcGlja2VyLWVycm9ycyc7XG5pbXBvcnQgeyBNdHhEYXRldGltZXBpY2tlclR5cGUgfSBmcm9tICcuL2RhdGV0aW1lcGlja2VyLXR5cGVzJztcblxuZXhwb3J0IGNvbnN0IHllYXJzUGVyUGFnZSA9IDI0O1xuXG5leHBvcnQgY29uc3QgeWVhcnNQZXJSb3cgPSA0O1xuXG4vKipcbiAqIEFuIGludGVybmFsIGNvbXBvbmVudCB1c2VkIHRvIGRpc3BsYXkgbXVsdGlwbGUgeWVhcnMgaW4gdGhlIGRhdGV0aW1lcGlja2VyLlxuICogQGRvY3MtcHJpdmF0ZVxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtdHgtbXVsdGkteWVhci12aWV3JyxcbiAgdGVtcGxhdGVVcmw6ICdtdWx0aS15ZWFyLXZpZXcuaHRtbCcsXG4gIGV4cG9ydEFzOiAnbXR4TXVsdGlZZWFyVmlldycsXG4gIGFuaW1hdGlvbnM6IFttdHhEYXRldGltZXBpY2tlckFuaW1hdGlvbnMuc2xpZGVDYWxlbmRhcl0sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTXR4Q2FsZW5kYXJCb2R5XSxcbn0pXG5leHBvcnQgY2xhc3MgTXR4TXVsdGlZZWFyVmlldzxEPiBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xuICBASW5wdXQoKSB0eXBlOiBNdHhEYXRldGltZXBpY2tlclR5cGUgPSAnZGF0ZSc7XG5cbiAgLyoqIEEgZnVuY3Rpb24gdXNlZCB0byBmaWx0ZXIgd2hpY2ggZGF0ZXMgYXJlIHNlbGVjdGFibGUuICovXG4gIEBJbnB1dCgpIGRhdGVGaWx0ZXIhOiAoZGF0ZTogRCkgPT4gYm9vbGVhbjtcblxuICAvKiogRW1pdHMgd2hlbiBhIG5ldyBtb250aCBpcyBzZWxlY3RlZC4gKi9cbiAgQE91dHB1dCgpIHNlbGVjdGVkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxEPigpO1xuXG4gIC8qKiBFbWl0cyB3aGVuIGFueSBkYXRlIGlzIHNlbGVjdGVkLiAqL1xuICBAT3V0cHV0KCkgcmVhZG9ubHkgX3VzZXJTZWxlY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgLyoqIEdyaWQgb2YgY2FsZW5kYXIgY2VsbHMgcmVwcmVzZW50aW5nIHRoZSB5ZWFycyBpbiB0aGUgcmFuZ2UuICovXG4gIF95ZWFycyE6IE10eENhbGVuZGFyQ2VsbFtdW107XG5cbiAgLyoqIFRoZSBsYWJlbCBmb3IgdGhpcyB5ZWFyIHJhbmdlIChlLmcuIFwiMjAwMC0yMDIwXCIpLiAqL1xuICBfeWVhckxhYmVsITogc3RyaW5nO1xuXG4gIC8qKiBUaGUgeWVhciBpbiB0aGlzIHJhbmdlIHRoYXQgdG9kYXkgZmFsbHMgb24uIE51bGwgaWYgdG9kYXkgaXMgaW4gYSBkaWZmZXJlbnQgcmFuZ2UuICovXG4gIF90b2RheVllYXIhOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSB5ZWFyIGluIHRoaXMgcmFuZ2UgdGhhdCB0aGUgc2VsZWN0ZWQgRGF0ZSBmYWxscyBvbi5cbiAgICogTnVsbCBpZiB0aGUgc2VsZWN0ZWQgRGF0ZSBpcyBpbiBhIGRpZmZlcmVudCByYW5nZS5cbiAgICovXG4gIF9zZWxlY3RlZFllYXIhOiBudW1iZXIgfCBudWxsO1xuXG4gIF9jYWxlbmRhclN0YXRlITogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIHB1YmxpYyBfYWRhcHRlcjogRGF0ZXRpbWVBZGFwdGVyPEQ+LFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoTVRYX0RBVEVUSU1FX0ZPUk1BVFMpIHByaXZhdGUgX2RhdGVGb3JtYXRzOiBNdHhEYXRldGltZUZvcm1hdHNcbiAgKSB7XG4gICAgaWYgKCF0aGlzLl9hZGFwdGVyKSB7XG4gICAgICB0aHJvdyBjcmVhdGVNaXNzaW5nRGF0ZUltcGxFcnJvcignRGF0ZXRpbWVBZGFwdGVyJyk7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLl9kYXRlRm9ybWF0cykge1xuICAgICAgdGhyb3cgY3JlYXRlTWlzc2luZ0RhdGVJbXBsRXJyb3IoJ01UWF9EQVRFVElNRV9GT1JNQVRTJyk7XG4gICAgfVxuXG4gICAgdGhpcy5fYWN0aXZlRGF0ZSA9IHRoaXMuX2FkYXB0ZXIudG9kYXkoKTtcbiAgfVxuXG4gIC8qKiBUaGUgZGF0ZSB0byBkaXNwbGF5IGluIHRoaXMgbXVsdGkgeWVhciB2aWV3ICovXG4gIEBJbnB1dCgpXG4gIGdldCBhY3RpdmVEYXRlKCk6IEQge1xuICAgIHJldHVybiB0aGlzLl9hY3RpdmVEYXRlO1xuICB9XG4gIHNldCBhY3RpdmVEYXRlKHZhbHVlOiBEKSB7XG4gICAgY29uc3Qgb2xkQWN0aXZlRGF0ZSA9IHRoaXMuX2FjdGl2ZURhdGU7XG4gICAgdGhpcy5fYWN0aXZlRGF0ZSA9IHZhbHVlIHx8IHRoaXMuX2FkYXB0ZXIudG9kYXkoKTtcbiAgICBpZiAoXG4gICAgICBvbGRBY3RpdmVEYXRlICYmXG4gICAgICB0aGlzLl9hY3RpdmVEYXRlICYmXG4gICAgICAhaXNTYW1lTXVsdGlZZWFyVmlldyhcbiAgICAgICAgdGhpcy5fYWRhcHRlcixcbiAgICAgICAgb2xkQWN0aXZlRGF0ZSxcbiAgICAgICAgdGhpcy5fYWN0aXZlRGF0ZSxcbiAgICAgICAgdGhpcy5taW5EYXRlLFxuICAgICAgICB0aGlzLm1heERhdGVcbiAgICAgIClcbiAgICApIHtcbiAgICAgIHRoaXMuX2luaXQoKTtcbiAgICB9XG4gIH1cbiAgcHJpdmF0ZSBfYWN0aXZlRGF0ZTogRDtcblxuICAvKiogVGhlIGN1cnJlbnRseSBzZWxlY3RlZCBkYXRlLiAqL1xuICBASW5wdXQoKVxuICBnZXQgc2VsZWN0ZWQoKTogRCB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkO1xuICB9XG4gIHNldCBzZWxlY3RlZCh2YWx1ZTogRCkge1xuICAgIHRoaXMuX3NlbGVjdGVkID0gdmFsdWU7XG4gICAgdGhpcy5fc2VsZWN0ZWRZZWFyID0gdGhpcy5fc2VsZWN0ZWQgJiYgdGhpcy5fYWRhcHRlci5nZXRZZWFyKHRoaXMuX3NlbGVjdGVkKTtcbiAgfVxuICBwcml2YXRlIF9zZWxlY3RlZCE6IEQ7XG5cbiAgLyoqIFRoZSBtaW5pbXVtIHNlbGVjdGFibGUgZGF0ZS4gKi9cbiAgQElucHV0KClcbiAgZ2V0IG1pbkRhdGUoKTogRCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl9taW5EYXRlO1xuICB9XG4gIHNldCBtaW5EYXRlKHZhbHVlOiBEIHwgbnVsbCkge1xuICAgIHRoaXMuX21pbkRhdGUgPSB0aGlzLl9nZXRWYWxpZERhdGVPck51bGwodGhpcy5fYWRhcHRlci5kZXNlcmlhbGl6ZSh2YWx1ZSkpO1xuICB9XG4gIHByaXZhdGUgX21pbkRhdGUhOiBEIHwgbnVsbDtcblxuICAvKiogVGhlIG1heGltdW0gc2VsZWN0YWJsZSBkYXRlLiAqL1xuICBASW5wdXQoKVxuICBnZXQgbWF4RGF0ZSgpOiBEIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX21heERhdGU7XG4gIH1cbiAgc2V0IG1heERhdGUodmFsdWU6IEQgfCBudWxsKSB7XG4gICAgdGhpcy5fbWF4RGF0ZSA9IHRoaXMuX2dldFZhbGlkRGF0ZU9yTnVsbCh0aGlzLl9hZGFwdGVyLmRlc2VyaWFsaXplKHZhbHVlKSk7XG4gIH1cbiAgcHJpdmF0ZSBfbWF4RGF0ZSE6IEQgfCBudWxsO1xuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICB0aGlzLl9pbml0KCk7XG4gIH1cblxuICAvKiogSGFuZGxlcyB3aGVuIGEgbmV3IHllYXIgaXMgc2VsZWN0ZWQuICovXG4gIF95ZWFyU2VsZWN0ZWQoeWVhcjogbnVtYmVyKSB7XG4gICAgY29uc3QgbW9udGggPSB0aGlzLl9hZGFwdGVyLmdldE1vbnRoKHRoaXMuYWN0aXZlRGF0ZSk7XG4gICAgY29uc3Qgbm9ybWFsaXplZERhdGUgPSB0aGlzLl9hZGFwdGVyLmNyZWF0ZURhdGV0aW1lKHllYXIsIG1vbnRoLCAxLCAwLCAwKTtcblxuICAgIGNvbnN0IGRhdGVPYmplY3QgPSB0aGlzLl9hZGFwdGVyLmNyZWF0ZURhdGV0aW1lKFxuICAgICAgeWVhcixcbiAgICAgIG1vbnRoLFxuICAgICAgTWF0aC5taW4oXG4gICAgICAgIHRoaXMuX2FkYXB0ZXIuZ2V0RGF0ZSh0aGlzLmFjdGl2ZURhdGUpLFxuICAgICAgICB0aGlzLl9hZGFwdGVyLmdldE51bURheXNJbk1vbnRoKG5vcm1hbGl6ZWREYXRlKVxuICAgICAgKSxcbiAgICAgIHRoaXMuX2FkYXB0ZXIuZ2V0SG91cih0aGlzLmFjdGl2ZURhdGUpLFxuICAgICAgdGhpcy5fYWRhcHRlci5nZXRNaW51dGUodGhpcy5hY3RpdmVEYXRlKVxuICAgICk7XG5cbiAgICB0aGlzLnNlbGVjdGVkQ2hhbmdlLmVtaXQoZGF0ZU9iamVjdCk7XG4gICAgdGhpcy5fYWN0aXZlRGF0ZSA9IGRhdGVPYmplY3Q7XG5cbiAgICBpZiAodGhpcy50eXBlID09PSAneWVhcicpIHtcbiAgICAgIHRoaXMuX3VzZXJTZWxlY3Rpb24uZW1pdCgpO1xuICAgIH1cbiAgfVxuXG4gIF9nZXRBY3RpdmVDZWxsKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIGdldEFjdGl2ZU9mZnNldCh0aGlzLl9hZGFwdGVyLCB0aGlzLmFjdGl2ZURhdGUsIHRoaXMubWluRGF0ZSwgdGhpcy5tYXhEYXRlKTtcbiAgfVxuXG4gIF9jYWxlbmRhclN0YXRlRG9uZSgpIHtcbiAgICB0aGlzLl9jYWxlbmRhclN0YXRlID0gJyc7XG4gIH1cblxuICAvKiogSW5pdGlhbGl6ZXMgdGhpcyB5ZWFyIHZpZXcuICovXG4gIHByaXZhdGUgX2luaXQoKSB7XG4gICAgdGhpcy5fdG9kYXlZZWFyID0gdGhpcy5fYWRhcHRlci5nZXRZZWFyKHRoaXMuX2FkYXB0ZXIudG9kYXkoKSk7XG4gICAgdGhpcy5feWVhckxhYmVsID0gdGhpcy5fYWRhcHRlci5nZXRZZWFyTmFtZSh0aGlzLmFjdGl2ZURhdGUpO1xuXG4gICAgY29uc3QgYWN0aXZlWWVhciA9IHRoaXMuX2FkYXB0ZXIuZ2V0WWVhcih0aGlzLmFjdGl2ZURhdGUpO1xuXG4gICAgY29uc3QgbWluWWVhck9mUGFnZSA9XG4gICAgICBhY3RpdmVZZWFyIC0gZ2V0QWN0aXZlT2Zmc2V0KHRoaXMuX2FkYXB0ZXIsIHRoaXMuYWN0aXZlRGF0ZSwgdGhpcy5taW5EYXRlLCB0aGlzLm1heERhdGUpO1xuXG4gICAgdGhpcy5feWVhcnMgPSBbXTtcbiAgICBmb3IgKGxldCBpID0gMCwgcm93OiBudW1iZXJbXSA9IFtdOyBpIDwgeWVhcnNQZXJQYWdlOyBpKyspIHtcbiAgICAgIHJvdy5wdXNoKG1pblllYXJPZlBhZ2UgKyBpKTtcbiAgICAgIGlmIChyb3cubGVuZ3RoID09PSB5ZWFyc1BlclJvdykge1xuICAgICAgICB0aGlzLl95ZWFycy5wdXNoKHJvdy5tYXAoeWVhciA9PiB0aGlzLl9jcmVhdGVDZWxsRm9yWWVhcih5ZWFyKSkpO1xuICAgICAgICByb3cgPSBbXTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiogQ3JlYXRlcyBhbiBNdHhDYWxlbmRhckNlbGwgZm9yIHRoZSBnaXZlbiB5ZWFyLiAqL1xuICBwcml2YXRlIF9jcmVhdGVDZWxsRm9yWWVhcih5ZWFyOiBudW1iZXIpIHtcbiAgICBjb25zdCB5ZWFyTmFtZSA9IHRoaXMuX2FkYXB0ZXIuZ2V0WWVhck5hbWUodGhpcy5fYWRhcHRlci5jcmVhdGVEYXRlKHllYXIsIDAsIDEpKTtcbiAgICByZXR1cm4gbmV3IE10eENhbGVuZGFyQ2VsbCh5ZWFyLCB5ZWFyTmFtZSwgeWVhck5hbWUsIHRoaXMuX3Nob3VsZEVuYWJsZVllYXIoeWVhcikpO1xuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGdpdmVuIHllYXIgaXMgZW5hYmxlZC4gKi9cbiAgcHJpdmF0ZSBfc2hvdWxkRW5hYmxlWWVhcih5ZWFyOiBudW1iZXIpIHtcbiAgICAvLyBkaXNhYmxlIGlmIHRoZSB5ZWFyIGlzIGdyZWF0ZXIgdGhhbiBtYXhEYXRlIGxvd2VyIHRoYW4gbWluRGF0ZVxuICAgIGlmIChcbiAgICAgIHllYXIgPT09IHVuZGVmaW5lZCB8fFxuICAgICAgeWVhciA9PT0gbnVsbCB8fFxuICAgICAgKHRoaXMubWF4RGF0ZSAmJiB5ZWFyID4gdGhpcy5fYWRhcHRlci5nZXRZZWFyKHRoaXMubWF4RGF0ZSkpIHx8XG4gICAgICAodGhpcy5taW5EYXRlICYmIHllYXIgPCB0aGlzLl9hZGFwdGVyLmdldFllYXIodGhpcy5taW5EYXRlKSlcbiAgICApIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvLyBlbmFibGUgaWYgaXQgcmVhY2hlcyBoZXJlIGFuZCB0aGVyZSdzIG5vIGZpbHRlciBkZWZpbmVkXG4gICAgaWYgKCF0aGlzLmRhdGVGaWx0ZXIpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGNvbnN0IGZpcnN0T2ZZZWFyID0gdGhpcy5fYWRhcHRlci5jcmVhdGVEYXRlKHllYXIsIDAsIDEpO1xuXG4gICAgLy8gSWYgYW55IGRhdGUgaW4gdGhlIHllYXIgaXMgZW5hYmxlZCBjb3VudCB0aGUgeWVhciBhcyBlbmFibGVkLlxuICAgIGZvciAoXG4gICAgICBsZXQgZGF0ZSA9IGZpcnN0T2ZZZWFyO1xuICAgICAgdGhpcy5fYWRhcHRlci5nZXRZZWFyKGRhdGUpID09PSB5ZWFyO1xuICAgICAgZGF0ZSA9IHRoaXMuX2FkYXB0ZXIuYWRkQ2FsZW5kYXJEYXlzKGRhdGUsIDEpXG4gICAgKSB7XG4gICAgICBpZiAodGhpcy5kYXRlRmlsdGVyKGRhdGUpKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSB5ZWFyIGluIHRoaXMgeWVhcnMgcmFuZ2UgdGhhdCB0aGUgZ2l2ZW4gRGF0ZSBmYWxscyBvbi5cbiAgICogUmV0dXJucyBudWxsIGlmIHRoZSBnaXZlbiBEYXRlIGlzIG5vdCBpbiB0aGlzIHJhbmdlLlxuICAgKi9cbiAgcHJpdmF0ZSBfZ2V0WWVhckluQ3VycmVudFJhbmdlKGRhdGU6IEQpIHtcbiAgICBjb25zdCB5ZWFyID0gdGhpcy5fYWRhcHRlci5nZXRZZWFyKGRhdGUpO1xuICAgIHJldHVybiB0aGlzLl9pc0luUmFuZ2UoeWVhcikgPyB5ZWFyIDogbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZSBpZiB0aGUgY3VycmVudCB5ZWFyIGlzIGluIHRoZSBjdXJyZW50IHJhbmdlXG4gICAqIFJldHVybnMgdHJ1ZSBpZiBpcyBpbiByYW5nZSBlbHNlIHJldHVybnMgZmFsc2VcbiAgICovXG4gIHByaXZhdGUgX2lzSW5SYW5nZSh5ZWFyOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0gb2JqIFRoZSBvYmplY3QgdG8gY2hlY2suXG4gICAqIEByZXR1cm5zIFRoZSBnaXZlbiBvYmplY3QgaWYgaXQgaXMgYm90aCBhIGRhdGUgaW5zdGFuY2UgYW5kIHZhbGlkLCBvdGhlcndpc2UgbnVsbC5cbiAgICovXG4gIHByaXZhdGUgX2dldFZhbGlkRGF0ZU9yTnVsbChvYmo6IGFueSk6IEQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fYWRhcHRlci5pc0RhdGVJbnN0YW5jZShvYmopICYmIHRoaXMuX2FkYXB0ZXIuaXNWYWxpZChvYmopID8gb2JqIDogbnVsbDtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNTYW1lTXVsdGlZZWFyVmlldzxEPihcbiAgZGF0ZUFkYXB0ZXI6IERhdGV0aW1lQWRhcHRlcjxEPixcbiAgZGF0ZTE6IEQsXG4gIGRhdGUyOiBELFxuICBtaW5EYXRlOiBEIHwgbnVsbCxcbiAgbWF4RGF0ZTogRCB8IG51bGxcbik6IGJvb2xlYW4ge1xuICBjb25zdCB5ZWFyMSA9IGRhdGVBZGFwdGVyLmdldFllYXIoZGF0ZTEpO1xuICBjb25zdCB5ZWFyMiA9IGRhdGVBZGFwdGVyLmdldFllYXIoZGF0ZTIpO1xuICBjb25zdCBzdGFydGluZ1llYXIgPSBnZXRTdGFydGluZ1llYXIoZGF0ZUFkYXB0ZXIsIG1pbkRhdGUsIG1heERhdGUpO1xuICByZXR1cm4gKFxuICAgIE1hdGguZmxvb3IoKHllYXIxIC0gc3RhcnRpbmdZZWFyKSAvIHllYXJzUGVyUGFnZSkgPT09XG4gICAgTWF0aC5mbG9vcigoeWVhcjIgLSBzdGFydGluZ1llYXIpIC8geWVhcnNQZXJQYWdlKVxuICApO1xufVxuXG4vKipcbiAqIFdoZW4gdGhlIG11bHRpLXllYXIgdmlldyBpcyBmaXJzdCBvcGVuZWQsIHRoZSBhY3RpdmUgeWVhciB3aWxsIGJlIGluIHZpZXcuXG4gKiBTbyB3ZSBjb21wdXRlIGhvdyBtYW55IHllYXJzIGFyZSBiZXR3ZWVuIHRoZSBhY3RpdmUgeWVhciBhbmQgdGhlICpzbG90KiB3aGVyZSBvdXJcbiAqIFwic3RhcnRpbmdZZWFyXCIgd2lsbCByZW5kZXIgd2hlbiBwYWdlZCBpbnRvIHZpZXcuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRBY3RpdmVPZmZzZXQ8RD4oXG4gIGRhdGVBZGFwdGVyOiBEYXRldGltZUFkYXB0ZXI8RD4sXG4gIGFjdGl2ZURhdGU6IEQsXG4gIG1pbkRhdGU6IEQgfCBudWxsLFxuICBtYXhEYXRlOiBEIHwgbnVsbFxuKTogbnVtYmVyIHtcbiAgY29uc3QgYWN0aXZlWWVhciA9IGRhdGVBZGFwdGVyLmdldFllYXIoYWN0aXZlRGF0ZSk7XG4gIHJldHVybiBldWNsaWRlYW5Nb2R1bG8oYWN0aXZlWWVhciAtIGdldFN0YXJ0aW5nWWVhcihkYXRlQWRhcHRlciwgbWluRGF0ZSwgbWF4RGF0ZSksIHllYXJzUGVyUGFnZSk7XG59XG5cbi8qKlxuICogV2UgcGljayBhIFwic3RhcnRpbmdcIiB5ZWFyIHN1Y2ggdGhhdCBlaXRoZXIgdGhlIG1heGltdW0geWVhciB3b3VsZCBiZSBhdCB0aGUgZW5kXG4gKiBvciB0aGUgbWluaW11bSB5ZWFyIHdvdWxkIGJlIGF0IHRoZSBiZWdpbm5pbmcgb2YgYSBwYWdlLlxuICovXG5mdW5jdGlvbiBnZXRTdGFydGluZ1llYXI8RD4oXG4gIGRhdGVBZGFwdGVyOiBEYXRldGltZUFkYXB0ZXI8RD4sXG4gIG1pbkRhdGU6IEQgfCBudWxsLFxuICBtYXhEYXRlOiBEIHwgbnVsbFxuKTogbnVtYmVyIHtcbiAgbGV0IHN0YXJ0aW5nWWVhciA9IDA7XG4gIGlmIChtYXhEYXRlKSB7XG4gICAgY29uc3QgbWF4WWVhciA9IGRhdGVBZGFwdGVyLmdldFllYXIobWF4RGF0ZSk7XG4gICAgc3RhcnRpbmdZZWFyID0gbWF4WWVhciAtIHllYXJzUGVyUGFnZSArIDE7XG4gIH0gZWxzZSBpZiAobWluRGF0ZSkge1xuICAgIHN0YXJ0aW5nWWVhciA9IGRhdGVBZGFwdGVyLmdldFllYXIobWluRGF0ZSk7XG4gIH1cbiAgcmV0dXJuIHN0YXJ0aW5nWWVhcjtcbn1cblxuLyoqIEdldHMgcmVtYWluZGVyIHRoYXQgaXMgbm9uLW5lZ2F0aXZlLCBldmVuIGlmIGZpcnN0IG51bWJlciBpcyBuZWdhdGl2ZSAqL1xuZnVuY3Rpb24gZXVjbGlkZWFuTW9kdWxvKGE6IG51bWJlciwgYjogbnVtYmVyKTogbnVtYmVyIHtcbiAgcmV0dXJuICgoYSAlIGIpICsgYikgJSBiO1xufVxuIiwiPHRhYmxlIGNsYXNzPVwibXR4LWNhbGVuZGFyLXRhYmxlXCIgcm9sZT1cImdyaWRcIj5cbiAgPHRoZWFkIGNsYXNzPVwibXR4LWNhbGVuZGFyLXRhYmxlLWhlYWRlclwiPjwvdGhlYWQ+XG4gIDx0Ym9keSBtdHgtY2FsZW5kYXItYm9keVxuICAgICAgICAgKEBzbGlkZUNhbGVuZGFyLmRvbmUpPVwiX2NhbGVuZGFyU3RhdGVEb25lKClcIlxuICAgICAgICAgW0BzbGlkZUNhbGVuZGFyXT1cIl9jYWxlbmRhclN0YXRlXCJcbiAgICAgICAgIFt0b2RheVZhbHVlXT1cIl90b2RheVllYXJcIlxuICAgICAgICAgW3Jvd3NdPVwiX3llYXJzXCJcbiAgICAgICAgIFtudW1Db2xzXT1cIjRcIlxuICAgICAgICAgW2FjdGl2ZUNlbGxdPVwiX2dldEFjdGl2ZUNlbGwoKVwiXG4gICAgICAgICBbYWxsb3dEaXNhYmxlZFNlbGVjdGlvbl09XCJ0cnVlXCJcbiAgICAgICAgIFtzZWxlY3RlZFZhbHVlXT1cIl9zZWxlY3RlZFllYXIhXCJcbiAgICAgICAgIChzZWxlY3RlZFZhbHVlQ2hhbmdlKT1cIl95ZWFyU2VsZWN0ZWQoJGV2ZW50KVwiPjwvdGJvZHk+XG48L3RhYmxlPlxuIl19
@@ -1,17 +0,0 @@
1
- export * from './datetimepicker-module';
2
- export * from './clock';
3
- export * from './time';
4
- export * from './calendar';
5
- export * from './calendar-body';
6
- export * from './datetimepicker';
7
- export * from './datetimepicker-filtertype';
8
- export * from './datetimepicker-input';
9
- export * from './datetimepicker-toggle';
10
- export * from './month-view';
11
- export * from './year-view';
12
- export * from './multi-year-view';
13
- export * from './datetimepicker-animations';
14
- export * from './datetimepicker-types';
15
- export * from './datetimepicker-intl';
16
- export * from './datetimepicker-actions';
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2V4dGVuc2lvbnMvZGF0ZXRpbWVwaWNrZXIvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsMEJBQTBCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2RhdGV0aW1lcGlja2VyLW1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2Nsb2NrJztcbmV4cG9ydCAqIGZyb20gJy4vdGltZSc7XG5leHBvcnQgKiBmcm9tICcuL2NhbGVuZGFyJztcbmV4cG9ydCAqIGZyb20gJy4vY2FsZW5kYXItYm9keSc7XG5leHBvcnQgKiBmcm9tICcuL2RhdGV0aW1lcGlja2VyJztcbmV4cG9ydCAqIGZyb20gJy4vZGF0ZXRpbWVwaWNrZXItZmlsdGVydHlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2RhdGV0aW1lcGlja2VyLWlucHV0JztcbmV4cG9ydCAqIGZyb20gJy4vZGF0ZXRpbWVwaWNrZXItdG9nZ2xlJztcbmV4cG9ydCAqIGZyb20gJy4vbW9udGgtdmlldyc7XG5leHBvcnQgKiBmcm9tICcuL3llYXItdmlldyc7XG5leHBvcnQgKiBmcm9tICcuL211bHRpLXllYXItdmlldyc7XG5leHBvcnQgKiBmcm9tICcuL2RhdGV0aW1lcGlja2VyLWFuaW1hdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9kYXRldGltZXBpY2tlci10eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2RhdGV0aW1lcGlja2VyLWludGwnO1xuZXhwb3J0ICogZnJvbSAnLi9kYXRldGltZXBpY2tlci1hY3Rpb25zJztcbiJdfQ==