@progress/kendo-angular-scheduler 4.3.7 → 11.0.0-develop.100

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 (404) hide show
  1. package/LICENSE.md +1 -1
  2. package/NOTICE.txt +119 -79
  3. package/common/constants.d.ts +1 -1
  4. package/common/default-model-fields.d.ts +1 -1
  5. package/common/dom-queries.d.ts +1 -1
  6. package/common/getter.d.ts +1 -1
  7. package/common/modifiers.d.ts +1 -1
  8. package/common/setter.d.ts +1 -1
  9. package/common/util.d.ts +1 -1
  10. package/data-binding.directive.d.ts +1 -1
  11. package/editing/date-time-picker.component.d.ts +1 -1
  12. package/editing/dialogs.service.d.ts +1 -1
  13. package/editing/edit-dialog-template.directive.d.ts +1 -1
  14. package/editing/edit-dialog.component.d.ts +1 -1
  15. package/editing/edit.service.d.ts +1 -1
  16. package/editing/local-data-changes.service.d.ts +1 -1
  17. package/editing/recurrence/end-rule-radio-button.directive.d.ts +1 -1
  18. package/editing/recurrence/localization/custom-messages.component.d.ts +1 -1
  19. package/editing/recurrence/localization/localized-messages.directive.d.ts +1 -1
  20. package/editing/recurrence/localization/messages.d.ts +1 -1
  21. package/editing/recurrence/localization/recurrence-localization.service.d.ts +1 -1
  22. package/editing/recurrence/recurrence-editor.component.d.ts +1 -1
  23. package/editing/recurrence/recurrence-end-rule-editor.component.d.ts +1 -1
  24. package/editing/recurrence/recurrence-frequency-editor.component.d.ts +1 -1
  25. package/editing/recurrence/recurrence-interval-editor.component.d.ts +1 -1
  26. package/editing/recurrence/recurrence-monthly-yearly-editor.component.d.ts +1 -1
  27. package/editing/recurrence/recurrence-weekday-rule-editor.component.d.ts +1 -1
  28. package/editing/recurrence/recurrence.service.d.ts +1 -1
  29. package/editing/recurrence/repeat-on-radio-button.directive.d.ts +1 -1
  30. package/editing/resource-editor-base.d.ts +1 -1
  31. package/editing/resource-multiple-editor.component.d.ts +1 -1
  32. package/editing/resource-single-editor.component.d.ts +1 -1
  33. package/editing/timezone-editor.component.d.ts +1 -1
  34. package/editing-directives/base-edit.service.d.ts +1 -1
  35. package/editing-directives/edit-service.interface.d.ts +1 -1
  36. package/editing-directives/editing-directive-base.d.ts +1 -1
  37. package/editing-directives/local-edit.service.d.ts +1 -1
  38. package/editing-directives/reactive-editing.directive.d.ts +1 -1
  39. package/editing-directives/utils.d.ts +1 -1
  40. package/{esm2015/common/constants.js → esm2020/common/constants.mjs} +1 -1
  41. package/{esm2015/common/default-model-fields.js → esm2020/common/default-model-fields.mjs} +1 -1
  42. package/{esm2015/common/dom-queries.js → esm2020/common/dom-queries.mjs} +3 -3
  43. package/{esm2015/common/getter.js → esm2020/common/getter.mjs} +1 -1
  44. package/{esm2015/common/modifiers.js → esm2020/common/modifiers.mjs} +1 -1
  45. package/{esm2015/common/setter.js → esm2020/common/setter.mjs} +1 -1
  46. package/{esm2015/common/util.js → esm2020/common/util.mjs} +2 -2
  47. package/{esm2015/data-binding.directive.js → esm2020/data-binding.directive.mjs} +8 -5
  48. package/{esm2015/editing/date-time-picker.component.js → esm2020/editing/date-time-picker.component.mjs} +11 -12
  49. package/{esm2015/editing/dialogs.service.js → esm2020/editing/dialogs.service.mjs} +9 -6
  50. package/{esm2015/editing/edit-dialog-template.directive.js → esm2020/editing/edit-dialog-template.directive.mjs} +5 -5
  51. package/{esm2015/editing/edit-dialog.component.js → esm2020/editing/edit-dialog.component.mjs} +15 -11
  52. package/{esm2015/editing/edit.service.js → esm2020/editing/edit.service.mjs} +5 -5
  53. package/{esm2015/editing/local-data-changes.service.js → esm2020/editing/local-data-changes.service.mjs} +4 -4
  54. package/{esm2015/editing/recurrence/end-rule-radio-button.directive.js → esm2020/editing/recurrence/end-rule-radio-button.directive.mjs} +6 -5
  55. package/{esm2015/editing/recurrence/localization/custom-messages.component.js → esm2020/editing/recurrence/localization/custom-messages.component.mjs} +5 -4
  56. package/{esm2015/editing/recurrence/localization/localized-messages.directive.js → esm2020/editing/recurrence/localization/localized-messages.directive.mjs} +5 -4
  57. package/{esm2015/editing/recurrence/localization/messages.js → esm2020/editing/recurrence/localization/messages.mjs} +4 -4
  58. package/{esm2015/editing/recurrence/localization/recurrence-localization.service.js → esm2020/editing/recurrence/localization/recurrence-localization.service.mjs} +5 -5
  59. package/{esm2015/editing/recurrence/recurrence-editor.component.js → esm2020/editing/recurrence/recurrence-editor.component.mjs} +6 -5
  60. package/{esm2015/editing/recurrence/recurrence-end-rule-editor.component.js → esm2020/editing/recurrence/recurrence-end-rule-editor.component.mjs} +10 -8
  61. package/{esm2015/editing/recurrence/recurrence-frequency-editor.component.js → esm2020/editing/recurrence/recurrence-frequency-editor.component.mjs} +8 -6
  62. package/{esm2015/editing/recurrence/recurrence-interval-editor.component.js → esm2020/editing/recurrence/recurrence-interval-editor.component.mjs} +7 -5
  63. package/{esm2015/editing/recurrence/recurrence-monthly-yearly-editor.component.js → esm2020/editing/recurrence/recurrence-monthly-yearly-editor.component.mjs} +8 -6
  64. package/{esm2015/editing/recurrence/recurrence-weekday-rule-editor.component.js → esm2020/editing/recurrence/recurrence-weekday-rule-editor.component.mjs} +9 -7
  65. package/{esm2015/editing/recurrence/recurrence.service.js → esm2020/editing/recurrence/recurrence.service.mjs} +7 -5
  66. package/{esm2015/editing/recurrence/repeat-on-radio-button.directive.js → esm2020/editing/recurrence/repeat-on-radio-button.directive.mjs} +6 -5
  67. package/{esm2015/editing/resource-editor-base.js → esm2020/editing/resource-editor-base.mjs} +4 -4
  68. package/{esm2015/editing/resource-multiple-editor.component.js → esm2020/editing/resource-multiple-editor.component.mjs} +5 -4
  69. package/{esm2015/editing/resource-single-editor.component.js → esm2020/editing/resource-single-editor.component.mjs} +5 -4
  70. package/{esm2015/editing/timezone-editor.component.js → esm2020/editing/timezone-editor.component.mjs} +5 -4
  71. package/{esm2015/editing-directives/base-edit.service.js → esm2020/editing-directives/base-edit.service.mjs} +2 -2
  72. package/{esm2015/editing-directives/edit-service.interface.js → esm2020/editing-directives/edit-service.interface.mjs} +1 -1
  73. package/{esm2015/editing-directives/editing-directive-base.js → esm2020/editing-directives/editing-directive-base.mjs} +8 -4
  74. package/{esm2015/editing-directives/local-edit.service.js → esm2020/editing-directives/local-edit.service.mjs} +1 -1
  75. package/{esm2015/editing-directives/reactive-editing.directive.js → esm2020/editing-directives/reactive-editing.directive.mjs} +8 -4
  76. package/{esm2015/editing-directives/utils.js → esm2020/editing-directives/utils.mjs} +3 -3
  77. package/{esm2015/events/add-event.js → esm2020/events/add-event.mjs} +1 -1
  78. package/{esm2015/events/cancel-event.js → esm2020/events/cancel-event.mjs} +1 -1
  79. package/{esm2015/events/create-event.js → esm2020/events/create-event.mjs} +1 -1
  80. package/{esm2015/events/date-change-event.js → esm2020/events/date-change-event.mjs} +1 -1
  81. package/{esm2015/events/drag-end-event.js → esm2020/events/drag-end-event.mjs} +1 -1
  82. package/{esm2015/events/drag-event.js → esm2020/events/drag-event.mjs} +1 -1
  83. package/{esm2015/events/drag-start-event.js → esm2020/events/drag-start-event.mjs} +1 -1
  84. package/{esm2015/events/edit-event-base.js → esm2020/events/edit-event-base.mjs} +1 -1
  85. package/{esm2015/events/edit-event.js → esm2020/events/edit-event.mjs} +1 -1
  86. package/{esm2015/events/event-click-event.js → esm2020/events/event-click-event.mjs} +1 -1
  87. package/{esm2015/events/event-keydown-event.js → esm2020/events/event-keydown-event.mjs} +1 -1
  88. package/{esm2015/events/navigate-event.js → esm2020/events/navigate-event.mjs} +1 -1
  89. package/{esm2015/events/preventable-event.js → esm2020/events/preventable-event.mjs} +1 -1
  90. package/{esm2015/events/remove-event.js → esm2020/events/remove-event.mjs} +1 -1
  91. package/{esm2015/events/resize-end-event.js → esm2020/events/resize-end-event.mjs} +1 -1
  92. package/{esm2015/events/resize-event.js → esm2020/events/resize-event.mjs} +1 -1
  93. package/{esm2015/events/resize-start-event.js → esm2020/events/resize-start-event.mjs} +1 -1
  94. package/{esm2015/events/save-event.js → esm2020/events/save-event.mjs} +1 -1
  95. package/{esm2015/events/slot-click-event.js → esm2020/events/slot-click-event.mjs} +1 -1
  96. package/{esm2015/events/slot-drag-end-event.js → esm2020/events/slot-drag-end-event.mjs} +1 -1
  97. package/{esm2015/events/slot-drag-event.js → esm2020/events/slot-drag-event.mjs} +1 -1
  98. package/{esm2015/events/slot-drag-start-event.js → esm2020/events/slot-drag-start-event.mjs} +1 -1
  99. package/{esm2015/events/view-event-map.js → esm2020/events/view-event-map.mjs} +1 -1
  100. package/{esm2015/events.js → esm2020/events.mjs} +1 -1
  101. package/{esm2015/main.js → esm2020/index.mjs} +3 -1
  102. package/{esm2015/loading.component.js → esm2020/loading.component.mjs} +5 -5
  103. package/{esm2015/localization/custom-messages.component.js → esm2020/localization/custom-messages.component.mjs} +5 -4
  104. package/{esm2015/localization/localized-messages.directive.js → esm2020/localization/localized-messages.directive.mjs} +5 -4
  105. package/{esm2015/localization/messages.js → esm2020/localization/messages.mjs} +6 -4
  106. package/{esm2015/localization/scheduler-localization.service.js → esm2020/localization/scheduler-localization.service.mjs} +5 -5
  107. package/{esm2015/toolbar/toolbar-context.js → esm2020/navigation/focus-position.interface.mjs} +1 -1
  108. package/{esm2015/navigation/focus.service.js → esm2020/navigation/focus.service.mjs} +9 -10
  109. package/{esm2015/navigation/focusable-element.interface.js → esm2020/navigation/focusable-element.interface.mjs} +1 -1
  110. package/{esm2015/navigation/focusable.directive.js → esm2020/navigation/focusable.directive.mjs} +9 -9
  111. package/{esm2015/navigation/shortcuts.directive.js → esm2020/navigation/shortcuts.directive.mjs} +11 -6
  112. package/{esm2015/navigation.js → esm2020/navigation.mjs} +1 -1
  113. package/{esm2015/package-metadata.js → esm2020/package-metadata.mjs} +3 -3
  114. package/{esm2015/pdf/pdf-command.directive.js → esm2020/pdf/pdf-command.directive.mjs} +34 -7
  115. package/{esm2015/pdf/pdf-export-event.js → esm2020/pdf/pdf-export-event.mjs} +1 -1
  116. package/{esm2015/pdf/pdf.component.js → esm2020/pdf/pdf.component.mjs} +6 -5
  117. package/{esm2015/pdf/pdf.module.js → esm2020/pdf/pdf.module.mjs} +8 -6
  118. package/{esm2015/pdf/pdf.service.js → esm2020/pdf/pdf.service.mjs} +4 -4
  119. package/{esm2015/kendo-angular-scheduler.js → esm2020/progress-kendo-angular-scheduler.mjs} +2 -2
  120. package/{esm2015/scheduler.component.js → esm2020/scheduler.component.mjs} +23 -13
  121. package/{esm2015/scheduler.module.js → esm2020/scheduler.module.mjs} +9 -5
  122. package/{esm2015/shared.module.js → esm2020/shared.module.mjs} +5 -5
  123. package/{esm2015/toolbar/navigation.component.js → esm2020/toolbar/navigation.component.mjs} +40 -18
  124. package/{esm2015/navigation/focus-position.interface.js → esm2020/toolbar/toolbar-context.mjs} +1 -1
  125. package/{esm2015/toolbar/toolbar-template.directive.js → esm2020/toolbar/toolbar-template.directive.mjs} +5 -5
  126. package/{esm2015/toolbar/toolbar.component.js → esm2020/toolbar/toolbar.component.mjs} +8 -5
  127. package/{esm2015/toolbar/toolbar.module.js → esm2020/toolbar/toolbar.module.mjs} +5 -5
  128. package/{esm2015/toolbar/toolbar.service.js → esm2020/toolbar/toolbar.service.mjs} +4 -4
  129. package/{esm2015/toolbar/view-selector.component.js → esm2020/toolbar/view-selector.component.mjs} +10 -8
  130. package/esm2020/types/actions.mjs +5 -0
  131. package/esm2020/types/create-form-group-args.interface.mjs +5 -0
  132. package/esm2020/types/crud-operation.enum.mjs +5 -0
  133. package/esm2020/types/current-time-settings.interface.mjs +5 -0
  134. package/esm2020/types/date-range.interface.mjs +5 -0
  135. package/esm2020/types/datepicker-options.interface.mjs +5 -0
  136. package/esm2020/types/edit-event-args.interface.mjs +5 -0
  137. package/esm2020/types/edit-mode.enum.mjs +5 -0
  138. package/esm2020/types/editable-settings.interface.mjs +5 -0
  139. package/esm2020/types/event-style-args.interface.mjs +5 -0
  140. package/esm2020/types/focusable-container.mjs +5 -0
  141. package/esm2020/types/group.interface.mjs +5 -0
  142. package/esm2020/types/numeric-options.interface.mjs +5 -0
  143. package/esm2020/types/ongoing-events-settings.interface.mjs +5 -0
  144. package/esm2020/types/resource.interface.mjs +5 -0
  145. package/esm2020/types/scheduler-event.mjs +5 -0
  146. package/esm2020/types/scheduler-model-fields.interface.mjs +5 -0
  147. package/esm2020/types/scheduler-slot.interface.mjs +5 -0
  148. package/{esm2015/types/scheduler-view.js → esm2020/types/scheduler-view.mjs} +1 -1
  149. package/esm2020/types/slot-class-args.interface.mjs +5 -0
  150. package/{esm2015/types/slot-selection.js → esm2020/types/slot-selection.mjs} +1 -1
  151. package/esm2020/types/view-item.interface.mjs +5 -0
  152. package/{esm2015/types.js → esm2020/types.mjs} +1 -3
  153. package/{esm2015/views/agenda/agenda-header-item.component.js → esm2020/views/agenda/agenda-header-item.component.mjs} +5 -5
  154. package/{esm2015/views/agenda/agenda-header.component.js → esm2020/views/agenda/agenda-header.component.mjs} +5 -4
  155. package/{esm2015/views/agenda/agenda-task-item.component.js → esm2020/views/agenda/agenda-task-item.component.mjs} +6 -5
  156. package/{esm2015/views/agenda/agenda-view-internal.component.js → esm2020/views/agenda/agenda-view-internal.component.mjs} +10 -5
  157. package/{esm2015/views/agenda/agenda-view-list.component.js → esm2020/views/agenda/agenda-view-list.component.mjs} +7 -5
  158. package/{esm2015/views/agenda/agenda-view.component.js → esm2020/views/agenda/agenda-view.component.mjs} +8 -5
  159. package/{esm2015/views/agenda/agenda-view.module.js → esm2020/views/agenda/agenda-view.module.mjs} +5 -5
  160. package/{esm2015/views/agenda/tasks.collection.js → esm2020/views/agenda/tasks.collection.mjs} +1 -1
  161. package/{esm2015/views/agenda/utils.js → esm2020/views/agenda/utils.mjs} +10 -5
  162. package/{esm2015/views/common/base-view.js → esm2020/views/common/base-view.mjs} +20 -13
  163. package/{esm2015/views/common/configuration-view-base.js → esm2020/views/common/configuration-view-base.mjs} +8 -5
  164. package/{esm2015/views/common/dom-events.service.js → esm2020/views/common/dom-events.service.mjs} +4 -4
  165. package/{esm2015/views/common/hint-container.component.js → esm2020/views/common/hint-container.component.mjs} +5 -5
  166. package/{esm2015/views/common/repeat.pipe.js → esm2020/views/common/repeat.pipe.mjs} +4 -4
  167. package/{esm2015/views/common/resize-hint.component.js → esm2020/views/common/resize-hint.component.mjs} +4 -4
  168. package/{esm2015/views/common/resource-iterator.pipe.js → esm2020/views/common/resource-iterator.pipe.mjs} +4 -4
  169. package/esm2020/views/common/scheduler-task.mjs +5 -0
  170. package/{esm2015/views/common/slot-selectable.directive.js → esm2020/views/common/slot-selectable.directive.mjs} +7 -6
  171. package/{esm2015/views/common/view-footer.component.js → esm2020/views/common/view-footer.component.mjs} +8 -7
  172. package/{esm2015/views/common/views-shared.module.js → esm2020/views/common/views-shared.module.mjs} +5 -5
  173. package/{esm2015/views/common/work-hours-footer.directive.js → esm2020/views/common/work-hours-footer.directive.mjs} +6 -4
  174. package/{esm2015/views/constants.js → esm2020/views/constants.mjs} +1 -1
  175. package/{esm2015/views/day-time/day-time-slot.service.js → esm2020/views/day-time/day-time-slot.service.mjs} +12 -18
  176. package/{esm2015/views/day-time/day-time-view-base.js → esm2020/views/day-time/day-time-view-base.mjs} +9 -5
  177. package/{esm2015/views/day-time/day-time-view-item.component.js → esm2020/views/day-time/day-time-view-item.component.mjs} +9 -5
  178. package/{esm2015/views/day-time/day-time-view.component.js → esm2020/views/day-time/day-time-view.component.mjs} +12 -6
  179. package/{esm2015/views/day-time/day-time.module.js → esm2020/views/day-time/day-time.module.mjs} +5 -5
  180. package/{esm2015/views/day-time/event-slot.directive.js → esm2020/views/day-time/event-slot.directive.mjs} +10 -8
  181. package/{esm2015/views/day-time/utils.js → esm2020/views/day-time/utils.mjs} +1 -1
  182. package/{esm2015/views/month/month-slot.directive.js → esm2020/views/month/month-slot.directive.mjs} +7 -5
  183. package/{esm2015/views/month/month-slot.service.js → esm2020/views/month/month-slot.service.mjs} +1 -1
  184. package/{esm2015/views/month/month-view-item.component.js → esm2020/views/month/month-view-item.component.mjs} +8 -5
  185. package/{esm2015/views/month/month-view-renderer.component.js → esm2020/views/month/month-view-renderer.component.mjs} +45 -22
  186. package/{esm2015/views/month/month-view.component.js → esm2020/views/month/month-view.component.mjs} +44 -14
  187. package/{esm2015/views/month/month-view.module.js → esm2020/views/month/month-view.module.mjs} +13 -8
  188. package/esm2020/views/month/multi-week-view.component.mjs +147 -0
  189. package/{esm2015/views/month/utils.js → esm2020/views/month/utils.mjs} +2 -2
  190. package/{esm2015/views/multi-day/day-view.component.js → esm2020/views/multi-day/day-view.component.mjs} +10 -7
  191. package/{esm2015/views/multi-day/multi-day-view-base.js → esm2020/views/multi-day/multi-day-view-base.mjs} +8 -5
  192. package/{esm2015/views/multi-day/multi-day-view-renderer.component.js → esm2020/views/multi-day/multi-day-view-renderer.component.mjs} +16 -10
  193. package/{esm2015/views/multi-day/multi-day-view.component.js → esm2020/views/multi-day/multi-day-view.component.mjs} +10 -7
  194. package/{esm2015/views/multi-day/multi-day-view.module.js → esm2020/views/multi-day/multi-day-view.module.mjs} +5 -5
  195. package/{esm2015/views/multi-day/utils.js → esm2020/views/multi-day/utils.mjs} +1 -1
  196. package/{esm2015/views/multi-day/week-view.component.js → esm2020/views/multi-day/week-view.component.mjs} +11 -7
  197. package/{esm2015/views/multi-day/work-week-view.component.js → esm2020/views/multi-day/work-week-view.component.mjs} +11 -7
  198. package/{esm2015/views/scheduler-view.directive.js → esm2020/views/scheduler-view.directive.mjs} +5 -5
  199. package/{esm2015/views/templates/agenda-date-template.directive.js → esm2020/views/templates/agenda-date-template.directive.mjs} +5 -5
  200. package/{esm2015/views/templates/agenda-time-template.directive.js → esm2020/views/templates/agenda-time-template.directive.mjs} +5 -5
  201. package/{esm2015/views/templates/all-day-event-template.directive.js → esm2020/views/templates/all-day-event-template.directive.mjs} +5 -5
  202. package/{esm2015/views/templates/all-day-slot-template.directive.js → esm2020/views/templates/all-day-slot-template.directive.mjs} +5 -5
  203. package/{esm2015/views/templates/date-header-template.directive.js → esm2020/views/templates/date-header-template.directive.mjs} +5 -5
  204. package/{esm2015/views/templates/event-template.directive.js → esm2020/views/templates/event-template.directive.mjs} +5 -5
  205. package/{esm2015/views/templates/group-header-template.directive.js → esm2020/views/templates/group-header-template.directive.mjs} +5 -5
  206. package/{esm2015/views/templates/major-time-header-template.directive.js → esm2020/views/templates/major-time-header-template.directive.mjs} +5 -5
  207. package/{esm2015/views/templates/minor-time-header-template.directive.js → esm2020/views/templates/minor-time-header-template.directive.mjs} +5 -5
  208. package/{esm2015/views/templates/month-day-slot-template.directive.js → esm2020/views/templates/month-day-slot-template.directive.mjs} +5 -5
  209. package/esm2020/views/templates/multi-week-day-slot-template.directive.mjs +31 -0
  210. package/{esm2015/views/templates/time-slot-template.directive.js → esm2020/views/templates/time-slot-template.directive.mjs} +5 -5
  211. package/{esm2015/views/templates.js → esm2020/views/templates.mjs} +2 -1
  212. package/{esm2015/views/timeline/timeline-base.js → esm2020/views/timeline/timeline-base.mjs} +8 -5
  213. package/{esm2015/views/timeline/timeline-month-view.component.js → esm2020/views/timeline/timeline-month-view.component.mjs} +10 -7
  214. package/{esm2015/views/timeline/timeline-multi-day-view.component.js → esm2020/views/timeline/timeline-multi-day-view.component.mjs} +11 -5
  215. package/{esm2015/views/timeline/timeline-view.component.js → esm2020/views/timeline/timeline-view.component.mjs} +10 -7
  216. package/{esm2015/views/timeline/timeline-view.module.js → esm2020/views/timeline/timeline-view.module.mjs} +5 -5
  217. package/{esm2015/views/timeline/timeline-week-view.component.js → esm2020/views/timeline/timeline-week-view.component.mjs} +11 -7
  218. package/{esm2015/views/timeline/utils.js → esm2020/views/timeline/utils.mjs} +4 -4
  219. package/{esm2015/views/utils.js → esm2020/views/utils.mjs} +6 -6
  220. package/{esm2015/views/view-context.service.js → esm2020/views/view-context.service.mjs} +4 -4
  221. package/{esm2015/views/view-items/base-slot.directive.js → esm2020/views/view-items/base-slot.directive.mjs} +7 -5
  222. package/{esm2015/views/view-items/base-slot.service.js → esm2020/views/view-items/base-slot.service.mjs} +1 -1
  223. package/{esm2015/views/view-items/base-view-item.js → esm2020/views/view-items/base-view-item.mjs} +9 -6
  224. package/{esm2015/views/view-items/item-map.js → esm2020/views/view-items/item-map.mjs} +1 -1
  225. package/esm2020/views/view-items/types.mjs +5 -0
  226. package/{esm2015/views/view-state.service.js → esm2020/views/view-state.service.mjs} +4 -4
  227. package/events/add-event.d.ts +1 -1
  228. package/events/cancel-event.d.ts +1 -1
  229. package/events/create-event.d.ts +1 -1
  230. package/events/date-change-event.d.ts +1 -1
  231. package/events/drag-end-event.d.ts +1 -1
  232. package/events/drag-event.d.ts +1 -1
  233. package/events/drag-start-event.d.ts +1 -1
  234. package/events/edit-event-base.d.ts +1 -1
  235. package/events/edit-event.d.ts +1 -1
  236. package/events/event-click-event.d.ts +1 -1
  237. package/events/event-keydown-event.d.ts +1 -1
  238. package/events/navigate-event.d.ts +1 -1
  239. package/events/preventable-event.d.ts +1 -1
  240. package/events/remove-event.d.ts +1 -1
  241. package/events/resize-end-event.d.ts +1 -1
  242. package/events/resize-event.d.ts +1 -1
  243. package/events/resize-start-event.d.ts +1 -1
  244. package/events/save-event.d.ts +1 -1
  245. package/events/slot-click-event.d.ts +1 -1
  246. package/events/slot-drag-end-event.d.ts +1 -1
  247. package/events/slot-drag-event.d.ts +1 -1
  248. package/events/slot-drag-start-event.d.ts +1 -1
  249. package/events/view-event-map.d.ts +1 -1
  250. package/events.d.ts +1 -1
  251. package/fesm2015/progress-kendo-angular-scheduler.mjs +17213 -0
  252. package/{fesm2015/kendo-angular-scheduler.js → fesm2020/progress-kendo-angular-scheduler.mjs} +1103 -883
  253. package/{main.d.ts → index.d.ts} +3 -1
  254. package/loading.component.d.ts +1 -1
  255. package/localization/custom-messages.component.d.ts +1 -1
  256. package/localization/localized-messages.directive.d.ts +1 -1
  257. package/localization/messages.d.ts +6 -2
  258. package/localization/scheduler-localization.service.d.ts +1 -1
  259. package/navigation/focus-position.interface.d.ts +1 -1
  260. package/navigation/focus.service.d.ts +1 -1
  261. package/navigation/focusable-element.interface.d.ts +1 -1
  262. package/navigation/focusable.directive.d.ts +1 -1
  263. package/navigation/shortcuts.directive.d.ts +1 -1
  264. package/navigation.d.ts +1 -1
  265. package/package-metadata.d.ts +1 -1
  266. package/package.json +37 -64
  267. package/pdf/pdf-command.directive.d.ts +2 -2
  268. package/pdf/pdf-export-event.d.ts +1 -1
  269. package/pdf/pdf.component.d.ts +1 -1
  270. package/pdf/pdf.module.d.ts +3 -2
  271. package/pdf/pdf.service.d.ts +1 -1
  272. package/{kendo-angular-scheduler.d.ts → progress-kendo-angular-scheduler.d.ts} +2 -2
  273. package/scheduler.component.d.ts +7 -2
  274. package/scheduler.module.d.ts +22 -21
  275. package/schematics/ngAdd/index.js +4 -6
  276. package/shared.module.d.ts +1 -1
  277. package/toolbar/navigation.component.d.ts +6 -1
  278. package/toolbar/toolbar-context.d.ts +1 -1
  279. package/toolbar/toolbar-template.directive.d.ts +1 -1
  280. package/toolbar/toolbar.component.d.ts +1 -1
  281. package/toolbar/toolbar.module.d.ts +1 -1
  282. package/toolbar/toolbar.service.d.ts +1 -1
  283. package/toolbar/view-selector.component.d.ts +1 -1
  284. package/types/actions.d.ts +1 -1
  285. package/types/create-form-group-args.interface.d.ts +1 -1
  286. package/types/crud-operation.enum.d.ts +1 -1
  287. package/types/current-time-settings.interface.d.ts +1 -1
  288. package/types/date-range.interface.d.ts +1 -1
  289. package/types/datepicker-options.interface.d.ts +1 -1
  290. package/types/edit-event-args.interface.d.ts +1 -1
  291. package/types/edit-mode.enum.d.ts +1 -1
  292. package/types/editable-settings.interface.d.ts +1 -1
  293. package/types/event-style-args.interface.d.ts +1 -1
  294. package/types/focusable-container.d.ts +1 -1
  295. package/types/group.interface.d.ts +1 -1
  296. package/types/numeric-options.interface.d.ts +1 -1
  297. package/types/ongoing-events-settings.interface.d.ts +1 -1
  298. package/types/resource.interface.d.ts +1 -1
  299. package/types/scheduler-event.d.ts +1 -1
  300. package/types/scheduler-model-fields.interface.d.ts +1 -1
  301. package/types/scheduler-slot.interface.d.ts +1 -1
  302. package/types/scheduler-view.d.ts +1 -1
  303. package/types/slot-class-args.interface.d.ts +1 -1
  304. package/types/slot-selection.d.ts +1 -1
  305. package/types/view-item.interface.d.ts +1 -1
  306. package/types.d.ts +1 -1
  307. package/views/agenda/agenda-header-item.component.d.ts +1 -1
  308. package/views/agenda/agenda-header.component.d.ts +1 -1
  309. package/views/agenda/agenda-task-item.component.d.ts +1 -1
  310. package/views/agenda/agenda-view-internal.component.d.ts +1 -1
  311. package/views/agenda/agenda-view-list.component.d.ts +1 -1
  312. package/views/agenda/agenda-view.component.d.ts +1 -1
  313. package/views/agenda/agenda-view.module.d.ts +1 -1
  314. package/views/agenda/tasks.collection.d.ts +1 -1
  315. package/views/agenda/utils.d.ts +1 -1
  316. package/views/common/base-view.d.ts +3 -3
  317. package/views/common/configuration-view-base.d.ts +1 -1
  318. package/views/common/dom-events.service.d.ts +1 -1
  319. package/views/common/hint-container.component.d.ts +1 -1
  320. package/views/common/repeat.pipe.d.ts +1 -1
  321. package/views/common/resize-hint.component.d.ts +1 -1
  322. package/views/common/resource-iterator.pipe.d.ts +1 -1
  323. package/views/common/scheduler-task.d.ts +1 -1
  324. package/views/common/slot-selectable.directive.d.ts +1 -1
  325. package/views/common/view-footer.component.d.ts +1 -1
  326. package/views/common/views-shared.module.d.ts +1 -1
  327. package/views/common/work-hours-footer.directive.d.ts +1 -1
  328. package/views/constants.d.ts +1 -1
  329. package/views/day-time/day-time-slot.service.d.ts +1 -1
  330. package/views/day-time/day-time-view-base.d.ts +1 -1
  331. package/views/day-time/day-time-view-item.component.d.ts +1 -1
  332. package/views/day-time/day-time-view.component.d.ts +1 -1
  333. package/views/day-time/day-time.module.d.ts +1 -1
  334. package/views/day-time/event-slot.directive.d.ts +1 -1
  335. package/views/day-time/utils.d.ts +1 -1
  336. package/views/month/month-slot.directive.d.ts +1 -1
  337. package/views/month/month-slot.service.d.ts +1 -1
  338. package/views/month/month-view-item.component.d.ts +1 -1
  339. package/views/month/month-view-renderer.component.d.ts +17 -2
  340. package/views/month/month-view.component.d.ts +14 -2
  341. package/views/month/month-view.module.d.ts +4 -3
  342. package/views/month/multi-week-view.component.d.ts +64 -0
  343. package/views/month/utils.d.ts +1 -1
  344. package/views/multi-day/day-view.component.d.ts +1 -1
  345. package/views/multi-day/multi-day-view-base.d.ts +1 -1
  346. package/views/multi-day/multi-day-view-renderer.component.d.ts +1 -1
  347. package/views/multi-day/multi-day-view.component.d.ts +1 -1
  348. package/views/multi-day/multi-day-view.module.d.ts +1 -1
  349. package/views/multi-day/utils.d.ts +1 -1
  350. package/views/multi-day/week-view.component.d.ts +1 -1
  351. package/views/multi-day/work-week-view.component.d.ts +1 -1
  352. package/views/scheduler-view.directive.d.ts +1 -1
  353. package/views/templates/agenda-date-template.directive.d.ts +1 -1
  354. package/views/templates/agenda-time-template.directive.d.ts +1 -1
  355. package/views/templates/all-day-event-template.directive.d.ts +1 -1
  356. package/views/templates/all-day-slot-template.directive.d.ts +1 -1
  357. package/views/templates/date-header-template.directive.d.ts +1 -1
  358. package/views/templates/event-template.directive.d.ts +1 -1
  359. package/views/templates/group-header-template.directive.d.ts +1 -1
  360. package/views/templates/major-time-header-template.directive.d.ts +1 -1
  361. package/views/templates/minor-time-header-template.directive.d.ts +1 -1
  362. package/views/templates/month-day-slot-template.directive.d.ts +1 -1
  363. package/views/templates/multi-week-day-slot-template.directive.d.ts +22 -0
  364. package/views/templates/time-slot-template.directive.d.ts +1 -1
  365. package/views/templates.d.ts +2 -1
  366. package/views/timeline/timeline-base.d.ts +1 -1
  367. package/views/timeline/timeline-month-view.component.d.ts +1 -1
  368. package/views/timeline/timeline-multi-day-view.component.d.ts +1 -1
  369. package/views/timeline/timeline-view.component.d.ts +1 -1
  370. package/views/timeline/timeline-view.module.d.ts +1 -1
  371. package/views/timeline/timeline-week-view.component.d.ts +1 -1
  372. package/views/timeline/utils.d.ts +1 -1
  373. package/views/utils.d.ts +1 -1
  374. package/views/view-context.service.d.ts +1 -1
  375. package/views/view-items/base-slot.directive.d.ts +1 -1
  376. package/views/view-items/base-slot.service.d.ts +1 -1
  377. package/views/view-items/base-view-item.d.ts +1 -1
  378. package/views/view-items/item-map.d.ts +1 -1
  379. package/views/view-items/types.d.ts +1 -1
  380. package/views/view-state.service.d.ts +1 -1
  381. package/bundles/kendo-angular-scheduler.umd.js +0 -5
  382. package/esm2015/types/actions.js +0 -5
  383. package/esm2015/types/create-form-group-args.interface.js +0 -5
  384. package/esm2015/types/crud-operation.enum.js +0 -16
  385. package/esm2015/types/current-time-settings.interface.js +0 -5
  386. package/esm2015/types/date-range.interface.js +0 -5
  387. package/esm2015/types/datepicker-options.interface.js +0 -5
  388. package/esm2015/types/edit-event-args.interface.js +0 -5
  389. package/esm2015/types/edit-mode.enum.js +0 -19
  390. package/esm2015/types/editable-settings.interface.js +0 -5
  391. package/esm2015/types/event-style-args.interface.js +0 -5
  392. package/esm2015/types/focusable-container.js +0 -5
  393. package/esm2015/types/group.interface.js +0 -5
  394. package/esm2015/types/numeric-options.interface.js +0 -5
  395. package/esm2015/types/ongoing-events-settings.interface.js +0 -5
  396. package/esm2015/types/resource.interface.js +0 -5
  397. package/esm2015/types/scheduler-event.js +0 -5
  398. package/esm2015/types/scheduler-model-fields.interface.js +0 -5
  399. package/esm2015/types/scheduler-slot.interface.js +0 -5
  400. package/esm2015/types/slot-class-args.interface.js +0 -5
  401. package/esm2015/types/view-item.interface.js +0 -5
  402. package/esm2015/views/common/scheduler-task.js +0 -5
  403. package/esm2015/views/view-items/types.js +0 -5
  404. package/schematics/ngAdd/index.js.map +0 -1
@@ -1,5 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@progress/kendo-angular-l10n"),require("@progress/kendo-angular-common"),require("@progress/kendo-date-math"),require("rxjs/operators"),require("@progress/kendo-licensing"),require("@progress/kendo-angular-dateinputs"),require("rxjs"),require("@angular/forms"),require("@progress/kendo-angular-dialog"),require("@progress/kendo-angular-intl"),require("@progress/kendo-angular-popup"),require("@progress/kendo-angular-buttons"),require("@angular/common"),require("@progress/kendo-angular-dropdowns"),require("@progress/kendo-recurrence"),require("@progress/kendo-angular-inputs"),require("@progress/kendo-data-query"),require("@progress/kendo-draggable"),require("@progress/kendo-drawing"),require("@progress/kendo-file-saver")):"function"==typeof define&&define.amd?define("KendoAngularScheduler",["exports","@angular/core","@progress/kendo-angular-l10n","@progress/kendo-angular-common","@progress/kendo-date-math","rxjs/operators","@progress/kendo-licensing","@progress/kendo-angular-dateinputs","rxjs","@angular/forms","@progress/kendo-angular-dialog","@progress/kendo-angular-intl","@progress/kendo-angular-popup","@progress/kendo-angular-buttons","@angular/common","@progress/kendo-angular-dropdowns","@progress/kendo-recurrence","@progress/kendo-angular-inputs","@progress/kendo-data-query","@progress/kendo-draggable","@progress/kendo-drawing","@progress/kendo-file-saver"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).KendoAngularScheduler={},e.ng.core,e.KendoAngularL10N,e.KendoAngularCommon,e.KendoDateMath,e.rxjs.operators,e.KendoLicensing,e.KendoAngularDateinputs,e.rxjs,e.ng.forms,e.KendoAngularDialog,e.KendoAngularIntl,e.KendoAngularPopup,e.KendoAngularButtons,e.ng.common,e.KendoAngularDropdowns,e.KendoRecurrence,e.KendoAngularInputs,e.KendoDataQuery,e.KendoDraggable,e.KendoDrawing,e.KendoFileSaver)}(this,function(e,h,P,l,b,s,z,A,u,N,B,j,t,L,q,Z,G,_,U,Y,K,$){"use strict";function X(n){var r;return n&&n.__esModule?n:(r=Object.create(null),n&&Object.keys(n).forEach(function(e){var t;"default"!==e&&(t=Object.getOwnPropertyDescriptor(n,e),Object.defineProperty(r,e,t.get?t:{enumerable:!0,get:function(){return n[e]}}))}),r.default=n,Object.freeze(r))}var n=X(h),r=X(P),Q=X(l),i=X(A),J=X(N),ee=X(B),o=X(j),te=X(t),a=X(L),c=X(q),ne=X(Z),d=X(_),re={name:"@progress/kendo-angular-scheduler",productName:"Kendo UI for Angular",productCodes:["KENDOUIANGULAR","KENDOUICOMPLETE"],publishDate:1669890777,version:"",licensingDocsUrl:"https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning"},ie=function(e,t,n){this.sender=e,this.selectedDate=t,this.dateRange=n},oe=function(e,t){return(oe=Object.setPrototypeOf||({__proto__:[]}instanceof Array?function(e,t){e.__proto__=t}:function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])}))(e,t)};function p(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}oe(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}function ae(r,i){var o,a,s,l={label:0,sent:function(){if(1&s[0])throw s[1];return s[1]},trys:[],ops:[]},c={next:e(0),throw:e(1),return:e(2)};return"function"==typeof Symbol&&(c[Symbol.iterator]=function(){return this}),c;function e(n){return function(e){var t=[n,e];if(o)throw new TypeError("Generator is already executing.");for(;l=c&&t[c=0]?0:l;)try{if(o=1,a&&(s=2&t[0]?a.return:t[0]?a.throw||((s=a.return)&&s.call(a),0):a.next)&&!(s=s.call(a,t[1])).done)return s;switch(a=0,(t=s?[2&t[0],s.value]:t)[0]){case 0:case 1:s=t;break;case 4:return l.label++,{value:t[1],done:!1};case 5:l.label++,a=t[1],t=[0];continue;case 7:t=l.ops.pop(),l.trys.pop();continue;default:if(!(s=0<(s=l.trys).length&&s[s.length-1])&&(6===t[0]||2===t[0])){l=0;continue}if(3===t[0]&&(!s||t[1]>s[0]&&t[1]<s[3]))l.label=t[1];else if(6===t[0]&&l.label<s[1])l.label=s[1],s=t;else{if(!(s&&l.label<s[2])){s[2]&&l.ops.pop(),l.trys.pop();continue}l.label=s[2],l.ops.push(t)}}t=i.call(r,l)}catch(e){t=[6,e],a=0}finally{o=s=0}if(5&t[0])throw t[1];return{value:t[0]?t[1]:void 0,done:!0}}}}Object.create;function se(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,i,o=n.call(e),a=[];try{for(;(void 0===t||0<t--)&&!(r=o.next()).done;)a.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return a}function le(e,t,n){if(n||2===arguments.length)for(var r,i=0,o=t.length;i<o;i++)!r&&i in t||((r=r||Array.prototype.slice.call(t,0,i))[i]=t[i]);return e.concat(r||Array.prototype.slice.call(t))}Object.create;p(ue,ce=A.PreventableEvent);var ce,de=ue;function ue(e,t){var n=ce.call(this)||this;return n.sender=e,n.action=t,n}function pe(e,t){this.sender=e,Object.assign(this,t)}function he(e,t){this.sender=e,Object.assign(this,t)}function me(e,t){this.sender=e,Object.assign(this,t)}function ge(e,t){this.sender=e,Object.assign(this,t)}fe.prototype.preventDefault=function(){this.prevented=!0},fe.prototype.isDefaultPrevented=function(){return this.prevented};var ye=fe;function fe(){this.prevented=!1}p(De,ve=ye);var ve,ke=De;function De(e,t){var n=ve.call(this)||this;return n.sender=e,Object.assign(n,t),n}p(be,Te=ye);var Te,Ie=be;function be(e,t){var n=Te.call(this)||this;return n.sender=e,Object.assign(n,t),n}p(xe,we=ye);var we,Se=xe;function xe(e,t){var n=we.call(this)||this;return n.sender=e,Object.assign(n,t),n}p(Re,Ce=ye);var Ce,Ee=Re;function Re(e,t){var n=Ce.call(this)||this;return n.sender=e,Object.assign(n,t),n}p(He,Oe=ye);var Oe,Fe=He;function He(e,t){var n=Oe.call(this)||this;return n.sender=e,Object.assign(n,t),n}p(Me,Ve=ye);var Ve,We=Me;function Me(e,t){var n=Ve.call(this)||this;return n.sender=e,Object.assign(n,t),n}p(Ae,Pe=ye);var Pe,ze=Ae;function Ae(e,t){var n=Pe.call(this)||this;return n.sender=e,Object.assign(n,t),n}function Ne(e,t){this.sender=e,Object.assign(this,t)}var Be,je={slotClick:pe,slotDblClick:pe,eventClick:he,eventDblClick:he,eventKeydown:me,create:ge,remove:Ee,resizeStart:ze,resize:We,resizeEnd:Fe,dragStart:Se,drag:Ie,dragEnd:ke},Le=(p(qe,Be=Ne),qe);function qe(){return null!==Be&&Be.apply(this,arguments)||this}p(_e,Ze=Ne);var Ze,Ge=_e;function _e(){return null!==Ze&&Ze.apply(this,arguments)||this}p(Ke,Ue=ye);var Ue,Ye=Ke;function Ke(e,t){var n=Ue.call(this)||this;return n.sender=e,Object.assign(n,t),n}p(Qe,$e=ye);var $e,Xe=Qe;function Qe(e,t){var n=$e.call(this)||this;return n.sender=e,Object.assign(n,t),n}p(tt,Je=ye);var Je,et=tt;function tt(e,t){var n=Je.call(this)||this;return n.sender=e,Object.assign(n,t),n}var nt,rt=function(e,t){this.sender=e,Object.assign(this,t)},it=(p(ot,nt=rt),ot);function ot(){return null!==nt&&nt.apply(this,arguments)||this}var at=function(e){this.templateRef=e},st=(at.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:at,deps:[{token:n.TemplateRef,optional:!0}],target:n.ɵɵFactoryTarget.Directive}),at.ɵdir=n.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:at,selector:"[kendoSchedulerToolbarTemplate]",ngImport:n}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:at,decorators:[{type:h.Directive,args:[{selector:"[kendoSchedulerToolbarTemplate]"}]}],ctorParameters:function(){return[{type:n.TemplateRef,decorators:[{type:h.Optional}]}]}}),lt.prototype.navigate=function(e){this.actionSource.next(e)},lt);function lt(){this.actionSource=new u.Subject,this.action=this.actionSource.asObservable()}st.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:st,deps:[],target:n.ɵɵFactoryTarget.Injectable}),st.ɵprov=n.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:st}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:st,decorators:[{type:h.Injectable}],ctorParameters:function(){return[]}});function ct(){}function dt(){}e.EditMode=void 0,(m=e.EditMode||(e.EditMode={}))[m.Event=0]="Event",m[m.Occurrence=1]="Occurrence",m[m.Series=2]="Series",e.CrudOperation=void 0,(m=e.CrudOperation||(e.CrudOperation={}))[m.Edit=0]="Edit",m[m.Remove=1]="Remove";(m=ut=ut||{}).initDragSelect="initDragSelect",m.dragSelect="dragSelect",m.refreshSlotSelection="refreshSlotSelection",m.dragSelectRelease="dragSelectRelease";var ut,m=function(e){this.templateRef=e},pt=(m.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:m,deps:[{token:n.TemplateRef,optional:!0}],target:n.ɵɵFactoryTarget.Directive}),m.ɵdir=n.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:m,selector:"[kendoSchedulerAgendaDateTemplate]",ngImport:n}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:m,decorators:[{type:h.Directive,args:[{selector:"[kendoSchedulerAgendaDateTemplate]"}]}],ctorParameters:function(){return[{type:n.TemplateRef,decorators:[{type:h.Optional}]}]}}),function(e){this.templateRef=e}),ht=(pt.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:pt,deps:[{token:n.TemplateRef,optional:!0}],target:n.ɵɵFactoryTarget.Directive}),pt.ɵdir=n.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:pt,selector:"[kendoSchedulerAgendaTimeTemplate]",ngImport:n}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:pt,decorators:[{type:h.Directive,args:[{selector:"[kendoSchedulerAgendaTimeTemplate]"}]}],ctorParameters:function(){return[{type:n.TemplateRef,decorators:[{type:h.Optional}]}]}}),function(e){this.templateRef=e}),mt=(ht.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:ht,deps:[{token:n.TemplateRef,optional:!0}],target:n.ɵɵFactoryTarget.Directive}),ht.ɵdir=n.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:ht,selector:"[kendoSchedulerAllDayEventTemplate]",ngImport:n}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:ht,decorators:[{type:h.Directive,args:[{selector:"[kendoSchedulerAllDayEventTemplate]"}]}],ctorParameters:function(){return[{type:n.TemplateRef,decorators:[{type:h.Optional}]}]}}),function(e){this.templateRef=e}),gt=(mt.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:mt,deps:[{token:n.TemplateRef,optional:!0}],target:n.ɵɵFactoryTarget.Directive}),mt.ɵdir=n.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:mt,selector:"[kendoSchedulerAllDaySlotTemplate]",ngImport:n}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:mt,decorators:[{type:h.Directive,args:[{selector:"[kendoSchedulerAllDaySlotTemplate]"}]}],ctorParameters:function(){return[{type:n.TemplateRef,decorators:[{type:h.Optional}]}]}}),function(e){this.templateRef=e}),yt=(gt.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:gt,deps:[{token:n.TemplateRef,optional:!0}],target:n.ɵɵFactoryTarget.Directive}),gt.ɵdir=n.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:gt,selector:"[kendoSchedulerDateHeaderTemplate]",ngImport:n}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:gt,decorators:[{type:h.Directive,args:[{selector:"[kendoSchedulerDateHeaderTemplate]"}]}],ctorParameters:function(){return[{type:n.TemplateRef,decorators:[{type:h.Optional}]}]}}),function(e){this.templateRef=e}),ft=(yt.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:yt,deps:[{token:n.TemplateRef,optional:!0}],target:n.ɵɵFactoryTarget.Directive}),yt.ɵdir=n.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:yt,selector:"[kendoSchedulerEventTemplate]",ngImport:n}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:yt,decorators:[{type:h.Directive,args:[{selector:"[kendoSchedulerEventTemplate]"}]}],ctorParameters:function(){return[{type:n.TemplateRef,decorators:[{type:h.Optional}]}]}}),function(e){this.templateRef=e}),vt=(ft.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:ft,deps:[{token:n.TemplateRef,optional:!0}],target:n.ɵɵFactoryTarget.Directive}),ft.ɵdir=n.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:ft,selector:"[kendoSchedulerGroupHeaderTemplate]",ngImport:n}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:ft,decorators:[{type:h.Directive,args:[{selector:"[kendoSchedulerGroupHeaderTemplate]"}]}],ctorParameters:function(){return[{type:n.TemplateRef,decorators:[{type:h.Optional}]}]}}),function(e){this.templateRef=e}),kt=(vt.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:vt,deps:[{token:n.TemplateRef,optional:!0}],target:n.ɵɵFactoryTarget.Directive}),vt.ɵdir=n.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:vt,selector:"[kendoSchedulerMajorTimeHeaderTemplate]",ngImport:n}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:vt,decorators:[{type:h.Directive,args:[{selector:"[kendoSchedulerMajorTimeHeaderTemplate]"}]}],ctorParameters:function(){return[{type:n.TemplateRef,decorators:[{type:h.Optional}]}]}}),function(e){this.templateRef=e}),Dt=(kt.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:kt,deps:[{token:n.TemplateRef,optional:!0}],target:n.ɵɵFactoryTarget.Directive}),kt.ɵdir=n.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:kt,selector:"[kendoSchedulerMinorTimeHeaderTemplate]",ngImport:n}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:kt,decorators:[{type:h.Directive,args:[{selector:"[kendoSchedulerMinorTimeHeaderTemplate]"}]}],ctorParameters:function(){return[{type:n.TemplateRef,decorators:[{type:h.Optional}]}]}}),function(e){this.templateRef=e}),Tt=(Dt.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Dt,deps:[{token:n.TemplateRef,optional:!0}],target:n.ɵɵFactoryTarget.Directive}),Dt.ɵdir=n.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:Dt,selector:"[kendoSchedulerMonthDaySlotTemplate]",ngImport:n}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Dt,decorators:[{type:h.Directive,args:[{selector:"[kendoSchedulerMonthDaySlotTemplate]"}]}],ctorParameters:function(){return[{type:n.TemplateRef,decorators:[{type:h.Optional}]}]}}),function(e){this.templateRef=e}),g=(Tt.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Tt,deps:[{token:n.TemplateRef,optional:!0}],target:n.ɵɵFactoryTarget.Directive}),Tt.ɵdir=n.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:Tt,selector:"[kendoSchedulerTimeSlotTemplate]",ngImport:n}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Tt,decorators:[{type:h.Directive,args:[{selector:"[kendoSchedulerTimeSlotTemplate]"}]}],ctorParameters:function(){return[{type:n.TemplateRef,decorators:[{type:h.Optional}]}]}}),It.prototype.notifyAction=function(e){this.actionSource.next(e)},It.prototype.notifyItems=function(e){this.itemsSource.next(e)},It.prototype.notifySelectedDate=function(e){this.selectedDateSource.next(e)},It.prototype.notifyResize=function(){this.resizeSource.next()},It.prototype.notifyOptionsChange=function(e){this.optionsChangeSource.next(e)},It.prototype.executeMethod=function(e,t){var n;return this.executeSource.next({name:e,args:t,result:function(e){n=e}}),n},It);function It(){this.actionSource=new u.Subject,this.itemsSource=new u.BehaviorSubject([]),this.selectedDateSource=new u.BehaviorSubject(null),this.resizeSource=new u.Subject,this.optionsChangeSource=new u.BehaviorSubject({}),this.executeSource=new u.Subject,this.action=this.actionSource.asObservable(),this.items=this.itemsSource.asObservable(),this.selectedDate=this.selectedDateSource.asObservable(),this.resize=this.resizeSource.asObservable(),this.optionsChange=this.optionsChangeSource.asObservable(),this.execute=this.executeSource.asObservable()}g.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:g,deps:[],target:n.ɵɵFactoryTarget.Injectable}),g.ɵprov=n.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:g}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:g,decorators:[{type:h.Injectable}],ctorParameters:function(){return[]}});bt.prototype.notifyNextDate=function(e){this.nextDateSource.next(e)},bt.prototype.notifyDateRange=function(e){this.dateRangeSource.next(e)},bt.prototype.notifyLayoutEnd=function(){this.layoutEndSource.next()},bt.prototype.navigateTo=function(e){this.navigateSource.next(e)},bt.prototype.notifyOptionsChange=function(){this.optionsChangeSource.next(null)},bt.prototype.emitEvent=function(e,t){this.viewEventSource.next({name:e,args:t})},bt.prototype.notifySlotSelectionStart=function(e){this.slotSelectionStartSource.next(e)},bt.prototype.notifySlotSelectionDrag=function(e){this.slotSelectionStartDragSource.next(e)},bt.prototype.notifySlotSelectionEnd=function(e){this.slotSelectionStartEndSource.next(e)};var y=bt;function bt(){this.toggleWorkHours=new u.Subject,this.dateRangeSource=new u.BehaviorSubject({start:new Date(0),end:new Date(0),text:"",shortText:""}),this.nextDateSource=new u.Subject,this.navigateSource=new u.Subject,this.viewEventSource=new u.Subject,this.layoutEndSource=new u.Subject,this.optionsChangeSource=new u.Subject,this.slotSelectionStartSource=new u.Subject,this.slotSelectionStartDragSource=new u.Subject,this.slotSelectionStartEndSource=new u.Subject,this.dateRange=this.dateRangeSource.asObservable(),this.nextDate=this.nextDateSource.asObservable(),this.navigate=this.navigateSource.asObservable(),this.viewEvent=this.viewEventSource.asObservable(),this.layoutEnd=this.layoutEndSource.asObservable(),this.optionsChange=this.optionsChangeSource.asObservable(),this.slotSelectionStart=this.slotSelectionStartSource.asObservable(),this.slotSelectionDrag=this.slotSelectionStartDragSource.asObservable(),this.slotSelectionEnd=this.slotSelectionStartEndSource.asObservable()}y.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:y,deps:[],target:n.ɵɵFactoryTarget.Injectable}),y.ɵprov=n.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:y}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:y,decorators:[{type:h.Injectable}],ctorParameters:function(){return[]}});var wt=/\[(?:(\d+)|['"](.*?)['"])\]|((?:(?!\[.*?\]|\.).)+)/g,St={};function xt(e){var i;return St[e]||(i=[],e.replace(wt,function(e,t,n,r){i.push(void 0!==t?t:n||r)}),St[e]=function(e){for(var t=e,n=0;n<i.length&&t;n++)t=t[i[n]];return t}),St[e]}St[void 0]=function(){};var Ct=/\[(?:(\d+)|['"](.*?)['"])\]|((?:(?!\[.*?\]|\.).)+)/g,Et={};function Rt(e){var o;return Et[e]||(o=[],e.replace(Ct,function(e,t,n,r){o.push(void 0!==t?t:n||r)}),Et[e]=function(e,t){for(var n=e,r=o.length-1,i=0;i<r&&n;i++)n=n[o[i]]=n[o[i]]||{};n[o[r]]=t}),Et[e]}Et[void 0]=function(e){return e};function Ot(e){return e.charAt(0).toUpperCase()+e.slice(1)}function f(e){return null!=e}function Ft(e,t){var n=xt(t.recurrenceId)(e);return!(!xt(t.recurrenceRule)(e)&&!n)}function Ht(e,t){var n=xt(t.id)(e),t=xt(t.recurrenceId)(e);return f(n)&&0!==n&&f(t)}function Vt(e,t){if(t)for(var n=0;n<t.length;n++)At(e,e.dataItem,t[n].field)}function Wt(e,t,n){return t={id:xt(t.id)(e),start:xt(t.start)(e),startTimezone:xt(t.startTimezone)(e),end:xt(t.end)(e),endTimezone:xt(t.endTimezone)(e),isAllDay:xt(t.isAllDay)(e),title:xt(t.title)(e),description:xt(t.description)(e),recurrenceRule:xt(t.recurrenceRule)(e),recurrenceExceptions:xt(t.recurrenceExceptions)(e),recurrenceId:xt(t.recurrenceId)(e),dataItem:e},Vt(t,n),t}var Mt=function(e){return"number"==typeof e&&!isNaN(e)};function Pt(e,n){var r=[];if(e&&e.resources&&e.resources.length)for(var i=e.resources,t=0;t<i.length;t++)!function(t){var e=n.find(function(e){return e.name===i[t]});r.push(e)}(t);return r}var x=function(e,t){return xt(t)(e)},zt=function(e,t,n){return Rt(t)(e,n)};function At(e,t,n){zt(e,n,x(t,n))}function Nt(e,t){return Bt(t,e),e}function Bt(e,t){for(var n in e){var r;e.hasOwnProperty(n)&&(r=e[n],Array.isArray(r)?t[n]=r.slice(0):!r||"object"!=typeof r||r instanceof Date?t[n]=r:(t[n]=t[n]||{},Bt(r,t[n])))}}function jt(e){var t={};return Bt(e,t),t}var Lt=function(){if("function"==typeof Symbol&&Symbol.iterator)return Symbol.iterator;for(var e=Object.getOwnPropertyNames(Map.prototype),t=Map.prototype,n=0;n<e.length;++n){var r=e[n];if("entries"!==r&&"size"!==r&&t[r]===t.entries)return r}}();function qt(e){return u.fromEvent(e,"click")}function Zt(e){var e=qt(e),t=e.pipe(s.auditTime(250));return e.pipe(s.buffer(t),s.filter(function(e){return 2===e.length}),s.filter(function(e){return e[1].target===e[0].target}),s.map(function(e){return e[1]}))}function Gt(e){return e.sort(function(e,t){return e.startTime-t.startTime||t.endTime-e.endTime}),e}Ut.prototype.endEdit=function(){var e=this.hasNewEvent?this.newEventGroup.group:this.editedEvent.formGroup;this.changes.emit({action:"cancel",formGroup:e})},Ut.prototype.removeEvent=function(e){this.changes.emit({action:"remove",dataItem:e})},Ut.prototype.addEvent=function(e){this.newEventGroup={formGroup:e},this.onChanged()},Ut.prototype.editEvent=function(e,t,n){this.editedEvent={dataItem:e,formGroup:t=void 0===t?void 0:t,mode:n},this.onChanged()},Ut.prototype.close=function(){this.newEventGroup=this.editedEvent=null,this.onChanged()},Ut.prototype.save=function(){var e=this.context,t=e.dataItem,e=e.formGroup;this.changes.emit({action:"save",dataItem:t,formGroup:e,isNew:this.hasNewEvent,mode:this.occurrenceEditMode})},Ut.prototype.isEditing=function(){return f(this.context)},Object.defineProperty(Ut.prototype,"occurrenceEditMode",{get:function(){return this.hasNewEvent?2:this.editedEvent.mode||0},enumerable:!1,configurable:!0}),Object.defineProperty(Ut.prototype,"hasNewEvent",{get:function(){return f(this.newEventGroup)},enumerable:!1,configurable:!0}),Object.defineProperty(Ut.prototype,"newEvent",{get:function(){return this.hasNewEvent?this.newEventGroup.group.value:{}},enumerable:!1,configurable:!0}),Object.defineProperty(Ut.prototype,"context",{get:function(){return this.hasNewEvent?this.newEventGroup:this.editedEvent},enumerable:!1,configurable:!0}),Ut.prototype.onChanged=function(){var e=this;this.ngZone.runOutsideAngular(function(){e.changedSource.next()})};var _t=Ut;function Ut(e){this.ngZone=e,this.changes=new h.EventEmitter,this.changedSource=new u.Subject,this.changed=this.changedSource.asObservable().pipe(s.debounceTime(0))}_t.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:_t,deps:[{token:n.NgZone}],target:n.ɵɵFactoryTarget.Injectable}),_t.ɵprov=n.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:_t}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:_t,decorators:[{type:h.Injectable}],ctorParameters:function(){return[{type:n.NgZone}]}});var Yt=function(e){this.templateRef=e},Kt=(Yt.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Yt,deps:[{token:n.TemplateRef,optional:!0}],target:n.ɵɵFactoryTarget.Directive}),Yt.ɵdir=n.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:Yt,selector:"[kendoSchedulerEditDialogTemplate]",inputs:{autoFocusedElement:"autoFocusedElement"},ngImport:n}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Yt,decorators:[{type:h.Directive,args:[{selector:"[kendoSchedulerEditDialogTemplate]"}]}],ctorParameters:function(){return[{type:n.TemplateRef,decorators:[{type:h.Optional}]}]},propDecorators:{autoFocusedElement:[{type:h.Input}]}}),function(){this.changes=new h.EventEmitter}),$t=(Kt.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Kt,deps:[],target:n.ɵɵFactoryTarget.Injectable}),Kt.ɵprov=n.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Kt}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Kt,decorators:[{type:h.Injectable}]}),function(){this.focus=new h.EventEmitter,this.focusIn=new h.EventEmitter,this.focusOut=new h.EventEmitter,this.click=new h.EventEmitter,this.keydown=new h.EventEmitter,this.windowBlur=new h.EventEmitter}),v=($t.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:$t,deps:[],target:n.ɵɵFactoryTarget.Injectable}),$t.ɵprov=n.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:$t}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:$t,decorators:[{type:h.Injectable}]}),Object.defineProperty(Xt.prototype,"activeElement",{get:function(){if(this.activeItem)return this.activeItem.element},enumerable:!1,configurable:!0}),Object.defineProperty(Xt.prototype,"focusableItems",{get:function(){return this.items},enumerable:!1,configurable:!0}),Xt.prototype.ngOnDestroy=function(){this.subs.unsubscribe()},Xt.prototype.register=function(e){this.activeItem||(this.activeItem=e).toggle(!0),this.items.add(e),this.elementMap.set(e.element.nativeElement,e),this.toggleWrapper()},Xt.prototype.unregister=function(e){this.items.delete(e),this.elementMap.delete(e.element.nativeElement),e===this.activeItem&&this.activateNext(),this.toggleWrapper()},Xt.prototype.focus=function(){this.activeItem?this.activeItem.focus():this.focusContent()},Xt.prototype.focusContent=function(){var e=Array.from(this.focusableItems),t=null==(t=this.activeItem)?void 0:t.containerType,n="content"===t?this.activeItem:e.find(function(e){return"content"===e.containerType}),t="toolbar"===t?this.activeItem:e.find(function(e){return"toolbar"===e.containerType}),e=n||t;e.focus(),this.activeItem=e},Xt.prototype.focusToolbar=function(){var e=Array.from(this.focusableItems).find(function(e){return"toolbar"===e.containerType});e&&e.focus(),this.activeItem=e},Xt.prototype.focusNext=function(e){var t=this.activeItem;return this.activateNext(e),this.activeItem&&this.activeItem.focus(),this.activeItem!==t},Xt.prototype.focusByIndex=function(e){var t=this,n=Array.from(this.items.values())[e];n&&(this.activate(n),this.focus(),this.zone.onStable.pipe(s.take(1)).subscribe(function(){Array.from(t.items.values())[e]}))},Xt.prototype.activate=function(t){this.items.forEach(function(e){e.toggle(e===t)}),this.activeItem=t},Xt.prototype.activateNext=function(e){var e=this.findNext(e);this.activeItem=e,null!=(e=this.activeItem)&&e.focus()},Xt.prototype.findNext=function(e){var e=Object.assign({nowrap:!1,offset:1},e),t=e.offset,e=e.nowrap,n=Array.from(this.items.values()).filter(function(e){return e.canFocus()}).sort(function(e,t){return e.focusIndex-t.focusIndex});return 0===n.length?null:this.activeItem?(t=n.indexOf(this.activeItem)+t,e?t=Math.max(0,Math.min(n.length-1,t)):(t%=n.length)<0&&(t=n.length-1),n[t]):e?null:n[0]},Xt.prototype.toggleWrapper=function(){this.wrapper&&this.renderer.setAttribute(this.wrapper.nativeElement,"tabindex",this.activeItem?"-1":"0")},Xt.prototype.onFocusIn=function(e){e=this.elementMap.get(e.target);e&&e!==this.focusedItem&&(this.focusedItem&&this.focusedItem.toggleFocus(!1),this.activate(e),e.toggleFocus(!0),this.focusedItem=e)},Xt.prototype.onFocusOut=function(){this.focusedItem&&(this.focusedItem.toggleFocus(!1),this.focusedItem=null)},Xt);function Xt(e,t,n,r){var i=this;this.renderer=e,this.wrapper=t,this.domEvents=n,this.zone=r,this.items=new Set,this.elementMap=new WeakMap,this.subs=new u.Subscription,this.subs.add(this.domEvents.focus.subscribe(function(e){return i.onFocusIn(e)})),this.subs.add(this.domEvents.focusOut.subscribe(function(){return i.onFocusOut()}))}v.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:v,deps:[{token:n.Renderer2,optional:!0},{token:n.ElementRef,optional:!0},{token:$t},{token:n.NgZone}],target:n.ɵɵFactoryTarget.Injectable}),v.ɵprov=n.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:v}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:v,decorators:[{type:h.Injectable}],ctorParameters:function(){return[{type:n.Renderer2,decorators:[{type:h.Optional}]},{type:n.ElementRef,decorators:[{type:h.Optional}]},{type:$t},{type:n.NgZone}]}});Jt.prototype.openRemoveConfirmationDialog=function(){var t=this,e=this.dialogService.open({title:this.textFor("deleteDialogTitle"),content:this.textFor("deleteConfirmation"),actions:[{text:this.textFor("cancel"),value:!1},{text:this.textFor("destroy"),value:!0}],appendTo:this.container,autoFocusedElement:"button:nth-child(2)"});return this.isOpen=!0,this.changeDetector.markForCheck(),e.result.pipe(s.map(function(e){return t.isOpen=!1,e instanceof B.DialogCloseResult?(t.focusService.focus(),!1):(t.viewState.layoutEnd.pipe(s.take(1)).subscribe(function(){return t.focusService.focus()}),e.value)}))},Jt.prototype.openRecurringConfirmationDialog=function(e){var t=this,e=this.dialogService.open({actions:[{text:0===e?this.textFor("editOccurrence"):this.textFor("deleteOccurrence"),value:1},{text:0===e?this.textFor("editSeries"):this.textFor("deleteSeries"),value:2}],appendTo:this.container,autoFocusedElement:"button:nth-child(1)",content:0===e?this.textFor("editRecurringConfirmation"):this.textFor("deleteRecurringConfirmation"),title:0===e?this.textFor("editRecurringDialogTitle"):this.textFor("deleteRecurringDialogTitle")});return this.isOpen=!0,this.changeDetector.markForCheck(),e.result.pipe(s.map(function(e){if(t.isOpen=!1,t.focusService.focus(),!(e instanceof B.DialogCloseResult))return e.value}))},Jt.prototype.textFor=function(e){return this.localization.get(e)};var Qt=Jt;function Jt(e,t,n,r,i){this.dialogService=e,this.localization=t,this.changeDetector=n,this.focusService=r,this.viewState=i,this.isOpen=!1}Qt.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Qt,deps:[{token:ee.DialogService},{token:r.LocalizationService},{token:n.ChangeDetectorRef},{token:v},{token:y}],target:n.ɵɵFactoryTarget.Injectable}),Qt.ɵprov=n.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Qt}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Qt,decorators:[{type:h.Injectable}],ctorParameters:function(){return[{type:ee.DialogService},{type:r.LocalizationService},{type:n.ChangeDetectorRef},{type:v},{type:y}]}});p(nn,en=P.LocalizationService);var en,tn=nn;function nn(e,t,n){return en.call(this,e,t,n)||this}tn.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:tn,deps:[{token:P.L10N_PREFIX},{token:r.MessageService,optional:!0},{token:P.RTL,optional:!0}],target:n.ɵɵFactoryTarget.Injectable}),tn.ɵprov=n.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:tn}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:tn,decorators:[{type:h.Injectable}],ctorParameters:function(){return[{type:void 0,decorators:[{type:h.Inject,args:[P.L10N_PREFIX]}]},{type:r.MessageService,decorators:[{type:h.Optional}]},{type:void 0,decorators:[{type:h.Optional},{type:h.Inject,args:[P.RTL]}]}]}});var rn={id:"id",start:"start",startTimezone:"startTimezone",end:"end",endTimezone:"endTimezone",isAllDay:"isAllDay",title:"title",description:"description",recurrenceRule:"recurrenceRule",recurrenceId:"recurrenceId",recurrenceExceptions:"recurrenceExceptions"},k=(on.prototype.save=function(){if(l.hasObservers(this.elementReady)){if(l.hasObservers(this.createElement))this.createElement.emit();else if(h.isDevMode())throw new Error("No active Scheduler view to export.")}else if(h.isDevMode())throw new Error("Creating PDF requires including the PDFModule and adding the <kendo-scheduler-pdf> component.")},on);function on(){this.createElement=new h.EventEmitter,this.exportClick=new h.EventEmitter,this.done=new h.EventEmitter,this.elementReady=new h.EventEmitter}k.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:k,deps:[],target:n.ɵɵFactoryTarget.Injectable}),k.ɵprov=n.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:k}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:k,decorators:[{type:h.Injectable}]});p(ln,an=ye);var an,sn=ln;function ln(){return null!==an&&an.apply(this,arguments)||this}Object.defineProperty(cn.prototype,"display",{get:function(){return this.loading||this.force?"block":"none"},enumerable:!1,configurable:!0}),cn.prototype.toggle=function(e){this.force=e,this.renderer.setStyle(this.element.nativeElement,"display",this.display)};ye=cn;function cn(e,t){this.element=e,this.renderer=t,this.hostClasses=!0}ye.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:ye,deps:[{token:n.ElementRef},{token:n.Renderer2}],target:n.ɵɵFactoryTarget.Component}),ye.ɵcmp=n.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:ye,selector:"[kendoSchedulerLoading]",inputs:{loading:"loading"},host:{properties:{"class.k-loading-mask":"this.hostClasses","style.display":"this.display"}},ngImport:n,template:'\n <div class="k-loading-image"></div>\n <div class="k-loading-color"></div>\n ',isInline:!0}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:ye,decorators:[{type:h.Component,args:[{selector:"[kendoSchedulerLoading]",template:'\n <div class="k-loading-image"></div>\n <div class="k-loading-color"></div>\n '}]}],ctorParameters:function(){return[{type:n.ElementRef},{type:n.Renderer2}]},propDecorators:{hostClasses:[{type:h.HostBinding,args:["class.k-loading-mask"]}],loading:[{type:h.Input}],display:[{type:h.HostBinding,args:["style.display"]}]}});Object.defineProperty(un.prototype,"visible",{get:function(){return"none"!==this.element.nativeElement.style.display},enumerable:!1,configurable:!0}),Object.defineProperty(un.prototype,"enabled",{get:function(){return!this.element.nativeElement.disabled},enumerable:!1,configurable:!0}),un.prototype.ngAfterViewChecked=function(){var e=this.element.nativeElement;e.closest(".k-scheduler-views-wrapper")&&(l.isVisible(e)?this.focusService.register(this):this.focusService.unregister(this))},un.prototype.ngOnDestroy=function(){this.focusService.unregister(this)},un.prototype.toggle=function(e){e!==this.active&&(this.renderer.setAttribute(this.element.nativeElement,"tabIndex",e?"0":"-1"),this.active=e)},un.prototype.canFocus=function(){return this.visible&&this.enabled},un.prototype.focus=function(){this.element.nativeElement.focus()},un.prototype.toggleFocus=function(e){var t=this.element.nativeElement,n=t.matches(".k-button-group .k-button")?"k-focus":"k-selected";e?this.renderer.addClass(t,n):this.renderer.removeClass(t,n),t.matches(".k-scheduler-agendaview .k-scheduler-content .k-selected")&&(null!=(n=t.closest(".k-scheduler-agendaview").querySelector('[aria-selected="true"]'))&&n.removeAttribute("aria-selected"),this.renderer.setAttribute(t,"aria-selected",e.toString()))};var dn=un;function un(e,t,n){this.element=e,this.renderer=t,this.focusService=n,this.focusIndex=0,this.containerType="content",this.toggle(!1),this.focusService.register(this)}dn.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:dn,deps:[{token:n.ElementRef},{token:n.Renderer2},{token:v}],target:n.ɵɵFactoryTarget.Directive}),dn.ɵdir=n.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:dn,selector:"[kendoSchedulerFocusIndex]",inputs:{focusIndex:["kendoSchedulerFocusIndex","focusIndex"],containerType:"containerType"},ngImport:n}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:dn,decorators:[{type:h.Directive,args:[{selector:"[kendoSchedulerFocusIndex]"}]}],ctorParameters:function(){return[{type:n.ElementRef},{type:n.Renderer2},{type:v}]},propDecorators:{focusIndex:[{type:h.Input,args:["kendoSchedulerFocusIndex"]}],containerType:[{type:h.Input}]}});function pn(e){return String(e).trim().split(" ")}function hn(e,t,n){for(;e&&e!==n&&!t(e);)e=e.parentNode;if(e!==n)return e}function mn(e){var t=e.wheelDeltaY;return e.wheelDelta&&(void 0===t||t)?e.wheelDelta:e.detail&&e.axis===e.VERTICAL_AXIS?10*-e.detail:0}var gn=function(e,t){var n=pn(t);return Boolean(pn(e.className).find(function(e){return 0<=n.indexOf(e)}))};function yn(e,t){t="vertical"===t?"Height":"Width";return e["scroll"+t]>e["client"+t]&&0<l.getScrollbarWidth()}function fn(e,t,n,r){return e<n&&r<t||n<=e&&e<r||n<t&&t<=r&&e<t}function vn(e,t,n){return t.getTime()<=e.getTime()&&e.getTime()<=n.getTime()}function kn(e){var t=e.start,e=e.end,t=t.stripTime(),n=e.stripTime();return n.getTime()!==e.getTime()||t.getTime()===n.getTime()?n.addDays(1):n}function Dn(e){var t=new Date(1980,0,1,0,0,0);return e&&t.setHours(e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()),t}function Tn(e,t){return(e=new Date(e.getTime())).setUTCDate(e.getUTCDate()+t),e}function In(e,t){return new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()))}function bn(e){return new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate()))}function wn(e){return new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()))}function Sn(e){return new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()))}function xn(e,t){return new Date(e.getFullYear(),e.getMonth(),e.getDate(),t.getHours(),t.getMinutes())}function Cn(e,t){var n,r;return t.end<=e.end?(r=e.end,n=t.start):(n=e.start,r=t.end),{start:n,end:r}}function En(e,t){for(var n=t.data,r=0;r<n.length;r++)if(x(n[r],t.valueField)===e)return r;return-1}function Rn(e,t){e=En(e,t);return 0<=e?t.data[e]:{}}function On(e,t){var n,e=x(e,t.field);return Array.isArray(e)?(n=t,e.map(function(e){return Rn(e,n)})):Rn(e,t)}function Fn(e,t){for(var n=t.taskResources,r=t.hasGroups,i=t.spans,t=t.allResources,o=void 0===t?[]:t,a=[],s=0;s<n.length;s++){var l=n[s];if(l.data){for(var c=o.indexOf(l),d=x(e,l.field),u=(Array.isArray(d)||(d=[d]),[]),p=0;p<d.length;p++){var h=En(d[p],l);if(h<0){if(r)continue;return[{leafIdx:0,resources:[]}]}var m=l.data[h];if(0!==s||!r&&0!==p){if(r){var g=a;1<d.length&&(g=function(e){for(var t=[],n=0;n<e.length;n++){var r=Object.assign({},e[n]);r.resources=r.resources.slice(0),t.push(r)}return t}(a),u.push.apply(u,g));for(var y=0;y<g.length;y++)g[y].leafIdx+=h*i[s],g[y].resources[c]=m}else if(0<p)for(var f=0;f<a.length;f++)a[f].resources[c].push(m)}else{var v=[];v[c]=l.multiple&&!r?[m]:m,a.push({leafIdx:r?h*i[s]:0,color:x(m,l.colorField),resources:v})}}u.length&&(a=u)}else a=[{leafIdx:0,resources:[]}]}for(var k=e,D=a,T=o,I=0;I<D.length;I++)for(var b=D[I],w=0;w<T.length;w++){var S=T[w];!b.resources[w]&&S.data&&(b.resources[w]=On(k,S))}return a}function Hn(e){return Array.isArray(e)&&1===e.length&&void 0===e[0]}function Vn(e,n){return e.length===n.length&&(!(!Hn(e)||!Hn(n))||e.every(function(t){return n.some(function(e){return e.value===t.value})}))}function Wn(e,t){return e.start.getTime()===t.start.getTime()&&e.end.getTime()===t.end.getTime()&&e.isAllDay===t.isAllDay&&Vn(e.resources,t.resources)}function Mn(e,t){if(void 0!==t.rowIndex)return t.rowIndex;for(var n=0;n<e.length;n++)if(!e[n])return n;return e.length}function Pn(e){return Boolean(e.event&&e.event.recurrenceRule)}function zn(e){return e.event&&f(e.event.recurrenceId)&&!e.event.recurrenceRule}function An(e,t,n){return e.left<=t&&t<=e.left+e.width&&e.top<=n&&n<=e.top+e.height}function Nn(e,t){return e.left<=t&&t<=e.left+e.width}function Bn(e){return e+"px"}function jn(e){var t;return e?(e=e.getBoundingClientRect(),t=document.documentElement,{top:e.top+(window.pageYOffset||t.scrollTop)-(t.clientTop||0),left:e.left+(window.pageXOffset||t.scrollLeft)-(t.clientLeft||0),width:e.width,height:e.height}):null}function Ln(e){return"KENDO-RESIZE-SENSOR"===e.nodeName||gn(e,"k-loading-mask")}function qn(e,t){for(var n in t)t.hasOwnProperty(n)&&(e.style[n]=Bn(t[n]))}function Zn(e){var t=[];if("string"==typeof e)t.push(e);else if(Array.isArray(e))t.push.apply(t,e);else if("object"==typeof e)for(var n in e)e.hasOwnProperty(n)&&e[n]&&t.push(n);return t}function Gn(e,t,n,r){var i={skeleton:"yMMMMEEEEdhm"},o=b.isEqualDate(e,t)?"t":i;return n?""+j.formatDate(e,{skeleton:"yMMMMEEEEd"},r):j.formatDate(e,i,r)+"–"+j.formatDate(t,o,r)}function _n(e,t,n){e=e.get(t);return e&&e.value||n}function Un(){return!1}Object.defineProperty(Kn.prototype,"calendar",{set:function(e){e&&e.focus()},enumerable:!1,configurable:!0}),Object.defineProperty(Kn.prototype,"todayText",{get:function(){return this.localization.get("today")},enumerable:!1,configurable:!0}),Object.defineProperty(Kn.prototype,"calendarTodayText",{get:function(){return this.localization.get("calendarToday")},enumerable:!1,configurable:!0}),Object.defineProperty(Kn.prototype,"nextText",{get:function(){return this.localization.get("nextTitle")},enumerable:!1,configurable:!0}),Object.defineProperty(Kn.prototype,"previousText",{get:function(){return this.localization.get("previousTitle")},enumerable:!1,configurable:!0}),Object.defineProperty(Kn.prototype,"ctx",{get:function(){return this.toolbarService.context},enumerable:!1,configurable:!0}),Kn.prototype.onBlur=function(){this.closePopup()},Kn.prototype.ngOnInit=function(){var t=this;this.subs.add(this.ctx.dateRange.subscribe(function(e){t.dateRangeText.short=null==e?void 0:e.shortText,t.dateRangeText.long=null==e?void 0:e.text,t.setDateRangeText()})),this.subs.add(this.viewContext.resize.subscribe(function(){t.setDateRangeText()}))},Kn.prototype.ngOnDestroy=function(){this.subs.unsubscribe(),this.closePopup()},Kn.prototype.toggleSelectedDate=function(e,t){return this.popupRef?this.closePopup():(e={anchor:e,content:t},this.localization.rtl&&(e.popupClass="k-rtl"),this.popupRef=this.popupService.open(e)),!1},Kn.prototype.selectDate=function(e){this.closePopup(),this.toolbarService.navigate({type:"select-date",date:e})},Kn.prototype.prevClick=function(){return this.toolbarService.navigate({type:"prev"}),!1},Kn.prototype.nextClick=function(){return this.toolbarService.navigate({type:"next"}),!1},Kn.prototype.todayClick=function(){return this.toolbarService.navigate({type:"today"}),!1},Kn.prototype.closePopup=function(){this.popupRef&&(this.popupRef.close(),this.popupRef=null)},Kn.prototype.setDateRangeText=function(){var e=window.matchMedia("(min-width: 1024px)").matches;this.dateRangeText.current=e?this.dateRangeText.long:this.dateRangeText.short,this.cd.detectChanges()};var Yn=Kn;function Kn(e,t,n,r,i){this.popupService=e,this.toolbarService=t,this.localization=n,this.cd=r,this.viewContext=i,this.inlineDisplayStyle="flex",this.inlineFlexFlowStyle="inherit",this.inlineGapStyle="inherit",this.dateRangeText={short:"",long:"",current:""},this.subs=this.localization.changes.subscribe(function(){r.markForCheck()})}Yn.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Yn,deps:[{token:te.PopupService},{token:st},{token:r.LocalizationService},{token:n.ChangeDetectorRef},{token:g}],target:n.ɵɵFactoryTarget.Component}),Yn.ɵcmp=n.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:Yn,selector:"[kendoSchedulerToolbarNavigation]",inputs:{min:"min",max:"max"},host:{properties:{"style.display":"this.inlineDisplayStyle","style.flex-flow":"this.inlineFlexFlowStyle","style.gap":"this.inlineGapStyle"}},providers:[t.PopupService],viewQueries:[{propertyName:"calendar",first:!0,predicate:["calendar"],descendants:!0}],ngImport:n,template:'\n <span class="k-scheduler-navigation k-button-group" role="group">\n <button kendoButton\n (click)="todayClick()"\n class="k-nav-today"\n [attr.title]="todayText"\n [kendoSchedulerFocusIndex]="0"\n containerType="toolbar">\n <span class="k-button-text">{{todayText}}</span>\n </button>\n <button kendoButton\n (click)="prevClick()"\n class="k-nav-prev"\n icon="arrow-60-left"\n [attr.title]="previousText"\n [attr.aria-label]="previousText"\n [kendoSchedulerFocusIndex]="0"\n containerType="toolbar">\n </button>\n <button kendoButton\n (click)="nextClick()"\n type="button"\n class="k-nav-next"\n icon="arrow-60-right"\n [attr.title]="nextText"\n [attr.aria-label]="nextText"\n [kendoSchedulerFocusIndex]="0"\n containerType="toolbar">\n </button>\n </span>\n\n <button\n #anchor\n kendoButton\n icon="calendar"\n fillMode="flat"\n (mousedown)="toggleSelectedDate({ nativeElement: anchor }, template)"\n (keydown.enter)="toggleSelectedDate({ nativeElement: anchor }, template)"\n (keydown.alt.arrowdown)="toggleSelectedDate({ nativeElement: anchor }, template)"\n role="button"\n class="k-nav-current"\n [attr.aria-live]="\'polite\'"\n [kendoSchedulerFocusIndex]="0"\n containerType="toolbar">\n <span>{{ dateRangeText?.current }}</span>\n </button>\n\n <ng-template #template>\n <kendo-calendar\n #calendar\n (blur)="onBlur()"\n (keydown.escape)="toggleSelectedDate({ nativeElement: anchor }, template); anchor.focus();"\n (valueChange)="selectDate($event)"\n [value]="ctx.selectedDate | async" [min]="min" [max]="max">\n <kendo-calendar-messages [today]="calendarTodayText">\n </kendo-calendar-messages>\n </kendo-calendar>\n </ng-template>\n ',isInline:!0,components:[{type:i.CalendarComponent,selector:"kendo-calendar",inputs:["id","focusedDate","min","max","rangeValidation","selection","value","disabled","tabindex","tabIndex","disabledDates","navigation","activeView","bottomView","topView","type","animateNavigation","weekNumber","cellTemplate","monthCellTemplate","yearCellTemplate","decadeCellTemplate","centuryCellTemplate","weekNumberTemplate","headerTitleTemplate","navigationItemTemplate"],outputs:["activeViewChange","navigate","activeViewDateChange","blur","focus","valueChange"],exportAs:["kendo-calendar"]},{type:i.CalendarCustomMessagesComponent,selector:"kendo-calendar-messages"}],directives:[{type:a.ButtonDirective,selector:"button[kendoButton], span[kendoButton]",inputs:["toggleable","togglable","selected","tabIndex","icon","iconClass","imageUrl","disabled","size","rounded","fillMode","themeColor","role","primary","look"],outputs:["selectedChange","click"],exportAs:["kendoButton"]},{type:dn,selector:"[kendoSchedulerFocusIndex]",inputs:["kendoSchedulerFocusIndex","containerType"]}],pipes:{async:c.AsyncPipe},changeDetection:n.ChangeDetectionStrategy.OnPush}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Yn,decorators:[{type:h.Component,args:[{selector:"[kendoSchedulerToolbarNavigation]",changeDetection:h.ChangeDetectionStrategy.OnPush,providers:[t.PopupService],template:'\n <span class="k-scheduler-navigation k-button-group" role="group">\n <button kendoButton\n (click)="todayClick()"\n class="k-nav-today"\n [attr.title]="todayText"\n [kendoSchedulerFocusIndex]="0"\n containerType="toolbar">\n <span class="k-button-text">{{todayText}}</span>\n </button>\n <button kendoButton\n (click)="prevClick()"\n class="k-nav-prev"\n icon="arrow-60-left"\n [attr.title]="previousText"\n [attr.aria-label]="previousText"\n [kendoSchedulerFocusIndex]="0"\n containerType="toolbar">\n </button>\n <button kendoButton\n (click)="nextClick()"\n type="button"\n class="k-nav-next"\n icon="arrow-60-right"\n [attr.title]="nextText"\n [attr.aria-label]="nextText"\n [kendoSchedulerFocusIndex]="0"\n containerType="toolbar">\n </button>\n </span>\n\n <button\n #anchor\n kendoButton\n icon="calendar"\n fillMode="flat"\n (mousedown)="toggleSelectedDate({ nativeElement: anchor }, template)"\n (keydown.enter)="toggleSelectedDate({ nativeElement: anchor }, template)"\n (keydown.alt.arrowdown)="toggleSelectedDate({ nativeElement: anchor }, template)"\n role="button"\n class="k-nav-current"\n [attr.aria-live]="\'polite\'"\n [kendoSchedulerFocusIndex]="0"\n containerType="toolbar">\n <span>{{ dateRangeText?.current }}</span>\n </button>\n\n <ng-template #template>\n <kendo-calendar\n #calendar\n (blur)="onBlur()"\n (keydown.escape)="toggleSelectedDate({ nativeElement: anchor }, template); anchor.focus();"\n (valueChange)="selectDate($event)"\n [value]="ctx.selectedDate | async" [min]="min" [max]="max">\n <kendo-calendar-messages [today]="calendarTodayText">\n </kendo-calendar-messages>\n </kendo-calendar>\n </ng-template>\n '}]}],ctorParameters:function(){return[{type:te.PopupService},{type:st},{type:r.LocalizationService},{type:n.ChangeDetectorRef},{type:g}]},propDecorators:{calendar:[{type:h.ViewChild,args:["calendar",{static:!1}]}],inlineDisplayStyle:[{type:h.HostBinding,args:["style.display"]}],inlineFlexFlowStyle:[{type:h.HostBinding,args:["style.flex-flow"]}],inlineGapStyle:[{type:h.HostBinding,args:["style.gap"]}],min:[{type:h.Input}],max:[{type:h.Input}]}});Object.defineProperty(Xn.prototype,"ctx",{get:function(){return this.service.context},enumerable:!1,configurable:!0}),Object.defineProperty(Xn.prototype,"selectView",{get:function(){return this.localization.get("selectView")},enumerable:!1,configurable:!0}),Xn.prototype.ngOnDestroy=function(){this.detachDomEvents&&this.detachDomEvents()},Xn.prototype.select=function(e){this.ctx.selectedView!==e&&this.service.navigate({type:"view-change",view:e})},Xn.prototype.onChange=function(t){var e=this.ctx.views.find(function(e){return e.name===t.target.value});e&&this.select(e)},Xn.prototype.isSelected=function(e){return this.ctx.selectedView===e};var $n=Xn;function Xn(e,t){this.service=e,this.localization=t,this.hostClasses=!0}$n.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:$n,deps:[{token:st},{token:r.LocalizationService}],target:n.ɵɵFactoryTarget.Component}),$n.ɵcmp=n.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:$n,selector:"[kendoSchedulerToolbarViewSelector]",host:{properties:{"class.k-scheduler-views-wrapper":"this.hostClasses"}},ngImport:n,template:'\n <select\n *ngIf="ctx.views?.length > 1"\n (change)="onChange($event)"\n class="k-views-dropdown k-picker-md k-rounded-md k-picker-solid k-dropdownlist k-picker"\n [attr.aria-label]="selectView"\n [kendoSchedulerFocusIndex]="0"\n containerType="toolbar">\n <option *ngFor="let view of ctx.views"\n [selected]="isSelected(view) === true"\n [value]="view.name"\n >\n {{ view.title }}\n </option>\n </select>\n <span class="k-scheduler-views k-button-group" role="group">\n <button kendoButton\n type="button"\n *ngFor="let view of ctx.views"\n [selected]="isSelected(view)"\n [attr.aria-pressed]="isSelected(view)"\n (click)="select(view)"\n [kendoSchedulerFocusIndex]="0"\n containerType="toolbar">\n <span class="k-button-text">\n {{ view.title }}\n </span>\n </button>\n </span>\n ',isInline:!0,directives:[{type:c.NgIf,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]},{type:dn,selector:"[kendoSchedulerFocusIndex]",inputs:["kendoSchedulerFocusIndex","containerType"]},{type:c.NgForOf,selector:"[ngFor][ngForOf]",inputs:["ngForOf","ngForTrackBy","ngForTemplate"]},{type:a.ButtonDirective,selector:"button[kendoButton], span[kendoButton]",inputs:["toggleable","togglable","selected","tabIndex","icon","iconClass","imageUrl","disabled","size","rounded","fillMode","themeColor","role","primary","look"],outputs:["selectedChange","click"],exportAs:["kendoButton"]}]}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:$n,decorators:[{type:h.Component,args:[{selector:"[kendoSchedulerToolbarViewSelector]",template:'\n <select\n *ngIf="ctx.views?.length > 1"\n (change)="onChange($event)"\n class="k-views-dropdown k-picker-md k-rounded-md k-picker-solid k-dropdownlist k-picker"\n [attr.aria-label]="selectView"\n [kendoSchedulerFocusIndex]="0"\n containerType="toolbar">\n <option *ngFor="let view of ctx.views"\n [selected]="isSelected(view) === true"\n [value]="view.name"\n >\n {{ view.title }}\n </option>\n </select>\n <span class="k-scheduler-views k-button-group" role="group">\n <button kendoButton\n type="button"\n *ngFor="let view of ctx.views"\n [selected]="isSelected(view)"\n [attr.aria-pressed]="isSelected(view)"\n (click)="select(view)"\n [kendoSchedulerFocusIndex]="0"\n containerType="toolbar">\n <span class="k-button-text">\n {{ view.title }}\n </span>\n </button>\n </span>\n '}]}],ctorParameters:function(){return[{type:st},{type:r.LocalizationService}]},propDecorators:{hostClasses:[{type:h.HostBinding,args:["class.k-scheduler-views-wrapper"]}]}});Qn.prototype.ngOnInit=function(){var t=this;this.subs.add(this.selectedDate.subscribe(function(e){return t.templateContext.selectedDate=e})),this.subs.add(this.dateRange.subscribe(function(e){return t.templateContext.dateRange=e}))},Qn.prototype.ngOnChanges=function(){this.service.context={dateRange:this.dateRange,selectedDate:this.selectedDate,views:this.views,selectedView:this.selectedView},Object.assign(this.templateContext,{views:this.views,selectedView:this.selectedView})},Qn.prototype.ngOnDestroy=function(){this.subs.unsubscribe()};var D=Qn;function Qn(e){var t=this;this.service=e,this.hostClasses=!0,this.navigate=new h.EventEmitter,this.templateContext={},this.subs=new u.Subscription,this.subs.add(e.action.subscribe(function(e){return t.navigate.next(e)}))}D.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:D,deps:[{token:st}],target:n.ɵɵFactoryTarget.Component}),D.ɵcmp=n.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:D,selector:"kendo-scheduler-toolbar",inputs:{selectedView:"selectedView",views:"views",dateRange:"dateRange",selectedDate:"selectedDate",template:"template",min:"min",max:"max"},outputs:{navigate:"navigate"},host:{properties:{"class.k-scheduler-toolbar":"this.hostClasses","class.k-toolbar":"this.hostClasses"}},usesOnChanges:!0,ngImport:n,template:'\n <ng-template\n *ngIf="template; else defaultTemplate"\n [ngTemplateOutlet]="template.templateRef"\n [ngTemplateOutletContext]="templateContext"\n >\n </ng-template>\n\n <ng-template #defaultTemplate>\n <div kendoSchedulerToolbarNavigation [min]="min" [max]="max"></div>\n <span class="k-spacer"></span>\n <div kendoSchedulerToolbarViewSelector></div>\n </ng-template>\n ',isInline:!0,components:[{type:Yn,selector:"[kendoSchedulerToolbarNavigation]",inputs:["min","max"]},{type:$n,selector:"[kendoSchedulerToolbarViewSelector]"}],directives:[{type:c.NgIf,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]},{type:c.NgTemplateOutlet,selector:"[ngTemplateOutlet]",inputs:["ngTemplateOutletContext","ngTemplateOutlet"]}]}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:D,decorators:[{type:h.Component,args:[{selector:"kendo-scheduler-toolbar",template:'\n <ng-template\n *ngIf="template; else defaultTemplate"\n [ngTemplateOutlet]="template.templateRef"\n [ngTemplateOutletContext]="templateContext"\n >\n </ng-template>\n\n <ng-template #defaultTemplate>\n <div kendoSchedulerToolbarNavigation [min]="min" [max]="max"></div>\n <span class="k-spacer"></span>\n <div kendoSchedulerToolbarViewSelector></div>\n </ng-template>\n '}]}],ctorParameters:function(){return[{type:st}]},propDecorators:{hostClasses:[{type:h.HostBinding,args:["class.k-scheduler-toolbar"]},{type:h.HostBinding,args:["class.k-toolbar"]}],selectedView:[{type:h.Input}],views:[{type:h.Input}],dateRange:[{type:h.Input}],selectedDate:[{type:h.Input}],template:[{type:h.Input}],navigate:[{type:h.Output}],min:[{type:h.Input}],max:[{type:h.Input}]}});Jn.prototype.writeValue=function(e){this.resourceValue=e},Jn.prototype.getResourceStyle=function(e){return{"background-color":x(e,this.resource.colorField),"margin-right":f(x(e,this.resource.valueField))?"8px":"4px"}},Jn.prototype.onResourceValueChange=function(e){this.resourceValue=e,this.emitChange(this.resourceValue)},Jn.prototype.registerOnChange=function(e){this.onChangeCallback=e},Jn.prototype.registerOnTouched=function(e){this.onTouchedCallback=e},Jn.prototype.emitChange=function(e){this.onChangeCallback(e),this.valueChange.emit(e)};var T=Jn;function Jn(){this.valueChange=new h.EventEmitter,this.getField=x,this.onTouchedCallback=function(e){},this.onChangeCallback=function(e){}}T.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:T,deps:[],target:n.ɵɵFactoryTarget.Directive}),T.ɵdir=n.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:T,inputs:{resource:"resource"},outputs:{valueChange:"valueChange"},ngImport:n}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:T,decorators:[{type:h.Directive}],propDecorators:{resource:[{type:h.Input}],valueChange:[{type:h.Output}]}});var er,I={multi:!0,provide:N.NG_VALUE_ACCESSOR,useExisting:h.forwardRef(function(){return tr})},tr=(p(nr,er=T),nr.prototype.getTagStyle=function(e){return{"background-color":e[this.resource.colorField]}},nr.prototype.focus=function(){this.resourceMultiSelect.focus()},nr);function nr(){return null!==er&&er.apply(this,arguments)||this}tr.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:tr,deps:null,target:n.ɵɵFactoryTarget.Component}),tr.ɵcmp=n.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:tr,selector:"kendo-multiple-resource-editor",providers:[I],viewQueries:[{propertyName:"resourceMultiSelect",first:!0,predicate:["resourceMultiSelect"],descendants:!0,static:!0}],usesInheritance:!0,ngImport:n,template:"\n <kendo-multiselect\n #resourceMultiSelect\n [data]='resource.data'\n [textField]='resource.textField'\n [valueField]='resource.valueField'\n [valuePrimitive]='true'\n [value]='resourceValue'\n (valueChange)='onResourceValueChange($event)'\n >\n <ng-template kendoDropDownListItemTemplate let-dataItem>\n <span *ngIf=\"resource.colorField\" class=\"k-scheduler-mark\"\n [ngStyle]=\"getResourceStyle(dataItem)\"></span>\n {{ getField(dataItem, resource.textField) }}\n </ng-template>\n <ng-template kendoMultiSelectTagTemplate let-dataItem>\n <span *ngIf=\"resource.colorField\" class=\"k-scheduler-mark\"\n [ngStyle]=\"getTagStyle(dataItem)\"></span>\n {{ getField(dataItem, resource.textField) }}\n </ng-template>\n </kendo-multiselect>\n ",isInline:!0,components:[{type:ne.MultiSelectComponent,selector:"kendo-multiselect",inputs:["focusableId","autoClose","loading","data","value","valueField","textField","tabindex","tabIndex","size","rounded","fillMode","placeholder","disabled","itemDisabled","checkboxes","readonly","filterable","virtual","popupSettings","listHeight","valuePrimitive","clearButton","tagMapper","allowCustom","valueNormalizer"],outputs:["filterChange","valueChange","open","opened","close","closed","focus","blur","removeTag"],exportAs:["kendoMultiSelect"]}],directives:[{type:ne.ItemTemplateDirective,selector:"[kendoDropDownListItemTemplate],[kendoComboBoxItemTemplate],[kendoAutoCompleteItemTemplate],[kendoMultiSelectItemTemplate]"},{type:c.NgIf,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]},{type:c.NgStyle,selector:"[ngStyle]",inputs:["ngStyle"]},{type:ne.TagTemplateDirective,selector:"[kendoMultiSelectTagTemplate],[kendoMultiSelectTreeTagTemplate]"}]}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:tr,decorators:[{type:h.Component,args:[{providers:[I],selector:"kendo-multiple-resource-editor",template:"\n <kendo-multiselect\n #resourceMultiSelect\n [data]='resource.data'\n [textField]='resource.textField'\n [valueField]='resource.valueField'\n [valuePrimitive]='true'\n [value]='resourceValue'\n (valueChange)='onResourceValueChange($event)'\n >\n <ng-template kendoDropDownListItemTemplate let-dataItem>\n <span *ngIf=\"resource.colorField\" class=\"k-scheduler-mark\"\n [ngStyle]=\"getResourceStyle(dataItem)\"></span>\n {{ getField(dataItem, resource.textField) }}\n </ng-template>\n <ng-template kendoMultiSelectTagTemplate let-dataItem>\n <span *ngIf=\"resource.colorField\" class=\"k-scheduler-mark\"\n [ngStyle]=\"getTagStyle(dataItem)\"></span>\n {{ getField(dataItem, resource.textField) }}\n </ng-template>\n </kendo-multiselect>\n "}]}],propDecorators:{resourceMultiSelect:[{type:h.ViewChild,args:["resourceMultiSelect",{static:!0}]}]}});var rr,ir,I={multi:!0,provide:N.NG_VALUE_ACCESSOR,useExisting:h.forwardRef(function(){return or})},or=(p(ar,rr=T),ar.prototype.focus=function(){this.resourceDropDown.focus()},ar);function ar(){return null!==rr&&rr.apply(this,arguments)||this}function sr(e,t){return e.altKey===((t&ir.AltKey)===ir.AltKey)&&e.ctrlKey===((t&ir.CtrlKey)===ir.CtrlKey)&&e.shiftKey===((t&ir.ShiftKey)===ir.ShiftKey)&&e.metaKey===((t&ir.MetaKey)===ir.MetaKey)}function lr(e){return sr(e,ir.None)}or.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:or,deps:null,target:n.ɵɵFactoryTarget.Component}),or.ɵcmp=n.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:or,selector:"kendo-single-resource-editor",providers:[I],viewQueries:[{propertyName:"resourceDropDown",first:!0,predicate:["resourceDropDown"],descendants:!0,static:!0}],usesInheritance:!0,ngImport:n,template:"\n <kendo-dropdownlist\n #resourceDropDown\n [data]='resource.data'\n [textField]='resource.textField'\n [valueField]='resource.valueField'\n [valuePrimitive]='true'\n [value]='resourceValue'\n (valueChange)='onResourceValueChange($event)'\n >\n <ng-template kendoDropDownListItemTemplate let-dataItem>\n <span *ngIf=\"resource.colorField\" class=\"k-scheduler-mark\"\n [ngStyle]=\"getResourceStyle(dataItem)\"></span>\n {{ getField(dataItem, resource.textField) }}\n </ng-template>\n </kendo-dropdownlist>\n ",isInline:!0,components:[{type:ne.DropDownListComponent,selector:"kendo-dropdownlist",inputs:["iconClass","loading","data","value","textField","valueField","popupSettings","listHeight","defaultItem","disabled","itemDisabled","readonly","filterable","virtual","ignoreCase","delay","valuePrimitive","tabindex","tabIndex","size","rounded","fillMode","id"],outputs:["valueChange","filterChange","selectionChange","open","opened","close","closed","focus","blur"],exportAs:["kendoDropDownList"]}],directives:[{type:ne.ItemTemplateDirective,selector:"[kendoDropDownListItemTemplate],[kendoComboBoxItemTemplate],[kendoAutoCompleteItemTemplate],[kendoMultiSelectItemTemplate]"},{type:c.NgIf,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]},{type:c.NgStyle,selector:"[ngStyle]",inputs:["ngStyle"]}]}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:or,decorators:[{type:h.Component,args:[{providers:[I],selector:"kendo-single-resource-editor",template:"\n <kendo-dropdownlist\n #resourceDropDown\n [data]='resource.data'\n [textField]='resource.textField'\n [valueField]='resource.valueField'\n [valuePrimitive]='true'\n [value]='resourceValue'\n (valueChange)='onResourceValueChange($event)'\n >\n <ng-template kendoDropDownListItemTemplate let-dataItem>\n <span *ngIf=\"resource.colorField\" class=\"k-scheduler-mark\"\n [ngStyle]=\"getResourceStyle(dataItem)\"></span>\n {{ getField(dataItem, resource.textField) }}\n </ng-template>\n </kendo-dropdownlist>\n "}]}],propDecorators:{resourceDropDown:[{type:h.ViewChild,args:["resourceDropDown",{static:!0}]}]}}),(T=ir=ir||{})[T.None=0]="None",T[T.AltKey=1]="AltKey",T[T.CtrlKey=2]="CtrlKey",T[T.ShiftKey=4]="ShiftKey",T[T.MetaKey=8]="MetaKey";var I={multi:!0,provide:N.NG_VALUE_ACCESSOR,useExisting:h.forwardRef(function(){return cr})},cr=(dr.prototype.writeValue=function(e){e instanceof Date&&(this.date=e)},dr.prototype.onValueChange=function(e){this.onChangeCallback(e),this.valueChange.emit(e)},dr.prototype.focus=function(){this.datePicker.focus()},dr.prototype.registerOnChange=function(e){this.onChangeCallback=e},dr.prototype.registerOnTouched=function(e){this.onTouchedCallback=e},dr);function dr(){this.valueChange=new h.EventEmitter,this.onTouchedCallback=function(e){},this.onChangeCallback=function(e){}}cr.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:cr,deps:[],target:n.ɵɵFactoryTarget.Component}),cr.ɵcmp=n.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:cr,selector:"kendo-scheduler-datetime-picker",inputs:{isAllDay:"isAllDay"},outputs:{valueChange:"valueChange"},providers:[I],viewQueries:[{propertyName:"datePicker",first:!0,predicate:["datepicker"],descendants:!0,static:!0}],ngImport:n,template:"\n <kendo-datepicker\n #datepicker\n [(value)]='date'\n (valueChange)='onValueChange($event)'\n ></kendo-datepicker>\n <kendo-timepicker *ngIf='!isAllDay'\n [(value)]='date'\n (valueChange)='onValueChange($event)'\n ></kendo-timepicker>\n ",isInline:!0,styles:["\n kendo-datepicker,\n kendo-timepicker {\n width: 170px;\n }\n "],components:[{type:i.DatePickerComponent,selector:"kendo-datepicker",inputs:["cellTemplate","monthCellTemplate","yearCellTemplate","decadeCellTemplate","centuryCellTemplate","weekNumberTemplate","headerTitleTemplate","navigationItemTemplate","activeView","bottomView","topView","calendarType","animateCalendarNavigation","disabled","readonly","readOnlyInput","popupSettings","navigation","min","max","incompleteDateValidation","focusedDate","value","format","twoDigitYearMax","formatPlaceholder","placeholder","tabindex","tabIndex","disabledDates","title","rangeValidation","disabledDatesValidation","weekNumber","size","rounded","fillMode"],outputs:["valueChange","focus","blur","open","close"],exportAs:["kendo-datepicker"]},{type:i.TimePickerComponent,selector:"kendo-timepicker",inputs:["disabled","readonly","readOnlyInput","format","formatPlaceholder","placeholder","min","max","incompleteDateValidation","cancelButton","nowButton","steps","popupSettings","tabindex","tabIndex","title","rangeValidation","value","size","rounded","fillMode"],outputs:["valueChange","focus","blur","open","close"],exportAs:["kendo-timepicker"]}],directives:[{type:c.NgIf,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]}]}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:cr,decorators:[{type:h.Component,args:[{providers:[I],selector:"kendo-scheduler-datetime-picker",template:"\n <kendo-datepicker\n #datepicker\n [(value)]='date'\n (valueChange)='onValueChange($event)'\n ></kendo-datepicker>\n <kendo-timepicker *ngIf='!isAllDay'\n [(value)]='date'\n (valueChange)='onValueChange($event)'\n ></kendo-timepicker>\n ",styles:["\n kendo-datepicker,\n kendo-timepicker {\n width: 170px;\n }\n "]}]}],propDecorators:{datePicker:[{type:h.ViewChild,args:["datepicker",{static:!0}]}],isAllDay:[{type:h.Input}],valueChange:[{type:h.Output}]}});var T={multi:!0,provide:N.NG_VALUE_ACCESSOR,useExisting:h.forwardRef(function(){return ur})},ur=(pr.prototype.onTimeZoneChange=function(e){this.tz=e,this.onChangeCallback(this.tz),this.valueChange.emit(e)},pr.prototype.onTimeZoneFilterChange=function(t){this.tzSource=this.tzNames.filter(function(e){return-1!==e.toLowerCase().indexOf(t.toLowerCase())})},pr.prototype.writeValue=function(e){"string"==typeof e&&0<=this.tzNames.indexOf(e)&&(this.tz=e)},pr.prototype.focus=function(){this.tzComboBox.focus()},pr.prototype.registerOnChange=function(e){this.onChangeCallback=e},pr.prototype.registerOnTouched=function(e){this.onTouchedCallback=e},pr);function pr(){this.width=260,this.valueChange=new h.EventEmitter,this.onTouchedCallback=function(e){},this.onChangeCallback=function(e){},this.tzNames=b.timezoneNames(),this.tzSource=this.tzNames.slice()}ur.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:ur,deps:[],target:n.ɵɵFactoryTarget.Component}),ur.ɵcmp=n.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:ur,selector:"kendo-timezone-editor",inputs:{width:"width"},outputs:{valueChange:"valueChange"},providers:[T],viewQueries:[{propertyName:"tzComboBox",first:!0,predicate:["tzcombobox"],descendants:!0,static:!0}],ngImport:n,template:'\n <kendo-combobox\n #tzcombobox\n [style.width.px]="width"\n [allowCustom]="false"\n [data]="tzSource"\n [filterable]="true"\n [suggest]="true"\n [value]="tz"\n (filterChange)="onTimeZoneFilterChange($event)"\n (valueChange)="onTimeZoneChange($event)">\n </kendo-combobox>\n ',isInline:!0,components:[{type:ne.ComboBoxComponent,selector:"kendo-combobox",inputs:["focusableId","allowCustom","data","value","textField","valueField","valuePrimitive","valueNormalizer","placeholder","popupSettings","listHeight","iconClass","loading","suggest","clearButton","disabled","itemDisabled","readonly","tabindex","tabIndex","filterable","virtual","size","rounded","fillMode"],outputs:["valueChange","selectionChange","filterChange","open","opened","close","closed","focus","blur"],exportAs:["kendoComboBox"]}]}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:ur,decorators:[{type:h.Component,args:[{providers:[T],selector:"kendo-timezone-editor",template:'\n <kendo-combobox\n #tzcombobox\n [style.width.px]="width"\n [allowCustom]="false"\n [data]="tzSource"\n [filterable]="true"\n [suggest]="true"\n [value]="tz"\n (filterChange)="onTimeZoneFilterChange($event)"\n (valueChange)="onTimeZoneChange($event)">\n </kendo-combobox>\n '}]}],ctorParameters:function(){return[]},propDecorators:{tzComboBox:[{type:h.ViewChild,args:["tzcombobox",{static:!0}]}],width:[{type:h.Input}],valueChange:[{type:h.Output}]}});var hr=0,mr=["first","second","third","fourth","last"],gr=["never","daily","weekly","monthly","yearly"],yr=[{day:0,offset:0},{day:1,offset:0},{day:2,offset:0},{day:3,offset:0},{day:4,offset:0},{day:5,offset:0},{day:6,offset:0}],fr=[{day:1,offset:0},{day:2,offset:0},{day:3,offset:0},{day:4,offset:0},{day:5,offset:0}],vr=[{day:0,offset:0},{day:6,offset:0}],kr=(Dr.prototype.init=function(e,t,n,r){void 0===e&&(e=""),this.start=t,this.timezone=n,this.weekStart=r,this.rrule=G.parseRule({recurrenceRule:e,weekStart:r})},Dr.prototype.getUniqueId=function(){return hr++},Object.defineProperty(Dr.prototype,"frequencies",{get:function(){var t=this;return gr.map(function(e){return{value:e,text:t.localization.get("frequencies"+Ot(e))}})},enumerable:!1,configurable:!0}),Object.defineProperty(Dr.prototype,"frequency",{get:function(){var e;return!f(this.rrule)||null==(e=this.rrule.freq)||e.trim&&0===e.trim().length?"never":this.rrule.freq},enumerable:!1,configurable:!0}),Dr.prototype.setFrequency=function(e){this.rrule={},this.rrule.freq=e,this.rrule.interval=1,"weekly"===e&&(this.rrule.byWeekDay=[{day:this.start.getDay(),offset:0}]),"monthly"!==e&&"yearly"!==e||(this.rrule.byMonthDay=[this.start.getDate()]),"yearly"===e&&(this.rrule.byMonth=[this.start.getMonth()+1]),this.frequencyChange.emit(),this.onChange()},Object.defineProperty(Dr.prototype,"interval",{set:function(e){this.rrule.interval=e,this.onChange()},enumerable:!1,configurable:!0}),Object.defineProperty(Dr.prototype,"count",{set:function(e){this.rrule.count=e,this.onChange()},enumerable:!1,configurable:!0}),Object.defineProperty(Dr.prototype,"until",{get:function(){if(f(this.rrule.until))return b.toLocalDate(this.rrule.until)},set:function(e){this.rrule.until=b.ZonedDate.fromLocalDate(e,this.timezone),this.onChange()},enumerable:!1,configurable:!0}),Dr.prototype.setWeekDays=function(e){this.rrule.byWeekDay=e,this.onChange()},Object.defineProperty(Dr.prototype,"monthDays",{set:function(e){this.rrule.byMonthDay=e,this.onChange()},enumerable:!1,configurable:!0}),Object.defineProperty(Dr.prototype,"positions",{set:function(e){this.rrule.bySetPosition=e,this.onChange()},enumerable:!1,configurable:!0}),Dr.prototype.setMonths=function(e){this.rrule.byMonth=e,this.onChange()},Object.defineProperty(Dr.prototype,"months",{get:function(){return this.intl.dateFormatNames({type:"months",nameType:"wide"}).map(function(e,t){return{text:e,value:t+1}})},enumerable:!1,configurable:!0}),Object.defineProperty(Dr.prototype,"weekDays",{get:function(){var e=this.weekStart,t=this.intl.dateFormatNames({type:"days",nameType:"abbreviated"}).map(function(e,t){return{text:e,value:t}});return t.slice(e).concat(t.slice(0,e))},enumerable:!1,configurable:!0}),Object.defineProperty(Dr.prototype,"extendedWeekDays",{get:function(){var e=this.weekStart,t=this.intl.dateFormatNames({type:"days",nameType:"wide"}).map(function(e,t){return{text:e,value:t}}),t=t.slice(e).concat(t.slice(0,e));return[{text:this.localization.get("weekdaysDay"),value:"day"},{text:this.localization.get("weekdaysWeekday"),value:"weekday"},{text:this.localization.get("weekdaysWeekendday"),value:"weekend"}].concat(t)},enumerable:!1,configurable:!0}),Object.defineProperty(Dr.prototype,"offsetPositions",{get:function(){var n=this,r=[1,2,3,4,-1];return mr.map(function(e,t){return{text:n.localization.get("offsetPositions"+Ot(e)),value:r[t]}})},enumerable:!1,configurable:!0}),Object.defineProperty(Dr.prototype,"endRule",{get:function(){return f(this.rrule.count)?"count":f(this.rrule.until)?"until":"never"},set:function(e){"count"===e?this.rrule.until=null:"until"===e?this.rrule.count=null:(this.rrule.count=null,this.rrule.until=null),this.endRuleChange.emit(e),this.onChange()},enumerable:!1,configurable:!0}),Object.defineProperty(Dr.prototype,"repeatOnRule",{get:function(){return f(this.rrule.byWeekDay)?"weekday":f(this.rrule.byMonthDay)?"monthday":null},set:function(e){"monthday"===e?(this.rrule.byWeekDay=null,this.rrule.bySetPosition=null):this.rrule.byMonthDay=null,this.repeatOnRuleChange.emit(e),this.onChange()},enumerable:!1,configurable:!0}),Dr.prototype.onChange=function(){"never"===this.frequency?this.change.emit(null):this.change.emit(G.serializeRule(this.rrule,this.timezone))},Dr);function Dr(e,t){this.intl=e,this.localization=t,this.change=new h.EventEmitter,this.endRuleChange=new h.EventEmitter,this.frequencyChange=new h.EventEmitter,this.repeatOnRuleChange=new h.EventEmitter}kr.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:kr,deps:[{token:o.IntlService},{token:r.LocalizationService}],target:n.ɵɵFactoryTarget.Injectable}),kr.ɵprov=n.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:kr}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:kr,decorators:[{type:h.Injectable}],ctorParameters:function(){return[{type:o.IntlService},{type:r.LocalizationService}]}});p(Ir,Tr=P.LocalizationService),Ir.prototype.get=function(e){return this.schedulerLocalization?this.schedulerLocalization.get("recurrenceEditor"+Ot(e)):Tr.prototype.get.call(this,e)};var Tr,I=Ir;function Ir(e,t,n,r){e=Tr.call(this,e,t,n)||this;return e.schedulerLocalization=r,e}I.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:I,deps:[{token:P.L10N_PREFIX},{token:r.MessageService,optional:!0},{token:P.RTL,optional:!0},{token:tn,optional:!0}],target:n.ɵɵFactoryTarget.Injectable}),I.ɵprov=n.ɵɵngDeclareInjectable({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:I}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:I,decorators:[{type:h.Injectable}],ctorParameters:function(){return[{type:void 0,decorators:[{type:h.Inject,args:[P.L10N_PREFIX]}]},{type:r.MessageService,decorators:[{type:h.Optional}]},{type:void 0,decorators:[{type:h.Optional},{type:h.Inject,args:[P.RTL]}]},{type:tn,decorators:[{type:h.Optional},{type:h.Inject,args:[tn]}]}]}});br.prototype.ngOnInit=function(){this.frequencies=this.recurrence.frequencies},Object.defineProperty(br.prototype,"selected",{get:function(){return this.recurrence.frequency},enumerable:!1,configurable:!0}),br.prototype.onClick=function(e){e.value!==this.selected&&this.recurrence.setFrequency(e.value)},br.prototype.textFor=function(e){return this.localization.get(e)},br.prototype.onFrequencyClick=function(){var e=this.weekDayButtons.toArray().find(function(e){return e.selected});e&&e.focus()};T=br;function br(e,t){this.recurrence=e,this.localization=t}T.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:T,deps:[{token:kr},{token:r.LocalizationService}],target:n.ɵɵFactoryTarget.Component}),T.ɵcmp=n.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:T,selector:"kendo-recurrence-frequency-editor",viewQueries:[{propertyName:"weekDayButtons",predicate:L.Button,descendants:!0}],ngImport:n,template:'\n <div class=\'k-form-field\'>\n <label class="k-form-label" (click)="onFrequencyClick()">{{ textFor(\'repeat\') }}</label>\n\n <div class=\'k-form-field-wrap\'>\n <kendo-buttongroup [selection]="\'single\'">\n <button *ngFor=\'let freq of frequencies\' kendoButton\n [style.width.px]="100"\n [togglable]="true"\n [selected]="freq.value === selected"\n (click)="onClick(freq)"\n >{{ freq.text }}</button>\n </kendo-buttongroup>\n </div>\n </div>\n ',isInline:!0,components:[{type:a.ButtonGroupComponent,selector:"kendo-buttongroup",inputs:["disabled","selection","width","tabIndex","navigable"],outputs:["navigate"],exportAs:["kendoButtonGroup"]}],directives:[{type:c.NgForOf,selector:"[ngFor][ngForOf]",inputs:["ngForOf","ngForTrackBy","ngForTemplate"]},{type:a.ButtonDirective,selector:"button[kendoButton], span[kendoButton]",inputs:["toggleable","togglable","selected","tabIndex","icon","iconClass","imageUrl","disabled","size","rounded","fillMode","themeColor","role","primary","look"],outputs:["selectedChange","click"],exportAs:["kendoButton"]}]}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:T,decorators:[{type:h.Component,args:[{selector:"kendo-recurrence-frequency-editor",template:'\n <div class=\'k-form-field\'>\n <label class="k-form-label" (click)="onFrequencyClick()">{{ textFor(\'repeat\') }}</label>\n\n <div class=\'k-form-field-wrap\'>\n <kendo-buttongroup [selection]="\'single\'">\n <button *ngFor=\'let freq of frequencies\' kendoButton\n [style.width.px]="100"\n [togglable]="true"\n [selected]="freq.value === selected"\n (click)="onClick(freq)"\n >{{ freq.text }}</button>\n </kendo-buttongroup>\n </div>\n </div>\n '}]}],ctorParameters:function(){return[{type:kr},{type:r.LocalizationService}]},propDecorators:{weekDayButtons:[{type:h.ViewChildren,args:[L.Button]}]}});Object.defineProperty(Sr.prototype,"userNumericOptions",{set:function(e){this.numericOptions=Object.assign(Object.assign({},this.numericOptions),e)},enumerable:!1,configurable:!0}),Object.defineProperty(Sr.prototype,"currentFreq",{get:function(){return this.recurrence.frequency},enumerable:!1,configurable:!0}),Sr.prototype.onIntervalChange=function(e){f(e)&&(this.recurrence.interval=e)},Sr.prototype.onIntervalBlur=function(){f(this.intervalValue)||(this.recurrence.interval=this.intervalValue=1)},Sr.prototype.textForRepeatEvery=function(){switch(this.currentFreq){case"daily":return this.textFor("dailyRepeatEvery");case"weekly":return this.textFor("weeklyRepeatEvery");case"monthly":return this.textFor("monthlyRepeatEvery");case"yearly":return this.textFor("yearlyRepeatEvery")}},Sr.prototype.textForFrequency=function(){switch(this.currentFreq){case"daily":return this.textFor("dailyInterval");case"weekly":return this.textFor("weeklyInterval");case"monthly":return this.textFor("monthlyInterval");case"yearly":return this.textFor("yearlyInterval")}},Sr.prototype.textFor=function(e){return this.localization.get(e)};var wr=Sr;function Sr(e,t){this.recurrence=e,this.localization=t,this.numericOptions={min:1,format:"#",autoCorrect:!0,step:1,spinners:!0},this.intervalValue=this.recurrence.rrule.interval||1}wr.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:wr,deps:[{token:kr},{token:r.LocalizationService}],target:n.ɵɵFactoryTarget.Component}),wr.ɵcmp=n.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:wr,selector:"kendo-recurrence-interval-editor",inputs:{userNumericOptions:"userNumericOptions"},ngImport:n,template:'\n <div class=\'k-form-field\'>\n <label class="k-form-label" (click)="intervalNumeric.focus()">{{ textForRepeatEvery() }}</label>\n\n <div class="k-form-field-wrap">\n <kendo-numerictextbox\n #intervalNumeric\n [style.width.px]="70"\n [min]="numericOptions.min"\n [max]="numericOptions.max"\n [decimals]="0"\n [format]="numericOptions.format"\n [autoCorrect]="numericOptions.autoCorrect"\n [readonly]="numericOptions.readonly"\n [selectOnFocus]="numericOptions.selectOnFocus"\n [spinners]="numericOptions.spinners"\n [step]="numericOptions.step"\n [title]="numericOptions.title"\n [(value)]="intervalValue"\n (blur)="onIntervalBlur()"\n (valueChange)="onIntervalChange($event)">\n </kendo-numerictextbox>\n\n <span>{{ textForFrequency() }}</span>\n </div>\n </div>\n ',isInline:!0,components:[{type:d.NumericTextBoxComponent,selector:"kendo-numerictextbox",inputs:["focusableId","disabled","readonly","title","autoCorrect","format","max","min","decimals","placeholder","step","spinners","rangeValidation","tabindex","tabIndex","changeValueOnScroll","selectOnFocus","value","maxlength","size","rounded","fillMode"],outputs:["valueChange","focus","blur"],exportAs:["kendoNumericTextBox"]}]}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:wr,decorators:[{type:h.Component,args:[{selector:"kendo-recurrence-interval-editor",template:'\n <div class=\'k-form-field\'>\n <label class="k-form-label" (click)="intervalNumeric.focus()">{{ textForRepeatEvery() }}</label>\n\n <div class="k-form-field-wrap">\n <kendo-numerictextbox\n #intervalNumeric\n [style.width.px]="70"\n [min]="numericOptions.min"\n [max]="numericOptions.max"\n [decimals]="0"\n [format]="numericOptions.format"\n [autoCorrect]="numericOptions.autoCorrect"\n [readonly]="numericOptions.readonly"\n [selectOnFocus]="numericOptions.selectOnFocus"\n [spinners]="numericOptions.spinners"\n [step]="numericOptions.step"\n [title]="numericOptions.title"\n [(value)]="intervalValue"\n (blur)="onIntervalBlur()"\n (valueChange)="onIntervalChange($event)">\n </kendo-numerictextbox>\n\n <span>{{ textForFrequency() }}</span>\n </div>\n </div>\n '}]}],ctorParameters:function(){return[{type:kr},{type:r.LocalizationService}]},propDecorators:{userNumericOptions:[{type:h.Input}]}});Cr.prototype.setSelectedDays=function(){for(var t=this,e=0;e<7;e++)this.selected[e]=!1;f(this.rrule.byWeekDay)&&this.rrule.byWeekDay.forEach(function(e){t.selected[e.day]=!0})},Cr.prototype.onSelectedChange=function(e,t){this.selected[t]=e,this.recurrence.setWeekDays(this.serializeToWeekDayRuleArray(this.selected))},Cr.prototype.isSelected=function(e){return this.selected[e.value]},Cr.prototype.serializeToWeekDayRuleArray=function(e){var n=[];return e.forEach(function(e,t){e&&n.push({day:t,offset:0})}),0<n.length?n:null},Object.defineProperty(Cr.prototype,"rrule",{get:function(){return this.recurrence.rrule},enumerable:!1,configurable:!0}),Cr.prototype.capitalize=Ot,Cr.prototype.textFor=function(e){return this.localization.get(e)},Cr.prototype.onWeeklyRepeatOnClick=function(){var e=this.weekDayButtons.toArray().find(function(e){return e.selected});e&&e.focus()};var xr=Cr;function Cr(e,t){this.recurrence=e,this.localization=t,this.selected=[],this.weekDays=this.recurrence.weekDays,this.setSelectedDays()}xr.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:xr,deps:[{token:kr},{token:r.LocalizationService}],target:n.ɵɵFactoryTarget.Component}),xr.ɵcmp=n.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:xr,selector:"kendo-recurrence-weekday-rule-editor",viewQueries:[{propertyName:"weekDayButtons",predicate:L.Button,descendants:!0}],ngImport:n,template:"\n <div class='k-form-field'>\n <label class='k-form-label' (click)=\"onWeeklyRepeatOnClick()\">{{ textFor('weeklyRepeatOn') }}</label>\n\n <div class='k-form-field-wrap'>\n <kendo-buttongroup [selection]=\"'multiple'\">\n <button *ngFor='let day of weekDays' kendoButton\n [style.width.px]=\"75\"\n [toggleable]=\"true\"\n [selected]=\"isSelected(day)\"\n (selectedChange)=\"onSelectedChange($event, day.value)\"\n >{{ capitalize(day.text) }}</button>\n </kendo-buttongroup>\n </div>\n </div>\n ",isInline:!0,components:[{type:a.ButtonGroupComponent,selector:"kendo-buttongroup",inputs:["disabled","selection","width","tabIndex","navigable"],outputs:["navigate"],exportAs:["kendoButtonGroup"]}],directives:[{type:c.NgForOf,selector:"[ngFor][ngForOf]",inputs:["ngForOf","ngForTrackBy","ngForTemplate"]},{type:a.ButtonDirective,selector:"button[kendoButton], span[kendoButton]",inputs:["toggleable","togglable","selected","tabIndex","icon","iconClass","imageUrl","disabled","size","rounded","fillMode","themeColor","role","primary","look"],outputs:["selectedChange","click"],exportAs:["kendoButton"]}]}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:xr,decorators:[{type:h.Component,args:[{selector:"kendo-recurrence-weekday-rule-editor",template:"\n <div class='k-form-field'>\n <label class='k-form-label' (click)=\"onWeeklyRepeatOnClick()\">{{ textFor('weeklyRepeatOn') }}</label>\n\n <div class='k-form-field-wrap'>\n <kendo-buttongroup [selection]=\"'multiple'\">\n <button *ngFor='let day of weekDays' kendoButton\n [style.width.px]=\"75\"\n [toggleable]=\"true\"\n [selected]=\"isSelected(day)\"\n (selectedChange)=\"onSelectedChange($event, day.value)\"\n >{{ capitalize(day.text) }}</button>\n </kendo-buttongroup>\n </div>\n </div>\n "}]}],ctorParameters:function(){return[{type:kr},{type:r.LocalizationService}]},propDecorators:{weekDayButtons:[{type:h.ViewChildren,args:[L.Button]}]}});Object.defineProperty(Rr.prototype,"repeatOnRule",{set:function(e){e=e.split("-");this._repeatOnRule=e[0],this._uniqueId=e[1]},enumerable:!1,configurable:!0}),Rr.prototype.ngOnInit=function(){this.renderer.setAttribute(this.elem,"id","k-repeaton-"+this._repeatOnRule+"-"+this._uniqueId),this.renderer.setAttribute(this.elem,"name","day-"+this._uniqueId)},Rr.prototype.ngAfterContentChecked=function(){this.setCheckedState()},Rr.prototype.ngOnDestroy=function(){this.destroyChange&&this.destroyChange()},Rr.prototype.onChange=function(){this.elem.checked&&(this.recurrence.repeatOnRule=this._repeatOnRule,this.changeDetector.markForCheck())},Rr.prototype.setCheckedState=function(){var e=this._repeatOnRule===this.recurrence.repeatOnRule;this.renderer.setProperty(this.elem,"checked",e)},Object.defineProperty(Rr.prototype,"elem",{get:function(){return this.el.nativeElement},enumerable:!1,configurable:!0});var Er=Rr;function Rr(e,t,n,r){this.el=e,this.renderer=t,this.recurrence=n,this.changeDetector=r,this.type="radio",this.radioClass=!0,this.radioSizeClass=!0,this.destroyChange=this.renderer.listen(this.elem,"change",this.onChange.bind(this))}Er.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Er,deps:[{token:n.ElementRef},{token:n.Renderer2},{token:kr},{token:n.ChangeDetectorRef}],target:n.ɵɵFactoryTarget.Directive}),Er.ɵdir=n.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:Er,selector:"[kendoRecurrenceRepeatOnRadioButton]",inputs:{repeatOnRule:["kendoRecurrenceRepeatOnRadioButton","repeatOnRule"]},host:{properties:{"attr.type":"this.type","class.k-radio":"this.radioClass","class.k-radio-md":"this.radioSizeClass"}},ngImport:n}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Er,decorators:[{type:h.Directive,args:[{selector:"[kendoRecurrenceRepeatOnRadioButton]"}]}],ctorParameters:function(){return[{type:n.ElementRef},{type:n.Renderer2},{type:kr},{type:n.ChangeDetectorRef}]},propDecorators:{type:[{type:h.HostBinding,args:["attr.type"]}],radioClass:[{type:h.HostBinding,args:["class.k-radio"]}],radioSizeClass:[{type:h.HostBinding,args:["class.k-radio-md"]}],repeatOnRule:[{type:h.Input,args:["kendoRecurrenceRepeatOnRadioButton"]}]}});Object.defineProperty(Fr.prototype,"userNumericOptions",{set:function(e){this.numericOptions=Object.assign(Object.assign({},this.numericOptions),e)},enumerable:!1,configurable:!0}),Fr.prototype.setInitialValues=function(){this.extendedWeekDays=this.recurrence.extendedWeekDays,this.offsetPositions=this.recurrence.offsetPositions,this.currentOffset=this.defaultOffset,this.currentWeekDay=this.defaultWeekDay,"yearly"===this.currentFreq&&(this.months=this.recurrence.months,this.currentMonthMonthDay=this.currentMonthWeekDay=this.recurrence.rrule.byMonth[0])},Fr.prototype.subscribeEventHandlers=function(){this.subs=this.recurrence.repeatOnRuleChange.subscribe(this.onRepeatOnRuleChange.bind(this)),this.subs.add(this.recurrence.frequencyChange.subscribe(this.onFrequencyChange.bind(this)))},Fr.prototype.onRepeatOnRuleChange=function(e){"monthday"===e?(this.recurrence.rrule.byMonthDay=[this.monthDay],"yearly"===this.currentFreq&&(this.recurrence.rrule.byMonth=[this.currentMonthMonthDay])):"weekday"===e&&("string"==typeof this.weekDay?(this.recurrence.rrule.bySetPosition=[this.offset],this.recurrence.rrule.byWeekDay=this.weekDayRuleFromString(this.weekDay)):this.recurrence.rrule.byWeekDay=[{day:this.weekDay,offset:this.offset}],"yearly"===this.currentFreq)&&(this.recurrence.rrule.byMonth=[this.currentMonthWeekDay])},Fr.prototype.onFrequencyChange=function(){this.setInitialValues()},Fr.prototype.ngOnDestroy=function(){this.subs&&this.subs.unsubscribe()},Object.defineProperty(Fr.prototype,"monthDay",{get:function(){var e=this.recurrence.rrule;return f(e.byMonthDay)&&0<e.byMonthDay.length?e.byMonthDay[0]:f(this.currentMonthDay)?this.currentMonthDay:this.recurrence.start.getDate()},enumerable:!1,configurable:!0}),Object.defineProperty(Fr.prototype,"weekDay",{get:function(){var e=this.recurrence.rrule;if(f(e.byWeekDay))switch(e.byWeekDay.length){case 7:return"day";case 5:return"weekday";case 2:return"weekend";case 1:return e.byWeekDay[0].day}else if(f(this.currentWeekDay))return this.currentWeekDay;return this.defaultWeekDay},enumerable:!1,configurable:!0}),Object.defineProperty(Fr.prototype,"offset",{get:function(){var e=this.recurrence.rrule;if(f(e.byWeekDay))switch(e.byWeekDay.length){case 7:case 5:case 2:return e.bySetPosition[0];case 1:return e.byWeekDay[0].offset}else if(f(this.currentOffset))return this.currentOffset;return this.defaultOffset},enumerable:!1,configurable:!0}),Fr.prototype.onMonthChange=function(e,t){"monthday"===t?this.currentMonthMonthDay=e:this.currentMonthWeekDay=e,this.recurrence.setMonths([e])},Fr.prototype.onMonthDayChange=function(e){this.currentMonthDay=e,this.recurrence.monthDays=[e]},Fr.prototype.onOffsetPositionChange=function(e){var t=this.recurrence.rrule;if(f(t.byWeekDay))switch(t.byWeekDay.length){case 7:case 5:case 2:this.recurrence.positions=[e];break;case 1:t.byWeekDay[0].offset=e,this.recurrence.onChange()}this.currentOffset=e},Fr.prototype.onWeekDayChange=function(e){var t;"string"==typeof e?(t=this.weekDayRuleFromString(e),this.recurrence.positions=[this.offset]):t=[{day:e,offset:this.offset}],this.currentWeekDay=e,this.recurrence.setWeekDays(t)},Fr.prototype.isDisabled=function(e){return this.recurrence.repeatOnRule!==e},Object.defineProperty(Fr.prototype,"currentFreq",{get:function(){return this.recurrence.frequency},enumerable:!1,configurable:!0}),Object.defineProperty(Fr.prototype,"defaultOffset",{get:function(){return 1},enumerable:!1,configurable:!0}),Object.defineProperty(Fr.prototype,"defaultWeekDay",{get:function(){return this.recurrence.start.getDay()},enumerable:!1,configurable:!0}),Fr.prototype.weekDayRuleFromString=function(e){switch(e){case"day":return yr;case"weekday":return fr;case"weekend":return vr}return null},Fr.prototype.textForRepeatOn=function(){switch(this.currentFreq){case"monthly":return this.textFor("monthlyRepeatOn");case"yearly":return this.textFor("yearlyRepeatOn")}},Fr.prototype.textFor=function(e){return this.localization.get(e)},Fr.prototype.onRepeatOnLabelClick=function(){var e=this.repeatOnRadioButtons.toArray().find(function(e){return e.elem.checked});e&&e.elem.focus()};var Or=Fr;function Fr(e,t){this.recurrence=e,this.localization=t,this.uniqueId=this.recurrence.getUniqueId(),this.numericOptions={min:1,max:31,format:"#",autoCorrect:!0,step:1,spinners:!0},this.setInitialValues(),this.subscribeEventHandlers()}Or.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Or,deps:[{token:kr},{token:r.LocalizationService}],target:n.ɵɵFactoryTarget.Component}),Or.ɵcmp=n.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:Or,selector:"kendo-recurrence-monthly-yearly-editor",inputs:{userNumericOptions:"userNumericOptions"},viewQueries:[{propertyName:"repeatOnRadioButtons",predicate:Er,descendants:!0}],ngImport:n,template:"\n <div class='k-form-field'>\n <label class='k-form-label' (click)=\"onRepeatOnLabelClick()\">{{ textForRepeatOn() }}</label>\n\n <ul class='k-form-field-wrap k-reset' [style.width.px]='650'>\n <li class='k-radio-item'>\n <input kendoRecurrenceRepeatOnRadioButton='monthday-{{uniqueId}}' />\n\n <label class='k-radio-label' for='k-repeaton-monthday-{{uniqueId}}'>\n <ng-template [ngIf]=\"currentFreq === 'monthly'\">\n {{ textFor('monthlyDay') }}\n </ng-template>\n </label>\n\n <ng-template [ngIf]=\"currentFreq === 'yearly'\">\n <kendo-dropdownlist\n [data]='months'\n textField='text'\n valueField='value'\n [value]='currentMonthMonthDay'\n [valuePrimitive]='true'\n (valueChange)=\"onMonthChange($event, 'monthday')\"\n [disabled]=\"isDisabled('monthday')\"\n [style.width.px]=\"170\"\n [style.margin]=\"'0 .4ex 0 1ex'\">\n </kendo-dropdownlist>\n </ng-template>\n\n <kendo-numerictextbox\n [style.width.px]='70'\n [min]=\"numericOptions.min\"\n [max]=\"numericOptions.max\"\n [decimals]=\"0\"\n [format]=\"numericOptions.format\"\n [autoCorrect]=\"numericOptions.autoCorrect\"\n [readonly]=\"numericOptions.readonly\"\n [selectOnFocus]=\"numericOptions.selectOnFocus\"\n [spinners]=\"numericOptions.spinners\"\n [step]=\"numericOptions.step\"\n [title]=\"numericOptions.title\"\n [value]='monthDay'\n (valueChange)='onMonthDayChange($event)'\n [disabled]=\"isDisabled('monthday')\"\n [style.margin]=\"'0 .4ex 0 1ex'\">\n </kendo-numerictextbox>\n </li>\n <li class='k-radio-item'>\n <input kendoRecurrenceRepeatOnRadioButton='weekday-{{uniqueId}}' />\n <label class='k-radio-label' for='k-repeaton-weekday-{{uniqueId}}'></label>\n\n <kendo-dropdownlist\n [data]='offsetPositions'\n textField='text'\n valueField='value'\n [value]='offset'\n [valuePrimitive]='true'\n (valueChange)='onOffsetPositionChange($event)'\n [disabled]=\"isDisabled('weekday')\"\n [style.width.px]=\"170\"\n [style.margin]=\"'0 .4ex 0 1ex'\">\n </kendo-dropdownlist>\n\n <kendo-dropdownlist\n [data]=\"extendedWeekDays\"\n textField='text'\n valueField='value'\n [value]='weekDay'\n [valuePrimitive]='true'\n (valueChange)='onWeekDayChange($event)'\n [disabled]=\"isDisabled('weekday')\"\n [style.width.px]=\"170\"\n [style.margin]=\"'0 .4ex 0 1ex'\">\n </kendo-dropdownlist>\n\n <ng-template [ngIf]=\"currentFreq === 'yearly'\">\n <span>{{ textFor('yearlyOf') }}</span>\n\n <kendo-dropdownlist\n [data]='months'\n textField='text'\n valueField='value'\n [value]='currentMonthWeekDay'\n [valuePrimitive]='true'\n (valueChange)=\"onMonthChange($event, 'weekday')\"\n [disabled]=\"isDisabled('weekday')\"\n [style.width.px]=\"170\"\n [style.margin]=\"'0 .4ex 0 1ex'\">\n </kendo-dropdownlist>\n </ng-template>\n </li>\n </ul>\n </div>\n ",isInline:!0,components:[{type:ne.DropDownListComponent,selector:"kendo-dropdownlist",inputs:["iconClass","loading","data","value","textField","valueField","popupSettings","listHeight","defaultItem","disabled","itemDisabled","readonly","filterable","virtual","ignoreCase","delay","valuePrimitive","tabindex","tabIndex","size","rounded","fillMode","id"],outputs:["valueChange","filterChange","selectionChange","open","opened","close","closed","focus","blur"],exportAs:["kendoDropDownList"]},{type:d.NumericTextBoxComponent,selector:"kendo-numerictextbox",inputs:["focusableId","disabled","readonly","title","autoCorrect","format","max","min","decimals","placeholder","step","spinners","rangeValidation","tabindex","tabIndex","changeValueOnScroll","selectOnFocus","value","maxlength","size","rounded","fillMode"],outputs:["valueChange","focus","blur"],exportAs:["kendoNumericTextBox"]}],directives:[{type:Er,selector:"[kendoRecurrenceRepeatOnRadioButton]",inputs:["kendoRecurrenceRepeatOnRadioButton"]},{type:c.NgIf,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]}]}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Or,decorators:[{type:h.Component,args:[{selector:"kendo-recurrence-monthly-yearly-editor",template:"\n <div class='k-form-field'>\n <label class='k-form-label' (click)=\"onRepeatOnLabelClick()\">{{ textForRepeatOn() }}</label>\n\n <ul class='k-form-field-wrap k-reset' [style.width.px]='650'>\n <li class='k-radio-item'>\n <input kendoRecurrenceRepeatOnRadioButton='monthday-{{uniqueId}}' />\n\n <label class='k-radio-label' for='k-repeaton-monthday-{{uniqueId}}'>\n <ng-template [ngIf]=\"currentFreq === 'monthly'\">\n {{ textFor('monthlyDay') }}\n </ng-template>\n </label>\n\n <ng-template [ngIf]=\"currentFreq === 'yearly'\">\n <kendo-dropdownlist\n [data]='months'\n textField='text'\n valueField='value'\n [value]='currentMonthMonthDay'\n [valuePrimitive]='true'\n (valueChange)=\"onMonthChange($event, 'monthday')\"\n [disabled]=\"isDisabled('monthday')\"\n [style.width.px]=\"170\"\n [style.margin]=\"'0 .4ex 0 1ex'\">\n </kendo-dropdownlist>\n </ng-template>\n\n <kendo-numerictextbox\n [style.width.px]='70'\n [min]=\"numericOptions.min\"\n [max]=\"numericOptions.max\"\n [decimals]=\"0\"\n [format]=\"numericOptions.format\"\n [autoCorrect]=\"numericOptions.autoCorrect\"\n [readonly]=\"numericOptions.readonly\"\n [selectOnFocus]=\"numericOptions.selectOnFocus\"\n [spinners]=\"numericOptions.spinners\"\n [step]=\"numericOptions.step\"\n [title]=\"numericOptions.title\"\n [value]='monthDay'\n (valueChange)='onMonthDayChange($event)'\n [disabled]=\"isDisabled('monthday')\"\n [style.margin]=\"'0 .4ex 0 1ex'\">\n </kendo-numerictextbox>\n </li>\n <li class='k-radio-item'>\n <input kendoRecurrenceRepeatOnRadioButton='weekday-{{uniqueId}}' />\n <label class='k-radio-label' for='k-repeaton-weekday-{{uniqueId}}'></label>\n\n <kendo-dropdownlist\n [data]='offsetPositions'\n textField='text'\n valueField='value'\n [value]='offset'\n [valuePrimitive]='true'\n (valueChange)='onOffsetPositionChange($event)'\n [disabled]=\"isDisabled('weekday')\"\n [style.width.px]=\"170\"\n [style.margin]=\"'0 .4ex 0 1ex'\">\n </kendo-dropdownlist>\n\n <kendo-dropdownlist\n [data]=\"extendedWeekDays\"\n textField='text'\n valueField='value'\n [value]='weekDay'\n [valuePrimitive]='true'\n (valueChange)='onWeekDayChange($event)'\n [disabled]=\"isDisabled('weekday')\"\n [style.width.px]=\"170\"\n [style.margin]=\"'0 .4ex 0 1ex'\">\n </kendo-dropdownlist>\n\n <ng-template [ngIf]=\"currentFreq === 'yearly'\">\n <span>{{ textFor('yearlyOf') }}</span>\n\n <kendo-dropdownlist\n [data]='months'\n textField='text'\n valueField='value'\n [value]='currentMonthWeekDay'\n [valuePrimitive]='true'\n (valueChange)=\"onMonthChange($event, 'weekday')\"\n [disabled]=\"isDisabled('weekday')\"\n [style.width.px]=\"170\"\n [style.margin]=\"'0 .4ex 0 1ex'\">\n </kendo-dropdownlist>\n </ng-template>\n </li>\n </ul>\n </div>\n "}]}],ctorParameters:function(){return[{type:kr},{type:r.LocalizationService}]},propDecorators:{userNumericOptions:[{type:h.Input}],repeatOnRadioButtons:[{type:h.ViewChildren,args:[Er]}]}});Hr.prototype.ngOnInit=function(){this.endRule=this.endRuleId.split("-")[2],this.renderer.setAttribute(this.elem,"id",this.endRuleId),this.renderer.setAttribute(this.elem,"name","end-"+this.endRuleId.split("-").pop())},Hr.prototype.ngAfterContentChecked=function(){this.setCheckedState()},Hr.prototype.ngOnDestroy=function(){this.destroyChange&&this.destroyChange()},Hr.prototype.onChange=function(){this.elem.checked&&(this.recurrence.endRule=this.endRule,this.changeDetector.markForCheck())},Hr.prototype.setCheckedState=function(){var e=this.endRule===this.recurrence.endRule;this.renderer.setProperty(this.elem,"checked",e)},Object.defineProperty(Hr.prototype,"elem",{get:function(){return this.el.nativeElement},enumerable:!1,configurable:!0});ne=Hr;function Hr(e,t,n,r){this.el=e,this.renderer=t,this.recurrence=n,this.changeDetector=r,this.type="radio",this.radioClass=!0,this.radioSizeClass=!0,this.destroyChange=this.renderer.listen(this.elem,"change",this.onChange.bind(this))}ne.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:ne,deps:[{token:n.ElementRef},{token:n.Renderer2},{token:kr},{token:n.ChangeDetectorRef}],target:n.ɵɵFactoryTarget.Directive}),ne.ɵdir=n.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:ne,selector:"[kendoRecurrenceEndRuleRadioButton]",inputs:{endRuleId:["kendoRecurrenceEndRuleRadioButton","endRuleId"]},host:{properties:{"attr.type":"this.type","class.k-radio":"this.radioClass","class.k-radio-md":"this.radioSizeClass"}},ngImport:n}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:ne,decorators:[{type:h.Directive,args:[{selector:"[kendoRecurrenceEndRuleRadioButton]"}]}],ctorParameters:function(){return[{type:n.ElementRef},{type:n.Renderer2},{type:kr},{type:n.ChangeDetectorRef}]},propDecorators:{type:[{type:h.HostBinding,args:["attr.type"]}],radioClass:[{type:h.HostBinding,args:["class.k-radio"]}],radioSizeClass:[{type:h.HostBinding,args:["class.k-radio-md"]}],endRuleId:[{type:h.Input,args:["kendoRecurrenceEndRuleRadioButton"]}]}});Object.defineProperty(Wr.prototype,"userNumericOptions",{set:function(e){this.numericOptions=Object.assign(Object.assign({},this.numericOptions),e)},enumerable:!1,configurable:!0}),Object.defineProperty(Wr.prototype,"userDatePickerOptions",{set:function(e){this.datePickerOptions=Object.assign(Object.assign({},this.datePickerOptions),e)},enumerable:!1,configurable:!0}),Wr.prototype.ngOnDestroy=function(){this.subscriptions&&this.subscriptions.unsubscribe()},Wr.prototype.setEndRule=function(e){"count"===e?this.recurrence.rrule.count=this.countValue:"until"===e&&(this.recurrence.until=this.untilValue)},Object.defineProperty(Wr.prototype,"rrule",{get:function(){return this.recurrence.rrule},enumerable:!1,configurable:!0}),Object.defineProperty(Wr.prototype,"isCountDisabled",{get:function(){return"count"!==this.recurrence.endRule},enumerable:!1,configurable:!0}),Object.defineProperty(Wr.prototype,"isUntilDisabled",{get:function(){return"until"!==this.recurrence.endRule},enumerable:!1,configurable:!0}),Wr.prototype.onCountChange=function(e){f(e)&&(this.recurrence.count=e)},Wr.prototype.onCountBlur=function(){f(this.countValue)||(this.recurrence.count=this.countValue=1)},Wr.prototype.onUntilChange=function(e){f(e)&&(this.recurrence.until=this.createUntil(e))},Wr.prototype.onUntilBlur=function(){f(this.untilValue)||(this.recurrence.until=this.untilValue=this.createUntil(this.recurrence.start))},Wr.prototype.textFor=function(e){return this.localization.get(e)},Wr.prototype.onEndLabelClick=function(){var e=this.endRuleRadioButtons.toArray().find(function(e){return e.elem.checked});e&&e.elem.focus()},Wr.prototype.setInitialValues=function(){this.countValue=this.rrule.count||1;var e=this.recurrence.until,t=this.recurrence.start;this.untilValue=f(e)?e:this.createUntil(t)},Wr.prototype.subscribeChanges=function(){var t=this;this.subscriptions=this.recurrence.endRuleChange.subscribe(function(e){t.setEndRule(e)}),this.subscriptions.add(this.recurrence.frequencyChange.subscribe(function(){t.setInitialValues()}))},Wr.prototype.createUntil=function(e){e=bn(e);return e.setUTCDate(e.getUTCDate()+1),b.ZonedDate.fromUTCDate(e,this.recurrence.timezone).toLocalDate()};var Vr=Wr;function Wr(e,t){this.recurrence=e,this.localization=t,this.numericOptions={min:1,format:"#",autoCorrect:!0,step:1,spinners:!0},this.datePickerOptions={activeView:"month",bottomView:"month",topView:"century",disabledDatesValidation:!0,navigation:!0,format:"d"},this.uniqueId=this.recurrence.getUniqueId(),this.setInitialValues(),this.subscribeChanges()}Vr.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Vr,deps:[{token:kr},{token:r.LocalizationService}],target:n.ɵɵFactoryTarget.Component}),Vr.ɵcmp=n.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:Vr,selector:"kendo-recurrence-end-rule-editor",inputs:{userNumericOptions:"userNumericOptions",userDatePickerOptions:"userDatePickerOptions"},viewQueries:[{propertyName:"endRuleRadioButtons",predicate:ne,descendants:!0}],ngImport:n,template:"\n <div class='k-form-field'>\n <label class='k-form-label' (click)=\"onEndLabelClick()\">{{ textFor('endLabel') }}</label>\n\n <ul class='k-form-field-wrap k-reset'>\n <li class='k-radio-item'>\n <input kendoRecurrenceEndRuleRadioButton='k-endrule-never-{{uniqueId}}' />\n <label class='k-radio-label' for='k-endrule-never-{{uniqueId}}'>{{ textFor('endNever') }}</label>\n </li>\n <li class='k-radio-item'>\n <input kendoRecurrenceEndRuleRadioButton='k-endrule-count-{{uniqueId}}' />\n <label class='k-radio-label' for='k-endrule-count-{{uniqueId}}'>{{ textFor('endAfter') }}</label>\n\n <kendo-numerictextbox\n [style.width.px]='70'\n [autoCorrect]='numericOptions.autoCorrect'\n [decimals]='0'\n [disabled]='isCountDisabled'\n [format]=\"numericOptions.format\"\n [min]='numericOptions.min'\n [max]=\"numericOptions.max\"\n [readonly]=\"numericOptions.readonly\"\n [selectOnFocus]=\"numericOptions.selectOnFocus\"\n [spinners]=\"numericOptions.spinners\"\n [step]=\"numericOptions.step\"\n [title]=\"numericOptions.title\"\n [(value)]='countValue'\n (blur)=\"onCountBlur()\"\n (valueChange)='onCountChange($event)'>\n </kendo-numerictextbox>\n <span>{{ textFor('endOccurrence') }}</span>\n </li>\n <li class='k-radio-item'>\n <input kendoRecurrenceEndRuleRadioButton='k-endrule-until-{{uniqueId}}' />\n <label class='k-radio-label' for='k-endrule-until-{{uniqueId}}'>{{ textFor('endOn') }}</label>\n\n <kendo-datepicker\n [style.width.px]='150'\n [disabled]='isUntilDisabled'\n [activeView]=\"datePickerOptions.activeView\"\n [bottomView]=\"datePickerOptions.bottomView\"\n [disabledDatesValidation]=\"datePickerOptions.disabledDatesValidation\"\n [focusedDate]=\"datePickerOptions.focusedDate\"\n [format]=\"datePickerOptions.format\"\n [formatPlaceholder]=\"datePickerOptions.formatPlaceHolder\"\n [max]=\"datePickerOptions.max\"\n [min]=\"datePickerOptions.min\"\n [navigation]=\"datePickerOptions.navigation\"\n [placeholder]=\"datePickerOptions.placeholder\"\n [readOnlyInput]=\"datePickerOptions.readOnlyInput\"\n [readonly]=\"datePickerOptions.readonly\"\n [title]=\"datePickerOptions.title\"\n [topView]=\"datePickerOptions.topView\"\n [weekNumber]=\"datePickerOptions.weekNumber\"\n [disabledDates]=\"datePickerOptions.disabledDates\"\n [popupSettings]=\"datePickerOptions.popupSettings\"\n [(value)]='untilValue'\n (blur)=\"onUntilBlur()\"\n (valueChange)='onUntilChange($event)'>\n </kendo-datepicker>\n </li>\n </ul>\n </div>\n ",isInline:!0,components:[{type:d.NumericTextBoxComponent,selector:"kendo-numerictextbox",inputs:["focusableId","disabled","readonly","title","autoCorrect","format","max","min","decimals","placeholder","step","spinners","rangeValidation","tabindex","tabIndex","changeValueOnScroll","selectOnFocus","value","maxlength","size","rounded","fillMode"],outputs:["valueChange","focus","blur"],exportAs:["kendoNumericTextBox"]},{type:i.DatePickerComponent,selector:"kendo-datepicker",inputs:["cellTemplate","monthCellTemplate","yearCellTemplate","decadeCellTemplate","centuryCellTemplate","weekNumberTemplate","headerTitleTemplate","navigationItemTemplate","activeView","bottomView","topView","calendarType","animateCalendarNavigation","disabled","readonly","readOnlyInput","popupSettings","navigation","min","max","incompleteDateValidation","focusedDate","value","format","twoDigitYearMax","formatPlaceholder","placeholder","tabindex","tabIndex","disabledDates","title","rangeValidation","disabledDatesValidation","weekNumber","size","rounded","fillMode"],outputs:["valueChange","focus","blur","open","close"],exportAs:["kendo-datepicker"]}],directives:[{type:ne,selector:"[kendoRecurrenceEndRuleRadioButton]",inputs:["kendoRecurrenceEndRuleRadioButton"]}]}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Vr,decorators:[{type:h.Component,args:[{selector:"kendo-recurrence-end-rule-editor",template:"\n <div class='k-form-field'>\n <label class='k-form-label' (click)=\"onEndLabelClick()\">{{ textFor('endLabel') }}</label>\n\n <ul class='k-form-field-wrap k-reset'>\n <li class='k-radio-item'>\n <input kendoRecurrenceEndRuleRadioButton='k-endrule-never-{{uniqueId}}' />\n <label class='k-radio-label' for='k-endrule-never-{{uniqueId}}'>{{ textFor('endNever') }}</label>\n </li>\n <li class='k-radio-item'>\n <input kendoRecurrenceEndRuleRadioButton='k-endrule-count-{{uniqueId}}' />\n <label class='k-radio-label' for='k-endrule-count-{{uniqueId}}'>{{ textFor('endAfter') }}</label>\n\n <kendo-numerictextbox\n [style.width.px]='70'\n [autoCorrect]='numericOptions.autoCorrect'\n [decimals]='0'\n [disabled]='isCountDisabled'\n [format]=\"numericOptions.format\"\n [min]='numericOptions.min'\n [max]=\"numericOptions.max\"\n [readonly]=\"numericOptions.readonly\"\n [selectOnFocus]=\"numericOptions.selectOnFocus\"\n [spinners]=\"numericOptions.spinners\"\n [step]=\"numericOptions.step\"\n [title]=\"numericOptions.title\"\n [(value)]='countValue'\n (blur)=\"onCountBlur()\"\n (valueChange)='onCountChange($event)'>\n </kendo-numerictextbox>\n <span>{{ textFor('endOccurrence') }}</span>\n </li>\n <li class='k-radio-item'>\n <input kendoRecurrenceEndRuleRadioButton='k-endrule-until-{{uniqueId}}' />\n <label class='k-radio-label' for='k-endrule-until-{{uniqueId}}'>{{ textFor('endOn') }}</label>\n\n <kendo-datepicker\n [style.width.px]='150'\n [disabled]='isUntilDisabled'\n [activeView]=\"datePickerOptions.activeView\"\n [bottomView]=\"datePickerOptions.bottomView\"\n [disabledDatesValidation]=\"datePickerOptions.disabledDatesValidation\"\n [focusedDate]=\"datePickerOptions.focusedDate\"\n [format]=\"datePickerOptions.format\"\n [formatPlaceholder]=\"datePickerOptions.formatPlaceHolder\"\n [max]=\"datePickerOptions.max\"\n [min]=\"datePickerOptions.min\"\n [navigation]=\"datePickerOptions.navigation\"\n [placeholder]=\"datePickerOptions.placeholder\"\n [readOnlyInput]=\"datePickerOptions.readOnlyInput\"\n [readonly]=\"datePickerOptions.readonly\"\n [title]=\"datePickerOptions.title\"\n [topView]=\"datePickerOptions.topView\"\n [weekNumber]=\"datePickerOptions.weekNumber\"\n [disabledDates]=\"datePickerOptions.disabledDates\"\n [popupSettings]=\"datePickerOptions.popupSettings\"\n [(value)]='untilValue'\n (blur)=\"onUntilBlur()\"\n (valueChange)='onUntilChange($event)'>\n </kendo-datepicker>\n </li>\n </ul>\n </div>\n "}]}],ctorParameters:function(){return[{type:kr},{type:r.LocalizationService}]},propDecorators:{userNumericOptions:[{type:h.Input}],userDatePickerOptions:[{type:h.Input}],endRuleRadioButtons:[{type:h.ViewChildren,args:[ne]}]}});p(Pr,Mr=P.ComponentMessages);var Mr,i=Pr;function Pr(){return null!==Mr&&Mr.apply(this,arguments)||this}i.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:i,deps:null,target:n.ɵɵFactoryTarget.Directive}),i.ɵdir=n.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:i,inputs:{repeat:"repeat",dailyInterval:"dailyInterval",dailyRepeatEvery:"dailyRepeatEvery",weeklyInterval:"weeklyInterval",weeklyRepeatEvery:"weeklyRepeatEvery",weeklyRepeatOn:"weeklyRepeatOn",monthlyDay:"monthlyDay",monthlyInterval:"monthlyInterval",monthlyRepeatEvery:"monthlyRepeatEvery",monthlyRepeatOn:"monthlyRepeatOn",yearlyOf:"yearlyOf",yearlyRepeatEvery:"yearlyRepeatEvery",yearlyRepeatOn:"yearlyRepeatOn",yearlyInterval:"yearlyInterval",frequenciesDaily:"frequenciesDaily",frequenciesMonthly:"frequenciesMonthly",frequenciesNever:"frequenciesNever",frequenciesWeekly:"frequenciesWeekly",frequenciesYearly:"frequenciesYearly",offsetPositionsFirst:"offsetPositionsFirst",offsetPositionsSecond:"offsetPositionsSecond",offsetPositionsThird:"offsetPositionsThird",offsetPositionsFourth:"offsetPositionsFourth",offsetPositionsLast:"offsetPositionsLast",weekdaysDay:"weekdaysDay",weekdaysWeekday:"weekdaysWeekday",weekdaysWeekendday:"weekdaysWeekendday",endAfter:"endAfter",endOccurrence:"endOccurrence",endLabel:"endLabel",endNever:"endNever",endOn:"endOn"},usesInheritance:!0,ngImport:n}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:i,decorators:[{type:h.Directive}],propDecorators:{repeat:[{type:h.Input}],dailyInterval:[{type:h.Input}],dailyRepeatEvery:[{type:h.Input}],weeklyInterval:[{type:h.Input}],weeklyRepeatEvery:[{type:h.Input}],weeklyRepeatOn:[{type:h.Input}],monthlyDay:[{type:h.Input}],monthlyInterval:[{type:h.Input}],monthlyRepeatEvery:[{type:h.Input}],monthlyRepeatOn:[{type:h.Input}],yearlyOf:[{type:h.Input}],yearlyRepeatEvery:[{type:h.Input}],yearlyRepeatOn:[{type:h.Input}],yearlyInterval:[{type:h.Input}],frequenciesDaily:[{type:h.Input}],frequenciesMonthly:[{type:h.Input}],frequenciesNever:[{type:h.Input}],frequenciesWeekly:[{type:h.Input}],frequenciesYearly:[{type:h.Input}],offsetPositionsFirst:[{type:h.Input}],offsetPositionsSecond:[{type:h.Input}],offsetPositionsThird:[{type:h.Input}],offsetPositionsFourth:[{type:h.Input}],offsetPositionsLast:[{type:h.Input}],weekdaysDay:[{type:h.Input}],weekdaysWeekday:[{type:h.Input}],weekdaysWeekendday:[{type:h.Input}],endAfter:[{type:h.Input}],endOccurrence:[{type:h.Input}],endLabel:[{type:h.Input}],endNever:[{type:h.Input}],endOn:[{type:h.Input}]}});p(Nr,zr=i);var zr,Ar=Nr;function Nr(e){var t=zr.call(this)||this;return t.service=e,t}Ar.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Ar,deps:[{token:r.LocalizationService}],target:n.ɵɵFactoryTarget.Directive}),Ar.ɵdir=n.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:Ar,selector:"[kendoRecurrenceEditorLocalizedMessages]",providers:[{provide:i,useExisting:h.forwardRef(function(){return Ar})}],usesInheritance:!0,ngImport:n}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Ar,decorators:[{type:h.Directive,args:[{providers:[{provide:i,useExisting:h.forwardRef(function(){return Ar})}],selector:"[kendoRecurrenceEditorLocalizedMessages]"}]}],ctorParameters:function(){return[{type:r.LocalizationService}]}});var Br={multi:!0,provide:N.NG_VALUE_ACCESSOR,useExisting:h.forwardRef(function(){return jr})},jr=(Object.defineProperty(Lr.prototype,"start",{get:function(){return f(this._start)?this._start:b.getDate(new Date)},set:function(e){this._start=e},enumerable:!1,configurable:!0}),Object.defineProperty(Lr.prototype,"currentFreq",{get:function(){return this.recurrenceService.frequency},enumerable:!1,configurable:!0}),Lr.prototype.ngOnInit=function(){this.recurrenceService.init("",this.start,this.timezone,this.weekStart)},Lr.prototype.ngOnChanges=function(e){l.isChanged("start",e)&&(this.recurrenceService.start=this.start)},Lr.prototype.ngOnDestroy=function(){this.subscriptions&&this.subscriptions.unsubscribe()},Lr.prototype.writeValue=function(e){this.recurrenceService.init("string"==typeof e?e:"",this.start,this.timezone,this.weekStart)},Lr.prototype.registerOnChange=function(e){this.onChangeCallback=e},Lr.prototype.registerOnTouched=function(e){this.onTouchedCallback=e},Lr.prototype.emitChange=function(e){this.onChangeCallback(e),this.valueChange.emit(e)},Lr);function Lr(e,t){var n=this;this.recurrenceService=e,this.intl=t,this.cssClass=!0,this.timezone="Etc/UTC",this.valueChange=new h.EventEmitter,this.onTouchedCallback=function(e){},this.onChangeCallback=function(e){},this.weekStart=this.intl.firstDay(),this.subscriptions=this.recurrenceService.change.subscribe(function(e){n.emitChange(e)})}jr.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:jr,deps:[{token:kr},{token:o.IntlService}],target:n.ɵɵFactoryTarget.Component}),jr.ɵcmp=n.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:jr,selector:"kendo-recurrence-editor",inputs:{start:"start",timezone:"timezone",weekStart:"weekStart",repeatEveryOptions:"repeatEveryOptions",endAfterOptions:"endAfterOptions",repeatOnOptions:"repeatOnOptions",endOnOptions:"endOnOptions"},outputs:{valueChange:"valueChange"},host:{properties:{"class.k-recurrence-editor":"this.cssClass"}},providers:[I,{provide:P.LocalizationService,useExisting:I},{provide:P.L10N_PREFIX,useValue:"kendo.recurrenceeditor"},Br,kr],exportAs:["kendoRecurrenceEditor"],usesOnChanges:!0,ngImport:n,template:"\n <ng-container kendoRecurrenceEditorLocalizedMessages\n i18n-repeat=\"kendo.recurrenceeditor.repeat|The text similar to 'Repeat' displayed in the recurrence editor.\"\n repeat='Repeat'\n\n i18n-dailyInterval=\"kendo.recurrenceeditor.dailyInterval|The text similar to 'day(s)' displayed in the recurrence editor.\"\n dailyInterval='day(s)'\n\n i18n-dailyRepeatEvery=\"kendo.recurrenceeditor.dailyRepeatEvery|The text similar to 'Repeat every' displayed in the recurrence editor.\"\n dailyRepeatEvery='Repeat every'\n\n i18n-weeklyInterval=\"kendo.recurrenceeditor.weeklyInterval|The text similar to 'week(s)' displayed in the recurrence editor.\"\n weeklyInterval='week(s)'\n\n i18n-weeklyRepeatEvery=\"kendo.recurrenceeditor.weeklyRepeatEvery|The text similar to 'Repeat every' displayed in the recurrence editor.\"\n weeklyRepeatEvery='Repeat every'\n\n i18n-weeklyRepeatOn=\"kendo.recurrenceeditor.weeklyRepeatOn|The text similar to 'Repeat on' displayed in the recurrence editor.\"\n weeklyRepeatOn='Repeat on'\n\n i18n-monthlyDay=\"kendo.recurrenceeditor.monthlyDay|The text similar to 'Day' displayed in the recurrence editor.\"\n monthlyDay='Day'\n\n i18n-monthlyInterval=\"kendo.recurrenceeditor.monthlyInterval|The text similar to 'month(s)' displayed in the recurrence editor.\"\n monthlyInterval='month(s)'\n\n i18n-monthlyRepeatEvery=\"kendo.recurrenceeditor.monthlyRepeatEvery|The text similar to 'Repeat every' displayed in the recurrence editor.\"\n monthlyRepeatEvery='Repeat every'\n\n i18n-monthlyRepeatOn=\"kendo.recurrenceeditor.monthlyRepeatOn|The text similar to 'Repeat on' displayed in the recurrence editor.\"\n monthlyRepeatOn='Repeat on'\n\n i18n-yearlyOf=\"kendo.recurrenceeditor.yearlyOf|The text similar to 'of' displayed in the recurrence editor.\"\n yearlyOf='of'\n\n i18n-yearlyRepeatEvery=\"kendo.recurrenceeditor.yearlyRepeatEvery|The text similar to 'Repeat every' displayed in the recurrence editor.\"\n yearlyRepeatEvery='Repeat every'\n\n i18n-yearlyRepeatOn=\"kendo.recurrenceeditor.yearlyRepeatOn|The text similar to 'Repeat on' displayed in the recurrence editor.\"\n yearlyRepeatOn='Repeat on'\n\n i18n-yearlyInterval=\"kendo.recurrenceeditor.yearlyInterval|The text similar to 'year(s)' displayed in the recurrence editor.\"\n yearlyInterval='year(s)'\n\n i18n-frequenciesDaily=\"kendo.recurrenceeditor.frequenciesDaily|The text similar to 'Daily' displayed in the recurrence editor.\"\n frequenciesDaily='Daily'\n\n i18n-frequenciesMonthly=\"kendo.recurrenceeditor.frequenciesMonthly|The text similar to 'Monthly' displayed in the recurrence editor.\"\n frequenciesMonthly='Monthly'\n\n i18n-frequenciesNever=\"kendo.recurrenceeditor.frequenciesNever|The text similar to 'Never' displayed in the recurrence editor.\"\n frequenciesNever='Never'\n\n i18n-frequenciesWeekly=\"kendo.recurrenceeditor.frequenciesWeekly|The text similar to 'Weekly' displayed in the recurrence editor.\"\n frequenciesWeekly='Weekly'\n\n i18n-frequenciesYearly=\"kendo.recurrenceeditor.frequenciesYearly|The text similar to 'Yearly' displayed in the recurrence editor.\"\n frequenciesYearly='Yearly'\n\n i18n-fffsetPositionsFirst=\"kendo.recurrenceeditor.fffsetPositionsFirst|The text similar to 'First' displayed in the recurrence editor.\"\n offsetPositionsFirst='First'\n\n i18n-offsetPositionsSecond=\"kendo.recurrenceeditor.offsetPositionsSecond|The text similar to 'Second' displayed in the recurrence editor.\"\n offsetPositionsSecond='Second'\n\n i18n-offsetPositionsThird=\"kendo.recurrenceeditor.offsetPositionsThird|The text similar to 'Third' displayed in the recurrence editor.\"\n offsetPositionsThird='Third'\n\n i18n-offsetPositionsFourth=\"kendo.recurrenceeditor.offsetPositionsFourth|The text similar to 'Fourth' displayed in the recurrence editor.\"\n offsetPositionsFourth='Fourth'\n\n i18n-offsetPositionsLast=\"kendo.recurrenceeditor.offsetPositionsLast|The text similar to 'Last' displayed in the recurrence editor.\"\n offsetPositionsLast='Last'\n\n i18n-weekdaysDay=\"kendo.recurrenceeditor.weekdaysDay|The text similar to 'Day' displayed in the repeat by section of the monthly recurrence pattern.\"\n weekdaysDay='Day'\n\n i18n-weekdaysWeekday=\"kendo.recurrenceeditor.weekdaysWeekday|The text similar to 'Weekday' displayed in the repeat by section of the monthly recurrence pattern.\"\n weekdaysWeekday='Weekday'\n\n i18n-weekdaysWeekendday=\"kendo.recurrenceeditor.weekdaysWeekendday|The text similar to 'Weekend Day' displayed in the repeat by section of the monthly recurrence pattern.\"\n weekdaysWeekendday='Weekend Day'\n\n i18n-endAfter=\"kendo.recurrenceeditor.endAfter|The text similar to 'After' displayed in the recurrence editor.\"\n endAfter='After'\n\n i18n-endOccurrence=\"kendo.recurrenceeditor.endOccurrence|The text similar to 'occurrence(s)' displayed in the recurrence editor.\"\n endOccurrence='occurrence(s)'\n\n i18n-endLabel=\"kendo.recurrenceeditor.endLabel|The text similar to 'End' displayed in the recurrence editor.\"\n endLabel='End'\n\n i18n-endNever=\"kendo.recurrenceeditor.endNever|The text similar to 'Never' displayed in the recurrence editor.\"\n endNever='Never'\n\n i18n-endOn=\"kendo.recurrenceeditor.endOn|The text similar to 'On' displayed in the recurrence editor.\"\n endOn='On'\n >\n </ng-container>\n\n <kendo-recurrence-frequency-editor>\n </kendo-recurrence-frequency-editor>\n\n <kendo-recurrence-interval-editor\n *ngIf=\"currentFreq !== 'never'\"\n [userNumericOptions]=\"repeatEveryOptions\">\n </kendo-recurrence-interval-editor>\n\n <kendo-recurrence-weekday-rule-editor *ngIf=\"currentFreq === 'weekly'\">\n </kendo-recurrence-weekday-rule-editor>\n\n <kendo-recurrence-monthly-yearly-editor\n *ngIf=\"currentFreq === 'monthly' || currentFreq === 'yearly'\"\n [userNumericOptions]=\"repeatOnOptions\">\n </kendo-recurrence-monthly-yearly-editor>\n\n <kendo-recurrence-end-rule-editor\n *ngIf=\"currentFreq !== 'never'\"\n [userNumericOptions]=\"endAfterOptions\"\n [userDatePickerOptions]=\"endOnOptions\">\n </kendo-recurrence-end-rule-editor>\n ",isInline:!0,components:[{type:T,selector:"kendo-recurrence-frequency-editor"},{type:wr,selector:"kendo-recurrence-interval-editor",inputs:["userNumericOptions"]},{type:xr,selector:"kendo-recurrence-weekday-rule-editor"},{type:Or,selector:"kendo-recurrence-monthly-yearly-editor",inputs:["userNumericOptions"]},{type:Vr,selector:"kendo-recurrence-end-rule-editor",inputs:["userNumericOptions","userDatePickerOptions"]}],directives:[{type:Ar,selector:"[kendoRecurrenceEditorLocalizedMessages]"},{type:c.NgIf,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]}]}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:jr,decorators:[{type:h.Component,args:[{exportAs:"kendoRecurrenceEditor",providers:[I,{provide:P.LocalizationService,useExisting:I},{provide:P.L10N_PREFIX,useValue:"kendo.recurrenceeditor"},Br,kr],selector:"kendo-recurrence-editor",template:"\n <ng-container kendoRecurrenceEditorLocalizedMessages\n i18n-repeat=\"kendo.recurrenceeditor.repeat|The text similar to 'Repeat' displayed in the recurrence editor.\"\n repeat='Repeat'\n\n i18n-dailyInterval=\"kendo.recurrenceeditor.dailyInterval|The text similar to 'day(s)' displayed in the recurrence editor.\"\n dailyInterval='day(s)'\n\n i18n-dailyRepeatEvery=\"kendo.recurrenceeditor.dailyRepeatEvery|The text similar to 'Repeat every' displayed in the recurrence editor.\"\n dailyRepeatEvery='Repeat every'\n\n i18n-weeklyInterval=\"kendo.recurrenceeditor.weeklyInterval|The text similar to 'week(s)' displayed in the recurrence editor.\"\n weeklyInterval='week(s)'\n\n i18n-weeklyRepeatEvery=\"kendo.recurrenceeditor.weeklyRepeatEvery|The text similar to 'Repeat every' displayed in the recurrence editor.\"\n weeklyRepeatEvery='Repeat every'\n\n i18n-weeklyRepeatOn=\"kendo.recurrenceeditor.weeklyRepeatOn|The text similar to 'Repeat on' displayed in the recurrence editor.\"\n weeklyRepeatOn='Repeat on'\n\n i18n-monthlyDay=\"kendo.recurrenceeditor.monthlyDay|The text similar to 'Day' displayed in the recurrence editor.\"\n monthlyDay='Day'\n\n i18n-monthlyInterval=\"kendo.recurrenceeditor.monthlyInterval|The text similar to 'month(s)' displayed in the recurrence editor.\"\n monthlyInterval='month(s)'\n\n i18n-monthlyRepeatEvery=\"kendo.recurrenceeditor.monthlyRepeatEvery|The text similar to 'Repeat every' displayed in the recurrence editor.\"\n monthlyRepeatEvery='Repeat every'\n\n i18n-monthlyRepeatOn=\"kendo.recurrenceeditor.monthlyRepeatOn|The text similar to 'Repeat on' displayed in the recurrence editor.\"\n monthlyRepeatOn='Repeat on'\n\n i18n-yearlyOf=\"kendo.recurrenceeditor.yearlyOf|The text similar to 'of' displayed in the recurrence editor.\"\n yearlyOf='of'\n\n i18n-yearlyRepeatEvery=\"kendo.recurrenceeditor.yearlyRepeatEvery|The text similar to 'Repeat every' displayed in the recurrence editor.\"\n yearlyRepeatEvery='Repeat every'\n\n i18n-yearlyRepeatOn=\"kendo.recurrenceeditor.yearlyRepeatOn|The text similar to 'Repeat on' displayed in the recurrence editor.\"\n yearlyRepeatOn='Repeat on'\n\n i18n-yearlyInterval=\"kendo.recurrenceeditor.yearlyInterval|The text similar to 'year(s)' displayed in the recurrence editor.\"\n yearlyInterval='year(s)'\n\n i18n-frequenciesDaily=\"kendo.recurrenceeditor.frequenciesDaily|The text similar to 'Daily' displayed in the recurrence editor.\"\n frequenciesDaily='Daily'\n\n i18n-frequenciesMonthly=\"kendo.recurrenceeditor.frequenciesMonthly|The text similar to 'Monthly' displayed in the recurrence editor.\"\n frequenciesMonthly='Monthly'\n\n i18n-frequenciesNever=\"kendo.recurrenceeditor.frequenciesNever|The text similar to 'Never' displayed in the recurrence editor.\"\n frequenciesNever='Never'\n\n i18n-frequenciesWeekly=\"kendo.recurrenceeditor.frequenciesWeekly|The text similar to 'Weekly' displayed in the recurrence editor.\"\n frequenciesWeekly='Weekly'\n\n i18n-frequenciesYearly=\"kendo.recurrenceeditor.frequenciesYearly|The text similar to 'Yearly' displayed in the recurrence editor.\"\n frequenciesYearly='Yearly'\n\n i18n-fffsetPositionsFirst=\"kendo.recurrenceeditor.fffsetPositionsFirst|The text similar to 'First' displayed in the recurrence editor.\"\n offsetPositionsFirst='First'\n\n i18n-offsetPositionsSecond=\"kendo.recurrenceeditor.offsetPositionsSecond|The text similar to 'Second' displayed in the recurrence editor.\"\n offsetPositionsSecond='Second'\n\n i18n-offsetPositionsThird=\"kendo.recurrenceeditor.offsetPositionsThird|The text similar to 'Third' displayed in the recurrence editor.\"\n offsetPositionsThird='Third'\n\n i18n-offsetPositionsFourth=\"kendo.recurrenceeditor.offsetPositionsFourth|The text similar to 'Fourth' displayed in the recurrence editor.\"\n offsetPositionsFourth='Fourth'\n\n i18n-offsetPositionsLast=\"kendo.recurrenceeditor.offsetPositionsLast|The text similar to 'Last' displayed in the recurrence editor.\"\n offsetPositionsLast='Last'\n\n i18n-weekdaysDay=\"kendo.recurrenceeditor.weekdaysDay|The text similar to 'Day' displayed in the repeat by section of the monthly recurrence pattern.\"\n weekdaysDay='Day'\n\n i18n-weekdaysWeekday=\"kendo.recurrenceeditor.weekdaysWeekday|The text similar to 'Weekday' displayed in the repeat by section of the monthly recurrence pattern.\"\n weekdaysWeekday='Weekday'\n\n i18n-weekdaysWeekendday=\"kendo.recurrenceeditor.weekdaysWeekendday|The text similar to 'Weekend Day' displayed in the repeat by section of the monthly recurrence pattern.\"\n weekdaysWeekendday='Weekend Day'\n\n i18n-endAfter=\"kendo.recurrenceeditor.endAfter|The text similar to 'After' displayed in the recurrence editor.\"\n endAfter='After'\n\n i18n-endOccurrence=\"kendo.recurrenceeditor.endOccurrence|The text similar to 'occurrence(s)' displayed in the recurrence editor.\"\n endOccurrence='occurrence(s)'\n\n i18n-endLabel=\"kendo.recurrenceeditor.endLabel|The text similar to 'End' displayed in the recurrence editor.\"\n endLabel='End'\n\n i18n-endNever=\"kendo.recurrenceeditor.endNever|The text similar to 'Never' displayed in the recurrence editor.\"\n endNever='Never'\n\n i18n-endOn=\"kendo.recurrenceeditor.endOn|The text similar to 'On' displayed in the recurrence editor.\"\n endOn='On'\n >\n </ng-container>\n\n <kendo-recurrence-frequency-editor>\n </kendo-recurrence-frequency-editor>\n\n <kendo-recurrence-interval-editor\n *ngIf=\"currentFreq !== 'never'\"\n [userNumericOptions]=\"repeatEveryOptions\">\n </kendo-recurrence-interval-editor>\n\n <kendo-recurrence-weekday-rule-editor *ngIf=\"currentFreq === 'weekly'\">\n </kendo-recurrence-weekday-rule-editor>\n\n <kendo-recurrence-monthly-yearly-editor\n *ngIf=\"currentFreq === 'monthly' || currentFreq === 'yearly'\"\n [userNumericOptions]=\"repeatOnOptions\">\n </kendo-recurrence-monthly-yearly-editor>\n\n <kendo-recurrence-end-rule-editor\n *ngIf=\"currentFreq !== 'never'\"\n [userNumericOptions]=\"endAfterOptions\"\n [userDatePickerOptions]=\"endOnOptions\">\n </kendo-recurrence-end-rule-editor>\n "}]}],ctorParameters:function(){return[{type:kr},{type:o.IntlService}]},propDecorators:{cssClass:[{type:h.HostBinding,args:["class.k-recurrence-editor"]}],start:[{type:h.Input}],timezone:[{type:h.Input}],weekStart:[{type:h.Input}],repeatEveryOptions:[{type:h.Input}],endAfterOptions:[{type:h.Input}],repeatOnOptions:[{type:h.Input}],endOnOptions:[{type:h.Input}],valueChange:[{type:h.Output}]}});Object.defineProperty(w.prototype,"autoFocusedElement",{get:function(){return this.editTemplate?this.editTemplate.autoFocusedElement:".k-form-field-wrap input"},enumerable:!1,configurable:!0}),Object.defineProperty(w.prototype,"isEditingSeries",{get:function(){return 2===this.editMode&&Boolean(this.formGroup.get(this.fields.recurrenceRule))},enumerable:!1,configurable:!0}),Object.defineProperty(w.prototype,"eventTimezone",{get:function(){return _n(this.formGroup,this.fields.startTimezone,this.timezone)},enumerable:!1,configurable:!0}),Object.defineProperty(w.prototype,"endTimezone",{get:function(){return _n(this.formGroup,this.fields.endTimezone,this.eventTimezone)},enumerable:!1,configurable:!0}),w.prototype.onChange=function(){if(this.changeDetector.markForCheck(),this.editService.hasNewEvent)this.editMode=2,this.formGroup=this.editService.context.formGroup,this.isNew=!0;else{if(!this.editService.isEditing())return void this.reset();var e=this.editService.context,t=e.dataItem,e=e.mode;this.formGroup=this.editService.context.formGroup,this.isNew=!1,this.editedEvent=t,this.editMode=f(e)?e:2}this.applyLocalTimezone(),this.editTemplate||(this.addTimeZoneCheckboxesToFormGroup(),this.subscribeToFormGroupChanges()),f(this.formGroup)&&(this.recurrenceStart=this.formGroup.get(this.fields.start).value),this.isActive=!0},w.prototype.ngOnDestroy=function(){this.subs&&this.subs.unsubscribe()},w.prototype.onCancel=function(e){e.preventDefault(),this.onClose(),this.changeDetector.markForCheck()},w.prototype.onSave=function(e){e.preventDefault(),this.applyTimezone(),this.editService.save(),this.changeDetector.markForCheck()},w.prototype.onClose=function(){this.editService.endEdit(),this.changeDetector.markForCheck(),this.focusService.focus()},Object.defineProperty(w.prototype,"hasAllDay",{get:function(){return Boolean(this.formGroup.get(this.fields.isAllDay))},enumerable:!1,configurable:!0}),Object.defineProperty(w.prototype,"hasStartTimeZone",{get:function(){return Boolean(this.formGroup.get(this.fields.startTimezone))},enumerable:!1,configurable:!0}),Object.defineProperty(w.prototype,"isStartTimeZoneVisible",{get:function(){return this.formGroup&&this.formGroup.get("startTimezoneCheckbox").value},enumerable:!1,configurable:!0}),Object.defineProperty(w.prototype,"hasEndTimeZone",{get:function(){return Boolean(this.formGroup.get(this.fields.endTimezone))},enumerable:!1,configurable:!0}),Object.defineProperty(w.prototype,"isEndTimeZoneVisible",{get:function(){return this.formGroup&&this.formGroup.get("endTimezoneCheckbox").value},enumerable:!1,configurable:!0}),w.prototype.getFormValue=function(e){if(e)return this.formGroup.get(e)},w.prototype.textFor=function(e){return this.localization.get(e)},w.prototype.onResourceClick=function(t){var e=(t.multiple?this.multipleResourceEditors:this.singleResourceEditors).filter(function(e){return e.resource.field===t.field}).pop();e&&e.focus()},w.prototype.getControl=function(e){return this.formGroup.get(e)},w.prototype.reset=function(){this.isActive=!1,this.setTimeZone=!1,this.setSeparateStartEndTimeZones=!1,this.removeTimeZoneCheckboxesFromFormGroup(),this.focusService.focus()},w.prototype.addTimeZoneCheckboxesToFormGroup=function(){var e;f(this.formGroup)&&(e=this.fields.startTimezone,this.formGroup.addControl("startTimezoneCheckbox",new N.FormControl(this.formGroup.contains(e)&&this.formGroup.get(e).value)),e=this.fields.endTimezone,this.formGroup.addControl("endTimezoneCheckbox",new N.FormControl(this.formGroup.contains(e)&&this.formGroup.get(e).value)))},w.prototype.removeTimeZoneCheckboxesFromFormGroup=function(){f(this.formGroup)&&(this.formGroup.removeControl("startTimezoneCheckbox"),this.formGroup.removeControl("endTimezoneCheckbox"))},w.prototype.subscribeToFormGroupChanges=function(){var t,n=this;f(this.formGroup)&&(t=this.fields,this.formGroup.get("startTimezoneCheckbox").valueChanges.subscribe(function(e){e||(n.formGroup.get(t.startTimezone).setValue(null,{emitEvent:!1}),n.formGroup.get(t.endTimezone).setValue(null,{emitEvent:!1}),n.formGroup.get("endTimezoneCheckbox").setValue(!1,{emitEvent:!1}))}),this.formGroup.get("endTimezoneCheckbox").valueChanges.subscribe(function(e){e||n.formGroup.get(t.endTimezone).setValue(null,{emitEvent:!1})}),this.formGroup.get(t.start).valueChanges.subscribe(function(e){n.recurrenceStart=e}))},w.prototype.applyLocalTimezone=function(){var e=this.fields,t=this.readDateAsLocal(e.start,this.eventTimezone),n=this.readDateAsLocal(e.end,this.endTimezone);this.formGroup.get(e.start).reset(t),this.formGroup.get(e.end).reset(n)},w.prototype.applyTimezone=function(){var e=this.fields,t=this.readDateWithTimezone(e.start,this.eventTimezone),n=this.readDateWithTimezone(e.end,this.endTimezone);this.formGroup.get(e.start).reset(t),this.formGroup.get(e.end).reset(n)},w.prototype.readDateWithTimezone=function(e,t){e=this.formGroup.get(e).value;return b.ZonedDate.fromUTCDate(Sn(e),t).toLocalDate()},w.prototype.readDateAsLocal=function(e,t){e=this.formGroup.get(e).value;return b.toLocalDate(b.ZonedDate.fromLocalDate(e,t).toUTCDate())};I=w;function w(e,t,n,r,i,o){var a=this;this.ngZone=e,this.editService=t,this.localization=n,this.changeDetector=r,this.element=i,this.focusService=o,this.resources=[],this.timezone="Etc/UTC",this.setTimeZone=!1,this.setSeparateStartEndTimeZones=!1,this.subs=this.editService.changed.subscribe(function(){a.ngZone.run(function(){a.onChange()})}),this.subs.add(u.fromEvent(this.element.nativeElement,"keydown").pipe(s.filter(function(){return a.isActive})).subscribe(function(e){e.keyCode===l.Keys.Escape&&a.reset(),e.keyCode===l.Keys.Enter&&(sr(e,ir.CtrlKey)||sr(e,ir.MetaKey))&&a.onSave(e),e.stopPropagation()}))}I.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:I,deps:[{token:n.NgZone},{token:_t},{token:r.LocalizationService},{token:n.ChangeDetectorRef},{token:n.ElementRef},{token:v}],target:n.ɵɵFactoryTarget.Component}),I.ɵcmp=n.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:I,selector:"kendo-scheduler-edit-dialog",inputs:{resources:"resources",timezone:"timezone",weekStart:"weekStart",fields:"fields",editTemplate:"editTemplate"},viewQueries:[{propertyName:"multipleResourceEditors",predicate:tr,descendants:!0},{propertyName:"singleResourceEditors",predicate:or,descendants:!0}],ngImport:n,template:"\n <kendo-dialog (close)='onClose()' [minWidth]='750' *ngIf='isActive' title='{{ textFor(\"editorTitle\") }}' class='k-scheduler-edit-dialog' [autoFocusedElement]=\"autoFocusedElement\">\n <ng-container *ngIf='!editTemplate'>\n <div class='k-form k-form-horizontal'>\n <form novalidate [formGroup]='formGroup'>\n \x3c!-- Title --\x3e\n <div class='k-form-field'>\n <label for='k-event-title' class='k-form-label'>{{ textFor('editorEventTitle') }}</label>\n <div class='k-form-field-wrap'>\n <input #title id='k-event-title' kendoTextBox placeholder='Title' [formControl]='getControl(fields.title)' />\n </div>\n </div>\n\n \x3c!-- Start --\x3e\n <div class='k-form-field'>\n <label class='k-form-label' (click)=\"startDateTimePicker.focus()\">{{ textFor('editorEventStart') }}</label>\n <div class='k-form-field-wrap'>\n <kendo-scheduler-datetime-picker #startDateTimePicker [formControl]='getControl(fields.start)'\n [isAllDay]='getFormValue(fields.isAllDay)?.value'>\n </kendo-scheduler-datetime-picker>\n </div>\n </div>\n\n <div class='k-form-field' *ngIf=\"hasStartTimeZone\">\n <label class='k-form-label' for='k-set-timezone'>{{ textFor('editorEventTimeZone') }}</label>\n <div class='k-form-field-wrap'>\n <input type='checkbox' id='k-set-timezone' kendoCheckBox formControlName='startTimezoneCheckbox' />\n </div>\n </div>\n\n <ng-container *ngIf=\"isStartTimeZoneVisible\">\n <div class='k-form-field'>\n <label class='k-form-label' (click)=\"startTzPicker.focus()\">{{ textFor('editorEventStartTimeZone') }}</label>\n\n <div class='k-form-field-wrap'>\n <kendo-timezone-editor [width]=\"undefined\" #startTzPicker [formControl]='getControl(fields.startTimezone)'></kendo-timezone-editor>\n </div>\n </div>\n </ng-container>\n\n \x3c!-- End --\x3e\n <div class='k-form-field'>\n <label class='k-form-label' (click)=\"endDateTimePicker.focus()\">{{ textFor('editorEventEnd') }}</label>\n <div class='k-form-field-wrap'>\n <kendo-scheduler-datetime-picker #endDateTimePicker [formControl]='getControl(fields.end)'\n [isAllDay]='getFormValue(fields.isAllDay)?.value'>\n </kendo-scheduler-datetime-picker>\n </div>\n </div>\n\n <div class='k-form-field' *ngIf=\"isStartTimeZoneVisible && hasEndTimeZone\">\n <label class='k-form-label' for='k-use-separate'>{{ textFor('editorEventSeparateTimeZones') }}</label>\n <div class='k-form-field-wrap'>\n <input type='checkbox' id='k-use-separate' kendoCheckBox formControlName='endTimezoneCheckbox' />\n </div>\n </div>\n\n <ng-container *ngIf=\"isEndTimeZoneVisible\">\n <div class='k-form-field'>\n <label class='k-form-label' (click)=\"endTzPicker.focus()\">{{ textFor('editorEventEndTimeZone') }}</label>\n\n <div class='k-form-field-wrap'>\n <kendo-timezone-editor [width]=\"undefined\" #endTzPicker [formControl]='getControl(fields.endTimezone)'></kendo-timezone-editor>\n </div>\n </div>\n </ng-container>\n\n \x3c!-- All day --\x3e\n <div class='k-form-field'>\n <label class='k-form-label' for='k-is-allday-chkbox'>{{ textFor('editorEventAllDay') }}</label>\n\n <div class='k-form-field-wrap' *ngIf=\"hasAllDay\">\n <input type='checkbox' id='k-is-allday-chkbox' kendoCheckBox [formControl]='getControl(fields.isAllDay)' />\n </div>\n </div>\n\n \x3c!-- Series --\x3e\n <kendo-recurrence-editor\n *ngIf=\"isEditingSeries\"\n [formControl]='getControl(fields.recurrenceRule)'\n [start]='recurrenceStart'\n [timezone]='eventTimezone'\n [weekStart]='weekStart'\n ></kendo-recurrence-editor>\n\n \x3c!-- Description --\x3e\n <div class='k-form-field' *ngIf='getFormValue(fields.description)'>\n <label class='k-form-label' for='k-event-description'>{{ textFor('editorEventDescription') }}</label>\n\n <div class='k-form-field-wrap'>\n <textarea id='k-event-description' kendoTextArea [formControl]='getControl(fields.description)'></textarea>\n </div>\n </div>\n\n \x3c!-- Resources --\x3e\n <ng-container *ngFor='let resource of resources'>\n <div class='k-form-field' *ngIf='getFormValue(resource.field)'>\n <label class='k-form-label' (click)=\"onResourceClick(resource)\">\n {{ resource.name ? resource.name : resource.field }}\n </label>\n <div class='k-form-field-wrap'>\n <kendo-multiple-resource-editor\n *ngIf='resource.multiple'\n [formControl]='getControl(resource.field)'\n [resource]='resource'>\n </kendo-multiple-resource-editor>\n <kendo-single-resource-editor\n *ngIf='!resource.multiple'\n [formControl]='getControl(resource.field)'\n [resource]='resource'>\n </kendo-single-resource-editor>\n </div>\n </div>\n </ng-container>\n </form>\n </div>\n </ng-container>\n\n <ng-container *ngIf='editTemplate'>\n <form novalidate [formGroup]='formGroup'>\n <ng-container [ngTemplateOutlet]='editTemplate.templateRef'\n [ngTemplateOutletContext]=\"{\n $implicit: formGroup,\n formGroup: formGroup,\n dataItem: editedEvent,\n editMode: editMode,\n isNew: isNew\n }\">\n </ng-container>\n </form>\n </ng-container>\n\n <kendo-dialog-actions>\n <button kendoButton (click)=\"onCancel($event)\">{{ textFor('cancel') }}</button>\n <button kendoButton themeColor=\"primary\" (click)=\"onSave($event)\" [disabled]=\"!formGroup.valid\">{{ textFor('save') }}</button>\n </kendo-dialog-actions>\n </kendo-dialog>\n ",isInline:!0,components:[{type:ee.DialogComponent,selector:"kendo-dialog",inputs:["actions","actionsLayout","autoFocusedElement","title","width","minWidth","maxWidth","height","minHeight","maxHeight","animation"],outputs:["action","close"],exportAs:["kendoDialog"]},{type:cr,selector:"kendo-scheduler-datetime-picker",inputs:["isAllDay"],outputs:["valueChange"]},{type:ur,selector:"kendo-timezone-editor",inputs:["width"],outputs:["valueChange"]},{type:jr,selector:"kendo-recurrence-editor",inputs:["start","timezone","weekStart","repeatEveryOptions","endAfterOptions","repeatOnOptions","endOnOptions"],outputs:["valueChange"],exportAs:["kendoRecurrenceEditor"]},{type:tr,selector:"kendo-multiple-resource-editor"},{type:or,selector:"kendo-single-resource-editor"},{type:ee.DialogActionsComponent,selector:"kendo-dialog-actions",inputs:["actions","layout"],outputs:["action"]}],directives:[{type:c.NgIf,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]},{type:J.ɵNgNoValidate,selector:"form:not([ngNoForm]):not([ngNativeValidate])"},{type:J.NgControlStatusGroup,selector:"[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]"},{type:J.FormGroupDirective,selector:"[formGroup]",inputs:["formGroup"],outputs:["ngSubmit"],exportAs:["ngForm"]},{type:d.TextBoxDirective,selector:"input[kendoTextBox]",inputs:["value"]},{type:J.DefaultValueAccessor,selector:"input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]"},{type:J.NgControlStatus,selector:"[formControlName],[ngModel],[formControl]"},{type:J.FormControlDirective,selector:"[formControl]",inputs:["disabled","formControl","ngModel"],outputs:["ngModelChange"],exportAs:["ngForm"]},{type:J.CheckboxControlValueAccessor,selector:"input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]"},{type:d.CheckBoxDirective,selector:"input[kendoCheckBox]",inputs:["size","rounded"]},{type:J.FormControlName,selector:"[formControlName]",inputs:["disabled","formControlName","ngModel"],outputs:["ngModelChange"]},{type:d.TextAreaDirective,selector:"textarea[kendoTextArea]",inputs:["autoSize","value"],outputs:["valueChange"]},{type:c.NgForOf,selector:"[ngFor][ngForOf]",inputs:["ngForOf","ngForTrackBy","ngForTemplate"]},{type:c.NgTemplateOutlet,selector:"[ngTemplateOutlet]",inputs:["ngTemplateOutletContext","ngTemplateOutlet"]},{type:a.ButtonDirective,selector:"button[kendoButton], span[kendoButton]",inputs:["toggleable","togglable","selected","tabIndex","icon","iconClass","imageUrl","disabled","size","rounded","fillMode","themeColor","role","primary","look"],outputs:["selectedChange","click"],exportAs:["kendoButton"]}]}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:I,decorators:[{type:h.Component,args:[{selector:"kendo-scheduler-edit-dialog",template:"\n <kendo-dialog (close)='onClose()' [minWidth]='750' *ngIf='isActive' title='{{ textFor(\"editorTitle\") }}' class='k-scheduler-edit-dialog' [autoFocusedElement]=\"autoFocusedElement\">\n <ng-container *ngIf='!editTemplate'>\n <div class='k-form k-form-horizontal'>\n <form novalidate [formGroup]='formGroup'>\n \x3c!-- Title --\x3e\n <div class='k-form-field'>\n <label for='k-event-title' class='k-form-label'>{{ textFor('editorEventTitle') }}</label>\n <div class='k-form-field-wrap'>\n <input #title id='k-event-title' kendoTextBox placeholder='Title' [formControl]='getControl(fields.title)' />\n </div>\n </div>\n\n \x3c!-- Start --\x3e\n <div class='k-form-field'>\n <label class='k-form-label' (click)=\"startDateTimePicker.focus()\">{{ textFor('editorEventStart') }}</label>\n <div class='k-form-field-wrap'>\n <kendo-scheduler-datetime-picker #startDateTimePicker [formControl]='getControl(fields.start)'\n [isAllDay]='getFormValue(fields.isAllDay)?.value'>\n </kendo-scheduler-datetime-picker>\n </div>\n </div>\n\n <div class='k-form-field' *ngIf=\"hasStartTimeZone\">\n <label class='k-form-label' for='k-set-timezone'>{{ textFor('editorEventTimeZone') }}</label>\n <div class='k-form-field-wrap'>\n <input type='checkbox' id='k-set-timezone' kendoCheckBox formControlName='startTimezoneCheckbox' />\n </div>\n </div>\n\n <ng-container *ngIf=\"isStartTimeZoneVisible\">\n <div class='k-form-field'>\n <label class='k-form-label' (click)=\"startTzPicker.focus()\">{{ textFor('editorEventStartTimeZone') }}</label>\n\n <div class='k-form-field-wrap'>\n <kendo-timezone-editor [width]=\"undefined\" #startTzPicker [formControl]='getControl(fields.startTimezone)'></kendo-timezone-editor>\n </div>\n </div>\n </ng-container>\n\n \x3c!-- End --\x3e\n <div class='k-form-field'>\n <label class='k-form-label' (click)=\"endDateTimePicker.focus()\">{{ textFor('editorEventEnd') }}</label>\n <div class='k-form-field-wrap'>\n <kendo-scheduler-datetime-picker #endDateTimePicker [formControl]='getControl(fields.end)'\n [isAllDay]='getFormValue(fields.isAllDay)?.value'>\n </kendo-scheduler-datetime-picker>\n </div>\n </div>\n\n <div class='k-form-field' *ngIf=\"isStartTimeZoneVisible && hasEndTimeZone\">\n <label class='k-form-label' for='k-use-separate'>{{ textFor('editorEventSeparateTimeZones') }}</label>\n <div class='k-form-field-wrap'>\n <input type='checkbox' id='k-use-separate' kendoCheckBox formControlName='endTimezoneCheckbox' />\n </div>\n </div>\n\n <ng-container *ngIf=\"isEndTimeZoneVisible\">\n <div class='k-form-field'>\n <label class='k-form-label' (click)=\"endTzPicker.focus()\">{{ textFor('editorEventEndTimeZone') }}</label>\n\n <div class='k-form-field-wrap'>\n <kendo-timezone-editor [width]=\"undefined\" #endTzPicker [formControl]='getControl(fields.endTimezone)'></kendo-timezone-editor>\n </div>\n </div>\n </ng-container>\n\n \x3c!-- All day --\x3e\n <div class='k-form-field'>\n <label class='k-form-label' for='k-is-allday-chkbox'>{{ textFor('editorEventAllDay') }}</label>\n\n <div class='k-form-field-wrap' *ngIf=\"hasAllDay\">\n <input type='checkbox' id='k-is-allday-chkbox' kendoCheckBox [formControl]='getControl(fields.isAllDay)' />\n </div>\n </div>\n\n \x3c!-- Series --\x3e\n <kendo-recurrence-editor\n *ngIf=\"isEditingSeries\"\n [formControl]='getControl(fields.recurrenceRule)'\n [start]='recurrenceStart'\n [timezone]='eventTimezone'\n [weekStart]='weekStart'\n ></kendo-recurrence-editor>\n\n \x3c!-- Description --\x3e\n <div class='k-form-field' *ngIf='getFormValue(fields.description)'>\n <label class='k-form-label' for='k-event-description'>{{ textFor('editorEventDescription') }}</label>\n\n <div class='k-form-field-wrap'>\n <textarea id='k-event-description' kendoTextArea [formControl]='getControl(fields.description)'></textarea>\n </div>\n </div>\n\n \x3c!-- Resources --\x3e\n <ng-container *ngFor='let resource of resources'>\n <div class='k-form-field' *ngIf='getFormValue(resource.field)'>\n <label class='k-form-label' (click)=\"onResourceClick(resource)\">\n {{ resource.name ? resource.name : resource.field }}\n </label>\n <div class='k-form-field-wrap'>\n <kendo-multiple-resource-editor\n *ngIf='resource.multiple'\n [formControl]='getControl(resource.field)'\n [resource]='resource'>\n </kendo-multiple-resource-editor>\n <kendo-single-resource-editor\n *ngIf='!resource.multiple'\n [formControl]='getControl(resource.field)'\n [resource]='resource'>\n </kendo-single-resource-editor>\n </div>\n </div>\n </ng-container>\n </form>\n </div>\n </ng-container>\n\n <ng-container *ngIf='editTemplate'>\n <form novalidate [formGroup]='formGroup'>\n <ng-container [ngTemplateOutlet]='editTemplate.templateRef'\n [ngTemplateOutletContext]=\"{\n $implicit: formGroup,\n formGroup: formGroup,\n dataItem: editedEvent,\n editMode: editMode,\n isNew: isNew\n }\">\n </ng-container>\n </form>\n </ng-container>\n\n <kendo-dialog-actions>\n <button kendoButton (click)=\"onCancel($event)\">{{ textFor('cancel') }}</button>\n <button kendoButton themeColor=\"primary\" (click)=\"onSave($event)\" [disabled]=\"!formGroup.valid\">{{ textFor('save') }}</button>\n </kendo-dialog-actions>\n </kendo-dialog>\n "}]}],ctorParameters:function(){return[{type:n.NgZone},{type:_t},{type:r.LocalizationService},{type:n.ChangeDetectorRef},{type:n.ElementRef},{type:v}]},propDecorators:{multipleResourceEditors:[{type:h.ViewChildren,args:[tr]}],singleResourceEditors:[{type:h.ViewChildren,args:[or]}],resources:[{type:h.Input}],timezone:[{type:h.Input}],weekStart:[{type:h.Input}],fields:[{type:h.Input}],editTemplate:[{type:h.Input}]}});p(Zr,qr=P.ComponentMessages);var qr,Br=Zr;function Zr(){return null!==qr&&qr.apply(this,arguments)||this}Br.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Br,deps:null,target:n.ɵɵFactoryTarget.Directive}),Br.ɵdir=n.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:Br,inputs:{allEvents:"allEvents",allDay:"allDay",dateHeader:"dateHeader",timeHeader:"timeHeader",eventHeader:"eventHeader",deleteTitle:"deleteTitle",nextTitle:"nextTitle",previousTitle:"previousTitle",today:"today",calendarToday:"calendarToday",showFullDay:"showFullDay",showWorkDay:"showWorkDay",dayViewTitle:"dayViewTitle",multiDayViewTitle:"multiDayViewTitle",weekViewTitle:"weekViewTitle",workWeekViewTitle:"workWeekViewTitle",monthViewTitle:"monthViewTitle",timelineViewTitle:"timelineViewTitle",timelineWeekViewTitle:"timelineWeekViewTitle",timelineMonthViewTitle:"timelineMonthViewTitle",agendaViewTitle:"agendaViewTitle",cancel:"cancel",save:"save",editorEventTitle:"editorEventTitle",editorEventStart:"editorEventStart",editorEventStartTimeZone:"editorEventStartTimeZone",editorEventEnd:"editorEventEnd",editorEventEndTimeZone:"editorEventEndTimeZone",editorEventAllDay:"editorEventAllDay",editorEventDescription:"editorEventDescription",editorEventSeparateTimeZones:"editorEventSeparateTimeZones",editorEventTimeZone:"editorEventTimeZone",recurrenceEditorRepeat:"recurrenceEditorRepeat",recurrenceEditorDailyInterval:"recurrenceEditorDailyInterval",recurrenceEditorDailyRepeatEvery:"recurrenceEditorDailyRepeatEvery",recurrenceEditorWeeklyInterval:"recurrenceEditorWeeklyInterval",recurrenceEditorWeeklyRepeatEvery:"recurrenceEditorWeeklyRepeatEvery",recurrenceEditorWeeklyRepeatOn:"recurrenceEditorWeeklyRepeatOn",recurrenceEditorMonthlyDay:"recurrenceEditorMonthlyDay",recurrenceEditorMonthlyInterval:"recurrenceEditorMonthlyInterval",recurrenceEditorMonthlyRepeatEvery:"recurrenceEditorMonthlyRepeatEvery",recurrenceEditorMonthlyRepeatOn:"recurrenceEditorMonthlyRepeatOn",recurrenceEditorYearlyOf:"recurrenceEditorYearlyOf",recurrenceEditorYearlyRepeatEvery:"recurrenceEditorYearlyRepeatEvery",recurrenceEditorYearlyRepeatOn:"recurrenceEditorYearlyRepeatOn",recurrenceEditorYearlyInterval:"recurrenceEditorYearlyInterval",recurrenceEditorFrequenciesDaily:"recurrenceEditorFrequenciesDaily",recurrenceEditorFrequenciesMonthly:"recurrenceEditorFrequenciesMonthly",recurrenceEditorFrequenciesNever:"recurrenceEditorFrequenciesNever",recurrenceEditorFrequenciesWeekly:"recurrenceEditorFrequenciesWeekly",recurrenceEditorFrequenciesYearly:"recurrenceEditorFrequenciesYearly",recurrenceEditorOffsetPositionsFirst:"recurrenceEditorOffsetPositionsFirst",recurrenceEditorOffsetPositionsSecond:"recurrenceEditorOffsetPositionsSecond",recurrenceEditorOffsetPositionsThird:"recurrenceEditorOffsetPositionsThird",recurrenceEditorOffsetPositionsFourth:"recurrenceEditorOffsetPositionsFourth",recurrenceEditorOffsetPositionsLast:"recurrenceEditorOffsetPositionsLast",recurrenceEditorWeekdaysDay:"recurrenceEditorWeekdaysDay",recurrenceEditorWeekdaysWeekday:"recurrenceEditorWeekdaysWeekday",recurrenceEditorWeekdaysWeekendday:"recurrenceEditorWeekdaysWeekendday",recurrenceEditorEndAfter:"recurrenceEditorEndAfter",recurrenceEditorEndOccurrence:"recurrenceEditorEndOccurrence",recurrenceEditorEndLabel:"recurrenceEditorEndLabel",recurrenceEditorEndNever:"recurrenceEditorEndNever",recurrenceEditorEndOn:"recurrenceEditorEndOn",editorTitle:"editorTitle",destroy:"destroy",deleteConfirmation:"deleteConfirmation",editRecurringConfirmation:"editRecurringConfirmation",editOccurrence:"editOccurrence",editSeries:"editSeries",deleteRecurringConfirmation:"deleteRecurringConfirmation",deleteOccurrence:"deleteOccurrence",deleteSeries:"deleteSeries",deleteDialogTitle:"deleteDialogTitle",deleteRecurringDialogTitle:"deleteRecurringDialogTitle",editRecurringDialogTitle:"editRecurringDialogTitle",selectView:"selectView"},usesInheritance:!0,ngImport:n}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Br,decorators:[{type:h.Directive}],propDecorators:{allEvents:[{type:h.Input}],allDay:[{type:h.Input}],dateHeader:[{type:h.Input}],timeHeader:[{type:h.Input}],eventHeader:[{type:h.Input}],deleteTitle:[{type:h.Input}],nextTitle:[{type:h.Input}],previousTitle:[{type:h.Input}],today:[{type:h.Input}],calendarToday:[{type:h.Input}],showFullDay:[{type:h.Input}],showWorkDay:[{type:h.Input}],dayViewTitle:[{type:h.Input}],multiDayViewTitle:[{type:h.Input}],weekViewTitle:[{type:h.Input}],workWeekViewTitle:[{type:h.Input}],monthViewTitle:[{type:h.Input}],timelineViewTitle:[{type:h.Input}],timelineWeekViewTitle:[{type:h.Input}],timelineMonthViewTitle:[{type:h.Input}],agendaViewTitle:[{type:h.Input}],cancel:[{type:h.Input}],save:[{type:h.Input}],editorEventTitle:[{type:h.Input}],editorEventStart:[{type:h.Input}],editorEventStartTimeZone:[{type:h.Input}],editorEventEnd:[{type:h.Input}],editorEventEndTimeZone:[{type:h.Input}],editorEventAllDay:[{type:h.Input}],editorEventDescription:[{type:h.Input}],editorEventSeparateTimeZones:[{type:h.Input}],editorEventTimeZone:[{type:h.Input}],recurrenceEditorRepeat:[{type:h.Input}],recurrenceEditorDailyInterval:[{type:h.Input}],recurrenceEditorDailyRepeatEvery:[{type:h.Input}],recurrenceEditorWeeklyInterval:[{type:h.Input}],recurrenceEditorWeeklyRepeatEvery:[{type:h.Input}],recurrenceEditorWeeklyRepeatOn:[{type:h.Input}],recurrenceEditorMonthlyDay:[{type:h.Input}],recurrenceEditorMonthlyInterval:[{type:h.Input}],recurrenceEditorMonthlyRepeatEvery:[{type:h.Input}],recurrenceEditorMonthlyRepeatOn:[{type:h.Input}],recurrenceEditorYearlyOf:[{type:h.Input}],recurrenceEditorYearlyRepeatEvery:[{type:h.Input}],recurrenceEditorYearlyRepeatOn:[{type:h.Input}],recurrenceEditorYearlyInterval:[{type:h.Input}],recurrenceEditorFrequenciesDaily:[{type:h.Input}],recurrenceEditorFrequenciesMonthly:[{type:h.Input}],recurrenceEditorFrequenciesNever:[{type:h.Input}],recurrenceEditorFrequenciesWeekly:[{type:h.Input}],recurrenceEditorFrequenciesYearly:[{type:h.Input}],recurrenceEditorOffsetPositionsFirst:[{type:h.Input}],recurrenceEditorOffsetPositionsSecond:[{type:h.Input}],recurrenceEditorOffsetPositionsThird:[{type:h.Input}],recurrenceEditorOffsetPositionsFourth:[{type:h.Input}],recurrenceEditorOffsetPositionsLast:[{type:h.Input}],recurrenceEditorWeekdaysDay:[{type:h.Input}],recurrenceEditorWeekdaysWeekday:[{type:h.Input}],recurrenceEditorWeekdaysWeekendday:[{type:h.Input}],recurrenceEditorEndAfter:[{type:h.Input}],recurrenceEditorEndOccurrence:[{type:h.Input}],recurrenceEditorEndLabel:[{type:h.Input}],recurrenceEditorEndNever:[{type:h.Input}],recurrenceEditorEndOn:[{type:h.Input}],editorTitle:[{type:h.Input}],destroy:[{type:h.Input}],deleteConfirmation:[{type:h.Input}],editRecurringConfirmation:[{type:h.Input}],editOccurrence:[{type:h.Input}],editSeries:[{type:h.Input}],deleteRecurringConfirmation:[{type:h.Input}],deleteOccurrence:[{type:h.Input}],deleteSeries:[{type:h.Input}],deleteDialogTitle:[{type:h.Input}],deleteRecurringDialogTitle:[{type:h.Input}],editRecurringDialogTitle:[{type:h.Input}],selectView:[{type:h.Input}]}});p(Ur,Gr=Br);var Gr,_r=Ur;function Ur(e){var t=Gr.call(this)||this;return t.service=e,t}_r.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:_r,deps:[{token:r.LocalizationService}],target:n.ɵɵFactoryTarget.Directive}),_r.ɵdir=n.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:_r,selector:"[kendoSchedulerLocalizedMessages]",providers:[{provide:Br,useExisting:h.forwardRef(function(){return _r})}],usesInheritance:!0,ngImport:n}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:_r,decorators:[{type:h.Directive,args:[{providers:[{provide:Br,useExisting:h.forwardRef(function(){return _r})}],selector:"[kendoSchedulerLocalizedMessages]"}]}],ctorParameters:function(){return[{type:r.LocalizationService}]}});Object.defineProperty(S.prototype,"dir",{get:function(){return this.direction},enumerable:!1,configurable:!0}),Object.defineProperty(S.prototype,"selectedViewIndex",{get:function(){return this.viewIndex},set:function(e){this.viewIndex=e,this.onViewIndexChange()},enumerable:!1,configurable:!0}),Object.defineProperty(S.prototype,"weekStart",{get:function(){return f(this._weekStart)?this._weekStart:this.intlService.firstDay()},set:function(e){this._weekStart=e},enumerable:!1,configurable:!0}),Object.defineProperty(S.prototype,"timezone",{get:function(){return this._timezone},set:function(e){this._timezone=e,this.events=this.events||[]},enumerable:!1,configurable:!0}),Object.defineProperty(S.prototype,"events",{get:function(){return this._events},set:function(e){this._events=e,this.processEvents(e)},enumerable:!1,configurable:!0}),Object.defineProperty(S.prototype,"selectedDate",{get:function(){return this._selectedDate},set:function(e){e&&(this._selectedDate=e,this.viewContext.notifySelectedDate(e))},enumerable:!1,configurable:!0}),Object.defineProperty(S.prototype,"modelFields",{get:function(){return this._modelFields},set:function(e){this._modelFields=Object.assign(Object.assign({},rn),e)},enumerable:!1,configurable:!0}),S.prototype.ngOnInit=function(){this.selectedDate||(this.selectedDate=b.getDate(new Date))},S.prototype.ngAfterContentInit=function(){var o=this;if(h.isDevMode()&&0===this.views.length)throw new Error("No views declared for <kendo-scheduler>. Please, declare at least one view.");this.subs=this.views.changes.subscribe(function(){return o.resetViewIndex()}),this.subs.add(this.intlService.changes.subscribe(this.intlChange.bind(this))),this.subs.add(this.viewState.nextDate.subscribe(function(e){o.selectedDate=e})),this.subs.add(this.viewState.dateRange.subscribe(function(e){0!==e.start.getTime()&&(e=new ie(o,o.selectedDate,e),o.dateChange.emit(e))})),this.subs.add(this.viewState.navigate.subscribe(function(e){var t=e.viewName,e=e.date,n=o.views.toArray(),r=n.find(function(e){return e.name===t}),i=new de(o,{type:"show-date",view:r||{name:t,title:t},date:e});o.navigate.next(i),r&&!i.isDefaultPrevented()&&(i=n.indexOf(r),o.selectedView=r,o.setViewIndex(i),o.selectedDate=e)})),this.subs.add(this.viewState.viewEvent.subscribe(function(e){var t=e.name,n=e.args,r=o[t],i=o[t+"Confirmed"];(l.hasObservers(r)||i&&l.hasObservers(i))&&o.zone.run(function(){var e=new je[t](o,n);r.emit(e),n.prevented=e.prevented,i&&!n.prevented&&i.emit(e)})})),this.subs.add(this.viewState.layoutEnd.subscribe(function(){o.resizeSensor&&o.resizeSensor.acceptSize()})),this.subs.add(this.viewState.slotSelectionStart.subscribe(function(e){l.hasObservers(o.slotDragStart)&&o.zone.run(function(){o.slotDragStart.emit(Object.assign(e,{sender:o}))})})),this.subs.add(this.viewState.slotSelectionDrag.subscribe(function(e){l.hasObservers(o.slotDrag)&&o.zone.run(function(){o.slotDrag.emit(new rt(o,e))})})),this.subs.add(this.viewState.slotSelectionEnd.subscribe(function(e){l.hasObservers(o.slotDragEnd)&&o.zone.run(function(){o.slotDragEnd.emit(new it(o,e))})})),this.onViewIndexChange(),this.notifyOptionsChange=this.notifyOptionsChange.bind(this),this.subs.add(this.allDayEventTemplate.changes.subscribe(this.notifyOptionsChange)),this.subs.add(this.eventTemplate.changes.subscribe(this.notifyOptionsChange)),this.subs.add(this.timeSlotTemplate.changes.subscribe(this.notifyOptionsChange)),this.subs.add(this.timeSlotTemplate.changes.subscribe(this.notifyOptionsChange)),this.subs.add(this.minorTimeHeaderTemplate.changes.subscribe(this.notifyOptionsChange)),this.subs.add(this.majorTimeHeaderTemplate.changes.subscribe(this.notifyOptionsChange)),this.subs.add(this.monthDaySlotTemplate.changes.subscribe(this.notifyOptionsChange)),this.subs.add(this.dateHeaderTemplate.changes.subscribe(this.notifyOptionsChange)),this.subs.add(this.allDaySlotTemplate.changes.subscribe(this.notifyOptionsChange)),this.subs.add(this.groupHeaderTemplate.changes.subscribe(this.notifyOptionsChange)),this.subs.add(this.agendaDateTemplate.changes.subscribe(this.notifyOptionsChange)),this.subs.add(this.agendaTimeTemplate.changes.subscribe(this.notifyOptionsChange)),this.subs.add(this.views.changes.subscribe(function(){o.changeDetector.markForCheck()})),this.attachEditHandlers(),this.dialogsService.container=this.confirmationDialogContainerRef,this.notifyOptionsChange(),this.subs.add(this.pdfService.exportClick.subscribe(function(){var e=new sn;o.pdfExport.emit(e),e.isDefaultPrevented()||o.saveAsPDF()})),this.subs.add(this.pdfService.done.subscribe(function(){o.loadingComponent.toggle(!1)})),this.subs.add(this.localization.changes.subscribe(function(e){e=e.rtl;o.rtl=e,o.direction=o.rtl?"rtl":"ltr"})),this.subs.add(this.viewState.optionsChange.subscribe(function(){o.changeDetector.markForCheck()})),this.attachElementEventHandlers()},S.prototype.ngOnChanges=function(e){var t=this;l.isChanged("resources",e)&&!l.isChanged("events",e)&&this.viewItems&&this.viewItems.forEach(function(e){Vt(e.event,t.resources)}),l.anyChanged(["group","resources","min","max","showWorkHours","startTime","scrollTime","endTime","eventHeight","workDayStart","workDayEnd","workWeekStart","workWeekEnd","weekStart","slotDuration","slotDivisions","editable","timezone","slotClass","slotFill","columnWidth","eventClass","eventStyles","isSlotSelected","selectable"],e)&&this.notifyOptionsChange(e)},S.prototype.ngOnDestroy=function(){this.subs&&this.subs.unsubscribe(),this.detachElementEventHandlers&&this.detachElementEventHandlers()},S.prototype.onResize=function(e){this.viewContext.notifyResize()},S.prototype.onNavigationAction=function(e){var t=new de(this,e);if(this.navigate.next(t),t.isDefaultPrevented())return!0;"view-change"===e.type?(t=this.views.toArray().indexOf(e.view),this.selectedView=e.view,this.setViewIndex(t)):"select-date"===e.type?this.isInRange(e.date)&&(this.selectedDate=e.date):"today"===e.type?(t=new Date,this.isInRange(t)&&(this.selectedDate=t)):"toggle-business-hours"===e.type?this.viewState.toggleWorkHours.next(null):"focus-toolbar"===e.type?this.focusService.focusToolbar():this.viewContext.notifyAction(e)},S.prototype.addEvent=function(e){var t,n;e instanceof N.FormGroup||(t=Object.keys(e).reduce((n=e,function(e,t){return e[t]=new N.FormControl(n[t]),e}),{}),e=new N.FormGroup(t)),this.editService.addEvent(e)},S.prototype.editEvent=function(e,t){var n=(t=void 0===t?{}:t).group,t=t.mode;this.editService.editEvent(e,n,t)},S.prototype.closeEvent=function(){this.editService.close()},S.prototype.isEditing=function(){return this.editService.isEditing()},S.prototype.openRecurringConfirmationDialog=function(e){return this.dialogsService.openRecurringConfirmationDialog(e)},S.prototype.openRemoveConfirmationDialog=function(){return this.dialogsService.openRemoveConfirmationDialog()},S.prototype.saveAsPDF=function(){var e=this;this.loadingComponent.toggle(!0),this.zone.runOutsideAngular(function(){setTimeout(function(){e.pdfService.save()},0)})},S.prototype.scrollToTime=function(e){this.viewContext.notifyAction({type:"scroll-time",time:e})},S.prototype.slotByPosition=function(e,t){return this.viewContext.executeMethod("slotByPosition",{x:e,y:t})},S.prototype.eventFromElement=function(e){return this.viewContext.executeMethod("eventFromElement",{element:e})},Object.defineProperty(S.prototype,"activeEvent",{get:function(){var e=this.focusService.activeElement;if(e&&e.nativeElement.matches(".k-event, [data-task-index]"))return this.eventFromElement(e.nativeElement)},enumerable:!1,configurable:!0}),S.prototype.focusNext=function(e){var t=this,e=this.focusService.focusNext(e);return this.zone.onStable.pipe(s.take(1)).subscribe(function(){return t.focusService.focus()}),e},S.prototype.focusPrev=function(e){var t=this,e=Object.assign({offset:-1},e),e=this.focusService.focusNext(e);return this.zone.onStable.pipe(s.take(1)).subscribe(function(){return t.focusService.focus()}),e},S.prototype.focus=function(){var e=this;this.zone.onStable.pipe(s.take(1)).subscribe(function(){return e.focusService.focus()})},S.prototype.isInRange=function(e){return(!this.min||this.min<=e)&&(!this.max||e<=this.max)},S.prototype.notifyOptionsChange=function(e){var t=this.workWeek;this.viewContext.notifyOptionsChange({group:this.group,resources:this.resources,allDayEventTemplate:this.allDayEventTemplate?this.allDayEventTemplate.first:null,eventTemplate:this.eventTemplate?this.eventTemplate.first:null,timeSlotTemplate:this.timeSlotTemplate?this.timeSlotTemplate.first:null,minorTimeHeaderTemplate:this.minorTimeHeaderTemplate?this.minorTimeHeaderTemplate.first:null,majorTimeHeaderTemplate:this.majorTimeHeaderTemplate?this.majorTimeHeaderTemplate.first:null,monthDaySlotTemplate:this.monthDaySlotTemplate?this.monthDaySlotTemplate.first:null,dateHeaderTemplate:this.dateHeaderTemplate?this.dateHeaderTemplate.first:null,allDaySlotTemplate:this.allDaySlotTemplate?this.allDaySlotTemplate.first:null,groupHeaderTemplate:this.groupHeaderTemplate?this.groupHeaderTemplate.first:null,agendaDateTemplate:this.agendaDateTemplate?this.agendaDateTemplate.first:null,agendaTimeTemplate:this.agendaTimeTemplate?this.agendaTimeTemplate.first:null,min:this.min,max:this.max,showWorkHours:this.showWorkHours,startTime:this.startTime,scrollTime:this.scrollTime,endTime:this.endTime,workDayStart:this.workDayStart,workDayEnd:this.workDayEnd,workWeekStart:t.start,workWeekEnd:t.end,weekStart:this.weekStart,slotDuration:this.slotDuration,slotDivisions:this.slotDivisions,eventHeight:this.eventHeight,editable:this.editable,selectable:this.selectable,timezone:this.timezone,currentTimeMarker:this.currentTimeMarker,highlightOngoingEvents:this.highlightOngoingEvents,slotClass:this.slotClass,slotFill:this.slotFill,columnWidth:this.columnWidth,eventClass:this.eventClass,eventStyles:this.eventStyles,isSlotSelected:this.isSlotSelected,changes:e})},Object.defineProperty(S.prototype,"workWeek",{get:function(){var e=this.intlService.weekendRange(),t=e.start,e=e.end,e=f(this.workWeekStart)?this.workWeekStart:(e+1)%7,t=0<t?t-1:b.Day.Saturday;return{start:e,end:f(this.workWeekEnd)?this.workWeekEnd:t}},enumerable:!1,configurable:!0}),S.prototype.resetViewIndex=function(){var e=this.selectedViewIndex,e=Math.max(0,Math.min(e,this.views.length-1));this.setViewIndex(e),this.onViewIndexChange()},S.prototype.onViewIndexChange=function(){var e;this.views&&(e=this.views.toArray()[this.viewIndex])&&(this.selectedView=e)},S.prototype.setViewIndex=function(e){var t=this.selectedViewIndex!==e;return t&&(this.selectedViewIndex=e,this.selectedViewIndexChange.emit(e)),t},S.prototype.processEvents=function(e){var t=this,n=this.timezone,r=this.modelFields,e=e.map(function(e){return Wt(e,r,t.resources)}).filter(function(e){return!((e=e).recurrenceRule&&!f(e.recurrenceId))}).map(function(e){return{start:b.ZonedDate.fromLocalDate(e.start,n),end:b.ZonedDate.fromLocalDate(e.end,n),event:e}});this.viewItems=e,this.viewContext.notifyItems(e)},S.prototype.attachEditHandlers=function(){this.editService&&this.subs.add(this.editService.changes.subscribe(this.emitCRUDEvent.bind(this)))},S.prototype.emitCRUDEvent=function(e){switch(Object.assign(e,{sender:this}),e.action){case"cancel":this.cancel.emit(e);break;case"save":this.save.emit(e)}},S.prototype.intlChange=function(){var e=this.selectedView;this.selectedView=null,f(this.workWeekStart)&&f(this.workWeekEnd)||this.notifyOptionsChange(),this.changeDetector.detectChanges(),this.selectedView=e,h.NgZone.isInAngularZone()?this.changeDetector.markForCheck():this.changeDetector.detectChanges()},S.prototype.attachElementEventHandlers=function(){var a,s=this;l.isDocumentAvailable()&&(a=this.wrapper.nativeElement,this.zone.runOutsideAngular(function(){var e=s.renderer.listen("window","blur",function(e){s.domEvents.windowBlur.emit(e)}),t=s.renderer.listen(a,"click",function(e){s.domEvents.click.emit(e)}),n=s.renderer.listen(a,"keydown",function(e){s.domEvents.keydown.emit(e)}),r=!1,i=s.renderer.listen(a,"focusin",function(e){s.domEvents.focus.emit(e),r||(s.domEvents.focusIn.emit(e),s.renderer.addClass(s.wrapper.nativeElement,"k-focus"),r=!0)}),o=s.renderer.listen(a,"focusout",function(e){!function(e,t){for(;e&&!t(e);)e=e.parentNode;return e}(e.relatedTarget||document.activeElement,function(e){return e===a})&&(s.domEvents.focusOut.emit(e),s.renderer.removeClass(s.wrapper.nativeElement,"k-focus"),r=!1)});s.detachElementEventHandlers=function(){e(),t(),n(),i(),o()}}))};var Yr=S;function S(e,t,n,r,i,o,a,s,l,c,d,u,p){this.wrapper=e,this.viewContext=t,this.viewState=n,this.editService=r,this.dialogsService=i,this.intlService=o,this.changeDetector=a,this.zone=s,this.pdfService=l,this.localization=c,this.domEvents=d,this.renderer=u,this.focusService=p,this.hostClasses=!0,this.ariaRole="application",this.rtl=!1,this.editable=!1,this.selectable=!1,this.eventHeight=25,this.columnWidth=100,this.startTime="00:00",this.endTime="00:00",this.workDayStart="08:00",this.workDayEnd="17:00",this.slotDuration=60,this.slotDivisions=2,this.slotFill=.9,this.scrollTime=this.workDayStart,this.currentTimeMarker=!0,this.highlightOngoingEvents=!0,this.isSlotSelected=Un,this.selectedViewIndexChange=new h.EventEmitter,this.navigate=new h.EventEmitter,this.dateChange=new h.EventEmitter,this.slotClick=new h.EventEmitter,this.slotDblClick=new h.EventEmitter,this.create=new h.EventEmitter,this.eventClick=new h.EventEmitter,this.eventDblClick=new h.EventEmitter,this.eventKeydown=new h.EventEmitter,this.cancel=new h.EventEmitter,this.save=new h.EventEmitter,this.remove=new h.EventEmitter,this.resizeStart=new h.EventEmitter,this.resize=new h.EventEmitter,this.resizeEnd=new h.EventEmitter,this.dragStart=new h.EventEmitter,this.drag=new h.EventEmitter,this.dragEnd=new h.EventEmitter,this.slotDragStart=new h.EventEmitter,this.slotDrag=new h.EventEmitter,this.slotDragEnd=new h.EventEmitter,this.pdfExport=new h.EventEmitter,this.dragEndConfirmed=new h.EventEmitter,this.resizeEndConfirmed=new h.EventEmitter,this.removeConfirmed=new h.EventEmitter,this.viewIndex=0,this._timezone="",this._modelFields=rn,z.validatePackage(re),this.dateRangeStream=n.dateRange,this.selectedDateStream=t.selectedDate}Yr.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Yr,deps:[{token:n.ElementRef},{token:g},{token:y},{token:_t},{token:Qt},{token:o.IntlService},{token:n.ChangeDetectorRef},{token:n.NgZone},{token:k},{token:r.LocalizationService},{token:$t},{token:n.Renderer2},{token:v}],target:n.ɵɵFactoryTarget.Component}),Yr.ɵcmp=n.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:Yr,selector:"kendo-scheduler",inputs:{selectedViewIndex:"selectedViewIndex",editable:"editable",selectable:"selectable",min:"min",max:"max",eventHeight:"eventHeight",columnWidth:"columnWidth",showWorkHours:"showWorkHours",startTime:"startTime",endTime:"endTime",workDayStart:"workDayStart",workDayEnd:"workDayEnd",workWeekStart:"workWeekStart",workWeekEnd:"workWeekEnd",weekStart:"weekStart",slotDuration:"slotDuration",slotDivisions:"slotDivisions",slotFill:"slotFill",scrollTime:"scrollTime",group:"group",resources:"resources",loading:"loading",timezone:"timezone",events:"events",selectedDate:"selectedDate",modelFields:"modelFields",currentTimeMarker:"currentTimeMarker",highlightOngoingEvents:"highlightOngoingEvents",slotClass:"slotClass",eventClass:"eventClass",eventStyles:"eventStyles",isSlotSelected:"isSlotSelected"},outputs:{selectedViewIndexChange:"selectedViewIndexChange",navigate:"navigate",dateChange:"dateChange",slotClick:"slotClick",slotDblClick:"slotDblClick",create:"create",eventClick:"eventClick",eventDblClick:"eventDblClick",eventKeydown:"eventKeydown",cancel:"cancel",save:"save",remove:"remove",resizeStart:"resizeStart",resize:"resize",resizeEnd:"resizeEnd",dragStart:"dragStart",drag:"drag",dragEnd:"dragEnd",slotDragStart:"slotDragStart",slotDrag:"slotDrag",slotDragEnd:"slotDragEnd",pdfExport:"pdfExport"},host:{properties:{"class.k-widget":"this.hostClasses","class.k-scheduler":"this.hostClasses","class.k-floatwrap":"this.hostClasses","attr.role":"this.ariaRole","class.k-rtl":"this.rtl","attr.dir":"this.dir"}},providers:[_t,Qt,$t,Kt,v,tn,{provide:P.LocalizationService,useExisting:tn},{provide:P.L10N_PREFIX,useValue:"kendo.scheduler"},st,g,y,k],queries:[{propertyName:"editDialogTemplate",first:!0,predicate:Yt,descendants:!0},{propertyName:"toolbarTemplate",first:!0,predicate:at,descendants:!0},{propertyName:"views",predicate:ct},{propertyName:"allDayEventTemplate",predicate:ht},{propertyName:"eventTemplate",predicate:yt},{propertyName:"timeSlotTemplate",predicate:Tt},{propertyName:"minorTimeHeaderTemplate",predicate:kt},{propertyName:"majorTimeHeaderTemplate",predicate:vt},{propertyName:"monthDaySlotTemplate",predicate:Dt},{propertyName:"dateHeaderTemplate",predicate:gt},{propertyName:"allDaySlotTemplate",predicate:mt},{propertyName:"groupHeaderTemplate",predicate:ft},{propertyName:"agendaDateTemplate",predicate:m},{propertyName:"agendaTimeTemplate",predicate:pt}],viewQueries:[{propertyName:"resizeSensor",first:!0,predicate:l.ResizeSensorComponent,descendants:!0,static:!0},{propertyName:"confirmationDialogContainerRef",first:!0,predicate:["confirmationDialogContainer"],descendants:!0,read:h.ViewContainerRef,static:!0},{propertyName:"loadingComponent",first:!0,predicate:ye,descendants:!0,static:!0}],usesOnChanges:!0,ngImport:n,template:'\n <ng-container kendoSchedulerLocalizedMessages\n i18n-allEvents="kendo.scheduler.allEvents|The All events text displayed in the timeline views when there is no vertical grouping."\n allEvents="All events"\n\n i18n-allDay="kendo.scheduler.allDay|The all day text displayed in the day and week views."\n allDay="all day"\n\n i18n-dateHeader="kendo.scheduler.dateHeader|The date header text displayed in the agenda view."\n dateHeader="Date"\n\n i18n-timeHeader="kendo.scheduler.timeHeader|The time header text displayed in the agenda view."\n timeHeader="Time"\n\n i18n-deleteTitle="kendo.scheduler.deleteTitle|The delete icon title."\n deleteTitle="Delete"\n\n i18n-eventHeader="kendo.scheduler.eventHeader|The event header text displayed in the agenda view."\n eventHeader="Event"\n\n i18n-nextTitle="kendo.scheduler.nextTitle|The title of the navigation next button."\n nextTitle="Next"\n\n i18n-previousTitle="kendo.scheduler.previousTitle|The title of the navigation previous button."\n previousTitle="Previous"\n\n i18n-showFullDay="kendo.scheduler.showFullDay|The text of the show full day button displayed in the footer of the day, week and timeline views."\n showFullDay="Show full day"\n\n i18n-showWorkDay="kendo.scheduler.showWorkDay|The text of the show work day button displayed in the footer of the day, week and timeline views."\n showWorkDay="Show business hours"\n\n i18n-today="kendo.scheduler.today|The today button text displayed in the navigation."\n today="Today"\n\n i18n-calendarToday="kendo.scheduler.calendarToday|The text of today\'s date in the header of the Calendar."\n calendarToday="TODAY"\n\n i18n-dayViewTitle="kendo.scheduler.dayViewTitle|The day view title."\n dayViewTitle="Day"\n\n i18n-multiDayViewTitle="kendo.scheduler.multiDayViewTitle|The multi day view title."\n multiDayViewTitle="Multi-Day"\n\n i18n-weekViewTitle="kendo.scheduler.weekViewTitle|The week view title."\n weekViewTitle="Week"\n\n i18n-workWeekViewTitle="kendo.scheduler.workWeekViewTitle|The work week view title."\n workWeekViewTitle="Work Week"\n\n i18n-monthViewTitle="kendo.scheduler.monthViewTitle|The month view title."\n monthViewTitle="Month"\n\n i18n-timelineViewTitle="kendo.scheduler.timelineViewTitle|The timeline view title."\n timelineViewTitle="Timeline"\n\n i18n-timelineWeekViewTitle="kendo.scheduler.timelineWeekViewTitle|The timeline week view title."\n timelineWeekViewTitle="Timeline Week"\n\n i18n-timelineMonthViewTitle="kendo.scheduler.timelineMonthViewTitle|The timeline month view title."\n timelineMonthViewTitle="Timeline Month"\n\n i18n-agendaViewTitle="kendo.scheduler.agendaViewTitle|The agenda view title."\n agendaViewTitle="Agenda"\n\n i18n-cancel="kendo.scheduler.cancel|The text similar to \'Cancel\' displayed in scheduler."\n cancel="Cancel"\n\n i18n-save="kendo.scheduler.save|The text similar to \'Save\' displayed in scheduler."\n save="Save"\n\n i18n-editorEventTitle="kendo.scheduler.editorEventTitle|The text similar to \'Title\' displayed in the scheduler event editor."\n editorEventTitle=\'Title\'\n\n i18n-editorEventStart="kendo.scheduler.editorEventStart|The text similar to \'Start\' displayed in the scheduler event editor."\n editorEventStart="Start"\n\n i18n-editorEventStartTimeZone="kendo.scheduler.editorEventStartTimeZone|The text similar to \'Start Time Zone\' displayed in the scheduler event editor."\n editorEventStartTimeZone="Start Time Zone"\n\n i18n-editorEventEnd="kendo.scheduler.editorEventEnd|The text similar to \'End\' displayed in the scheduler event editor."\n editorEventEnd="End"\n\n i18n-editorEventEndTimeZone="kendo.scheduler.editorEventEndTimeZone|The text similar to \'End Time Zone\' displayed in the scheduler event editor."\n editorEventEndTimeZone="End Time Zone"\n\n i18n-editorEventAllDay="kendo.scheduler.editorEventAllDay|The text similar to \'All Day event\' displayed in the scheduler event editor."\n editorEventAllDay="All Day Event"\n\n i18n-editorEventDescription="kendo.scheduler.editorEventDescription|The text similar to \'Description\' displayed in the scheduler event editor."\n editorEventDescription="Description"\n\n i18n-editorEventSeparateTimeZones="kendo.scheduler.editorEventSeparateTimeZones|The text similar to \'Use separate Start and End Time Zones\' displayed in the scheduler event editor."\n editorEventSeparateTimeZones="End in different Time Zone"\n\n i18n-editorEventTimeZone="kendo.scheduler.editorEventTimeZone|The text similar to \'Time Zone\' displayed in the scheduler event editor."\n editorEventTimeZone=\'Specify Time Zone\'\n\n i18n-editorTitle="kendo.scheduler.editorTitle|The text similar to \'Event\' displayed as title of the scheduler event editor."\n editorTitle=\'Event\'\n\n i18n-recurrenceEditorRepeat="kendo.scheduler.recurrenceEditorRepeat|The text similar to \'Repeat\' displayed in the scheduler recurrence editor."\n recurrenceEditorRepeat=\'Repeat\'\n\n i18n-recurrenceEditorDailyInterval="kendo.scheduler.recurrenceEditorDailyInterval|The text similar to \'day(s)\' displayed in the scheduler recurrence editor."\n recurrenceEditorDailyInterval=\'day(s)\'\n\n i18n-recurrenceEditorDailyRepeatEvery="kendo.scheduler.recurrenceEditorDailyRepeatEvery|The text similar to \'Repeat every\' displayed in the scheduler recurrence editor."\n recurrenceEditorDailyRepeatEvery=\'Repeat every\'\n\n i18n-recurrenceEditorWeeklyInterval="kendo.scheduler.recurrenceEditorWeeklyInterval|The text similar to \'week(s)\' displayed in the scheduler recurrence editor."\n recurrenceEditorWeeklyInterval=\'week(s)\'\n\n i18n-recurrenceEditorWeeklyRepeatEvery="kendo.scheduler.recurrenceEditorWeeklyRepeatEvery|The text similar to \'Repeat every\' displayed in the scheduler recurrence editor."\n recurrenceEditorWeeklyRepeatEvery=\'Repeat every\'\n\n i18n-recurrenceEditorWeeklyRepeatOn="kendo.scheduler.recurrenceEditorWeeklyRepeatOn|The text similar to \'Repeat on\' displayed in the scheduler recurrence editor."\n recurrenceEditorWeeklyRepeatOn=\'Repeat on\'\n\n i18n-recurrenceEditorMonthlyDay="kendo.scheduler.recurrenceEditorMonthlyDay|The text similar to \'Day\' displayed in the scheduler recurrence editor."\n recurrenceEditorMonthlyDay=\'Day\'\n\n i18n-recurrenceEditorMonthlyInterval="kendo.scheduler.recurrenceEditorMonthlyInterval|The text similar to \'month(s)\' displayed in the scheduler recurrence editor."\n recurrenceEditorMonthlyInterval=\'month(s)\'\n\n i18n-recurrenceEditorMonthlyRepeatEvery="kendo.scheduler.recurrenceEditorMonthlyRepeatEvery|The text similar to \'Repeat every\' displayed in the scheduler recurrence editor."\n recurrenceEditorMonthlyRepeatEvery=\'Repeat every\'\n\n i18n-recurrenceEditorMonthlyRepeatOn="kendo.scheduler.recurrenceEditorMonthlyRepeatOn|The text similar to \'Repeat on\' displayed in the scheduler recurrence editor."\n recurrenceEditorMonthlyRepeatOn=\'Repeat on\'\n\n i18n-recurrenceEditorYearlyOf="kendo.scheduler.recurrenceEditorYearlyOf|The text similar to \'of\' displayed in the scheduler recurrence editor."\n recurrenceEditorYearlyOf=\'of\'\n\n i18n-recurrenceEditorYearlyRepeatEvery="kendo.scheduler.recurrenceEditorYearlyRepeatEvery|The text similar to \'Repeat every\' displayed in the scheduler recurrence editor."\n recurrenceEditorYearlyRepeatEvery=\'Repeat every\'\n\n i18n-recurrenceEditorYearlyRepeatOn="kendo.scheduler.recurrenceEditorYearlyRepeatOn|The text similar to \'Repeat on\' displayed in the scheduler recurrence editor."\n recurrenceEditorYearlyRepeatOn=\'Repeat on\'\n\n i18n-recurrenceEditorYearlyInterval="kendo.scheduler.recurrenceEditorYearlyInterval|The text similar to \'year(s)\' displayed in the scheduler recurrence editor."\n recurrenceEditorYearlyInterval=\'year(s)\'\n\n i18n-recurrenceEditorFrequenciesDaily="kendo.scheduler.recurrenceEditorFrequenciesDaily|The text similar to \'Daily\' displayed in the scheduler recurrence editor."\n recurrenceEditorFrequenciesDaily=\'Daily\'\n\n i18n-recurrenceEditorFrequenciesMonthly="kendo.scheduler.recurrenceEditorFrequenciesMonthly|The text similar to \'Monthly\' displayed in the scheduler recurrence editor."\n recurrenceEditorFrequenciesMonthly=\'Monthly\'\n\n i18n-recurrenceEditorFrequenciesNever="kendo.scheduler.recurrenceEditorFrequenciesNever|The text similar to \'Never\' displayed in the scheduler recurrence editor."\n recurrenceEditorFrequenciesNever=\'Never\'\n\n i18n-recurrenceEditorFrequenciesWeekly="kendo.scheduler.recurrenceEditorFrequenciesWeekly|The text similar to \'Weekly\' displayed in the scheduler recurrence editor."\n recurrenceEditorFrequenciesWeekly=\'Weekly\'\n\n i18n-recurrenceEditorFrequenciesYearly="kendo.scheduler.recurrenceEditorFrequenciesYearly|The text similar to \'Yearly\' displayed in the scheduler recurrence editor."\n recurrenceEditorFrequenciesYearly=\'Yearly\'\n\n i18n-recurrenceEditorOffsetPositionsFirst="kendo.scheduler.recurrenceEditorOffsetPositionsFirst|The text similar to \'First\' displayed in the scheduler recurrence editor."\n recurrenceEditorOffsetPositionsFirst=\'First\'\n\n i18n-recurrenceEditorOffsetPositionsSecond="kendo.scheduler.recurrenceEditorOffsetPositionsSecond|The text similar to \'Second\' displayed in the scheduler recurrence editor."\n recurrenceEditorOffsetPositionsSecond=\'Second\'\n\n i18n-recurrenceEditorOffsetPositionsThird="kendo.scheduler.recurrenceEditorOffsetPositionsThird|The text similar to \'Third\' displayed in the scheduler recurrence editor."\n recurrenceEditorOffsetPositionsThird=\'Third\'\n\n i18n-recurrenceEditorOffsetPositionsFourth="kendo.scheduler.recurrenceEditorOffsetPositionsFourth|The text similar to \'Fourth\' displayed in the scheduler recurrence editor."\n recurrenceEditorOffsetPositionsFourth=\'Fourth\'\n\n i18n-recurrenceEditorOffsetPositionsLast="kendo.scheduler.recurrenceEditorOffsetPositionsLast|The text similar to \'Last\' displayed in the scheduler recurrence editor."\n recurrenceEditorOffsetPositionsLast=\'Last\'\n\n i18n-recurrenceEditorWeekdaysDay="kendo.scheduler.recurrenceEditorWeekdaysDay|The text similar to \'Day\' displayed in the repeat by section of the monthly recurrence pattern."\n recurrenceEditorWeekdaysDay=\'Day\'\n\n i18n-recurrenceEditorWeekdaysWeekday="kendo.scheduler.recurrenceEditorWeekdaysWeekday|The text similar to \'Weekday\' displayed in the repeat by section of the monthly recurrence pattern."\n recurrenceEditorWeekdaysWeekday=\'Weekday\'\n\n i18n-recurrenceEditorWeekdaysWeekendday="kendo.scheduler.recurrenceEditorWeekdaysWeekendday|The text similar to \'Weekend Day\' displayed in the repeat by section of the monthly recurrence pattern."\n recurrenceEditorWeekdaysWeekendday=\'Weekend Day\'\n\n i18n-recurrenceEditorEndAfter="kendo.scheduler.recurrenceEditorEndAfter|The text similar to \'After\' displayed in the scheduler recurrence editor."\n recurrenceEditorEndAfter=\'After\'\n\n i18n-recurrenceEditorEndOccurrence="kendo.scheduler.recurrenceEditorEndOccurrence|The text similar to \'occurrence(s)\' displayed in the scheduler recurrence editor."\n recurrenceEditorEndOccurrence=\'occurrence(s)\'\n\n i18n-recurrenceEditorEndLabel="kendo.scheduler.recurrenceEditorEndLabel|The text similar to \'End\' displayed in the scheduler recurrence editor."\n recurrenceEditorEndLabel=\'End\'\n\n i18n-recurrenceEditorEndNever="kendo.scheduler.recurrenceEditorEndNever|The text similar to \'Never\' displayed in the scheduler recurrence editor."\n recurrenceEditorEndNever=\'Never\'\n\n i18n-recurrenceEditorEndOn="kendo.scheduler.recurrenceEditorEndOn|The text similar to \'On\' displayed in the scheduler recurrence editor."\n recurrenceEditorEndOn=\'On\'\n\n i18n-destroy="kendo.scheduler.destroy|The text of the \'Delete\' button displayed in the scheduler remove confirmation dialog."\n destroy=\'Delete\'\n\n i18n-deleteConfirmation="kendo.scheduler.deleteConfirmation|The text similar to \'Are you sure you want to delete this event?\' displayed in scheduler remove confirmation dialog."\n deleteConfirmation=\'Are you sure you want to delete this event?\'\n\n i18n-editRecurringConfirmation="kendo.scheduler.editRecurringConfirmation|The text similar to \'Do you want to edit only this event occurrence or the whole series?\' displayed in the scheduler recurring confirmation dialog."\n editRecurringConfirmation=\'Do you want to edit only this event occurrence or the whole series?\'\n\n i18n-editOccurrence="kendo.scheduler.editOccurrence|The text of the \'Edit current occurrence\' button displayed in the scheduler recurring confirmation dialog."\n editOccurrence=\'Edit current occurrence\'\n\n i18n-editSeries="kendo.scheduler.editSeries|The text of the \'Edit the series\' button displayed in the scheduler recurring confirmation dialog."\n editSeries=\'Edit the series\'\n\n i18n-deleteRecurringConfirmation="kendo.scheduler.deleteRecurringConfirmation|The text similar to \'Do you want to delete only this event occurrence or the whole series?\' displayed in the scheduler recurring confirmation dialog."\n deleteRecurringConfirmation=\'Do you want to delete only this event occurrence or the whole series?\'\n\n i18n-deleteOccurrence="kendo.scheduler.deleteOccurrence|The text of the \'Delete current occurrence\' button displayed in the scheduler recurring confirmation dialog."\n deleteOccurrence=\'Delete current occurrence\'\n\n i18n-deleteSeries="kendo.scheduler.deleteSeries|The text similar of the \'Delete the series\' button displayed in the scheduler recurring confirmation dialog."\n deleteSeries=\'Delete the series\'\n\n i18n-deleteDialogTitle="kendo.scheduler.deleteDialogTitle|The title of the remove confirmation dialog, similar to \'Delete Event\'."\n deleteDialogTitle=\'Delete Event\'\n\n i18n-deleteRecurringDialogTitle="kendo.scheduler.deleteRecurringDialogTitle|The title of the recurring remove confirmation dialog, similar to \'Delete Recurring Item\'"\n deleteRecurringDialogTitle=\'Delete Recurring Item\'\n\n i18n-editRecurringDialogTitle="kendo.scheduler.editRecurringDialogTitle|The title of the recurring edit confirmation dialog, similar to \'Edit Recurring Item\'"\n editRecurringDialogTitle=\'Edit Recurring Item\'\n\n i18n-selectView="kendo.scheduler.selectView|The value of the aria-label attribute of the <select> element used for switching the Scheduler views."\n selectView=\'Select View\'\n >\n </ng-container>\n\n <kendo-scheduler-toolbar\n [dateRange]="dateRangeStream"\n [selectedDate]="selectedDateStream"\n [views]="$any(views)"\n [selectedView]="selectedView"\n [template]="toolbarTemplate"\n (navigate)="onNavigationAction($event)"\n [min]="min"\n [max]="max"\n ></kendo-scheduler-toolbar>\n\n <ng-container *ngTemplateOutlet="selectedView?.template">\n </ng-container>\n\n <ng-container #confirmationDialogContainer>\n </ng-container>\n\n <kendo-scheduler-edit-dialog\n [resources]="resources"\n [editTemplate]="editDialogTemplate"\n [timezone]="timezone"\n [weekStart]="weekStart"\n [fields]="modelFields"\n ></kendo-scheduler-edit-dialog>\n\n <kendo-resize-sensor (resize)="onResize()"></kendo-resize-sensor>\n\n <div [loading]="loading" kendoSchedulerLoading>\n </div>\n ',isInline:!0,styles:[".k-scheduler.k-focus { box-shadow: 0 0.5px 0.5px 0.5px rgba(0, 0, 0, .12); }"],components:[{type:D,selector:"kendo-scheduler-toolbar",inputs:["selectedView","views","dateRange","selectedDate","template","min","max"],outputs:["navigate"]},{type:I,selector:"kendo-scheduler-edit-dialog",inputs:["resources","timezone","weekStart","fields","editTemplate"]},{type:Q.ResizeSensorComponent,selector:"kendo-resize-sensor",inputs:["rateLimit"],outputs:["resize"]},{type:ye,selector:"[kendoSchedulerLoading]",inputs:["loading"]}],directives:[{type:_r,selector:"[kendoSchedulerLocalizedMessages]"},{type:c.NgTemplateOutlet,selector:"[ngTemplateOutlet]",inputs:["ngTemplateOutletContext","ngTemplateOutlet"]}],changeDetection:n.ChangeDetectionStrategy.OnPush,encapsulation:n.ViewEncapsulation.None}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Yr,decorators:[{type:h.Component,args:[{changeDetection:h.ChangeDetectionStrategy.OnPush,selector:"kendo-scheduler",providers:[_t,Qt,$t,Kt,v,tn,{provide:P.LocalizationService,useExisting:tn},{provide:P.L10N_PREFIX,useValue:"kendo.scheduler"},st,g,y,k],styles:[".k-scheduler.k-focus { box-shadow: 0 0.5px 0.5px 0.5px rgba(0, 0, 0, .12); }"],encapsulation:h.ViewEncapsulation.None,template:'\n <ng-container kendoSchedulerLocalizedMessages\n i18n-allEvents="kendo.scheduler.allEvents|The All events text displayed in the timeline views when there is no vertical grouping."\n allEvents="All events"\n\n i18n-allDay="kendo.scheduler.allDay|The all day text displayed in the day and week views."\n allDay="all day"\n\n i18n-dateHeader="kendo.scheduler.dateHeader|The date header text displayed in the agenda view."\n dateHeader="Date"\n\n i18n-timeHeader="kendo.scheduler.timeHeader|The time header text displayed in the agenda view."\n timeHeader="Time"\n\n i18n-deleteTitle="kendo.scheduler.deleteTitle|The delete icon title."\n deleteTitle="Delete"\n\n i18n-eventHeader="kendo.scheduler.eventHeader|The event header text displayed in the agenda view."\n eventHeader="Event"\n\n i18n-nextTitle="kendo.scheduler.nextTitle|The title of the navigation next button."\n nextTitle="Next"\n\n i18n-previousTitle="kendo.scheduler.previousTitle|The title of the navigation previous button."\n previousTitle="Previous"\n\n i18n-showFullDay="kendo.scheduler.showFullDay|The text of the show full day button displayed in the footer of the day, week and timeline views."\n showFullDay="Show full day"\n\n i18n-showWorkDay="kendo.scheduler.showWorkDay|The text of the show work day button displayed in the footer of the day, week and timeline views."\n showWorkDay="Show business hours"\n\n i18n-today="kendo.scheduler.today|The today button text displayed in the navigation."\n today="Today"\n\n i18n-calendarToday="kendo.scheduler.calendarToday|The text of today\'s date in the header of the Calendar."\n calendarToday="TODAY"\n\n i18n-dayViewTitle="kendo.scheduler.dayViewTitle|The day view title."\n dayViewTitle="Day"\n\n i18n-multiDayViewTitle="kendo.scheduler.multiDayViewTitle|The multi day view title."\n multiDayViewTitle="Multi-Day"\n\n i18n-weekViewTitle="kendo.scheduler.weekViewTitle|The week view title."\n weekViewTitle="Week"\n\n i18n-workWeekViewTitle="kendo.scheduler.workWeekViewTitle|The work week view title."\n workWeekViewTitle="Work Week"\n\n i18n-monthViewTitle="kendo.scheduler.monthViewTitle|The month view title."\n monthViewTitle="Month"\n\n i18n-timelineViewTitle="kendo.scheduler.timelineViewTitle|The timeline view title."\n timelineViewTitle="Timeline"\n\n i18n-timelineWeekViewTitle="kendo.scheduler.timelineWeekViewTitle|The timeline week view title."\n timelineWeekViewTitle="Timeline Week"\n\n i18n-timelineMonthViewTitle="kendo.scheduler.timelineMonthViewTitle|The timeline month view title."\n timelineMonthViewTitle="Timeline Month"\n\n i18n-agendaViewTitle="kendo.scheduler.agendaViewTitle|The agenda view title."\n agendaViewTitle="Agenda"\n\n i18n-cancel="kendo.scheduler.cancel|The text similar to \'Cancel\' displayed in scheduler."\n cancel="Cancel"\n\n i18n-save="kendo.scheduler.save|The text similar to \'Save\' displayed in scheduler."\n save="Save"\n\n i18n-editorEventTitle="kendo.scheduler.editorEventTitle|The text similar to \'Title\' displayed in the scheduler event editor."\n editorEventTitle=\'Title\'\n\n i18n-editorEventStart="kendo.scheduler.editorEventStart|The text similar to \'Start\' displayed in the scheduler event editor."\n editorEventStart="Start"\n\n i18n-editorEventStartTimeZone="kendo.scheduler.editorEventStartTimeZone|The text similar to \'Start Time Zone\' displayed in the scheduler event editor."\n editorEventStartTimeZone="Start Time Zone"\n\n i18n-editorEventEnd="kendo.scheduler.editorEventEnd|The text similar to \'End\' displayed in the scheduler event editor."\n editorEventEnd="End"\n\n i18n-editorEventEndTimeZone="kendo.scheduler.editorEventEndTimeZone|The text similar to \'End Time Zone\' displayed in the scheduler event editor."\n editorEventEndTimeZone="End Time Zone"\n\n i18n-editorEventAllDay="kendo.scheduler.editorEventAllDay|The text similar to \'All Day event\' displayed in the scheduler event editor."\n editorEventAllDay="All Day Event"\n\n i18n-editorEventDescription="kendo.scheduler.editorEventDescription|The text similar to \'Description\' displayed in the scheduler event editor."\n editorEventDescription="Description"\n\n i18n-editorEventSeparateTimeZones="kendo.scheduler.editorEventSeparateTimeZones|The text similar to \'Use separate Start and End Time Zones\' displayed in the scheduler event editor."\n editorEventSeparateTimeZones="End in different Time Zone"\n\n i18n-editorEventTimeZone="kendo.scheduler.editorEventTimeZone|The text similar to \'Time Zone\' displayed in the scheduler event editor."\n editorEventTimeZone=\'Specify Time Zone\'\n\n i18n-editorTitle="kendo.scheduler.editorTitle|The text similar to \'Event\' displayed as title of the scheduler event editor."\n editorTitle=\'Event\'\n\n i18n-recurrenceEditorRepeat="kendo.scheduler.recurrenceEditorRepeat|The text similar to \'Repeat\' displayed in the scheduler recurrence editor."\n recurrenceEditorRepeat=\'Repeat\'\n\n i18n-recurrenceEditorDailyInterval="kendo.scheduler.recurrenceEditorDailyInterval|The text similar to \'day(s)\' displayed in the scheduler recurrence editor."\n recurrenceEditorDailyInterval=\'day(s)\'\n\n i18n-recurrenceEditorDailyRepeatEvery="kendo.scheduler.recurrenceEditorDailyRepeatEvery|The text similar to \'Repeat every\' displayed in the scheduler recurrence editor."\n recurrenceEditorDailyRepeatEvery=\'Repeat every\'\n\n i18n-recurrenceEditorWeeklyInterval="kendo.scheduler.recurrenceEditorWeeklyInterval|The text similar to \'week(s)\' displayed in the scheduler recurrence editor."\n recurrenceEditorWeeklyInterval=\'week(s)\'\n\n i18n-recurrenceEditorWeeklyRepeatEvery="kendo.scheduler.recurrenceEditorWeeklyRepeatEvery|The text similar to \'Repeat every\' displayed in the scheduler recurrence editor."\n recurrenceEditorWeeklyRepeatEvery=\'Repeat every\'\n\n i18n-recurrenceEditorWeeklyRepeatOn="kendo.scheduler.recurrenceEditorWeeklyRepeatOn|The text similar to \'Repeat on\' displayed in the scheduler recurrence editor."\n recurrenceEditorWeeklyRepeatOn=\'Repeat on\'\n\n i18n-recurrenceEditorMonthlyDay="kendo.scheduler.recurrenceEditorMonthlyDay|The text similar to \'Day\' displayed in the scheduler recurrence editor."\n recurrenceEditorMonthlyDay=\'Day\'\n\n i18n-recurrenceEditorMonthlyInterval="kendo.scheduler.recurrenceEditorMonthlyInterval|The text similar to \'month(s)\' displayed in the scheduler recurrence editor."\n recurrenceEditorMonthlyInterval=\'month(s)\'\n\n i18n-recurrenceEditorMonthlyRepeatEvery="kendo.scheduler.recurrenceEditorMonthlyRepeatEvery|The text similar to \'Repeat every\' displayed in the scheduler recurrence editor."\n recurrenceEditorMonthlyRepeatEvery=\'Repeat every\'\n\n i18n-recurrenceEditorMonthlyRepeatOn="kendo.scheduler.recurrenceEditorMonthlyRepeatOn|The text similar to \'Repeat on\' displayed in the scheduler recurrence editor."\n recurrenceEditorMonthlyRepeatOn=\'Repeat on\'\n\n i18n-recurrenceEditorYearlyOf="kendo.scheduler.recurrenceEditorYearlyOf|The text similar to \'of\' displayed in the scheduler recurrence editor."\n recurrenceEditorYearlyOf=\'of\'\n\n i18n-recurrenceEditorYearlyRepeatEvery="kendo.scheduler.recurrenceEditorYearlyRepeatEvery|The text similar to \'Repeat every\' displayed in the scheduler recurrence editor."\n recurrenceEditorYearlyRepeatEvery=\'Repeat every\'\n\n i18n-recurrenceEditorYearlyRepeatOn="kendo.scheduler.recurrenceEditorYearlyRepeatOn|The text similar to \'Repeat on\' displayed in the scheduler recurrence editor."\n recurrenceEditorYearlyRepeatOn=\'Repeat on\'\n\n i18n-recurrenceEditorYearlyInterval="kendo.scheduler.recurrenceEditorYearlyInterval|The text similar to \'year(s)\' displayed in the scheduler recurrence editor."\n recurrenceEditorYearlyInterval=\'year(s)\'\n\n i18n-recurrenceEditorFrequenciesDaily="kendo.scheduler.recurrenceEditorFrequenciesDaily|The text similar to \'Daily\' displayed in the scheduler recurrence editor."\n recurrenceEditorFrequenciesDaily=\'Daily\'\n\n i18n-recurrenceEditorFrequenciesMonthly="kendo.scheduler.recurrenceEditorFrequenciesMonthly|The text similar to \'Monthly\' displayed in the scheduler recurrence editor."\n recurrenceEditorFrequenciesMonthly=\'Monthly\'\n\n i18n-recurrenceEditorFrequenciesNever="kendo.scheduler.recurrenceEditorFrequenciesNever|The text similar to \'Never\' displayed in the scheduler recurrence editor."\n recurrenceEditorFrequenciesNever=\'Never\'\n\n i18n-recurrenceEditorFrequenciesWeekly="kendo.scheduler.recurrenceEditorFrequenciesWeekly|The text similar to \'Weekly\' displayed in the scheduler recurrence editor."\n recurrenceEditorFrequenciesWeekly=\'Weekly\'\n\n i18n-recurrenceEditorFrequenciesYearly="kendo.scheduler.recurrenceEditorFrequenciesYearly|The text similar to \'Yearly\' displayed in the scheduler recurrence editor."\n recurrenceEditorFrequenciesYearly=\'Yearly\'\n\n i18n-recurrenceEditorOffsetPositionsFirst="kendo.scheduler.recurrenceEditorOffsetPositionsFirst|The text similar to \'First\' displayed in the scheduler recurrence editor."\n recurrenceEditorOffsetPositionsFirst=\'First\'\n\n i18n-recurrenceEditorOffsetPositionsSecond="kendo.scheduler.recurrenceEditorOffsetPositionsSecond|The text similar to \'Second\' displayed in the scheduler recurrence editor."\n recurrenceEditorOffsetPositionsSecond=\'Second\'\n\n i18n-recurrenceEditorOffsetPositionsThird="kendo.scheduler.recurrenceEditorOffsetPositionsThird|The text similar to \'Third\' displayed in the scheduler recurrence editor."\n recurrenceEditorOffsetPositionsThird=\'Third\'\n\n i18n-recurrenceEditorOffsetPositionsFourth="kendo.scheduler.recurrenceEditorOffsetPositionsFourth|The text similar to \'Fourth\' displayed in the scheduler recurrence editor."\n recurrenceEditorOffsetPositionsFourth=\'Fourth\'\n\n i18n-recurrenceEditorOffsetPositionsLast="kendo.scheduler.recurrenceEditorOffsetPositionsLast|The text similar to \'Last\' displayed in the scheduler recurrence editor."\n recurrenceEditorOffsetPositionsLast=\'Last\'\n\n i18n-recurrenceEditorWeekdaysDay="kendo.scheduler.recurrenceEditorWeekdaysDay|The text similar to \'Day\' displayed in the repeat by section of the monthly recurrence pattern."\n recurrenceEditorWeekdaysDay=\'Day\'\n\n i18n-recurrenceEditorWeekdaysWeekday="kendo.scheduler.recurrenceEditorWeekdaysWeekday|The text similar to \'Weekday\' displayed in the repeat by section of the monthly recurrence pattern."\n recurrenceEditorWeekdaysWeekday=\'Weekday\'\n\n i18n-recurrenceEditorWeekdaysWeekendday="kendo.scheduler.recurrenceEditorWeekdaysWeekendday|The text similar to \'Weekend Day\' displayed in the repeat by section of the monthly recurrence pattern."\n recurrenceEditorWeekdaysWeekendday=\'Weekend Day\'\n\n i18n-recurrenceEditorEndAfter="kendo.scheduler.recurrenceEditorEndAfter|The text similar to \'After\' displayed in the scheduler recurrence editor."\n recurrenceEditorEndAfter=\'After\'\n\n i18n-recurrenceEditorEndOccurrence="kendo.scheduler.recurrenceEditorEndOccurrence|The text similar to \'occurrence(s)\' displayed in the scheduler recurrence editor."\n recurrenceEditorEndOccurrence=\'occurrence(s)\'\n\n i18n-recurrenceEditorEndLabel="kendo.scheduler.recurrenceEditorEndLabel|The text similar to \'End\' displayed in the scheduler recurrence editor."\n recurrenceEditorEndLabel=\'End\'\n\n i18n-recurrenceEditorEndNever="kendo.scheduler.recurrenceEditorEndNever|The text similar to \'Never\' displayed in the scheduler recurrence editor."\n recurrenceEditorEndNever=\'Never\'\n\n i18n-recurrenceEditorEndOn="kendo.scheduler.recurrenceEditorEndOn|The text similar to \'On\' displayed in the scheduler recurrence editor."\n recurrenceEditorEndOn=\'On\'\n\n i18n-destroy="kendo.scheduler.destroy|The text of the \'Delete\' button displayed in the scheduler remove confirmation dialog."\n destroy=\'Delete\'\n\n i18n-deleteConfirmation="kendo.scheduler.deleteConfirmation|The text similar to \'Are you sure you want to delete this event?\' displayed in scheduler remove confirmation dialog."\n deleteConfirmation=\'Are you sure you want to delete this event?\'\n\n i18n-editRecurringConfirmation="kendo.scheduler.editRecurringConfirmation|The text similar to \'Do you want to edit only this event occurrence or the whole series?\' displayed in the scheduler recurring confirmation dialog."\n editRecurringConfirmation=\'Do you want to edit only this event occurrence or the whole series?\'\n\n i18n-editOccurrence="kendo.scheduler.editOccurrence|The text of the \'Edit current occurrence\' button displayed in the scheduler recurring confirmation dialog."\n editOccurrence=\'Edit current occurrence\'\n\n i18n-editSeries="kendo.scheduler.editSeries|The text of the \'Edit the series\' button displayed in the scheduler recurring confirmation dialog."\n editSeries=\'Edit the series\'\n\n i18n-deleteRecurringConfirmation="kendo.scheduler.deleteRecurringConfirmation|The text similar to \'Do you want to delete only this event occurrence or the whole series?\' displayed in the scheduler recurring confirmation dialog."\n deleteRecurringConfirmation=\'Do you want to delete only this event occurrence or the whole series?\'\n\n i18n-deleteOccurrence="kendo.scheduler.deleteOccurrence|The text of the \'Delete current occurrence\' button displayed in the scheduler recurring confirmation dialog."\n deleteOccurrence=\'Delete current occurrence\'\n\n i18n-deleteSeries="kendo.scheduler.deleteSeries|The text similar of the \'Delete the series\' button displayed in the scheduler recurring confirmation dialog."\n deleteSeries=\'Delete the series\'\n\n i18n-deleteDialogTitle="kendo.scheduler.deleteDialogTitle|The title of the remove confirmation dialog, similar to \'Delete Event\'."\n deleteDialogTitle=\'Delete Event\'\n\n i18n-deleteRecurringDialogTitle="kendo.scheduler.deleteRecurringDialogTitle|The title of the recurring remove confirmation dialog, similar to \'Delete Recurring Item\'"\n deleteRecurringDialogTitle=\'Delete Recurring Item\'\n\n i18n-editRecurringDialogTitle="kendo.scheduler.editRecurringDialogTitle|The title of the recurring edit confirmation dialog, similar to \'Edit Recurring Item\'"\n editRecurringDialogTitle=\'Edit Recurring Item\'\n\n i18n-selectView="kendo.scheduler.selectView|The value of the aria-label attribute of the <select> element used for switching the Scheduler views."\n selectView=\'Select View\'\n >\n </ng-container>\n\n <kendo-scheduler-toolbar\n [dateRange]="dateRangeStream"\n [selectedDate]="selectedDateStream"\n [views]="$any(views)"\n [selectedView]="selectedView"\n [template]="toolbarTemplate"\n (navigate)="onNavigationAction($event)"\n [min]="min"\n [max]="max"\n ></kendo-scheduler-toolbar>\n\n <ng-container *ngTemplateOutlet="selectedView?.template">\n </ng-container>\n\n <ng-container #confirmationDialogContainer>\n </ng-container>\n\n <kendo-scheduler-edit-dialog\n [resources]="resources"\n [editTemplate]="editDialogTemplate"\n [timezone]="timezone"\n [weekStart]="weekStart"\n [fields]="modelFields"\n ></kendo-scheduler-edit-dialog>\n\n <kendo-resize-sensor (resize)="onResize()"></kendo-resize-sensor>\n\n <div [loading]="loading" kendoSchedulerLoading>\n </div>\n '}]}],ctorParameters:function(){return[{type:n.ElementRef},{type:g},{type:y},{type:_t},{type:Qt},{type:o.IntlService},{type:n.ChangeDetectorRef},{type:n.NgZone},{type:k},{type:r.LocalizationService},{type:$t},{type:n.Renderer2},{type:v}]},propDecorators:{hostClasses:[{type:h.HostBinding,args:["class.k-widget"]},{type:h.HostBinding,args:["class.k-scheduler"]},{type:h.HostBinding,args:["class.k-floatwrap"]}],ariaRole:[{type:h.HostBinding,args:["attr.role"]}],rtl:[{type:h.HostBinding,args:["class.k-rtl"]}],dir:[{type:h.HostBinding,args:["attr.dir"]}],selectedViewIndex:[{type:h.Input}],editable:[{type:h.Input}],selectable:[{type:h.Input}],min:[{type:h.Input}],max:[{type:h.Input}],eventHeight:[{type:h.Input}],columnWidth:[{type:h.Input}],showWorkHours:[{type:h.Input}],startTime:[{type:h.Input}],endTime:[{type:h.Input}],workDayStart:[{type:h.Input}],workDayEnd:[{type:h.Input}],workWeekStart:[{type:h.Input}],workWeekEnd:[{type:h.Input}],weekStart:[{type:h.Input}],slotDuration:[{type:h.Input}],slotDivisions:[{type:h.Input}],slotFill:[{type:h.Input}],scrollTime:[{type:h.Input}],group:[{type:h.Input}],resources:[{type:h.Input}],loading:[{type:h.Input}],timezone:[{type:h.Input}],events:[{type:h.Input}],selectedDate:[{type:h.Input}],modelFields:[{type:h.Input}],currentTimeMarker:[{type:h.Input}],highlightOngoingEvents:[{type:h.Input}],slotClass:[{type:h.Input}],eventClass:[{type:h.Input}],eventStyles:[{type:h.Input}],isSlotSelected:[{type:h.Input}],selectedViewIndexChange:[{type:h.Output}],navigate:[{type:h.Output}],dateChange:[{type:h.Output}],slotClick:[{type:h.Output}],slotDblClick:[{type:h.Output}],create:[{type:h.Output}],eventClick:[{type:h.Output}],eventDblClick:[{type:h.Output}],eventKeydown:[{type:h.Output}],cancel:[{type:h.Output}],save:[{type:h.Output}],remove:[{type:h.Output}],resizeStart:[{type:h.Output}],resize:[{type:h.Output}],resizeEnd:[{type:h.Output}],dragStart:[{type:h.Output}],drag:[{type:h.Output}],dragEnd:[{type:h.Output}],slotDragStart:[{type:h.Output}],slotDrag:[{type:h.Output}],slotDragEnd:[{type:h.Output}],pdfExport:[{type:h.Output}],editDialogTemplate:[{type:h.ContentChild,args:[Yt,{static:!1}]}],toolbarTemplate:[{type:h.ContentChild,args:[at,{static:!1}]}],views:[{type:h.ContentChildren,args:[ct]}],resizeSensor:[{type:h.ViewChild,args:[l.ResizeSensorComponent,{static:!0}]}],confirmationDialogContainerRef:[{type:h.ViewChild,args:["confirmationDialogContainer",{read:h.ViewContainerRef,static:!0}]}],loadingComponent:[{type:h.ViewChild,args:[ye,{static:!0}]}],allDayEventTemplate:[{type:h.ContentChildren,args:[ht]}],eventTemplate:[{type:h.ContentChildren,args:[yt]}],timeSlotTemplate:[{type:h.ContentChildren,args:[Tt]}],minorTimeHeaderTemplate:[{type:h.ContentChildren,args:[kt]}],majorTimeHeaderTemplate:[{type:h.ContentChildren,args:[vt]}],monthDaySlotTemplate:[{type:h.ContentChildren,args:[Dt]}],dateHeaderTemplate:[{type:h.ContentChildren,args:[gt]}],allDaySlotTemplate:[{type:h.ContentChildren,args:[mt]}],groupHeaderTemplate:[{type:h.ContentChildren,args:[ft]}],agendaDateTemplate:[{type:h.ContentChildren,args:[m]}],agendaTimeTemplate:[{type:h.ContentChildren,args:[pt]}]}});Object.defineProperty(Kr.prototype,"data",{set:function(e){this.originalData=e||[],this.localDataChangesService&&(this.localDataChangesService.data=e),this.scheduler.events=this.process()},enumerable:!1,configurable:!0}),Kr.prototype.ngOnInit=function(){var t=this;this.subscription=this.scheduler.dateChange.subscribe(function(e){return t.onDateChange(e)})},Kr.prototype.ngOnDestroy=function(){this.subscription&&this.subscription.unsubscribe(),this.dataChangedSubscription&&this.dataChangedSubscription.unsubscribe()},Kr.prototype.rebind=function(){this.data=this.originalData,this.changeDetector.markForCheck()},Kr.prototype.process=function(){var s,l,c=this;return this.dateRange?(s=[],l=this.scheduler.modelFields,this.originalData.forEach(function(e){var n,r,t,i,o,a;x(e,l.recurrenceRule)?(n=e,r=l,t=c.dateRange,i=c.scheduler.timezone,o=c.scheduler.weekStart,(o=G.parseRule({recurrenceRule:x(n,r.recurrenceRule),weekStart:o})).start||(a=x(n,r.start),o.start=b.ZonedDate.fromLocalDate(a,i)),o.end||(a=x(n,r.end),o.end=b.ZonedDate.fromLocalDate(a,i)),(a=x(n,r.recurrenceExceptions))&&(o.exceptionDates=a.map(function(e){return b.ZonedDate.fromLocalDate(e,i)})),a=Sn(t.start),t=Sn(t.end),t=(o=G.expand(o,{rangeStart:b.ZonedDate.fromUTCDate(a,i),rangeEnd:b.ZonedDate.fromUTCDate(t,i)})).events.length?(a=o.events.map(function(e){var t=jt(n);return zt(t,r.id,0),zt(t,r.recurrenceId,x(n,r.id)),zt(t,r.start,e.start.toLocalDate()),zt(t,r.end,e.end.toLocalDate()),t}),le([n],se(a))):[],s.push.apply(s,le([],se(t)))):s.push(e)}),s):[]},Kr.prototype.onDateChange=function(e){this.dateRange=e.dateRange,this.rebind()};J=Kr;function Kr(e,t,n,r){this.scheduler=e,this.changeDetector=t,this.intl=n,this.localDataChangesService=r,this.originalData=[],r&&(this.dataChangedSubscription=this.localDataChangesService.changes.subscribe(this.rebind.bind(this)))}J.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:J,deps:[{token:Yr},{token:n.ChangeDetectorRef},{token:o.IntlService},{token:Kt}],target:n.ɵɵFactoryTarget.Directive}),J.ɵdir=n.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:J,selector:"[kendoSchedulerBinding]",inputs:{data:["kendoSchedulerBinding","data"]},ngImport:n}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:J,decorators:[{type:h.Directive,args:[{selector:"[kendoSchedulerBinding]"}]}],ctorParameters:function(){return[{type:Yr},{type:n.ChangeDetectorRef},{type:o.IntlService},{type:Kt}]},propDecorators:{data:[{type:h.Input,args:["kendoSchedulerBinding"]}]}});p(Qr,$r=Br),Object.defineProperty(Qr.prototype,"override",{get:function(){return!0},enumerable:!1,configurable:!0});var $r,Xr=Qr;function Qr(e){var t=$r.call(this)||this;return t.service=e,t}Xr.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Xr,deps:[{token:r.LocalizationService}],target:n.ɵɵFactoryTarget.Component}),Xr.ɵcmp=n.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:Xr,selector:"kendo-scheduler-messages",providers:[{provide:Br,useExisting:h.forwardRef(function(){return Xr})}],usesInheritance:!0,ngImport:n,template:"",isInline:!0}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Xr,decorators:[{type:h.Component,args:[{providers:[{provide:Br,useExisting:h.forwardRef(function(){return Xr})}],selector:"kendo-scheduler-messages",template:""}]}],ctorParameters:function(){return[{type:r.LocalizationService}]}});ei.prototype.transform=function(e){for(var t=1;t<arguments.length;t++)t-1,0;return e.sort(function(e,t){return e.startTime.getTime()-t.startTime.getTime()})};var Jr=ei;function ei(){}Jr.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Jr,deps:[],target:n.ɵɵFactoryTarget.Pipe}),Jr.ɵpipe=n.ɵɵngDeclarePipe({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Jr,name:"sort"}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Jr,decorators:[{type:h.Pipe,args:[{name:"sort"}]}]});ti.exports=function(){return[dn,Jr]};d=ti;function ti(){}d.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:d,deps:[],target:n.ɵɵFactoryTarget.NgModule}),d.ɵmod=n.ɵɵngDeclareNgModule({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:d,declarations:[dn,Jr],exports:[dn,Jr]}),d.ɵinj=n.ɵɵngDeclareInjector({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:d}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:d,decorators:[{type:h.NgModule,args:[{declarations:[dn,Jr],exports:[dn,Jr]}]}]});function ni(e){return null}var ri,Br=[Yn,at,$n],ii=function(){},t=(ii.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:ii,deps:[],target:n.ɵɵFactoryTarget.NgModule}),ii.ɵmod=n.ɵɵngDeclareNgModule({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:ii,declarations:[D,Yn,at,$n],imports:[q.CommonModule,L.ButtonsModule,A.CalendarModule,t.PopupModule,l.EventsModule,d],exports:[D,Yn,at,$n]}),ii.ɵinj=n.ɵɵngDeclareInjector({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:ii,imports:[[q.CommonModule,L.ButtonsModule,A.CalendarModule,t.PopupModule,l.EventsModule,d]]}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:ii,decorators:[{type:h.NgModule,args:[{imports:[q.CommonModule,L.ButtonsModule,A.CalendarModule,t.PopupModule,l.EventsModule,d],exports:le([D],se(Br)),declarations:le([D],se(Br))}]}]}),p(oi,ri=ct),Object.defineProperty(oi.prototype,"viewSlotClass",{get:function(){return f(this.slotClass)?this.slotClass:this.schedulerOptions.slotClass||ni},enumerable:!1,configurable:!0}),Object.defineProperty(oi.prototype,"viewEventClass",{get:function(){return(f(this.eventClass)?this:this.schedulerOptions).eventClass},enumerable:!1,configurable:!0}),Object.defineProperty(oi.prototype,"viewEventStyles",{get:function(){return(f(this.eventStyles)?this:this.schedulerOptions).eventStyles},enumerable:!1,configurable:!0}),Object.defineProperty(oi.prototype,"viewHighlightOngoingEvents",{get:function(){return(f(this.highlightOngoingEvents)?this:this.schedulerOptions).highlightOngoingEvents},enumerable:!1,configurable:!0}),Object.defineProperty(oi.prototype,"viewWeekStart",{get:function(){return this.schedulerOptions.weekStart},enumerable:!1,configurable:!0}),oi.prototype.ngOnChanges=function(e){this.viewState.notifyOptionsChange()},oi.prototype.ngOnDestroy=function(){this.subs.unsubscribe()},oi.prototype.optionsChange=function(e){this.schedulerOptions=e},oi);function oi(e,t,n,r){var i=ri.call(this)||this;return i.localization=e,i.changeDetector=t,i.viewContext=n,i.viewState=r,i.schedulerOptions={},i.subs=i.localization.changes.subscribe(function(){t.markForCheck()}),i.subs.add(i.viewContext.optionsChange.subscribe(i.optionsChange.bind(i))),i}t.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:t,deps:[{token:r.LocalizationService},{token:n.ChangeDetectorRef},{token:g},{token:y}],target:n.ɵɵFactoryTarget.Directive}),t.ɵdir=n.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:t,inputs:{slotClass:"slotClass",eventClass:"eventClass",eventStyles:"eventStyles",highlightOngoingEvents:"highlightOngoingEvents"},queries:[{propertyName:"eventTemplate",first:!0,predicate:yt,descendants:!0},{propertyName:"groupHeaderTemplate",first:!0,predicate:ft,descendants:!0}],viewQueries:[{propertyName:"template",first:!0,predicate:["content"],descendants:!0,static:!0}],usesInheritance:!0,usesOnChanges:!0,ngImport:n}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:t,decorators:[{type:h.Directive}],ctorParameters:function(){return[{type:r.LocalizationService},{type:n.ChangeDetectorRef},{type:g},{type:y}]},propDecorators:{slotClass:[{type:h.Input}],eventClass:[{type:h.Input}],eventStyles:[{type:h.Input}],highlightOngoingEvents:[{type:h.Input}],template:[{type:h.ViewChild,args:["content",{static:!0}]}],eventTemplate:[{type:h.ContentChild,args:[yt,{static:!1}]}],groupHeaderTemplate:[{type:h.ContentChild,args:[ft,{static:!1}]}]}});function ai(n){return function(t){return function(e){return n(e,t)}}}var si=ai(U.orderBy),li=ai(U.groupBy),ci=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return function(e){return t.reduceRight(function(e,t){return t(e)},e)}};ui.prototype[Lt]=function(){return{next:function(){return{done:!0,value:null}}}},ui.prototype.toString=function(){return"Empty Iterator"};var di=ui;function ui(){}var pi=0,hi=(mi.empty=function(){return new di},mi.prototype[Lt]=function(){return this.createIterator(this.events)},mi.prototype.itemAt=function(e){var t,n,r=this.createIterator(this.events),i=0;do{if((n=r.next())&&i===e)return"group"===(t=n.value).type?t.dataItem.items[0]:t.dataItem}while(i++,n)},mi.prototype.toString=function(){return this.events.toString()},mi);function mi(e,t,n){var o;this.start=e,this.end=t,this.events=n,this.createIterator=ci(function(t){var n,r,i;return ae(this,function(e){switch(e.label){case 0:n=0,e.label=1;case 1:return n<t.length?[4,{type:"group",dataItem:r=t[n],rowSpan:r.items.length,elementId:"k-scheduler-"+o.counter+"-"+n}]:[3,7];case 2:e.sent(),i=1,e.label=3;case 3:return i<r.items.length?[4,{type:"event",dataItem:r.items[i],elementId:"k-scheduler-"+o.counter+"-"+n+"-item-"+i}]:[3,6];case 4:e.sent(),e.label=5;case 5:return i++,[3,3];case 6:return n++,[3,1];case 7:return[2]}})},((o=this).start,this.end,ci(li([{field:"startDate"}]),si([{field:"start",dir:"asc"},{field:"end",dir:"asc"}])))),this.counter=pi,pi++}function gi(e){var t=e.start,n=e.end,n=(e=void 0!==(e=e.isAllDay)&&e)?wn(n):n,n=Math.ceil((n-+wn(t))/b.MS_PER_DAY);return e?n+1:n}function yi(n){var r=n.length;return function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return r===e.length?n.apply(null,e):yi(n.bind.apply(n,le([null],se(e))))}}function fi(e,t){return n=gi(e)-1,Array.from(new Array(n).keys()).reduce((i=e,o=t,function(e,t,n,r){return e.concat(ci(Ti,vi(ki(o,e),i.end),Di(n===r.length-1))(i))}),[]);var i,o,n}var vi=function(t,n){return function(e){return Object.assign(Object.assign({},e),{start:wn(t),end:e.tail&&!e.isAllDay?n:Tn(t,1),startDate:wn(t)})}},ki=function(e,t){return t.length?t[t.length-1].end:e},Di=function(t){return function(e){return t&&(e.tail=!0),e}},Ti=function(e){return e.tail||(e.mid=!0),e},Ii=yi(function(t,n,e){for(var r=[],i=0;i<e.length;i++){var o=Object.assign({},e[i]);o.startDate=wn(o.start),o.start>=t&&o.start<=n&&r.push(o),1<gi(o)&&(o.end=Tn(o.startDate,1),o.head=!0,r.push.apply(r,le([],se(fi(Object.assign({},e[i]),o.end).filter(function(e){return wn(e.end)<=n&&e.start>=t})))))}return r});function bi(e,t){for(var n,r,i,o,a=t.taskResources,s=t.resourceGroups,l=t.spans,c=t.allResources,t=t.dateRange,d=s||[{}],u=bn(t.start),p=bn(t.end),h=0;h<e.length;h++){var m=e[h],g=m.event;if(fn(m.start.toUTCDate(),m.end.toUTCDate(),u,p)){var y=Fn(g,{taskResources:a,hasGroups:s&&0<s.length,spans:l,allResources:c});if(y.length&&0<=y[0].leafIdx)for(var f=0;f<y.length;f++){var v=y[f],k=(k=m,n=v.leafIdx,r=v.resources,i=v.color,o=void 0,{event:o=k.event,start:k.start.toUTCDate(),end:k.end.toUTCDate(),title:o.title,isAllDay:o.isAllDay,color:i,resourceIdx:n,resources:r});(d[v.leafIdx].tasks=d[v.leafIdx].tasks||[]).push(k)}}}if(s){var D=a,T=d.filter(function(e){return e.tasks&&e.tasks.length});if(!T.length)return[];for(var I=T[0].resources.map(function(e){return{value:e,span:0,groupIdx:0}}),b=bn(t.start),w=bn(t.end),S=0;S<T.length;S++)for(var x=T[S],C=(x.tasks=Ii(b,w,x.tasks),x.tasks.length),E=(x.tasks=new hi(b,w,x.tasks),!1),R=0;R<D.length;R++){var O,F=I[R];F.value!==x.resources[R]||E?(F.value=x.resources[R],(O=T[F.groupIdx]).spans=O.spans||[],O.spans[R]=F.span,F.span=C,F.groupIdx=S,E=!0):F.span+=C}return I.forEach(function(e,t){var n=T[e.groupIdx];n.spans=n.spans||[],n.spans[t]=e.span}),T}return d[0].tasks=new hi(u,p,Ii(u,p,d[0].tasks||[])),d}Object.defineProperty(wi.prototype,"dateMessage",{get:function(){return this.localization.get("dateHeader")},enumerable:!1,configurable:!0}),Object.defineProperty(wi.prototype,"timeMessage",{get:function(){return this.localization.get("timeHeader")},enumerable:!1,configurable:!0}),Object.defineProperty(wi.prototype,"eventMessage",{get:function(){return this.localization.get("eventHeader")},enumerable:!1,configurable:!0});D=wi;function wi(e){this.localization=e,this.classes=!0}D.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:D,deps:[{token:r.LocalizationService}],target:n.ɵɵFactoryTarget.Component}),D.ɵcmp=n.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:D,selector:"[kendoSchedulerAgendaHeader]",inputs:{resources:"resources"},host:{properties:{"class.k-scheduler-header":"this.classes","class.k-state-default":"this.classes"}},ngImport:n,template:'\n <div class="k-scheduler-header-wrap">\n <table class="k-scheduler-table" role="none">\n <tbody role="rowgroup">\n <tr role="row">\n <th *ngFor="let resource of resources" class="k-scheduler-groupcolumn" role="columnheader"></th>\n <th class="k-scheduler-datecolumn" role="columnheader">{{ dateMessage }}</th>\n <th class="k-scheduler-timecolumn" role="columnheader">{{ timeMessage }}</th>\n <th role="columnheader">{{ eventMessage }}</th>\n </tr>\n </tbody>\n </table>\n </div>\n ',isInline:!0,directives:[{type:c.NgForOf,selector:"[ngFor][ngForOf]",inputs:["ngForOf","ngForTrackBy","ngForTemplate"]}],changeDetection:n.ChangeDetectionStrategy.OnPush}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:D,decorators:[{type:h.Component,args:[{changeDetection:h.ChangeDetectionStrategy.OnPush,selector:"[kendoSchedulerAgendaHeader]",template:'\n <div class="k-scheduler-header-wrap">\n <table class="k-scheduler-table" role="none">\n <tbody role="rowgroup">\n <tr role="row">\n <th *ngFor="let resource of resources" class="k-scheduler-groupcolumn" role="columnheader"></th>\n <th class="k-scheduler-datecolumn" role="columnheader">{{ dateMessage }}</th>\n <th class="k-scheduler-timecolumn" role="columnheader">{{ timeMessage }}</th>\n <th role="columnheader">{{ eventMessage }}</th>\n </tr>\n </tbody>\n </table>\n </div>\n '}]}],ctorParameters:function(){return[{type:r.LocalizationService}]},propDecorators:{classes:[{type:h.HostBinding,args:["class.k-scheduler-header"]},{type:h.HostBinding,args:["class.k-state-default"]}],resources:[{type:h.Input}]}});Object.defineProperty(Si.prototype,"rowSpan",{get:function(){return this.item.rowSpan},enumerable:!1,configurable:!0}),Object.defineProperty(Si.prototype,"itemDate",{get:function(){return b.toLocalDate(this.item.dataItem.value)},enumerable:!1,configurable:!0});var C=Si;function Si(){this.classes=!0,this.roleAttribute="rowheader"}C.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:C,deps:[],target:n.ɵɵFactoryTarget.Component}),C.ɵcmp=n.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:C,selector:"[kendoSchedulerAgendaHeaderItem]",inputs:{item:["kendoSchedulerAgendaHeaderItem","item"],agendaDateTemplate:"agendaDateTemplate"},host:{properties:{"class.k-scheduler-datecolumn":"this.classes","attr.role":"this.roleAttribute","attr.rowspan":"this.rowSpan"}},ngImport:n,template:'\n <ng-container *ngIf="!agendaDateTemplate">\n <strong class="k-scheduler-agendaday">{{itemDate | kendoDate: \'dd\'}}</strong>\n <em class="k-scheduler-agendaweek">{{itemDate | kendoDate: \'EEEE\'}}</em>\n <span class="k-scheduler-agendadate">{{itemDate | kendoDate: \'y\'}}</span>\n </ng-container>\n <ng-container *ngIf="agendaDateTemplate" [ngTemplateOutlet]="agendaDateTemplate"\n [ngTemplateOutletContext]="{ date: itemDate }">\n </ng-container>\n ',isInline:!0,directives:[{type:c.NgIf,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]},{type:c.NgTemplateOutlet,selector:"[ngTemplateOutlet]",inputs:["ngTemplateOutletContext","ngTemplateOutlet"]}],pipes:{kendoDate:o.DatePipe},changeDetection:n.ChangeDetectionStrategy.OnPush}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:C,decorators:[{type:h.Component,args:[{changeDetection:h.ChangeDetectionStrategy.OnPush,selector:"[kendoSchedulerAgendaHeaderItem]",template:'\n <ng-container *ngIf="!agendaDateTemplate">\n <strong class="k-scheduler-agendaday">{{itemDate | kendoDate: \'dd\'}}</strong>\n <em class="k-scheduler-agendaweek">{{itemDate | kendoDate: \'EEEE\'}}</em>\n <span class="k-scheduler-agendadate">{{itemDate | kendoDate: \'y\'}}</span>\n </ng-container>\n <ng-container *ngIf="agendaDateTemplate" [ngTemplateOutlet]="agendaDateTemplate"\n [ngTemplateOutletContext]="{ date: itemDate }">\n </ng-container>\n '}]}],propDecorators:{classes:[{type:h.HostBinding,args:["class.k-scheduler-datecolumn"]}],roleAttribute:[{type:h.HostBinding,args:["attr.role"]}],rowSpan:[{type:h.HostBinding,args:["attr.rowspan"]}],item:[{type:h.Input,args:["kendoSchedulerAgendaHeaderItem"]}],agendaDateTemplate:[{type:h.Input}]}});Object.defineProperty(Ci.prototype,"eventTitle",{get:function(){return Gn(b.toLocalDate(this.item.start),b.toLocalDate(this.item.end),this.item.isAllDay,this.localeId)+", "+this.item.event.title},enumerable:!1,configurable:!0}),Object.defineProperty(Ci.prototype,"eventColor",{get:function(){return this.item.color},enumerable:!1,configurable:!0}),Object.defineProperty(Ci.prototype,"deleteMessage",{get:function(){return this.localization.get("deleteTitle")},enumerable:!1,configurable:!0}),Object.defineProperty(Ci.prototype,"isRecurrence",{get:function(){return Pn(this.item)},enumerable:!1,configurable:!0}),Object.defineProperty(Ci.prototype,"isRecurrenceException",{get:function(){return zn(this.item)},enumerable:!1,configurable:!0}),Object.defineProperty(Ci.prototype,"removable",{get:function(){return this.editable&&!1!==this.editable.remove},enumerable:!1,configurable:!0});var xi=Ci;function Ci(e,t){this.localization=e,this.localeId=t}xi.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:xi,deps:[{token:r.LocalizationService},{token:h.LOCALE_ID}],target:n.ɵɵFactoryTarget.Component}),xi.ɵcmp=n.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:xi,selector:"[kendoSchedulerAgendaTaskItem]",inputs:{item:["kendoSchedulerAgendaTaskItem","item"],color:"color",eventTemplate:"eventTemplate",editable:"editable"},host:{properties:{"attr.aria-label":"this.eventTitle"}},ngImport:n,template:'\n <div class="k-task" [title]="item.title">\n <span class="k-scheduler-mark" *ngIf="eventColor" [style.background-color]="eventColor"></span>\n <span class="k-icon k-i-arrow-rotate-cw" *ngIf="isRecurrence"></span>\n <span class="k-icon k-i-arrows-no-repeat" *ngIf="isRecurrenceException"></span>\n <ng-container *ngIf="!eventTemplate">\n {{item?.title }}\n </ng-container>\n <ng-container *ngIf="eventTemplate" [ngTemplateOutlet]="eventTemplate"\n [ngTemplateOutletContext]="{ $implicit: item.event, event: item.event, resources: item.resources }">\n </ng-container>\n\n <span *ngIf="removable" class="k-link k-event-delete" aria-hidden="true" [attr.title]="deleteMessage">\n <span class="k-icon k-i-x"></span>\n </span>\n </div>\n ',isInline:!0,directives:[{type:c.NgIf,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]},{type:c.NgTemplateOutlet,selector:"[ngTemplateOutlet]",inputs:["ngTemplateOutletContext","ngTemplateOutlet"]}],changeDetection:n.ChangeDetectionStrategy.OnPush}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:xi,decorators:[{type:h.Component,args:[{changeDetection:h.ChangeDetectionStrategy.OnPush,selector:"[kendoSchedulerAgendaTaskItem]",template:'\n <div class="k-task" [title]="item.title">\n <span class="k-scheduler-mark" *ngIf="eventColor" [style.background-color]="eventColor"></span>\n <span class="k-icon k-i-arrow-rotate-cw" *ngIf="isRecurrence"></span>\n <span class="k-icon k-i-arrows-no-repeat" *ngIf="isRecurrenceException"></span>\n <ng-container *ngIf="!eventTemplate">\n {{item?.title }}\n </ng-container>\n <ng-container *ngIf="eventTemplate" [ngTemplateOutlet]="eventTemplate"\n [ngTemplateOutletContext]="{ $implicit: item.event, event: item.event, resources: item.resources }">\n </ng-container>\n\n <span *ngIf="removable" class="k-link k-event-delete" aria-hidden="true" [attr.title]="deleteMessage">\n <span class="k-icon k-i-x"></span>\n </span>\n </div>\n '}]}],ctorParameters:function(){return[{type:r.LocalizationService},{type:void 0,decorators:[{type:h.Inject,args:[h.LOCALE_ID]}]}]},propDecorators:{item:[{type:h.Input,args:["kendoSchedulerAgendaTaskItem"]}],color:[{type:h.Input}],eventTemplate:[{type:h.Input}],editable:[{type:h.Input}],eventTitle:[{type:h.HostBinding,args:["attr.aria-label"]}]}});Ei.prototype.extractDataItem=function(e){return"group"===e.type?e.dataItem.items[0]:e.dataItem},Ei.prototype.formatTime=function(e){var t;return e.isAllDay?this.localization.get("allDay"):(t="{0:t}-{1:t}",e.head?t="{0:t}":e.tail&&(t="{1:t}"),this.intlService.format(t,b.toLocalDate(e.start),b.toLocalDate(e.end)))},Ei.prototype.trackByFn=function(e,t){return e},Ei.prototype.cellClasses=function(e){var e=this.extractDataItem(e),t=[];return this.slotClass&&(t=t.concat(Zn(this.slotClass({start:e.start,end:e.end,resources:e.resources,event:e.event})))),t=this.eventClass?t.concat(Zn(this.eventClass({event:e.event,resources:e.resources}))):t},Ei.prototype.getEventStyles=function(e){if(this.eventStyles)return e=this.extractDataItem(e),this.eventStyles({event:e.event,resources:e.resources})};var E=Ei;function Ei(e,t){this.intlService=e,this.localization=t,this.classes=!0}E.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:E,deps:[{token:o.IntlService},{token:r.LocalizationService}],target:n.ɵɵFactoryTarget.Component}),E.ɵcmp=n.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:E,selector:"[kendoSchedulerAgendaList]",inputs:{tasks:"tasks",eventTemplate:"eventTemplate",slotClass:"slotClass",eventClass:"eventClass",eventStyles:"eventStyles",agendaTimeTemplate:"agendaTimeTemplate",agendaDateTemplate:"agendaDateTemplate",editable:"editable"},host:{properties:{"class.k-scheduler-content":"this.classes"}},ngImport:n,template:'\n <table class="k-scheduler-table" role="none">\n <tbody role="rowgroup">\n <ng-container *ngFor="let group of tasks; let groupIndex = index;">\n <tr *ngFor="let item of group.tasks; let index = index; trackBy: trackByFn" role="row">\n <ng-container *ngFor="let resource of group.resources; let resourceIndex = index">\n <td *ngIf="group.spans[resourceIndex] && index === 0" class="k-scheduler-groupcolumn" [attr.rowspan]="group.spans[resourceIndex]" role="rowheader">\n {{ resource }}\n </td>\n </ng-container>\n <td *ngIf="item.type === \'group\'"\n [kendoSchedulerAgendaHeaderItem]="item"\n [agendaDateTemplate]="agendaDateTemplate">\n </td>\n <td class="k-scheduler-timecolumn" role="gridcell">\n <div *ngIf="!agendaTimeTemplate">\n <span class="k-icon k-i-caret-alt-left" *ngIf="extractDataItem(item).tail"></span>\n {{ formatTime(extractDataItem(item)) }}\n <span class="k-icon k-i-caret-alt-right" *ngIf="extractDataItem(item).head"></span>\n </div>\n <ng-container *ngIf="agendaTimeTemplate" [ngTemplateOutlet]="agendaTimeTemplate"\n [ngTemplateOutletContext]="extractDataItem(item)">\n </ng-container>\n </td>\n <td [attr.data-group-index]="groupIndex" [attr.data-task-index]="index" role="gridcell"\n [ngClass]="cellClasses(item)" [ngStyle]="getEventStyles(item)"\n [kendoSchedulerFocusIndex]="groupIndex"\n [id]="item.elementId"\n [kendoSchedulerAgendaTaskItem]="extractDataItem(item)"\n [editable]="editable"\n [eventTemplate]="eventTemplate"\n ></td>\n </tr>\n </ng-container>\n </tbody>\n </table>\n ',isInline:!0,components:[{type:C,selector:"[kendoSchedulerAgendaHeaderItem]",inputs:["kendoSchedulerAgendaHeaderItem","agendaDateTemplate"]},{type:xi,selector:"[kendoSchedulerAgendaTaskItem]",inputs:["kendoSchedulerAgendaTaskItem","color","eventTemplate","editable"]}],directives:[{type:c.NgForOf,selector:"[ngFor][ngForOf]",inputs:["ngForOf","ngForTrackBy","ngForTemplate"]},{type:c.NgIf,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]},{type:c.NgTemplateOutlet,selector:"[ngTemplateOutlet]",inputs:["ngTemplateOutletContext","ngTemplateOutlet"]},{type:c.NgClass,selector:"[ngClass]",inputs:["class","ngClass"]},{type:c.NgStyle,selector:"[ngStyle]",inputs:["ngStyle"]},{type:dn,selector:"[kendoSchedulerFocusIndex]",inputs:["kendoSchedulerFocusIndex","containerType"]}]}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:E,decorators:[{type:h.Component,args:[{selector:"[kendoSchedulerAgendaList]",template:'\n <table class="k-scheduler-table" role="none">\n <tbody role="rowgroup">\n <ng-container *ngFor="let group of tasks; let groupIndex = index;">\n <tr *ngFor="let item of group.tasks; let index = index; trackBy: trackByFn" role="row">\n <ng-container *ngFor="let resource of group.resources; let resourceIndex = index">\n <td *ngIf="group.spans[resourceIndex] && index === 0" class="k-scheduler-groupcolumn" [attr.rowspan]="group.spans[resourceIndex]" role="rowheader">\n {{ resource }}\n </td>\n </ng-container>\n <td *ngIf="item.type === \'group\'"\n [kendoSchedulerAgendaHeaderItem]="item"\n [agendaDateTemplate]="agendaDateTemplate">\n </td>\n <td class="k-scheduler-timecolumn" role="gridcell">\n <div *ngIf="!agendaTimeTemplate">\n <span class="k-icon k-i-caret-alt-left" *ngIf="extractDataItem(item).tail"></span>\n {{ formatTime(extractDataItem(item)) }}\n <span class="k-icon k-i-caret-alt-right" *ngIf="extractDataItem(item).head"></span>\n </div>\n <ng-container *ngIf="agendaTimeTemplate" [ngTemplateOutlet]="agendaTimeTemplate"\n [ngTemplateOutletContext]="extractDataItem(item)">\n </ng-container>\n </td>\n <td [attr.data-group-index]="groupIndex" [attr.data-task-index]="index" role="gridcell"\n [ngClass]="cellClasses(item)" [ngStyle]="getEventStyles(item)"\n [kendoSchedulerFocusIndex]="groupIndex"\n [id]="item.elementId"\n [kendoSchedulerAgendaTaskItem]="extractDataItem(item)"\n [editable]="editable"\n [eventTemplate]="eventTemplate"\n ></td>\n </tr>\n </ng-container>\n </tbody>\n </table>\n '}]}],ctorParameters:function(){return[{type:o.IntlService},{type:r.LocalizationService}]},propDecorators:{classes:[{type:h.HostBinding,args:["class.k-scheduler-content"]}],tasks:[{type:h.Input}],eventTemplate:[{type:h.Input}],slotClass:[{type:h.Input}],eventClass:[{type:h.Input}],eventStyles:[{type:h.Input}],agendaTimeTemplate:[{type:h.Input}],agendaDateTemplate:[{type:h.Input}],editable:[{type:h.Input}]}});Object.defineProperty(Oi.prototype,"eventTemplateRef",{get:function(){return this.eventTemplate||(this.schedulerEventTemplate||{}).templateRef},enumerable:!1,configurable:!0}),Object.defineProperty(Oi.prototype,"agendaTimeTemplateRef",{get:function(){return this.agendaTimeTemplate||(this.schedulerAgendaTimeTemplate||{}).templateRef},enumerable:!1,configurable:!0}),Object.defineProperty(Oi.prototype,"agendaDateTemplateRef",{get:function(){return this.agendaDateTemplate||(this.schedulerAgendaDateTemplate||{}).templateRef},enumerable:!1,configurable:!0}),Oi.prototype.ngOnInit=function(){var n=this;this.updateContentHeight=this.updateContentHeight.bind(this),this.subs.add(this.viewContext.selectedDate.subscribe(this.onSelectDate.bind(this))),this.subs.add(this.viewContext.action.subscribe(this.onAction.bind(this))),this.subs.add(this.viewContext.execute.subscribe(this.execute.bind(this))),this.subs.add(this.viewContext.resize.subscribe(this.updateContentHeight)),this.subs.add(u.combineLatest([this.viewContext.items,this.viewState.dateRange]).pipe(s.map(function(e){var e=se(e,2),t=e[0],e=e[1];return n.items=t,n.range=e,n.createEventGroups()})).subscribe(function(e){n.tasks.next(e)})),this.subs.add(this.viewContext.optionsChange.subscribe(this.optionsChange.bind(this)));this.subs.add(u.combineLatest(this.tasks,this.localization.changes).pipe(s.switchMap(function(){return n.zone.onStable.pipe(s.take(1))})).subscribe(this.updateContentHeight)),this.subs.add(this.pdfService.createElement.subscribe(this.createPDFElement.bind(this)))},Oi.prototype.ngOnChanges=function(e){l.anyChanged(["selectedDateFormat","selectedShortDateFormat","numberOfDays"],e)&&this.viewState.notifyDateRange(this.dateRange(this.selectedDate))},Oi.prototype.ngAfterViewInit=function(){var e,t=this;this.element&&(e=this.content.nativeElement,this.zone.runOutsideAngular(function(){t.subs.add(u.merge(u.fromEvent(e,"click"),u.fromEvent(e,"contextmenu"),u.fromEvent(e,"dblclick")).subscribe(function(e){return t.onClick(e)})),t.subs.add(u.fromEvent(e,"keydown").subscribe(function(e){return t.onKeydown(e)}))}))},Oi.prototype.onClick=function(e){var t,n,r,i=this.targetTask(e.target);i&&(t=i.task,i=i.eventTarget,r="dblclick"===(n=e.type),"click"===n&&hn(e.target,function(e){return gn(e,"k-event-delete")},i)?this.viewState.emitEvent("remove",{event:t.event,dataItem:t.event.dataItem}):this.viewState.emitEvent(r?"eventDblClick":"eventClick",{type:n,event:t.event,originalEvent:e}))},Oi.prototype.onKeydown=function(e){var t=this.targetTask(e.target);t&&(t=t.task,this.viewState.emitEvent("eventKeydown",{event:t.event,dataItem:t.event.dataItem,originalEvent:e}))},Oi.prototype.targetTask=function(e){e=hn(e,function(e){return e.hasAttribute("data-task-index")},this.element.nativeElement);if(e)return{eventTarget:e,task:this.elementTask(e)}},Oi.prototype.updateContentHeight=function(){for(var e=this.element.nativeElement,t=e.parentNode,n=this.content.nativeElement,r=(this.renderer.setStyle(n,"height",""),t.clientHeight),i=0;i<t.children.length;i++){var o=t.children[i];o===e||Ln(o)||(r-=o.offsetHeight)}var a=this.headerWrap.nativeElement,s=(r-=this.headerWrap?a.offsetHeight:0,this.renderer.setStyle(n,"height",r+"px"),this.localization.rtl);yn(n,"vertical")||this.renderer.setStyle(a,s?"padding-inline-start":"padding-inline-end","0px"),this.renderer.removeStyle(a,s?"padding-inline-end":"padding-inline-start"),this.viewState.notifyLayoutEnd()},Oi.prototype.ngOnDestroy=function(){this.subs.unsubscribe()},Oi.prototype.optionsChange=function(e){this.group=e.group,this.resources=e.resources,this.groupResources(),this.min=e.min,this.max=e.max,this.editable=e.editable,this.items&&this.items.length&&this.tasks.next(this.createEventGroups()),this.schedulerEventTemplate=e.eventTemplate,this.schedulerAgendaTimeTemplate=e.agendaTimeTemplate,this.schedulerAgendaDateTemplate=e.agendaDateTemplate},Oi.prototype.onSelectDate=function(e){this.selectedDate=e,this.viewState.notifyDateRange(this.dateRange())},Oi.prototype.onAction=function(e){var t,n=b.getDate(this.selectedDate);"next"===e.type&&(t=b.getDate(b.addDays(n,this.numberOfDays)),this.isInRange(t))&&this.viewState.notifyNextDate(t),"prev"===e.type&&(t=b.getDate(b.addDays(n,-this.numberOfDays)),this.isInRange(t))&&this.viewState.notifyNextDate(t)},Oi.prototype.createEventGroups=function(){var e=this.groupedResources.length?function(e){for(var t=[],n=e[0],r=n.data,i=0;i<r.length;i++){var o=r[i];t.push({resources:[x(o,n.textField)]})}for(var a=1;a<e.length;a++){for(var s=e[a],l=s.data,c=[],d=0;d<t.length;d++)for(var u=t[d],i=0;i<l.length;i++){o=l[i];c.push({resources:u.resources.concat(x(o,s.textField))})}t=c}return t}(this.groupedResources):null;return this.groups=bi(this.items,{taskResources:this.taskResources,resourceGroups:e,allResources:this.resources,spans:this.spans,dateRange:this.range})},Oi.prototype.dateRange=function(e){void 0===e&&(e=this.selectedDate);var e=b.getDate(e),t=b.getDate(b.addDays(e,this.numberOfDays)),n=b.getDate(b.addDays(e,this.numberOfDays-1));return{start:e,end:t,text:this.intl.format(this.selectedDateFormat,e,n),shortText:this.intl.format(this.selectedShortDateFormat,e,n)}},Oi.prototype.groupResources=function(){var n=this.resources||[],r=(this.group||{}).resources,i=this.groupedResources=[];if(r&&r.length)for(var e=0;e<r.length;e++)!function(e){var t=r[e],e=n.find(function(e){return e.name===t});e&&i.push(e)}(e);this.spans=this.resourceSpans()},Oi.prototype.resourceSpans=function(){for(var e=[1],t=this.groupedResources,n=1,r=t.length-1;0<r;r--)n*=(t[r].data||[]).length||1,e.unshift(n);return e},Object.defineProperty(Oi.prototype,"taskResources",{get:function(){return this.groupedResources.length?this.groupedResources:this.resources&&this.resources.length?[this.resources[0]]:[{}]},enumerable:!1,configurable:!0}),Oi.prototype.isInRange=function(e){e=this.dateRange(e);return(!this.min||this.min<e.end)&&(!this.max||e.start<=this.max)},Oi.prototype.createPDFElement=function(){var e=this.element.nativeElement.cloneNode(!0),t=(e.style.width=this.element.nativeElement.offsetWidth+"px",e.querySelector(".k-scheduler-content").style.height="auto",e.querySelector(".k-scheduler-header"));t.style.paddingRight=0,t.style.paddingLeft=0,this.pdfService.elementReady.emit({element:e})},Oi.prototype.elementTask=function(e){var t=parseInt(e.getAttribute("data-task-index"),10),e=parseInt(e.getAttribute("data-group-index"),10);return this.groups[e].tasks.itemAt(t)},Oi.prototype.execute=function(e){var t;"slotByPosition"===e.name?(t=this.slotByPosition(e.args),e.result(t)):"eventFromElement"===e.name&&(t=this.elementTask(e.args.element))&&e.result(t.event)},Oi.prototype.slotByPosition=function(e){var t=e.x,n=e.y,e=this.content.nativeElement.querySelector("table"),r=jn(e);if(r.top<=n&&n<=r.top+r.height){var i=e.rows;if(i.length){r=jn(i[0].cells[i[0].cells.length-1]);if(r.left<=t&&t<=r.left+r.width)for(var o=0;o<i.length;o++){var a,s=i[o],l=jn(s);if(l.top<=n&&n<=l.top+l.height)return l=s.querySelector("[data-task-index]"),a=(s=this.elementTask(l)).event,{element:new h.ElementRef(l),start:a.start,end:a.end,event:a,resources:s.resources,isAllDay:s.isAllDay}}}}};var Ri=Oi;function Oi(e,t,n,r,i,o,a,s){this.viewContext=e,this.viewState=t,this.intl=n,this.renderer=r,this.element=i,this.zone=o,this.pdfService=a,this.localization=s,this.tasks=new u.BehaviorSubject(null),this.groupedResources=[],this.spans=[],this.subs=new u.Subscription}Ri.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Ri,deps:[{token:g},{token:y},{token:o.IntlService},{token:n.Renderer2},{token:n.ElementRef},{token:n.NgZone},{token:k},{token:r.LocalizationService}],target:n.ɵɵFactoryTarget.Component}),Ri.ɵcmp=n.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:Ri,selector:"agenda-view-internal",inputs:{eventTemplate:"eventTemplate",slotClass:"slotClass",eventClass:"eventClass",eventStyles:"eventStyles",agendaTimeTemplate:"agendaTimeTemplate",agendaDateTemplate:"agendaDateTemplate",selectedDateFormat:"selectedDateFormat",selectedShortDateFormat:"selectedShortDateFormat",numberOfDays:"numberOfDays"},viewQueries:[{propertyName:"headerWrap",first:!0,predicate:["headerWrap"],descendants:!0,read:h.ElementRef,static:!0},{propertyName:"content",first:!0,predicate:["content"],descendants:!0,read:h.ElementRef,static:!0}],usesOnChanges:!0,ngImport:n,template:'\n <table class="k-scheduler-layout k-scheduler-agendaview k-scheduler-agenda" role="grid">\n <tbody role="none">\n <tr>\n <td>\n <div kendoSchedulerAgendaHeader [resources]="groupedResources" #headerWrap></div>\n </td>\n </tr>\n <tr>\n <td>\n <div kendoSchedulerAgendaList #content\n [editable]="editable"\n [eventTemplate]="eventTemplateRef"\n [slotClass]="slotClass"\n [eventClass]="eventClass"\n [eventStyles]="eventStyles"\n [agendaTimeTemplate]="agendaTimeTemplateRef"\n [agendaDateTemplate]="agendaDateTemplateRef"\n [tasks]="tasks | async">\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n ',isInline:!0,components:[{type:D,selector:"[kendoSchedulerAgendaHeader]",inputs:["resources"]},{type:E,selector:"[kendoSchedulerAgendaList]",inputs:["tasks","eventTemplate","slotClass","eventClass","eventStyles","agendaTimeTemplate","agendaDateTemplate","editable"]}],pipes:{async:c.AsyncPipe}}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Ri,decorators:[{type:h.Component,args:[{selector:"agenda-view-internal",template:'\n <table class="k-scheduler-layout k-scheduler-agendaview k-scheduler-agenda" role="grid">\n <tbody role="none">\n <tr>\n <td>\n <div kendoSchedulerAgendaHeader [resources]="groupedResources" #headerWrap></div>\n </td>\n </tr>\n <tr>\n <td>\n <div kendoSchedulerAgendaList #content\n [editable]="editable"\n [eventTemplate]="eventTemplateRef"\n [slotClass]="slotClass"\n [eventClass]="eventClass"\n [eventStyles]="eventStyles"\n [agendaTimeTemplate]="agendaTimeTemplateRef"\n [agendaDateTemplate]="agendaDateTemplateRef"\n [tasks]="tasks | async">\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n '}]}],ctorParameters:function(){return[{type:g},{type:y},{type:o.IntlService},{type:n.Renderer2},{type:n.ElementRef},{type:n.NgZone},{type:k},{type:r.LocalizationService}]},propDecorators:{eventTemplate:[{type:h.Input}],slotClass:[{type:h.Input}],eventClass:[{type:h.Input}],eventStyles:[{type:h.Input}],agendaTimeTemplate:[{type:h.Input}],agendaDateTemplate:[{type:h.Input}],selectedDateFormat:[{type:h.Input}],selectedShortDateFormat:[{type:h.Input}],numberOfDays:[{type:h.Input}],headerWrap:[{type:h.ViewChild,args:["headerWrap",{read:h.ElementRef,static:!0}]}],content:[{type:h.ViewChild,args:["content",{read:h.ElementRef,static:!0}]}]}});p(Vi,Fi=t),Object.defineProperty(Vi.prototype,"title",{get:function(){return this.localization.get("agendaViewTitle")},enumerable:!1,configurable:!0});var Fi,Hi=Vi;function Vi(e,t,n,r){e=Fi.call(this,e,t,n,r)||this;return e.selectedDateFormat="{0:D} - {1:D}",e.selectedShortDateFormat="{0:d} - {1:d}",e.numberOfDays=7,e.name="agenda",e}Hi.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Hi,deps:[{token:r.LocalizationService},{token:n.ChangeDetectorRef},{token:g},{token:y}],target:n.ɵɵFactoryTarget.Component}),Hi.ɵcmp=n.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:Hi,selector:"kendo-scheduler-agenda-view",inputs:{selectedDateFormat:"selectedDateFormat",selectedShortDateFormat:"selectedShortDateFormat",numberOfDays:"numberOfDays"},providers:[{provide:ct,useExisting:h.forwardRef(function(){return Hi})}],queries:[{propertyName:"eventTemplate",first:!0,predicate:yt,descendants:!0},{propertyName:"agendaTimeTemplate",first:!0,predicate:pt,descendants:!0},{propertyName:"agendaDateTemplate",first:!0,predicate:m,descendants:!0}],usesInheritance:!0,ngImport:n,template:'\n <ng-template #content>\n <agenda-view-internal\n [numberOfDays]="numberOfDays"\n [eventTemplate]="eventTemplate?.templateRef"\n [slotClass]="viewSlotClass"\n [eventClass]="viewEventClass"\n [eventStyles]="viewEventStyles"\n [agendaTimeTemplate]="agendaTimeTemplate?.templateRef"\n [agendaDateTemplate]="agendaDateTemplate?.templateRef"\n [selectedDateFormat]="selectedDateFormat"\n [selectedShortDateFormat]="selectedShortDateFormat">\n </agenda-view-internal>\n </ng-template>\n ',isInline:!0,components:[{type:Ri,selector:"agenda-view-internal",inputs:["eventTemplate","slotClass","eventClass","eventStyles","agendaTimeTemplate","agendaDateTemplate","selectedDateFormat","selectedShortDateFormat","numberOfDays"]}],changeDetection:n.ChangeDetectionStrategy.OnPush}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Hi,decorators:[{type:h.Component,args:[{changeDetection:h.ChangeDetectionStrategy.OnPush,selector:"kendo-scheduler-agenda-view",providers:[{provide:ct,useExisting:h.forwardRef(function(){return Hi})}],template:'\n <ng-template #content>\n <agenda-view-internal\n [numberOfDays]="numberOfDays"\n [eventTemplate]="eventTemplate?.templateRef"\n [slotClass]="viewSlotClass"\n [eventClass]="viewEventClass"\n [eventStyles]="viewEventStyles"\n [agendaTimeTemplate]="agendaTimeTemplate?.templateRef"\n [agendaDateTemplate]="agendaDateTemplate?.templateRef"\n [selectedDateFormat]="selectedDateFormat"\n [selectedShortDateFormat]="selectedShortDateFormat">\n </agenda-view-internal>\n </ng-template>\n '}]}],ctorParameters:function(){return[{type:r.LocalizationService},{type:n.ChangeDetectorRef},{type:g},{type:y}]},propDecorators:{selectedDateFormat:[{type:h.Input}],selectedShortDateFormat:[{type:h.Input}],numberOfDays:[{type:h.Input}],eventTemplate:[{type:h.ContentChild,args:[yt,{static:!1}]}],agendaTimeTemplate:[{type:h.ContentChild,args:[pt,{static:!1}]}],agendaDateTemplate:[{type:h.ContentChild,args:[m,{static:!1}]}]}});var R=[D,C,E,xi,Hi,Ri],Wi=function(){},Mi=(Wi.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Wi,deps:[],target:n.ɵɵFactoryTarget.NgModule}),Wi.ɵmod=n.ɵɵngDeclareNgModule({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Wi,declarations:[D,C,E,xi,Hi,Ri],imports:[q.CommonModule,j.IntlModule,d],exports:[Hi]}),Wi.ɵinj=n.ɵɵngDeclareInjector({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Wi,imports:[[q.CommonModule,j.IntlModule,d]]}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Wi,decorators:[{type:h.NgModule,args:[{imports:[q.CommonModule,j.IntlModule,d],exports:[Hi],declarations:[R]}]}]}),Pi.prototype.registerItem=function(e){this.itemGroup(e).registerItem(e)},Pi.prototype.unregisterItem=function(e,t){t=t||{index:e.index,resourceIndex:e.resourceIndex,rangeIndex:e.rangeIndex};var n=this.groups[t.resourceIndex];n&&n.unregisterItem(e,t)},Pi.prototype.registerSlot=function(e){this.slotGroup(e).registerSlot(e)},Pi.prototype.unregisterSlot=function(e){var t=this.groups[e.id.resourceIndex];t&&t.unregisterSlot(e)},Pi.prototype.invalidate=function(){this.clearEmptyGroups(),this.cleanRanges(),this.slotsChange.emit(),this.forEachSlot(function(e){e.invalidate()})},Pi.prototype.cleanRanges=function(){this.groups.forEach(function(e){e.cleanRanges()})},Pi.prototype.clearEmptyGroups=function(){for(var e=this.groups,t=this.groups.length-1;0<t&&!e[t].hasSlots;)e.splice(t,1),t--},Pi.prototype.itemGroup=function(e){e=e.resourceIndex;return this.groups[e]||(this.groups[e]=this.createGroup(e)),this.groups[e]},Pi.prototype.slotGroup=function(e){e=e.id.resourceIndex;return this.groups[e]||(this.groups[e]=this.createGroup(e)),this.groups[e]},Pi);function Pi(){this.containerSize=0,this.slotsChange=new h.EventEmitter,this.groups=[]}Object.defineProperty(zi.prototype,"taskIndex",{get:function(){return this.item.index},enumerable:!1,configurable:!0}),Object.defineProperty(zi.prototype,"touchAction",{get:function(){return this.editable&&!1!==this.editable.drag?"none":null},enumerable:!1,configurable:!0}),Object.defineProperty(zi.prototype,"eventTitle",{get:function(){return Gn(b.toLocalDate(this.item.startTime),b.toLocalDate(this.item.endTime),this.item.isAllDay,this.localeId)+", "+this.item.event.title},enumerable:!1,configurable:!0}),Object.defineProperty(zi.prototype,"deleteMessage",{get:function(){return this.localization.get("deleteTitle")},enumerable:!1,configurable:!0}),Object.defineProperty(zi.prototype,"resizable",{get:function(){return this.editable&&!1!==this.editable.resize},enumerable:!1,configurable:!0}),Object.defineProperty(zi.prototype,"removable",{get:function(){return this.editable&&!1!==this.editable.remove},enumerable:!1,configurable:!0}),Object.defineProperty(zi.prototype,"isRecurrence",{get:function(){return Pn(this.item)},enumerable:!1,configurable:!0}),Object.defineProperty(zi.prototype,"isRecurrenceException",{get:function(){return zn(this.item)},enumerable:!1,configurable:!0}),Object.defineProperty(zi.prototype,"nativeElement",{get:function(){if(this.element)return this.element.nativeElement},enumerable:!1,configurable:!0}),zi.prototype.setStyles=function(e){var t=this.nativeElement;if(t)for(var n in e)e.hasOwnProperty(n)&&this.renderer.setStyle(t,n,e[n])},zi.prototype.toggle=function(e){this.setStyles({display:e?null:"none"})},zi.prototype.reflow=function(){var e=this.rect;e&&this.setStyles({left:this.localization.rtl?"":e.left+"px",right:this.localization.rtl?e.left+"px":"",top:e.top+"px",width:e.width+"px",height:e.height+"px"})},zi.prototype.ngOnInit=function(){var t=this;this.dragHint||this.subs.add(this.slotService.slotsChange.subscribe(function(){t.rect=null,t.setStyles({width:0,left:0});var e={index:t.index,resourceIndex:t.resourceIndex,rangeIndex:t.rangeIndex};t.slotService.unregisterItem(t,e),0<=t.resourceIndex&&t.slotService.registerItem(t)}))},zi.prototype.ngOnChanges=function(e){var t,n;this.dragHint||l.anyChanged(["index","resourceIndex","rangeIndex"],e)&&(t=e.resourceIndex,n=e.index,e=e.rangeIndex,t=t?t.previousValue:this.resourceIndex,n=n?n.previousValue:this.index,e=e?e.previousValue:this.rangeIndex,this.slotService.unregisterItem(this,{index:n,resourceIndex:t,rangeIndex:e}),0<=this.resourceIndex?(this.slotService.registerItem(this),this.toggle(!0)):this.toggle(!1))},zi.prototype.ngOnDestroy=function(){this.dragHint||(this.slotService.unregisterItem(this),this.subs.unsubscribe())};D=zi;function zi(e,t,n,r,i,o){this.slotService=e,this.localization=t,this.focusService=n,this.element=r,this.renderer=i,this.localeId=o,this.className=!0,this.subs=new u.Subscription}D.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:D,deps:"invalid",target:n.ɵɵFactoryTarget.Directive}),D.ɵdir=n.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:D,inputs:{item:"item",resourceIndex:"resourceIndex",rangeIndex:"rangeIndex",index:"index",eventTemplate:"eventTemplate",editable:"editable",dragHint:"dragHint",resources:"resources"},host:{properties:{"class.k-event":"this.className","attr.data-task-index":"this.taskIndex","style.touch-action":"this.touchAction","attr.aria-label":"this.eventTitle"}},usesOnChanges:!0,ngImport:n}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:D,decorators:[{type:h.Directive}],ctorParameters:function(){return[{type:Mi},{type:r.LocalizationService},{type:v},{type:n.ElementRef},{type:n.Renderer2},{type:void 0}]},propDecorators:{item:[{type:h.Input}],resourceIndex:[{type:h.Input}],rangeIndex:[{type:h.Input}],index:[{type:h.Input}],eventTemplate:[{type:h.Input}],editable:[{type:h.Input}],dragHint:[{type:h.Input}],resources:[{type:h.Input}],className:[{type:h.HostBinding,args:["class.k-event"]}],taskIndex:[{type:h.HostBinding,args:["attr.data-task-index"]}],touchAction:[{type:h.HostBinding,args:["style.touch-action"]}],eventTitle:[{type:h.HostBinding,args:["attr.aria-label"]}]}});Object.defineProperty(Ni.prototype,"first",{get:function(){if(0<this.count)return this.items[Object.keys(this.items)[0]]},enumerable:!1,configurable:!0}),Object.defineProperty(Ni.prototype,"last",{get:function(){var e;if(0<this.count)return e=Object.keys(this.items),this.items[e[e.length-1]]},enumerable:!1,configurable:!0}),Ni.prototype.addItem=function(e,t){this.items[e]||this.count++,this.items[e]=t},Ni.prototype.removeItem=function(e,t){this.items[e]===t&&(delete this.items[e],this.count--)},Ni.prototype.toArray=function(){var t=this;return Object.keys(this.items).map(function(e){return t.items[e]})};var Ai=Ni;function Ni(){this.count=0,this.items={}}var Bi=new Date(1980,0,1),ji=new Date(1980,0,2),Li="k-event-ongoing",qi=(Object.defineProperty(Zi.prototype,"slots",{get:function(){return this.slotMap.toArray()},enumerable:!1,configurable:!0}),Object.defineProperty(Zi.prototype,"items",{get:function(){return this.itemMap.toArray()},enumerable:!1,configurable:!0}),Object.defineProperty(Zi.prototype,"start",{get:function(){var e=this.slotMap.first;return e?e.start:null},enumerable:!1,configurable:!0}),Object.defineProperty(Zi.prototype,"end",{get:function(){var e=this.slotMap.last;return e?Tn(e.end,1):null},enumerable:!1,configurable:!0}),Object.defineProperty(Zi.prototype,"hasSlots",{get:function(){return 0<this.slotMap.count},enumerable:!1,configurable:!0}),Object.defineProperty(Zi.prototype,"hasItems",{get:function(){return 0<this.itemMap.count},enumerable:!1,configurable:!0}),Object.defineProperty(Zi.prototype,"firstSlot",{get:function(){return this.slotMap.first},enumerable:!1,configurable:!0}),Object.defineProperty(Zi.prototype,"lastSlot",{get:function(){return this.slotMap.last},enumerable:!1,configurable:!0}),Object.defineProperty(Zi.prototype,"rect",{get:function(){var e=this.firstSlot.rect,t=this.lastSlot.rect;return{left:e.left,top:e.top,width:t.left-e.left+t.width,height:t.top-e.top+t.height}},enumerable:!1,configurable:!0}),Zi.prototype.registerItem=function(e){this.itemMap.addItem(e.item.index,e)},Zi.prototype.unregisterItem=function(e,t){this.itemMap.removeItem(t,e)},Zi.prototype.registerSlot=function(e){this.slotMap.addItem(e.id.index,e)},Zi.prototype.unregisterSlot=function(e){this.slotMap.removeItem(e.id.index,e)},Zi.prototype.layout=function(o){var e,a,t;this.hasItems&&(e=this.items,e=U.orderBy(e,[{field:"item.startTime",dir:"asc"},{field:"item.endTime",dir:"desc"}]),a={},t=this.slots,e.forEach(function(i){return t.filter(function(e){return fn(i.item.startTime,i.item.endTime,e.start,e.end)}).forEach(function(e){var t=a[e.key]=a[e.key]||{events:[],height:e.linkHeight},n=(t.slot=e).rect,r=i.item.data[i.resourceIndex];r.rowIndex=Mn(t.events,r),t.height+o+2+13>n.height||r.hidden?(r.hidden=!0,e.showMore({width:n.width,left:n.left,top:n.top+e.linkHeight+r.rowIndex*(o+2)})):((t.events[r.rowIndex]=i).rect||(i.rect={top:n.top+e.linkHeight+r.rowIndex*(o+2),left:n.left,height:o,width:0}),i.rect.width+=n.width+1,t.height+=o+2)})}),e.forEach(function(e){e.rect&&--e.rect.width,e.reflow()}))},Zi);function Zi(e){this.index=e,this.slotMap=new Ai,this.itemMap=new Ai}Object.defineProperty(_i.prototype,"hasSlots",{get:function(){return Boolean(this.dayRanges.find(function(e){return e&&e.hasSlots}))},enumerable:!1,configurable:!0}),_i.prototype.registerSlot=function(e){this.slotRange(e).registerSlot(e)},_i.prototype.unregisterSlot=function(e){var t=this.dayRanges[e.id.rangeIndex];t.unregisterSlot(e),t.hasSlots||delete this.dayRanges[e.id.rangeIndex]},_i.prototype.registerItem=function(e){this.dayRanges[e.rangeIndex].registerItem(e)},_i.prototype.unregisterItem=function(e,t){var n=this.dayRanges[t.rangeIndex];n&&n.unregisterItem(e,t.index)},_i.prototype.slotRange=function(e){var t=this.dayRanges,e=e.id.rangeIndex;return t[e]||(t[e]=new qi(e)),t[e]},_i.prototype.forEachRange=function(e){for(var t=0;t<this.dayRanges.length;t++)e(this.dayRanges[t])},_i.prototype.cleanRanges=function(){this.dayRanges=this.dayRanges.filter(function(e){return Boolean(e)})};var Gi=_i;function _i(e){this.index=e,this.dayRanges=[]}p(Ki,Ui=Mi),Ki.prototype.layout=function(t){this.groups.forEach(function(e){return e.forEachRange(function(e){return e.layout(t)})})},Ki.prototype.slotByIndex=function(e){var e=se(e.split(":").map(function(e){return parseInt(e,10)}),3),t=e[0],n=e[1],e=e[2];return this.groups[t].dayRanges[n].slots[e]},Ki.prototype.forEachSlot=function(t){this.groups.forEach(function(e){e.dayRanges.forEach(function(e){e.slots.forEach(function(e){return t(e)})})})},Ki.prototype.forEachItem=function(t){this.groups.forEach(function(e){e.dayRanges.forEach(function(e){e.items.forEach(function(e){return t(e)})})})},Ki.prototype.createGroup=function(e){return new Gi(e)},Ki.prototype.invalidate=function(){Ui.prototype.invalidate.call(this),this.forEachItem(function(e){var t=e.item.data;Object.keys(t).forEach(function(e){t[e].hidden=!1})})},Ki.prototype.slotByPosition=function(t,n){var r;if(this.groups.find(function(e){return r=e.dayRanges.find(function(e){return An(e.rect,t,n)})}),r)return r.slots.find(function(e){return An(e.rect,t,n)})},Ki.prototype.dragRanges=function(e,t){var n=new Date(e.start.getTime()-t.start),r=new Date(e.start.getTime()+t.end),t=this.groups[e.id.resourceIndex],i=[];return t.dayRanges.forEach(function(e){e=e.slots.filter(function(e){return fn(n,r,e.start,e.end)});e.length&&i.push(e)}),{start:n,end:r,ranges:i}},Ki.prototype.groupSlotByPosition=function(e,t,n){e=this.groups[e.id.resourceIndex].dayRanges.find(function(e){return An(e.rect,t,n)});if(e)return e.slots.find(function(e){return An(e.rect,t,n)})},Ki.prototype.resizeRanges=function(e,t,n,r){var i,o,a=this.groups[t.resources[0].leafIdx],s=[],l=t.start.toUTCDate(),t=t.end.toUTCDate();return n?((i=e.start.getTime()+r.start)>t.getTime()&&(i=new Date(Math.min(xn(t,l).getTime(),t.getTime()))),o=t):(i=l,(o=e.start.getTime()+r.end)<i.getTime()&&(o=new Date(Math.max(xn(l,t).getTime(),i.getTime())))),a.dayRanges.forEach(function(e){e=e.slots.filter(function(e){return fn(i,o,e.start,e.end)});e.length&&s.push(e)}),{start:new Date(i),end:new Date(o),ranges:s}};var Ui,Yi=Ki;function Ki(){return null!==Ui&&Ui.apply(this,arguments)||this}p(Xi,$i=D),Xi.prototype.reflow=function(){this.item.data[this.resourceIndex].hidden?this.toggle(!1):(this.toggle(!0),$i.prototype.reflow.call(this))};var $i,C=Xi;function Xi(e,t,n,r,i,o){e=$i.call(this,e,t,n,r,i,o)||this;return e.localeId=o,e}C.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:C,deps:[{token:Yi},{token:r.LocalizationService},{token:v},{token:n.ElementRef},{token:n.Renderer2},{token:h.LOCALE_ID}],target:n.ɵɵFactoryTarget.Component}),C.ɵcmp=n.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:C,selector:"[monthViewItem]",usesInheritance:!0,ngImport:n,template:'\n <span class="k-event-actions">\n <span class="k-icon k-i-caret-alt-left" *ngIf="item.tail"></span>\n <span class="k-icon k-i-arrow-rotate-cw" *ngIf="isRecurrence"></span>\n <span class="k-icon k-i-arrows-no-repeat" *ngIf="isRecurrenceException"></span>\n </span>\n <ng-container *ngIf="eventTemplate" [ngTemplateOutlet]="eventTemplate"\n [ngTemplateOutletContext]="{ $implicit: item.event, event: item.event, resources: resources }">\n </ng-container>\n <div *ngIf="!eventTemplate" [attr.title]="eventTitle">\n <div class="k-event-template">{{ item.event.title }}</div>\n </div>\n\n <span class="k-event-actions">\n <span *ngIf="removable" class="k-link k-event-delete" aria-hidden="true" [attr.title]="deleteMessage">\n <span class="k-icon k-i-x"></span>\n </span>\n <span class="k-icon k-i-caret-alt-right" *ngIf="item.head"></span>\n </span>\n\n <ng-container *ngIf="resizable">\n <span class="k-resize-handle k-resize-w"></span>\n <span class="k-resize-handle k-resize-e"></span>\n </ng-container>\n ',isInline:!0,directives:[{type:c.NgIf,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]},{type:c.NgTemplateOutlet,selector:"[ngTemplateOutlet]",inputs:["ngTemplateOutletContext","ngTemplateOutlet"]}]}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:C,decorators:[{type:h.Component,args:[{selector:"[monthViewItem]",template:'\n <span class="k-event-actions">\n <span class="k-icon k-i-caret-alt-left" *ngIf="item.tail"></span>\n <span class="k-icon k-i-arrow-rotate-cw" *ngIf="isRecurrence"></span>\n <span class="k-icon k-i-arrows-no-repeat" *ngIf="isRecurrenceException"></span>\n </span>\n <ng-container *ngIf="eventTemplate" [ngTemplateOutlet]="eventTemplate"\n [ngTemplateOutletContext]="{ $implicit: item.event, event: item.event, resources: resources }">\n </ng-container>\n <div *ngIf="!eventTemplate" [attr.title]="eventTitle">\n <div class="k-event-template">{{ item.event.title }}</div>\n </div>\n\n <span class="k-event-actions">\n <span *ngIf="removable" class="k-link k-event-delete" aria-hidden="true" [attr.title]="deleteMessage">\n <span class="k-icon k-i-x"></span>\n </span>\n <span class="k-icon k-i-caret-alt-right" *ngIf="item.head"></span>\n </span>\n\n <ng-container *ngIf="resizable">\n <span class="k-resize-handle k-resize-w"></span>\n <span class="k-resize-handle k-resize-e"></span>\n </ng-container>\n '}]}],ctorParameters:function(){return[{type:Yi},{type:r.LocalizationService},{type:v},{type:n.ElementRef},{type:n.Renderer2},{type:void 0,decorators:[{type:h.Inject,args:[h.LOCALE_ID]}]}]}});Object.defineProperty(O.prototype,"eventTemplateRef",{get:function(){return this.еventTemplate||(this.schedulerEventTemplate||{}).templateRef},enumerable:!1,configurable:!0}),Object.defineProperty(O.prototype,"groupHeaderTemplateRef",{get:function(){return this.groupHeaderTemplate||(this.schedulerGroupHeaderTemplate||{}).templateRef},enumerable:!1,configurable:!0}),O.prototype.matchOwned=function(e){return e.reduce(function(e,t){return le(le([],se(e)),se(t.resources.map(function(e){return t.elementId+"_"+e.leafIdx})))},[]).join(" ")},O.prototype.ngOnInit=function(){var n=this,e=this.updateView.bind(this);this.resourcesByIndex=this.resourcesByIndex.bind(this),this.subs.add(this.viewContext.selectedDate.subscribe(this.onSelectDate.bind(this))),this.subs.add(this.viewContext.action.subscribe(this.onAction.bind(this))),this.subs.add(this.viewContext.execute.subscribe(this.execute.bind(this))),this.subs.add(this.viewContext.resize.subscribe(function(){n.toggleElement(!1),n.updateView()})),this.subs.add(this.viewContext.optionsChange.subscribe(this.optionsChange.bind(this))),this.subs.add(this.changes.subscribe(function(){n.toggleElement(!1)})),this.subs.add(u.combineLatest(this.viewContext.items,this.viewState.dateRange,this.viewRangeChange).pipe(s.map(function(e){var e=se(e,2),t=e[0],e=e[1];return n.createTasks(t,e)})).subscribe(function(e){n.tasks=e.map(function(e){return Object.assign(Object.assign({},e),{elementId:l.guid()})}),n.assignResources(),n.onTasksChange()})),this.subs.add(u.combineLatest(this.items,this.changes,this.localization.changes).pipe(s.switchMap(function(){return n.onStable()})).subscribe(e)),this.subs.add(this.pdfService.createElement.subscribe(this.createPDFElement.bind(this)))},O.prototype.ngOnChanges=function(e){l.anyChanged(["selectedDateFormat","selectedShortDateFormat"],e)&&this.viewState.notifyDateRange(this.dateRange(this.selectedDate)),e.eventHeight&&this.changes.next(null)},O.prototype.ngAfterViewInit=function(){var t=this;this.bindEvents(),this.subs.add(this.localization.changes.subscribe(function(e){e=e.rtl;t.rtl=e}))},O.prototype.ngOnDestroy=function(){this.subs.unsubscribe(),this.domEvents.forEach(function(e){return e()}),this.domEvents=[],this.draggable&&(this.draggable.destroy(),this.draggable=null)},O.prototype.itemIndex=function(e,t){return e},O.prototype.resourcesByIndex=function(e){if(!this.resources)return[];if(!this.group)return this.resources.reduce(function(e,t){return e.concat(t.data||[])},[]);if(!this.resourcesCache[e]){for(var t=this.taskResources,n=[],r=e,i=0;i<t.length;i++){var o=t[i].data||[],a=Math.floor(r/this.spans[i]);n.push(o[a]),r-=a*this.spans[i]}this.resourcesCache[e]=n}return this.resourcesCache[e]},O.prototype.dragResourcesByIndex=function(e){var t=this.resources||[],n=[];if(this.groupedResources.length)for(var r=this.resourcesByIndex(e).slice(0),i=this.taskResources,o=0;o<i.length;o++){var a=this.resources.indexOf(i[o]);0<=a&&(n[a]=r[o])}for(o=0;o<t.length;o++)n[o]||(n[o]=On(this.dragging.task.event,t[o]));return n},O.prototype.getEventClasses=function(e,t,n){if(this.eventClass)return this.eventClass({event:e.event,resources:t,isAllDay:n})},O.prototype.getEventStyles=function(e,t,n){var r={backgroundColor:t.color,borderColor:t.color};return this.eventStyles&&Object.assign(r,this.eventStyles({event:e.event,resources:t.resources,isAllDay:n})),r},O.prototype.toPlainDate=function(e){return Sn(this.convertDate(e))},O.prototype.toPlainDateTime=function(e,t){return e&&t?this.toPlainDate(xn(e,t)):null},O.prototype.optionsChange=function(e){this.schedulerEventTemplate=e.eventTemplate,this.schedulerGroupHeaderTemplate=e.groupHeaderTemplate,this.min=e.min,this.max=e.max,this.editable=e.editable,this.timezone=e.timezone,this.selectable=e.selectable,this.isSlotSelected=e.isSlotSelected,e.changes&&!l.anyChanged(["group","resources"],e.changes,!1)&&e.group===this.group&&e.resources===this.resources||(this.group=e.group,this.resources=e.resources,this.groupResources(),this.resourcesCache={},this.tasks&&this.tasks.length&&(this.assignResources(),this.onTasksChange()),this.changes.next(null))},O.prototype.toggleElement=function(e){this.element&&this.renderer.setStyle(this.element.nativeElement,"display",e?"block":"none")},O.prototype.onStable=function(){return this.zone.onStable.asObservable().pipe(s.take(1))},O.prototype.updateView=function(){this.slotService.invalidate(),this.toggleElement(!0),this.reflow(),this.viewState.notifyLayoutEnd(),this.viewState.emitEvent(ut.refreshSlotSelection)},O.prototype.assignResources=function(){for(var e=this.tasks,t={taskResources:this.taskResources,hasGroups:0<this.groupedResources.length,allResources:this.resources,spans:this.spans},n=0;n<e.length;n++){var r=e[n];r.resources=Fn(r.event,t)}},O.prototype.bindEvents=function(){var t=this,n=this.content.nativeElement,e=this.element.nativeElement;this.zone.runOutsideAngular(function(){var r;t.times&&t.subs.add(u.merge(u.fromEvent(t.times.nativeElement,"mousewheel"),u.fromEvent(t.times.nativeElement,"DOMMouseScroll")).pipe(s.filter(function(e){return!e.ctrlKey}),s.tap((r=n,function(e){var t=mn(e),n=r.scrollTop;0===n&&0<t||r.scrollHeight<=r.offsetHeight+n&&t<0||e.preventDefault()})),s.map(mn)).subscribe(function(e){return n.scrollTop-=e})),t.subs.add(u.merge(qt(n),u.fromEvent(n,"contextmenu")).subscribe(function(e){return t.onClick(e)})),t.subs.add(Zt(n).subscribe(function(e){return t.onClick(e,"dblclick")})),t.subs.add(u.fromEvent(e,"keydown").subscribe(function(e){return t.onKeydown(e)})),t.domEvents.push(t.renderer.listen(n,"scroll",function(){t.headerWrap&&(t.headerWrap.nativeElement.scrollLeft=n.scrollLeft),t.times&&(t.times.nativeElement.scrollTop=n.scrollTop)})),t.draggable=new Y.Draggable({press:t.onPress.bind(t),drag:t.onDrag.bind(t),release:t.onRelease.bind(t)}),t.draggable.bindTo(e)})},O.prototype.onPress=function(e){var t=this.editable&&!1!==this.editable.resize,n=this.editable&&!1!==this.editable.drag,r=e.originalEvent.target;if(gn(r,"k-resize-handle")){if(!t)return;this.initResize(e)}else n&&(t=this.targetTask(r))&&(e.isTouch||e.originalEvent.preventDefault(),this.pressLocation={x:e.pageX,y:e.pageY},this.pressTarget=t);!this.pressTarget&&this.selectable&&this.initDragSelect(e),this.dragArgs=e},O.prototype.onDrag=function(e){this.resizing?(this.resize(e),this.scrollContainer(this.resize,e)):(this.initDrag(e),this.dragging&&(this.drag(e),e.originalEvent.preventDefault(),this.scrollContainer(this.drag,e)),this.dragSelecting&&this.dragSelect(e)),this.dragArgs=e},O.prototype.onRelease=function(e){clearInterval(this.scrollInterval);var t=this.resizing,n=this.dragging,r=this.dragSelecting;t&&(this.emitEvent("resizeEnd",{event:t.task.event,dataItem:t.task.event.dataItem,start:this.convertDate(t.start),end:this.convertDate(t.end)}),this.resizeHints=[]),n&&(this.emitEvent("dragEnd",{event:n.task.event,dataItem:n.task.event.dataItem,start:n.start?this.convertDate(n.start):n.task.start.toLocalDate(),end:n.end?this.convertDate(n.end):n.task.end.toLocalDate(),resources:n.resources,isAllDay:this.draggedIsAllDay(n.task,n.slot)}),this.dragHints=[]),(t||n)&&(this.removeSlotClass(),this.updateHintContainer(),this.resizing=null,this.dragging=null),r&&(n=(t=Cn(this.dragSelectOrigin,this.dragSelecting)).start,r=t.end,t={start:this.convertDate(n),end:this.convertDate(r),isAllDay:this.dragSelecting.isDaySlot,resources:this.resourcesByIndex(this.dragSelecting.id.resourceIndex),originalEvent:e.originalEvent},this.viewState.notifySlotSelectionEnd(t),this.dragSelectOrigin=null,this.dragSelecting=null,this.cdr.markForCheck()),this.container=null,this.dragArgs=null,this.pressLocation=null,this.pressTarget=null},O.prototype.setHintClass=function(e){(this.dragging||this.resizing).hintClass=e},O.prototype.updateHintClass=function(){var t=this.dragging||this.resizing,n=!1;this.hints.forEach(function(e){e.class!==t.hintClass&&(e.class=t.hintClass,n=!0)}),n&&this.updateHintContainer()},O.prototype.removeHintClass=function(){(this.dragging||this.resizing).hintClass=null},O.prototype.setSlotClass=function(e){var t=this.dragging||this.resizing;t.slotClass=e,this.renderer.addClass(t.slot.nativeElement,t.slotClass)},O.prototype.removeSlotClass=function(){var e=this.dragging||this.resizing;e.slotClass&&(this.renderer.removeClass(e.slot.nativeElement,e.slotClass),e.slotClass=null)},Object.defineProperty(O.prototype,"hints",{get:function(){return this.dragging?this.dragHints:this.resizeHints},enumerable:!1,configurable:!0}),O.prototype.initDrag=function(e){var t,n,r,i;!this.dragging&&this.pressLocation&&(t=this.pressLocation.x,n=this.pressLocation.y,r=e.pageX,i=e.pageY,10<=Math.sqrt(Math.pow(t-r,2)+Math.pow(n-i,2)))&&(r=(t=this.pressTarget).task,this.emitEvent("dragStart",{event:r.event,dataItem:r.event.dataItem})?(this.pressLocation=null,this.pressTarget=null):(this.updateDragContainer(e),void 0!==this.containerOffset&&(i=(n=this.coordinatesOffset(this.pressLocation.x,this.pressLocation.y)).x,e=n.y,n=this.slotByPosition(Math.ceil(i),Math.ceil(e),this.container))&&(this.dragging=t,this.dragging.offset={start:n.start.getTime()-r.start.toUTCDate().getTime(),end:r.end.toUTCDate().getTime()-n.start.getTime()},this.dragging.slot=n,this.dragging.startResources=this.dragging.resourceItems=this.dragResourcesByIndex(n.id.resourceIndex),this.dragging.resources=this.resourceValues(r,this.dragging.startResources))))},O.prototype.updateDragContainer=function(e){this.container||(this.container=this.content.nativeElement,this.containerOffset=jn(this.container))},O.prototype.drag=function(e){if(this.updateDragContainer(e),this.container){var e=this.coordinatesOffset(e.pageX,e.pageY),t=e.x,e=e.y,t=this.slotByPosition(t,e,this.container);if(t&&(t!==this.dragging.slot||!this.dragHints.length)){var e=this.dragging,n=e.slot,r=e.task,i=this.dragRanges(t),o=i.ranges,a=i.start,s=i.end,i=i.isAllDay,l=void 0,c=void 0,c=n.id.resourceIndex!==t.id.resourceIndex?(l=this.dragResourcesByIndex(t.id.resourceIndex),this.resourceValues(r,l)):(l=e.resourceItems,e.resources);if(this.removeSlotClass(),e.start=a,e.end=s,e.slot=t,e.resources=c,e.resourceItems=l,e.hintClass=null,this.emitEvent("drag",{event:r.event,dataItem:r.event.dataItem,start:this.convertDate(a),end:this.convertDate(s),resources:c,isAllDay:i,setHintClass:this.setHintClass,setSlotClass:this.setSlotClass}))this.updateHintClass();else{var d=this.dragResourceColor(r,l),u=this.dragHintClasses();this.dragHints=[];for(var p=0;p<o.length;p++){var h=o[p],m=h[0],h=h[h.length-1],h=this.dragHintSize(m,h),g=m.rect.left,m={top:Bn(m.rect.top),left:this.localization.rtl?"":Bn(g),right:this.localization.rtl?Bn(g):"",width:h.width,height:h.height,backgroundColor:d,borderColor:d};this.eventStyles&&Object.assign(m,this.eventStyles(this.dragHintEventStyleArgs())),this.dragHints.push({item:Object.assign({},this.dragging.task,{startTime:a,endTime:s}),resources:l,class:u,style:m})}this.updateHintContainer()}}}},O.prototype.initDragSelect=function(e){var t,n;this.updateDragContainer(e),this.containerOffset&&(t=(n=this.coordinatesOffset(e.pageX,e.pageY)).x,n=n.y,t=this.slotByPosition(t,n,this.container))&&(n={start:this.convertDate(t.start),end:this.convertDate(t.end),isAllDay:t.isDaySlot,resources:this.resourcesByIndex(t.id.resourceIndex),originalEvent:e.originalEvent},e=new et(null,n),this.viewState.notifySlotSelectionStart(e),e.isDefaultPrevented()||(this.dragSelecting=t,this.dragSelectOrigin=t,this.cdr.markForCheck()))},O.prototype.dragSelect=function(e){var t,n=this.coordinatesOffset(e.pageX,e.pageY),r=n.x,n=n.y,r=this.slotByPosition(r,n,this.container);r&&this.dragSelecting!==r&&(this.dragSelecting=r,t=(n=Cn(this.dragSelectOrigin,this.dragSelecting)).start,n=n.end,t={start:this.convertDate(t),end:this.convertDate(n),isAllDay:r.isDaySlot,resources:this.resourcesByIndex(r.id.resourceIndex),originalEvent:e.originalEvent},this.viewState.notifySlotSelectionDrag(t),this.cdr.markForCheck())},O.prototype.dragHintClasses=function(){var e=this.dragging.hintClass,t=[];return e&&t.push(e),this.eventClass&&(e=this.eventClass(this.dragHintEventStyleArgs()),t=t.concat(Zn(e))),t},O.prototype.dragHintEventStyleArgs=function(){return{event:this.dragging.task.event,resources:this.dragging.resourceItems}},O.prototype.draggedIsAllDay=function(e,t){return Boolean(e.event.isAllDay)},O.prototype.dragResourceColor=function(e,t){var n;return this.groupedResources.length?(n=this.resources.indexOf(this.groupedResources[0]),x(t[n],this.groupedResources[0].colorField)):this.resources&&this.resources.length?e.resources[0].color:""},O.prototype.resourceValues=function(e,t){for(var n={},r=0;r<t.length;r++){var i=this.resources[r],o=t[r],a=void 0;Array.isArray(o)?a=x(e.event,i.field):(a=x(t[r],i.valueField),i.multiple&&(a=x(this.dragging.startResources[r],i.valueField)!==a?[a]:x(e.event.dataItem,i.field))),zt(n,i.field,a)}return n},O.prototype.initResize=function(e){e.originalEvent.preventDefault();var t=e.originalEvent.target,n=this.targetTask(t);this.emitEvent("resizeStart",{event:n.task.event,dataItem:n.task.event.dataItem})||((this.resizing=n).start=n.task.start.toUTCDate(),n.end=n.task.end.toUTCDate(),gn(t,"k-resize-n")?n.direction="n":gn(t,"k-resize-s")?n.direction="s":gn(t,"k-resize-w")?n.direction="w":n.direction="e",this.updateDragContainer(e),e=(t=this.coordinatesOffset(e.pageX,e.pageY)).x,t=t.y,n.slot=this.slotByPosition(Math.ceil(e),Math.ceil(t),this.container),n.offset={start:n.task.start.toUTCDate().getTime()-n.slot.start.getTime(),end:n.task.end.toUTCDate().getTime()-n.slot.start.getTime()})},O.prototype.resize=function(e){var e=this.coordinatesOffset(e.pageX,e.pageY),t=e.x,e=e.y,n=this.resizing,r=n.direction,i=n.task,o=n.offset,t=this.slotService.groupSlotByPosition(n.slot,t,e);t&&t!==n.slot&&(this.removeSlotClass(),r=(e=this.slotService.resizeRanges(t,i,"w"===r||"n"===r,o)).start,o=e.end,e=e.ranges,n.hintClass=null,n.start=r,n.end=o,n.slot=t,this.emitEvent("resize",{event:i.event,dataItem:i.event.dataItem,start:this.convertDate(r),end:this.convertDate(o),setHintClass:this.setHintClass,setSlotClass:this.setSlotClass})?this.updateHintClass():(this.updateResizeHints(e,r,o),this.updateHintContainer()))},O.prototype.updateResizeHints=function(e,t,n){var r=this.resizing,i=r.direction,o="w"===i||"e"===i,a="w"===i||"n"===i;this.resizeHints=[];for(var s=0;s<e.length;s++){var l=e[s],c=l[0],l=l[l.length-1],d=0===s,u=s===e.length-1;this.resizeHints.push({first:d,last:u,rect:{left:c.rect.left,top:c.top,height:o?c.height:Math.abs(l.rect.top-c.rect.top)+l.rect.height,width:o?Math.abs(l.rect.left-c.rect.left)+l.rect.width:c.width},start:(d&&!a?r:c).start,end:(u&&a?r:l).end,class:r.hintClass})}},O.prototype.coordinatesOffset=function(e,t,n,r){void 0===n&&(n=this.container);e=e-(r=void 0===r?this.containerOffset:r).left+n.scrollLeft;return{x:this.localization.rtl?this.slotService.containerSize-e:e,y:t-r.top+n.scrollTop}},O.prototype.scrollContainer=function(e,t){var n,r,i,o,a,s,l,c,d,u=this,p=(clearInterval(this.scrollInterval),this.container);p&&(n=t.pageY-this.containerOffset.top,r=Math.abs(p.offsetHeight-n),i=t.pageY-this.dragArgs.pageY,o=t.pageX-this.containerOffset.left,a=Math.abs(p.offsetWidth-o),s=t.pageX-this.dragArgs.pageX,l=!1,d=c=0,r<60&&p.scrollTop+p.offsetHeight<p.scrollHeight&&0<i?(l=!0,d=15,this.container.scrollTop+=60-r):n<60&&0<p.scrollTop&&i<0&&(l=!0,d=-15,this.container.scrollTop-=60-n),a<60&&p.scrollLeft+p.offsetWidth<p.scrollWidth&&0<s?(l=!0,c=15,this.container.scrollLeft+=60-a):o<60&&0<p.scrollLeft&&i<0&&(l=!0,c=-15,this.container.scrollLeft-=60-o),l)&&(this.scrollInterval=setInterval(function(){u.container?(u.container.scrollLeft+=c,u.container.scrollTop+=d,e.call(u,t)):clearInterval(u.scrollInterval)},50))},O.prototype.emitEvent=function(e,t){return this.viewState.emitEvent(e,t),t.prevented},O.prototype.targetTask=function(e){var t,e=hn(e,function(e){return e.hasAttribute("data-task-index")},this.element.nativeElement);if(e)return t=parseInt(e.getAttribute("data-task-index"),10),{target:e,task:this.tasks.find(function(e){return e.index===t})}},O.prototype.updateHintContainer=function(){this.hintContainer&&this.hintContainer.detectChanges()},O.prototype.convertDate=function(e){return b.ZonedDate.fromUTCDate(e,this.timezone).toLocalDate()},O.prototype.onClick=function(e,t){void 0===t&&(t=e.type),this.emitSlotEvent(e,t),this.emitTaskEvent(e,t)},O.prototype.emitSlotEvent=function(e,t){var n,r=hn(e.target,function(e){return e.hasAttribute("data-slot-index")},this.element.nativeElement);r&&(r=r.getAttribute("data-slot-index"),n="dblclick"===t?"slotDblClick":"slotClick",r=this.slotByIndex(r,e),this.viewState.emitEvent(n,{type:t,slot:r,start:this.convertDate(r.start),end:this.convertDate(r.end),isAllDay:r.isDaySlot,originalEvent:e,resources:this.resources&&this.resources.length?this.resourcesByIndex(r.id.resourceIndex):[]}))},O.prototype.emitTaskEvent=function(e,t){var n,r,i=this.targetTask(e.target);i&&(n=i.task,r="dblclick"===t,"click"===t&&hn(e.target,function(e){return gn(e,"k-event-delete")},i.target)?this.viewState.emitEvent("remove",{event:n.event,dataItem:n.event.dataItem}):(this.viewState.emitEvent(r?"eventDblClick":"eventClick",{type:t,event:n.event,originalEvent:e}),i.target.focus()))},O.prototype.onKeydown=function(e){var t=this.targetTask(e.target);t&&(t=t.task,this.viewState.emitEvent("eventKeydown",{event:t.event,dataItem:t.event.dataItem,originalEvent:e}))},O.prototype.syncTables=function(){var e,t;this.timesTable&&this.renderer.setStyle(this.timesTable.nativeElement,"height",this.contentTable.nativeElement.offsetHeight+"px"),yn(this.content.nativeElement,"vertical")||this.renderer.setStyle(this.header.nativeElement,this.localization.rtl?"padding-inline-start":"padding-inline-end","0px"),this.renderer.removeStyle(this.header.nativeElement,this.localization.rtl?"padding-inline-end":"padding-inline-start"),this.times&&(e=this.times.nativeElement,this.timesHeader.nativeElement.style.width=e.offsetWidth+"px",t="auto"===this.contentHeight?this.content.nativeElement.offsetHeight:this.contentHeight,this.renderer.setStyle(e,"height",t-(yn(this.content.nativeElement,"horizontal")?l.getScrollbarWidth():0)+"px"),e.scrollTop=this.content.nativeElement.scrollTop)},O.prototype.updateContentHeight=function(){var e=this.element.nativeElement,t=e.parentNode,n=this.content.nativeElement,r=this.autoHeight||!(null!=t&&t.style.height),i=n.scrollLeft,o=n.scrollTop;if(this.renderer.setStyle(n,"height",""),this.times&&this.renderer.setStyle(this.times.nativeElement,"height",""),r)this.contentHeight="auto";else{for(var a=t.clientHeight,s=0;s<t.children.length;s++){var l=t.children[s];l===e||Ln(l)||(a-=l.offsetHeight)}a-=this.headerWrap?this.headerWrap.nativeElement.offsetHeight:0,this.renderer.setStyle(n,"height",a+"px"),this.contentHeight=a,n.scrollLeft=i,n.scrollTop=o}},O.prototype.groupResources=function(){var e=this.resources||[],t=this.group||{};this.groupedResources=Pt(t,e),"vertical"!==t.orientation?(this.horizontalResources=this.groupedResources,this.verticalResources=[]):(this.verticalResources=this.groupedResources,this.horizontalResources=[]),this.spans=this.resourceSpans()},Object.defineProperty(O.prototype,"taskResources",{get:function(){return this.groupedResources.length?this.groupedResources:this.resources&&this.resources.length?[this.resources[0]]:[{}]},enumerable:!1,configurable:!0}),O.prototype.resourceSpans=function(){for(var e=[1],t=this.groupedResources,n=1,r=t.length-1;0<r;r--)n*=(t[r].data||[]).length||1,e.unshift(n);return e},O.prototype.isInRange=function(e){e=this.dateRange(e);return(!this.min||this.min<e.end)&&(!this.max||e.start<=this.max)},O.prototype.createPDFElement=function(){var e=this.contentHeight,t=this.content.nativeElement.scrollTop,n=("auto"!==e&&(this.autoHeight=!0,this.updateView()),this.element.nativeElement.cloneNode(!0));n.style.width=this.pdfWidth()+"px","auto"!==e&&(this.autoHeight=!1,this.updateView()),this.pdfService.elementReady.emit({element:n}),this.content.nativeElement.scrollTop=t},O.prototype.pdfWidth=function(){return this.element.nativeElement.offsetWidth},O.prototype.containerByPosition=function(e){var t=e.x,e=e.y,n=this.content.nativeElement,r=jn(n);if(r.top<=e&&e<=r.top+r.height&&r.left<=t&&t<=r.left+r.width)return{element:n,offset:r}},O.prototype.execute=function(e){var t,n;"slotByPosition"===e.name?(n=this.containerByPosition(e.args))&&(t=this.coordinatesOffset(e.args.x,e.args.y,n.element,n.offset),t=this.slotByPosition(t.x,t.y,n.element),e.result(this.slotFields(t))):"eventFromElement"===e.name&&(n=this.targetTask(e.args.element))&&e.result(n.task.event)},O.prototype.slotFields=function(e){return{element:e.element,resources:this.groupedResources.length?this.resourcesByIndex(e.id.resourceIndex):[],start:this.convertDate(e.start),end:this.convertDate(e.end)}};E=O;function O(e,t,n,r,i,o,a,s,l,c,d){this.viewContext=e,this.viewState=t,this.intl=n,this.slotService=r,this.zone=i,this.renderer=o,this.element=a,this.pdfService=s,this.localization=l,this.cdr=c,this.scrollBarWidthService=d,this.items=new u.BehaviorSubject(null),this.horizontalResources=[],this.verticalResources=[],this.dragHints=[],this.resizeHints=[],this.getField=x,this.changes=new u.BehaviorSubject(null),this.viewRangeChange=new u.BehaviorSubject(null),this.subs=new u.Subscription,this.groupedResources=[],this.spans=[],this.domEvents=[],this.resourcesCache={},this.dragSelecting=null,this.dragSelectOrigin=null,this.autoHeight=!1,this.rtl=!1,this.isSlotSelected=function(){return!1},this.setSlotClass=this.setSlotClass.bind(this),this.setHintClass=this.setHintClass.bind(this),this.weekStart=n.firstDay()}E.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:E,deps:[{token:g},{token:y},{token:o.IntlService},{token:Mi},{token:n.NgZone},{token:n.Renderer2},{token:n.ElementRef},{token:k},{token:r.LocalizationService},{token:n.ChangeDetectorRef},{token:Q.ScrollbarWidthService}],target:n.ɵɵFactoryTarget.Directive}),E.ɵdir=n.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:E,inputs:{"еventTemplate":"еventTemplate",groupHeaderTemplate:"groupHeaderTemplate",selectedDateFormat:"selectedDateFormat",selectedShortDateFormat:"selectedShortDateFormat",eventHeight:"eventHeight",slotClass:"slotClass",eventClass:"eventClass",eventStyles:"eventStyles",weekStart:"weekStart"},viewQueries:[{propertyName:"content",first:!0,predicate:["content"],descendants:!0},{propertyName:"header",first:!0,predicate:["header"],descendants:!0},{propertyName:"contentTable",first:!0,predicate:["contentTable"],descendants:!0},{propertyName:"times",first:!0,predicate:["times"],descendants:!0},{propertyName:"timesHeader",first:!0,predicate:["timesHeader"],descendants:!0},{propertyName:"timesTable",first:!0,predicate:["timesTable"],descendants:!0},{propertyName:"headerWrap",first:!0,predicate:["headerWrap"],descendants:!0},{propertyName:"hintContainer",first:!0,predicate:["hintContainer"],descendants:!0}],usesOnChanges:!0,ngImport:n}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:E,decorators:[{type:h.Directive}],ctorParameters:function(){return[{type:g},{type:y},{type:o.IntlService},{type:Mi},{type:n.NgZone},{type:n.Renderer2},{type:n.ElementRef},{type:k},{type:r.LocalizationService},{type:n.ChangeDetectorRef},{type:Q.ScrollbarWidthService}]},propDecorators:{"еventTemplate":[{type:h.Input}],groupHeaderTemplate:[{type:h.Input}],selectedDateFormat:[{type:h.Input}],selectedShortDateFormat:[{type:h.Input}],eventHeight:[{type:h.Input}],slotClass:[{type:h.Input}],eventClass:[{type:h.Input}],eventStyles:[{type:h.Input}],weekStart:[{type:h.Input}],content:[{type:h.ViewChild,args:["content",{static:!1}]}],header:[{type:h.ViewChild,args:["header",{static:!1}]}],contentTable:[{type:h.ViewChild,args:["contentTable",{static:!1}]}],times:[{type:h.ViewChild,args:["times",{static:!1}]}],timesHeader:[{type:h.ViewChild,args:["timesHeader",{static:!1}]}],timesTable:[{type:h.ViewChild,args:["timesTable",{static:!1}]}],headerWrap:[{type:h.ViewChild,args:["headerWrap",{static:!1}]}],hintContainer:[{type:h.ViewChild,args:["hintContainer",{static:!1}]}]}});Qi.prototype.detectChanges=function(){this.changeDetector.detectChanges()};xi=Qi;function Qi(e){this.changeDetector=e,this.changeDetector.detach()}xi.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:xi,deps:[{token:n.ChangeDetectorRef}],target:n.ɵɵFactoryTarget.Component}),xi.ɵcmp=n.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:xi,selector:"kendo-hint-container",queries:[{propertyName:"hintTemplate",first:!0,predicate:h.TemplateRef,descendants:!0}],ngImport:n,template:'\n <ng-container [ngTemplateOutlet]="hintTemplate">\n </ng-container>\n ',isInline:!0,directives:[{type:c.NgTemplateOutlet,selector:"[ngTemplateOutlet]",inputs:["ngTemplateOutletContext","ngTemplateOutlet"]}]}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:xi,decorators:[{type:h.Component,args:[{selector:"kendo-hint-container",template:'\n <ng-container [ngTemplateOutlet]="hintTemplate">\n </ng-container>\n '}]}],ctorParameters:function(){return[{type:n.ChangeDetectorRef}]},propDecorators:{hintTemplate:[{type:h.ContentChild,args:[h.TemplateRef,{static:!1}]}]}});Object.defineProperty(Ji.prototype,"left",{get:function(){return this.hint.rect.left},enumerable:!1,configurable:!0}),Object.defineProperty(Ji.prototype,"top",{get:function(){return this.hint.rect.top},enumerable:!1,configurable:!0}),Object.defineProperty(Ji.prototype,"width",{get:function(){return this.hint.rect.width},enumerable:!1,configurable:!0}),Object.defineProperty(Ji.prototype,"height",{get:function(){return this.hint.rect.height},enumerable:!1,configurable:!0}),Object.defineProperty(Ji.prototype,"start",{get:function(){return b.toLocalDate(this.hint.start)},enumerable:!1,configurable:!0}),Object.defineProperty(Ji.prototype,"end",{get:function(){return b.toLocalDate(this.hint.end)},enumerable:!1,configurable:!0});Ri=Ji;function Ji(){this.marqueeClasses=!0}Ri.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Ri,deps:[],target:n.ɵɵFactoryTarget.Component}),Ri.ɵcmp=n.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:Ri,selector:"[kendoResizeHint]",inputs:{hint:"hint",format:"format"},host:{properties:{"class.k-marquee":"this.marqueeClasses","class.k-scheduler-marquee":"this.marqueeClasses","class.k-first":"this.marqueeClasses","class.k-last":"this.marqueeClasses","style.left.px":"this.left","style.right.px":"this.left","style.top.px":"this.top","style.width.px":"this.width","style.height.px":"this.height"}},ngImport:n,template:'\n <div class="k-marquee-color"></div>\n <div class="k-marquee-text">\n <div class="k-label-top" *ngIf="hint.first">{{ start | kendoDate : format }}</div>\n <div class="k-label-bottom" *ngIf="hint.last">{{ end | kendoDate : format }}</div>\n </div>\n ',isInline:!0,directives:[{type:c.NgIf,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]}],pipes:{kendoDate:o.DatePipe}}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Ri,decorators:[{type:h.Component,args:[{selector:"[kendoResizeHint]",template:'\n <div class="k-marquee-color"></div>\n <div class="k-marquee-text">\n <div class="k-label-top" *ngIf="hint.first">{{ start | kendoDate : format }}</div>\n <div class="k-label-bottom" *ngIf="hint.last">{{ end | kendoDate : format }}</div>\n </div>\n '}]}],propDecorators:{hint:[{type:h.Input}],format:[{type:h.Input}],marqueeClasses:[{type:h.HostBinding,args:["class.k-marquee"]},{type:h.HostBinding,args:["class.k-scheduler-marquee"]},{type:h.HostBinding,args:["class.k-first"]},{type:h.HostBinding,args:["class.k-last"]}],left:[{type:h.HostBinding,args:["style.left.px"]},{type:h.HostBinding,args:["style.right.px"]}],top:[{type:h.HostBinding,args:["style.top.px"]}],width:[{type:h.HostBinding,args:["style.width.px"]}],height:[{type:h.HostBinding,args:["style.height.px"]}]}});Object.defineProperty(eo.prototype,"slotIndex",{get:function(){return this.key},enumerable:!1,configurable:!0}),Object.defineProperty(eo.prototype,"start",{get:function(){return this._start},set:function(e){this._start=e},enumerable:!1,configurable:!0}),Object.defineProperty(eo.prototype,"end",{get:function(){return this._end},set:function(e){this._end=e},enumerable:!1,configurable:!0}),Object.defineProperty(eo.prototype,"rect",{get:function(){var e;return this._rect||(e=this.nativeElement,this._rect={left:this.localization.rtl?this.slotService.containerSize-(e.offsetLeft+e.clientWidth):e.offsetLeft,top:e.offsetTop,width:e.clientWidth,height:e.clientHeight}),this._rect},enumerable:!1,configurable:!0}),Object.defineProperty(eo.prototype,"top",{get:function(){return this.element?this.nativeElement.offsetTop:0},enumerable:!1,configurable:!0}),Object.defineProperty(eo.prototype,"padding",{get:function(){return this.element&&l.isDocumentAvailable()?2*parseInt(window.getComputedStyle(this.nativeElement).paddingTop,10):0},enumerable:!1,configurable:!0}),Object.defineProperty(eo.prototype,"height",{get:function(){return this.element?this.nativeElement.offsetHeight:0},set:function(e){this.element&&(this.nativeElement.style.height=e+"px"),this._rect&&(this._rect.height=e)},enumerable:!1,configurable:!0}),Object.defineProperty(eo.prototype,"width",{get:function(){return this.element?this.nativeElement.offsetWidth:0},enumerable:!1,configurable:!0}),Object.defineProperty(eo.prototype,"key",{get:function(){return this.id.resourceIndex+":"+this.id.rangeIndex+":"+this.id.index},enumerable:!1,configurable:!0}),Object.defineProperty(eo.prototype,"nativeElement",{get:function(){return this.element.nativeElement},enumerable:!1,configurable:!0}),eo.prototype.ngOnInit=function(){this.slotService.registerSlot(this)},eo.prototype.ngOnDestroy=function(){this.slotService.unregisterSlot(this)},eo.prototype.invalidate=function(){this._rect=null};R=eo;function eo(e,t,n){this.element=e,this.slotService=t,this.localization=n,this._rect=null}R.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:R,deps:[{token:n.ElementRef},{token:Mi},{token:r.LocalizationService}],target:n.ɵɵFactoryTarget.Directive}),R.ɵdir=n.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:R,inputs:{id:"id"},host:{properties:{"attr.data-slot-index":"this.slotIndex"}},ngImport:n}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:R,decorators:[{type:h.Directive}],ctorParameters:function(){return[{type:n.ElementRef},{type:Mi},{type:r.LocalizationService}]},propDecorators:{id:[{type:h.Input}],slotIndex:[{type:h.HostBinding,args:["attr.data-slot-index"]}]}});p(ro,to=R),Object.defineProperty(ro.prototype,"start",{get:function(){return this.startDate},set:function(e){this.startDate=bn(e)},enumerable:!1,configurable:!0}),Object.defineProperty(ro.prototype,"end",{get:function(){return Tn(this.start,1)},enumerable:!1,configurable:!0}),Object.defineProperty(ro.prototype,"linkHeight",{get:function(){var e;return null===this._linkHeight&&(e=function(e){for(var t=e.children,n=t.length,r=0;r<n;r++)if(1===t[r].nodeType)return t[r]}(this.nativeElement),this._linkHeight=e?e.offsetHeight+e.offsetTop:0),this._linkHeight},enumerable:!1,configurable:!0}),ro.prototype.ngOnDestroy=function(){to.prototype.ngOnDestroy.call(this),this.removeShowMore()},ro.prototype.showMore=function(e){var t;this.showMoreElement||((t=this.showMoreElement=document.createElement("div")).innerHTML='<span class="k-icon k-i-more-horizontal"></span>',t.className="k-more-events k-button",t.style.width=e.width+"px",t.style.left=e.left+"px",t.style.top=e.top+"px",this.nativeElement.appendChild(t))},ro.prototype.hideMore=function(){this.removeShowMore()},ro.prototype.invalidate=function(){to.prototype.invalidate.call(this),this._linkHeight=null,this.removeShowMore()},ro.prototype.removeShowMore=function(){this.showMoreElement&&(this.showMoreElement.parentNode.removeChild(this.showMoreElement),this.showMoreElement=null)};var to,no=ro;function ro(e,t,n){e=to.call(this,e,t,n)||this;return e.isDaySlot=!0,e._linkHeight=null,e}no.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:no,deps:[{token:n.ElementRef},{token:Yi},{token:r.LocalizationService}],target:n.ɵɵFactoryTarget.Directive}),no.ɵdir=n.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:no,selector:"[monthSlot]",inputs:{start:"start"},usesInheritance:!0,ngImport:n}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:no,decorators:[{type:h.Directive,args:[{selector:"[monthSlot]"}]}],ctorParameters:function(){return[{type:n.ElementRef},{type:Yi},{type:r.LocalizationService}]},propDecorators:{start:[{type:h.Input}]}});oo.prototype[Lt]=function(){var t,n,r,i,o,a;return ae(this,function(e){switch(e.label){case 0:for(t=this.resources,n=Math.max(0,this.lastIndex),t&&t.length||(t=[{}]),r=t[n].data||[],i=r.length,o=1,a=0;a<=n;a++)o*=(t[a].data||[]).length||1;a=0,e.label=1;case 1:return a<o?[4,r[a%i]]:[3,4];case 2:e.sent(),e.label=3;case 3:return a++,[3,1];case 4:return[2]}})};var io=oo;function oo(e,t){void 0===t&&(t=e.length-1),this.resources=e,this.lastIndex=t}so.prototype.transform=function(e,t){return new io(e=void 0===e?[]:e,t)};var ao=so;function so(){}ao.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:ao,deps:[],target:n.ɵɵFactoryTarget.Pipe}),ao.ɵpipe=n.ɵɵngDeclarePipe({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:ao,name:"resourceIterator"}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:ao,decorators:[{type:h.Pipe,args:[{name:"resourceIterator"}]}]});co.prototype[Lt]=function(){var t;return ae(this,function(e){switch(e.label){case 0:t=0,e.label=1;case 1:return t<this.count?[4,t]:[3,4];case 2:e.sent(),e.label=3;case 3:return t++,[3,1];case 4:return[2]}})};var lo=co;function co(e){this.count=e}uo.prototype.transform=function(e){return new lo(e)};Lt=uo;function uo(){}Lt.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Lt,deps:[],target:n.ɵɵFactoryTarget.Pipe}),Lt.ɵpipe=n.ɵɵngDeclarePipe({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Lt,name:"repeat"}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Lt,decorators:[{type:h.Pipe,args:[{name:"repeat"}]}]});p(H,po=E),Object.defineProperty(H.prototype,"monthDaySlotTemplateRef",{get:function(){return this.monthDaySlotTemplate||(this.schedulerMonthDaySlotTemplate||{}).templateRef},enumerable:!1,configurable:!0}),H.prototype.ngOnChanges=function(e){l.isChanged("weekStart",e)&&this.onSelectDate(this.selectedDate),po.prototype.ngOnChanges.call(this,e)},H.prototype.ngAfterViewInit=function(){this.updateOngoingEvents(),po.prototype.ngAfterViewInit.call(this)},H.prototype.ngOnDestroy=function(){clearTimeout(this.ongoingEventsTimeout),po.prototype.ngOnDestroy.call(this)},H.prototype.horizontalColspan=function(e){for(var t=this.horizontalResources,n=7,r=e+1;r<t.length;r++)n*=(t[r].data||[]).length||1;return n},H.prototype.verticalRowspan=function(e){for(var t=this.verticalResources,n=6,r=e+1;r<t.length;r++)n*=(t[r].data||[]).length||1;return n},H.prototype.verticalItem=function(e,t){for(var n=this.verticalResources[t].data||[],r=this.verticalResources,i=1,o=t+1;o<r.length;o++)i*=(r[o].data||[]).length||1;return n[e/i%n.length]},H.prototype.daySlotClass=function(e,t){if(this.slotClass)return this.slotClass({start:e,end:b.addDays(e,1),resources:this.resourcesByIndex(t),isAllDay:!1})},H.prototype.cellTitle=function(e){return this.intl.formatDate(e,"D")},H.prototype.addDay=function(e){return b.addDays(e,1)},H.prototype.optionsChange=function(e){this.schedulerMonthDaySlotTemplate=e.monthDaySlotTemplate,po.prototype.optionsChange.call(this,e)},H.prototype.createTasks=function(e,t){this.weeks=this.createDaySlots(t);for(var n=t.start,t=t.end,r=e,i=this.weeks,o=[],a=bn(n),s=bn(t),l=0;l<r.length;l++){var c=r[l],d={},u=c.start.toUTCDate(),p=c.end,h=(c.end.getTime()!==p.getTime()?p.addDays(1):p).toUTCDate();if(fn(u,h,a,s))for(var m=0;m<i.length;m++){var g,y=i[m],f=bn(y[0]),y=Tn(bn(y[y.length-1]),1);fn(u,h,f,y)&&(g={index:l,startTime:u,endTime:h,start:c.start,end:c.end,event:c.event,isAllDay:c.event.isAllDay,rangeIndex:m,data:d},o.push(g),g.head=g.endTime>y,g.tail=g.startTime<f)}}return Gt(o)},H.prototype.onTasksChange=function(){for(var e=this.tasks,t=0;t<e.length;t++){var n,r=e[t],i=r.resources,o=(n=o=void 0,r.data);for(n in o)o.hasOwnProperty(n)&&delete o[n];for(var a=0;a<i.length;a++)r.data[i[a].leafIdx]={}}this.items.next(this.tasks)},H.prototype.reflow=function(){this.updateContentHeight();var e=this.content.nativeElement;this.slotService.containerSize=e.scrollWidth,"auto"===this.contentHeight&&(e.style.overflow="visible"),this.slotService.layout(this.eventHeight),"auto"===this.contentHeight&&(e.style.overflow=""),this.syncTables()},H.prototype.onClick=function(e,t){var n=this;if("click"===(t=void 0===t?e.type:t)){var r,i=hn(e.target,function(e){return e.hasAttribute("data-slot-index")},this.element.nativeElement),o=hn(e.target,function(e){return gn(e,"k-more-events k-nav-day")},i);if(i&&o)return o=i.getAttribute("data-slot-index"),r=this.slotService.slotByIndex(o),void this.zone.run(function(){n.viewState.navigateTo({viewName:"day",date:b.toLocalDate(r.start)})})}po.prototype.onClick.call(this,e,t)},H.prototype.slotByIndex=function(e,t){return this.slotService.slotByIndex(e)},H.prototype.onSelectDate=function(e){var t=this.dateRange(e);this.selectedDate=e,this.viewState.notifyDateRange(t),this.weeks=this.createDaySlots(t)},H.prototype.onAction=function(e){var t,n=b.getDate(this.selectedDate);"next"===e.type&&(t=b.firstDayOfMonth(b.addMonths(n,1)),this.isInRange(t))&&this.viewState.notifyNextDate(t),"prev"===e.type&&(t=b.firstDayOfMonth(b.addMonths(n,-1)),this.isInRange(t))&&this.viewState.notifyNextDate(t)},H.prototype.dateRange=function(e){void 0===e&&(e=this.selectedDate);var e=b.firstDayOfMonth(b.getDate(e)),t=b.firstDayInWeek(e,this.weekStart);return{start:t,end:b.addDays(t,42),text:this.intl.format(this.selectedDateFormat,e),shortText:this.intl.format(this.selectedShortDateFormat,e)}},H.prototype.dragRanges=function(e){return this.slotService.dragRanges(e,this.dragging.offset)},H.prototype.dragHintSize=function(e,t){return{width:Bn(t.rect.left-e.rect.left+t.rect.width),height:Bn(e.height)}},H.prototype.slotByPosition=function(e,t){return this.slotService.slotByPosition(e,t)},H.prototype.updateOngoingEvents=function(){var e=this,t=!this.highlightOngoingEvents||!1===this.highlightOngoingEvents.enabled;l.isDocumentAvailable()&&!t&&(clearTimeout(this.ongoingEventsTimeout),this.zone.runOutsideAngular(function(){e.ongoingEventsTimeout=setTimeout(e.updateOngoingEvents,e.highlightOngoingEvents.updateInterval||6e4)}),this.toggleOngoingClass())},H.prototype.currentTime=function(){return new Date},H.prototype.toggleOngoingClass=function(){var n=this,r=this.currentTime(),i=f(this.highlightOngoingEvents.cssClass)?this.highlightOngoingEvents.cssClass:Li;this.eventElements.forEach(function(e){var t=vn(r,e.item.start,e.item.end);n.renderer[t?"addClass":"removeClass"](e.nativeElement,i)})},H.prototype.createDaySlots=function(e){for(var t=[],n=e.start,r=0;r<6;r++){var i=[];t.push(i);for(var o=0;o<7;o++)i.push(n),n=b.addDays(n,1)}return t};var po,F=H;function H(e,t,n,r,i,o,a,s,l,c,d){e=po.call(this,e,t,n,r,i,a,o,s,l,c,d)||this;return e.resizeHintFormat={skeleton:"Md"},e.weeks=[],e.updateOngoingEvents=e.updateOngoingEvents.bind(e),e}F.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:F,deps:[{token:g},{token:y},{token:o.IntlService},{token:Yi},{token:n.NgZone},{token:n.ElementRef},{token:n.Renderer2},{token:k},{token:r.LocalizationService},{token:n.ChangeDetectorRef},{token:Q.ScrollbarWidthService}],target:n.ɵɵFactoryTarget.Component}),F.ɵcmp=n.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:F,selector:"month-view",inputs:{monthDaySlotTemplate:"monthDaySlotTemplate",highlightOngoingEvents:"highlightOngoingEvents"},providers:[Yi],viewQueries:[{propertyName:"eventElements",predicate:C,descendants:!0}],usesInheritance:!0,usesOnChanges:!0,ngImport:n,template:'\n <div class="k-scheduler-layout k-scheduler-monthview k-scheduler-flex-layout">\n <div class="k-scheduler-pane">\n <div class="k-scheduler-times" #timesHeader *ngIf="verticalResources.length">\n <table class="k-scheduler-table" aria-hidden="true">\n <tr>\n <th></th>\n </tr>\n </table>\n </div>\n <div class="k-scheduler-header k-state-default" #header>\n <div class="k-scheduler-header-wrap" #headerWrap>\n <table class="k-scheduler-table" aria-hidden="true">\n <tr *ngFor="let resource of horizontalResources; let resourceIndex = index; trackBy: itemIndex">\n <th *ngFor="let item of horizontalResources | resourceIterator : resourceIndex; trackBy: itemIndex"\n class="k-slot-cell" [attr.colspan]="horizontalColspan(resourceIndex)">\n <ng-container *ngIf="!groupHeaderTemplateRef">{{ getField(item, resource.textField) }}</ng-container>\n <ng-container *ngIf="groupHeaderTemplateRef" [ngTemplateOutlet]="groupHeaderTemplateRef" [ngTemplateOutletContext]="{ resource: item }"></ng-container>\n </th>\n </tr>\n <tr>\n <ng-container *ngFor="let resource of horizontalResources | resourceIterator; trackBy: itemIndex">\n <th *ngFor="let day of weeks[0]; trackBy: itemIndex">\n {{ day | kendoDate: \'EEEE\' }}\n </th>\n </ng-container>\n </tr>\n </table>\n </div>\n </div>\n </div>\n <div class="k-scheduler-pane">\n <div class="k-scheduler-times k-scheduler-resources" #times *ngIf="verticalResources.length">\n <table class="k-scheduler-table" #timesTable aria-hidden="true">\n <ng-container *ngFor="let resourceItem of verticalResources | resourceIterator; let leafIndex = index; trackBy: itemIndex">\n <tr>\n <ng-container *ngFor="let resource of verticalResources; let resourceIndex = index; trackBy: itemIndex">\n <th *ngIf="verticalItem(leafIndex, resourceIndex)" [attr.rowspan]="verticalRowspan(resourceIndex)" class="k-slot-cell" [ngClass]="{ \'k-last-resource\': resourceIndex === verticalResources.length - 1 }">\n <ng-container *ngIf="!groupHeaderTemplateRef">{{ getField(verticalItem(leafIndex, resourceIndex), resource.textField) }}</ng-container>\n <ng-container *ngIf="groupHeaderTemplateRef" [ngTemplateOutlet]="groupHeaderTemplateRef"\n [ngTemplateOutletContext]="{ resource: verticalItem(leafIndex, resourceIndex) }"></ng-container>\n </th>\n </ng-container>\n <th class="k-slot-cell k-empty-slot">\n </th>\n </tr>\n <tr *ngFor="let index of 5 | repeat; trackBy: itemIndex">\n <th class="k-slot-cell k-empty-slot"></th>\n </tr>\n </ng-container>\n </table>\n </div>\n <div \n class="k-scheduler-content"\n tabindex="0"\n #content\n role="group"\n [attr.aria-owns]="matchOwned(items | async)">\n <table class="k-scheduler-table k-user-select-none" #contentTable role="presentation">\n <ng-container *ngFor="let resourceItem of verticalResources | resourceIterator; let verticalIndex = index; trackBy: itemIndex">\n <tr *ngFor="let week of weeks; let rangeIndex = index; trackBy: itemIndex">\n <ng-container *ngFor="let resource of horizontalResources | resourceIterator; let horizontalIndex = index; trackBy: itemIndex">\n <td *ngFor="let day of week; let index = index; trackBy: itemIndex"\n monthSlot\n [ngClass]="daySlotClass(day, verticalResources.length ? verticalIndex : horizontalIndex)"\n [start]="day"\n [id]="{ resourceIndex: verticalResources.length ? verticalIndex : horizontalIndex, rangeIndex: rangeIndex, index: index }"\n [title]="cellTitle(day)"\n [class.k-selected]="isSlotSelected({\n start: toPlainDate(day),\n end: addDay(toPlainDate(day)),\n isAllDay: true,\n resources: resourcesByIndex(verticalResources.length ? verticalIndex : horizontalIndex)\n })"\n >\n <span aria-hidden="true" class="k-link k-nav-day" *ngIf="!monthDaySlotTemplateRef">{{ day | kendoDate: \'dd\' }}</span>\n <ng-container *ngIf="monthDaySlotTemplateRef" [ngTemplateOutlet]="monthDaySlotTemplateRef"\n [ngTemplateOutletContext]="{ date: day, resources: resourcesByIndex(verticalResources.length ? verticalIndex : horizontalIndex) }"></ng-container>\n </td>\n </ng-container>\n </tr>\n </ng-container>\n </table>\n <ng-container *ngFor="let item of items | async; trackBy: itemIndex">\n <div *ngFor="let itemResource of item.resources; trackBy: itemIndex"\n [ngClass]="getEventClasses(item, itemResource.resources)"\n [ngStyle]="getEventStyles(item, itemResource)"\n role="button"\n [kendoSchedulerFocusIndex]="itemResource.leafIdx"\n [id]="item.elementId + \'_\' + itemResource.leafIdx"\n monthViewItem\n [editable]="editable"\n [item]="item"\n [index]="item.index"\n [rangeIndex]="item.rangeIndex"\n [eventTemplate]="eventTemplateRef"\n [resources]="itemResource.resources"\n [resourceIndex]="itemResource.leafIdx">\n </div>\n </ng-container>\n <kendo-hint-container #hintContainer>\n <ng-template>\n <div *ngFor="let hint of dragHints; trackBy: itemIndex;"\n class="k-event-drag-hint"\n monthViewItem\n [ngStyle]="hint.style"\n [ngClass]="hint.class"\n [dragHint]="true"\n [eventTemplate]="eventTemplateRef"\n [item]="hint.item"\n [resources]="hint.resources">\n </div>\n\n <div *ngFor="let hint of resizeHints; trackBy: itemIndex;"\n kendoResizeHint\n [hint]="hint"\n [ngClass]="hint.class"\n [format]="resizeHintFormat">\n </div>\n </ng-template>\n </kendo-hint-container>\n </div>\n </div>\n </div>\n ',isInline:!0,components:[{type:C,selector:"[monthViewItem]"},{type:xi,selector:"kendo-hint-container"},{type:Ri,selector:"[kendoResizeHint]",inputs:["hint","format"]}],directives:[{type:c.NgIf,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]},{type:c.NgForOf,selector:"[ngFor][ngForOf]",inputs:["ngForOf","ngForTrackBy","ngForTemplate"]},{type:c.NgTemplateOutlet,selector:"[ngTemplateOutlet]",inputs:["ngTemplateOutletContext","ngTemplateOutlet"]},{type:c.NgClass,selector:"[ngClass]",inputs:["class","ngClass"]},{type:no,selector:"[monthSlot]",inputs:["start"]},{type:c.NgStyle,selector:"[ngStyle]",inputs:["ngStyle"]},{type:dn,selector:"[kendoSchedulerFocusIndex]",inputs:["kendoSchedulerFocusIndex","containerType"]}],pipes:{resourceIterator:ao,kendoDate:o.DatePipe,repeat:Lt,async:c.AsyncPipe}}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:F,decorators:[{type:h.Component,args:[{selector:"month-view",providers:[Yi],template:'\n <div class="k-scheduler-layout k-scheduler-monthview k-scheduler-flex-layout">\n <div class="k-scheduler-pane">\n <div class="k-scheduler-times" #timesHeader *ngIf="verticalResources.length">\n <table class="k-scheduler-table" aria-hidden="true">\n <tr>\n <th></th>\n </tr>\n </table>\n </div>\n <div class="k-scheduler-header k-state-default" #header>\n <div class="k-scheduler-header-wrap" #headerWrap>\n <table class="k-scheduler-table" aria-hidden="true">\n <tr *ngFor="let resource of horizontalResources; let resourceIndex = index; trackBy: itemIndex">\n <th *ngFor="let item of horizontalResources | resourceIterator : resourceIndex; trackBy: itemIndex"\n class="k-slot-cell" [attr.colspan]="horizontalColspan(resourceIndex)">\n <ng-container *ngIf="!groupHeaderTemplateRef">{{ getField(item, resource.textField) }}</ng-container>\n <ng-container *ngIf="groupHeaderTemplateRef" [ngTemplateOutlet]="groupHeaderTemplateRef" [ngTemplateOutletContext]="{ resource: item }"></ng-container>\n </th>\n </tr>\n <tr>\n <ng-container *ngFor="let resource of horizontalResources | resourceIterator; trackBy: itemIndex">\n <th *ngFor="let day of weeks[0]; trackBy: itemIndex">\n {{ day | kendoDate: \'EEEE\' }}\n </th>\n </ng-container>\n </tr>\n </table>\n </div>\n </div>\n </div>\n <div class="k-scheduler-pane">\n <div class="k-scheduler-times k-scheduler-resources" #times *ngIf="verticalResources.length">\n <table class="k-scheduler-table" #timesTable aria-hidden="true">\n <ng-container *ngFor="let resourceItem of verticalResources | resourceIterator; let leafIndex = index; trackBy: itemIndex">\n <tr>\n <ng-container *ngFor="let resource of verticalResources; let resourceIndex = index; trackBy: itemIndex">\n <th *ngIf="verticalItem(leafIndex, resourceIndex)" [attr.rowspan]="verticalRowspan(resourceIndex)" class="k-slot-cell" [ngClass]="{ \'k-last-resource\': resourceIndex === verticalResources.length - 1 }">\n <ng-container *ngIf="!groupHeaderTemplateRef">{{ getField(verticalItem(leafIndex, resourceIndex), resource.textField) }}</ng-container>\n <ng-container *ngIf="groupHeaderTemplateRef" [ngTemplateOutlet]="groupHeaderTemplateRef"\n [ngTemplateOutletContext]="{ resource: verticalItem(leafIndex, resourceIndex) }"></ng-container>\n </th>\n </ng-container>\n <th class="k-slot-cell k-empty-slot">\n </th>\n </tr>\n <tr *ngFor="let index of 5 | repeat; trackBy: itemIndex">\n <th class="k-slot-cell k-empty-slot"></th>\n </tr>\n </ng-container>\n </table>\n </div>\n <div \n class="k-scheduler-content"\n tabindex="0"\n #content\n role="group"\n [attr.aria-owns]="matchOwned(items | async)">\n <table class="k-scheduler-table k-user-select-none" #contentTable role="presentation">\n <ng-container *ngFor="let resourceItem of verticalResources | resourceIterator; let verticalIndex = index; trackBy: itemIndex">\n <tr *ngFor="let week of weeks; let rangeIndex = index; trackBy: itemIndex">\n <ng-container *ngFor="let resource of horizontalResources | resourceIterator; let horizontalIndex = index; trackBy: itemIndex">\n <td *ngFor="let day of week; let index = index; trackBy: itemIndex"\n monthSlot\n [ngClass]="daySlotClass(day, verticalResources.length ? verticalIndex : horizontalIndex)"\n [start]="day"\n [id]="{ resourceIndex: verticalResources.length ? verticalIndex : horizontalIndex, rangeIndex: rangeIndex, index: index }"\n [title]="cellTitle(day)"\n [class.k-selected]="isSlotSelected({\n start: toPlainDate(day),\n end: addDay(toPlainDate(day)),\n isAllDay: true,\n resources: resourcesByIndex(verticalResources.length ? verticalIndex : horizontalIndex)\n })"\n >\n <span aria-hidden="true" class="k-link k-nav-day" *ngIf="!monthDaySlotTemplateRef">{{ day | kendoDate: \'dd\' }}</span>\n <ng-container *ngIf="monthDaySlotTemplateRef" [ngTemplateOutlet]="monthDaySlotTemplateRef"\n [ngTemplateOutletContext]="{ date: day, resources: resourcesByIndex(verticalResources.length ? verticalIndex : horizontalIndex) }"></ng-container>\n </td>\n </ng-container>\n </tr>\n </ng-container>\n </table>\n <ng-container *ngFor="let item of items | async; trackBy: itemIndex">\n <div *ngFor="let itemResource of item.resources; trackBy: itemIndex"\n [ngClass]="getEventClasses(item, itemResource.resources)"\n [ngStyle]="getEventStyles(item, itemResource)"\n role="button"\n [kendoSchedulerFocusIndex]="itemResource.leafIdx"\n [id]="item.elementId + \'_\' + itemResource.leafIdx"\n monthViewItem\n [editable]="editable"\n [item]="item"\n [index]="item.index"\n [rangeIndex]="item.rangeIndex"\n [eventTemplate]="eventTemplateRef"\n [resources]="itemResource.resources"\n [resourceIndex]="itemResource.leafIdx">\n </div>\n </ng-container>\n <kendo-hint-container #hintContainer>\n <ng-template>\n <div *ngFor="let hint of dragHints; trackBy: itemIndex;"\n class="k-event-drag-hint"\n monthViewItem\n [ngStyle]="hint.style"\n [ngClass]="hint.class"\n [dragHint]="true"\n [eventTemplate]="eventTemplateRef"\n [item]="hint.item"\n [resources]="hint.resources">\n </div>\n\n <div *ngFor="let hint of resizeHints; trackBy: itemIndex;"\n kendoResizeHint\n [hint]="hint"\n [ngClass]="hint.class"\n [format]="resizeHintFormat">\n </div>\n </ng-template>\n </kendo-hint-container>\n </div>\n </div>\n </div>\n '}]}],ctorParameters:function(){return[{type:g},{type:y},{type:o.IntlService},{type:Yi},{type:n.NgZone},{type:n.ElementRef},{type:n.Renderer2},{type:k},{type:r.LocalizationService},{type:n.ChangeDetectorRef},{type:Q.ScrollbarWidthService}]},propDecorators:{monthDaySlotTemplate:[{type:h.Input}],highlightOngoingEvents:[{type:h.Input}],eventElements:[{type:h.ViewChildren,args:[C]}]}});p(go,ho=t),Object.defineProperty(go.prototype,"title",{get:function(){return this.localization.get("monthViewTitle")},enumerable:!1,configurable:!0}),Object.defineProperty(go.prototype,"viewEventHeight",{get:function(){return f(this.eventHeight)?this.eventHeight:this.schedulerOptions.eventHeight||25},enumerable:!1,configurable:!0});var ho,mo=go;function go(e,t,n,r){e=ho.call(this,e,t,n,r)||this;return e.selectedDateFormat="{0:Y}",e.selectedShortDateFormat="{0:y}",e.name="month",e}mo.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:mo,deps:[{token:r.LocalizationService},{token:n.ChangeDetectorRef},{token:g},{token:y}],target:n.ɵɵFactoryTarget.Component}),mo.ɵcmp=n.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:mo,selector:"kendo-scheduler-month-view",inputs:{eventHeight:"eventHeight",selectedDateFormat:"selectedDateFormat",selectedShortDateFormat:"selectedShortDateFormat"},providers:[{provide:ct,useExisting:h.forwardRef(function(){return mo})}],queries:[{propertyName:"monthDaySlotTemplate",first:!0,predicate:Dt,descendants:!0}],usesInheritance:!0,ngImport:n,template:'\n <ng-template #content>\n <month-view\n [eventHeight]="viewEventHeight"\n [еventTemplate]="eventTemplate?.templateRef"\n [slotClass]="viewSlotClass"\n [eventClass]="viewEventClass"\n [eventStyles]="viewEventStyles"\n [groupHeaderTemplate]="groupHeaderTemplate?.templateRef"\n [monthDaySlotTemplate]="monthDaySlotTemplate?.templateRef"\n [selectedDateFormat]="selectedDateFormat"\n [selectedShortDateFormat]="selectedShortDateFormat"\n [highlightOngoingEvents]="viewHighlightOngoingEvents"\n [weekStart]="viewWeekStart">\n </month-view>\n </ng-template>\n ',isInline:!0,components:[{type:F,selector:"month-view",inputs:["monthDaySlotTemplate","highlightOngoingEvents"]}],changeDetection:n.ChangeDetectionStrategy.OnPush}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:mo,decorators:[{type:h.Component,args:[{changeDetection:h.ChangeDetectionStrategy.OnPush,selector:"kendo-scheduler-month-view",providers:[{provide:ct,useExisting:h.forwardRef(function(){return mo})}],template:'\n <ng-template #content>\n <month-view\n [eventHeight]="viewEventHeight"\n [еventTemplate]="eventTemplate?.templateRef"\n [slotClass]="viewSlotClass"\n [eventClass]="viewEventClass"\n [eventStyles]="viewEventStyles"\n [groupHeaderTemplate]="groupHeaderTemplate?.templateRef"\n [monthDaySlotTemplate]="monthDaySlotTemplate?.templateRef"\n [selectedDateFormat]="selectedDateFormat"\n [selectedShortDateFormat]="selectedShortDateFormat"\n [highlightOngoingEvents]="viewHighlightOngoingEvents"\n [weekStart]="viewWeekStart">\n </month-view>\n </ng-template>\n '}]}],ctorParameters:function(){return[{type:r.LocalizationService},{type:n.ChangeDetectorRef},{type:g},{type:y}]},propDecorators:{eventHeight:[{type:h.Input}],selectedDateFormat:[{type:h.Input}],selectedShortDateFormat:[{type:h.Input}],monthDaySlotTemplate:[{type:h.ContentChild,args:[Dt,{static:!1}]}]}});fo.prototype.ngOnDestroy=function(){this.sub&&this.sub.unsubscribe()},fo.prototype.onItemClick=function(e,t){e.preventDefault(),this.itemClick.emit(t)};var yo=fo;function fo(e){var t=this;this.hostClasses=!0,this.inlineJustifyContentStyle="start",this.itemClick=new h.EventEmitter,this.sub=e.toggleWorkHours.subscribe(function(){return t.itemClick.emit()})}yo.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:yo,deps:[{token:y}],target:n.ɵɵFactoryTarget.Component}),yo.ɵcmp=n.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:yo,selector:"[viewFooter]",inputs:{items:"items"},outputs:{itemClick:"itemClick"},host:{properties:{"class.k-scheduler-footer":"this.hostClasses","class.k-toolbar":"this.hostClasses","style.justify-content":"this.inlineJustifyContentStyle"}},ngImport:n,template:'\n <span class="k-scheduler-navigation">\n <button\n type="button"\n kendoButton\n *ngFor="let item of items"\n [ngClass]="item.cssClass"\n (click)="onItemClick($event, item)"\n [kendoSchedulerFocusIndex]="0"\n containerType=\'footer\'>\n <span class="k-button-icon k-icon" [ngClass]="item.iconClass"></span>\n <span class="k-button-text">{{ item.text }}</span>\n </button>\n </span>\n ',isInline:!0,directives:[{type:c.NgForOf,selector:"[ngFor][ngForOf]",inputs:["ngForOf","ngForTrackBy","ngForTemplate"]},{type:a.ButtonDirective,selector:"button[kendoButton], span[kendoButton]",inputs:["toggleable","togglable","selected","tabIndex","icon","iconClass","imageUrl","disabled","size","rounded","fillMode","themeColor","role","primary","look"],outputs:["selectedChange","click"],exportAs:["kendoButton"]},{type:c.NgClass,selector:"[ngClass]",inputs:["class","ngClass"]},{type:dn,selector:"[kendoSchedulerFocusIndex]",inputs:["kendoSchedulerFocusIndex","containerType"]}]}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:yo,decorators:[{type:h.Component,args:[{selector:"[viewFooter]",template:'\n <span class="k-scheduler-navigation">\n <button\n type="button"\n kendoButton\n *ngFor="let item of items"\n [ngClass]="item.cssClass"\n (click)="onItemClick($event, item)"\n [kendoSchedulerFocusIndex]="0"\n containerType=\'footer\'>\n <span class="k-button-icon k-icon" [ngClass]="item.iconClass"></span>\n <span class="k-button-text">{{ item.text }}</span>\n </button>\n </span>\n '}]}],ctorParameters:function(){return[{type:y}]},propDecorators:{hostClasses:[{type:h.HostBinding,args:["class.k-scheduler-footer"]},{type:h.HostBinding,args:["class.k-toolbar"]}],inlineJustifyContentStyle:[{type:h.HostBinding,args:["style.justify-content"]}],itemClick:[{type:h.Output}],items:[{type:h.Input}]}});vo.prototype.ngOnInit=function(){this.toggleWorkHours(),this.footer.items=this.footerItems},vo.prototype.ngOnChanges=function(){this.toggleWorkHours()},vo.prototype.toggleWorkHours=function(){this.footerItems[0].text=this.showWorkHours?this.localization.get("showFullDay"):this.localization.get("showWorkDay")};a=vo;function vo(e,t){this.footer=e,this.localization=t,this.showWorkHours=!1,this.footerItems=[{cssClass:"k-scheduler-fullday",iconClass:"k-i-clock",text:""}]}a.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:a,deps:[{token:yo},{token:r.LocalizationService}],target:n.ɵɵFactoryTarget.Directive}),a.ɵdir=n.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:a,selector:"[kendoWorkHoursFooter]",inputs:{showWorkHours:"showWorkHours"},usesOnChanges:!0,ngImport:n}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:a,decorators:[{type:h.Directive,args:[{selector:"[kendoWorkHoursFooter]"}]}],ctorParameters:function(){return[{type:yo},{type:r.LocalizationService}]},propDecorators:{showWorkHours:[{type:h.Input}]}});var ko,Do=[yo,a,Lt,ao,xi,Ri],To=function(){},Do=(To.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:To,deps:[],target:n.ɵɵFactoryTarget.NgModule}),To.ɵmod=n.ɵɵngDeclareNgModule({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:To,declarations:[yo,a,Lt,ao,xi,Ri],imports:[q.CommonModule,j.IntlModule,d,L.ButtonsModule],exports:[yo,a,Lt,ao,xi,Ri,j.IntlModule,q.CommonModule,d]}),To.ɵinj=n.ɵɵngDeclareInjector({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:To,imports:[[q.CommonModule,j.IntlModule,d,L.ButtonsModule],j.IntlModule,q.CommonModule,d]}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:To,decorators:[{type:h.NgModule,args:[{imports:[q.CommonModule,j.IntlModule,d,L.ButtonsModule],exports:[Do,j.IntlModule,q.CommonModule,d],declarations:[Do]}]}]}),function(){}),F=(Do.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Do,deps:[],target:n.ɵɵFactoryTarget.NgModule}),Do.ɵmod=n.ɵɵngDeclareNgModule({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Do,declarations:[mo,F,C,no],imports:[To],exports:[mo]}),Do.ɵinj=n.ɵɵngDeclareInjector({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Do,imports:[[To]]}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Do,decorators:[{type:h.NgModule,args:[{imports:[To],exports:[mo],declarations:[mo,F,C,no]}]}]}),p(Io,ko=t),Object.defineProperty(Io.prototype,"viewEventHeight",{get:function(){return this.optionValue("eventHeight")||25},enumerable:!1,configurable:!0}),Object.defineProperty(Io.prototype,"shouldShowWorkHours",{get:function(){return this.optionValue("showWorkHours")},enumerable:!1,configurable:!0}),Object.defineProperty(Io.prototype,"viewStartTime",{get:function(){return this.optionValue("startTime")},enumerable:!1,configurable:!0}),Object.defineProperty(Io.prototype,"viewEndTime",{get:function(){return this.optionValue("endTime")},enumerable:!1,configurable:!0}),Object.defineProperty(Io.prototype,"viewWorkDayStart",{get:function(){return this.optionValue("workDayStart")},enumerable:!1,configurable:!0}),Object.defineProperty(Io.prototype,"viewWorkDayEnd",{get:function(){return this.optionValue("workDayEnd")},enumerable:!1,configurable:!0}),Object.defineProperty(Io.prototype,"viewWorkWeekStart",{get:function(){return this.optionValue("workWeekStart")},enumerable:!1,configurable:!0}),Object.defineProperty(Io.prototype,"viewWorkWeekEnd",{get:function(){return this.optionValue("workWeekEnd")},enumerable:!1,configurable:!0}),Object.defineProperty(Io.prototype,"viewSlotDuration",{get:function(){return this.optionValue("slotDuration")},enumerable:!1,configurable:!0}),Object.defineProperty(Io.prototype,"viewSlotDivisions",{get:function(){return this.optionValue("slotDivisions")},enumerable:!1,configurable:!0}),Object.defineProperty(Io.prototype,"viewCurrentTimeMarker",{get:function(){return this.optionValue("currentTimeMarker")},enumerable:!1,configurable:!0}),Object.defineProperty(Io.prototype,"viewHighlightOngoingEvents",{get:function(){return this.optionValue("highlightOngoingEvents")},enumerable:!1,configurable:!0}),Object.defineProperty(Io.prototype,"viewScrollTime",{get:function(){return this.optionValue("scrollTime")},enumerable:!1,configurable:!0}),Io.prototype.optionValue=function(e){return(f(this[e])?this:this.schedulerOptions)[e]},Io);function Io(e,t,n,r){return ko.call(this,e,t,n,r)||this}F.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:F,deps:[{token:r.LocalizationService},{token:n.ChangeDetectorRef},{token:g},{token:y}],target:n.ɵɵFactoryTarget.Directive}),F.ɵdir=n.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:F,inputs:{showWorkHours:"showWorkHours",eventHeight:"eventHeight",startTime:"startTime",scrollTime:"scrollTime",endTime:"endTime",workDayStart:"workDayStart",workDayEnd:"workDayEnd",workWeekStart:"workWeekStart",workWeekEnd:"workWeekEnd",slotDuration:"slotDuration",slotDivisions:"slotDivisions",currentTimeMarker:"currentTimeMarker",highlightOngoingEvents:"highlightOngoingEvents"},queries:[{propertyName:"timeSlotTemplate",first:!0,predicate:Tt,descendants:!0},{propertyName:"dateHeaderTemplate",first:!0,predicate:gt,descendants:!0}],usesInheritance:!0,ngImport:n}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:F,decorators:[{type:h.Directive}],ctorParameters:function(){return[{type:r.LocalizationService},{type:n.ChangeDetectorRef},{type:g},{type:y}]},propDecorators:{timeSlotTemplate:[{type:h.ContentChild,args:[Tt,{static:!1}]}],dateHeaderTemplate:[{type:h.ContentChild,args:[gt,{static:!1}]}],showWorkHours:[{type:h.Input}],eventHeight:[{type:h.Input}],startTime:[{type:h.Input}],scrollTime:[{type:h.Input}],endTime:[{type:h.Input}],workDayStart:[{type:h.Input}],workDayEnd:[{type:h.Input}],workWeekStart:[{type:h.Input}],workWeekEnd:[{type:h.Input}],slotDuration:[{type:h.Input}],slotDivisions:[{type:h.Input}],currentTimeMarker:[{type:h.Input}],highlightOngoingEvents:[{type:h.Input}]}});p(wo,bo=F),Object.defineProperty(wo.prototype,"viewSlotFill",{get:function(){return this.optionValue("slotFill")},enumerable:!1,configurable:!0});var bo,C=wo;function wo(e,t,n,r){return bo.call(this,e,t,n,r)||this}C.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:C,deps:[{token:r.LocalizationService},{token:n.ChangeDetectorRef},{token:g},{token:y}],target:n.ɵɵFactoryTarget.Directive}),C.ɵdir=n.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:C,inputs:{slotFill:"slotFill"},usesInheritance:!0,ngImport:n}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:C,decorators:[{type:h.Directive}],ctorParameters:function(){return[{type:r.LocalizationService},{type:n.ChangeDetectorRef},{type:g},{type:y}]},propDecorators:{slotFill:[{type:h.Input}]}});function So(e,t,n){return void 0===n&&(n=!0),e.start.getTime()<=t.getTime()?(n?e.height:e.width)*((t.getTime()-e.start.getTime())/(e.end.getTime()-e.start.getTime())):0}function xo(e,t){var n=Mt(e.columnIndex)?e.columnIndex:Number.MAX_VALUE,r=Mt(t.columnIndex)?t.columnIndex:Number.MAX_VALUE;return n===r?e.item.startTime.getTime()-t.item.startTime.getTime():n-r}var Co=25;function Eo(e,o){var a=0,s=[];e.forEach(function(e){for(var e=o[e],i=e.slot,l=e.events,t=l.length,c=!0,n=(l.sort(xo),a=Math.max(t,a),s.push(i),function(o){var a=l[o];if(c=c&&a.item.endTime.getTime()<=i.end.getTime(),Mt(a.columnIndex))return"continue";a.rect={top:i.rect.top+So(i,a.item.startTime)},a.columnIndex=o,a.lastColumn=!0;for(var s,e=function(t,e){var n,r,i=l[t];return i.columnIndex>e+1?(a.columnIndex=e+1,a.lastColumn=!1,l.splice(o,1),l.splice(a.columnIndex,0,a),s=e,"break"):fn(a.item.startTime,a.item.endTime,i.item.startTime,i.item.endTime)||(n=i.rect.top,r=a.rect.top,n<=r&&r<=n+Co)?(e=i.columnIndex,i.lastColumn=!1,void(s=e)):(a.columnIndex=t,a.lastColumn=!l.some(function(e){return e.columnIndex&&t<e.columnIndex&&fn(a.item.startTime,a.item.endTime,e.item.startTime,e.item.endTime)}),l.splice(o,1),l.splice(t,0,a),s=e,"break")},t=0,n=-1;t<o;t++){var r=e(t,n),n=s;if("break"===r)break}}),r=0;r<t;r++)n(r);c&&(s.forEach(function(e){return e.columns=a}),s=[],a=0)}),s.forEach(function(e){return e.columns=a})}function Ro(e,t){if(void 0!==t.rowIndex)return t.rowIndex;for(var n=0;n<e.length;n++){var r=e[n];if(!r||!fn(t.item.startTime,t.item.endTime,r.item.startTime,r.item.endTime))return n}return e.length}function Oo(e,t,n,r,i){var o=e[0].padding;if(!t.length)return{height:n-o};t.forEach(function(e){e.rowIndex=void 0,e.rect={height:r,width:0}});var t=U.orderBy(t,[{field:"item.startTime",dir:"asc"},{field:"item.endTime",dir:"desc"}]),a={},s=(t.forEach(function(t){return e.filter(function(e){return fn(t.item.startTime,t.item.endTime,e.start,e.end)}).forEach(function(e){e=a[e.key]=a[e.key]||{rows:[],slot:e,events:[]};t.rowIndex=i(e.rows,t),e.rows[t.rowIndex]=t,e.events.push(t)})}),e[0].top),l=0;return Object.keys(a).forEach(function(e){for(var t=a[e].events,n=0,r=0;r<t.length;r++){var i=t[r];i&&(i.rect.top=s+i.rowIndex*(10+i.rect.height),n=Math.max(n,i.rect.top-s+i.rect.height))}l=Math.max(n,l)}),{height:l+=n-o,slotItems:a}}function Fo(s,e,l){Object.keys(s).forEach(function(e){for(var e=s[e],t=e.slot,n=e.events,r=t.rect,i=0;i<n.length;i++){var o,a=n[i];a&&(Mt(a.rect.left)||(a.rect.left=t.rect.left+(l?So(t,a.item.startTime,!1):0)),o=l&&a.item.endTime.getTime()<t.end.getTime()?So(t,a.item.endTime,!1):r.width,a.rect.width=t.rect.left+o-a.rect.left)}}),e.forEach(function(e){e.reflow()})}Object.defineProperty(Vo.prototype,"slots",{get:function(){return this.slotMap.toArray()},enumerable:!1,configurable:!0}),Object.defineProperty(Vo.prototype,"firstSlot",{get:function(){return this.slotMap.first},enumerable:!1,configurable:!0}),Object.defineProperty(Vo.prototype,"lastSlot",{get:function(){return this.slotMap.last},enumerable:!1,configurable:!0}),Object.defineProperty(Vo.prototype,"items",{get:function(){return this.itemMap.toArray()},enumerable:!1,configurable:!0}),Object.defineProperty(Vo.prototype,"rect",{get:function(){var e=this.firstSlot.rect,t=this.lastSlot.rect;return{left:e.left,top:e.top,width:t.left-e.left+t.width,height:t.top-e.top+t.height}},enumerable:!1,configurable:!0}),Object.defineProperty(Vo.prototype,"start",{get:function(){var e=this.slotMap.first;return e?e.start:null},enumerable:!1,configurable:!0}),Object.defineProperty(Vo.prototype,"end",{get:function(){var e=this.slotMap.last;return e?e.end:null},enumerable:!1,configurable:!0}),Object.defineProperty(Vo.prototype,"hasSlots",{get:function(){return 0<this.slotMap.count},enumerable:!1,configurable:!0}),Object.defineProperty(Vo.prototype,"hasItems",{get:function(){return 0<this.itemMap.count},enumerable:!1,configurable:!0}),Vo.prototype.registerItem=function(e){this.itemMap.addItem(e.item.index,e)},Vo.prototype.unregisterItem=function(e,t){this.itemMap.removeItem(t.index,e)},Vo.prototype.registerSlot=function(e){this.slotMap.addItem(e.id.index,e)},Vo.prototype.unregisterSlot=function(e){this.slotMap.removeItem(e.id.index,e)},Vo.prototype.layout=function(e){var c,d,t,n=this.items;n.length&&(c=Math.max(Math.min(e.fill||.9,1),.1),e=U.orderBy(n,[{field:"item.startTime",dir:"asc"},{field:"item.endTime",dir:"desc"}]),n.forEach(function(e,t){e.rect=null,e.columnIndex=void 0}),d={},t=this.slots,e.forEach(function(n){return t.filter(function(e){return fn(n.item.startTime,n.item.endTime,e.start,e.end)}).forEach(function(e){var t=d[e.key]=d[e.key]||{events:[]};t.slot=e,t.events.push(n)})}),Eo(n=Object.keys(d),d),n.forEach(function(e){var e=d[e],n=e.slot,e=e.events,r=n.rect,i=r.left,t=n.columns,o=r.width*c-2*(t-1)-2,a=i+2,s=o/t,l=a+o+2*(t-1);e.forEach(function(e){Mt(e.rect.left)||(e.rect.left=a+e.columnIndex*(2+s),e.rect.width=e.lastColumn?l-e.rect.left:s,e.origin={left:i,right:i+r.width});var t=n.end.getTime()<=e.item.endTime.getTime()?r.height:So(n,e.item.endTime);e.rect.height=r.top+t-e.rect.top})}),e.forEach(function(e){return e.reflow()}))},Vo.prototype.initDaySlots=function(e,t){var n=this.slots;n.length&&(e=(n=Oo(n,this.items,e,t,Mn)).height,t=n.slotItems,this.setSlotsHeight(e),this.slotItems=t)},Vo.prototype.setDayOffsets=function(){this.itemMap.count&&this.slotItems&&(Fo(this.slotItems,this.items),this.slotItems=null)},Vo.prototype.setSlotsHeight=function(e){this.firstSlot.height=e};var Ho=Vo;function Vo(e){this.index=e,this.slotMap=new Ai,this.itemMap=new Ai}Mo.prototype.registerSlot=function(e){this.slotRange(e).registerSlot(e)},Mo.prototype.unregisterSlot=function(e){var t=this.slotRange(e);t.unregisterSlot(e),t.hasSlots||delete this.slotRanges(e)[e.id.rangeIndex]},Mo.prototype.registerItem=function(e){var t=this.itemRange(e);t?(t.registerItem(e),e.rangeIndex=t.index):(e.rangeIndex=void 0,e.toggle(!1))},Mo.prototype.unregisterItem=function(e,t){var n;void 0!==e.rangeIndex&&((n=e.item.isAllDay?this.dayRanges:this.timeRanges)[t.rangeIndex]&&n[t.rangeIndex].unregisterItem(e,t),e.rangeIndex=void 0)},Mo.prototype.forEachDateRange=function(e){for(var t=0;t<this.dayRanges.length;t++)e(this.dayRanges[t])},Mo.prototype.forEachTimeRange=function(e){for(var t=0;t<this.timeRanges.length;t++)e(this.timeRanges[t])},Mo.prototype.slotRange=function(e){var t=this.slotRanges(e),e=e.id.rangeIndex;return t[e]||(t[e]=new Ho(e)),t[e]},Mo.prototype.slotRanges=function(e){return e.isDaySlot?this.dayRanges:this.timeRanges},Mo.prototype.initTimeSlots=function(e,t,n){var r=this.slots;r.length&&(e=(r=Oo(r,this.items,e,t,Ro)).height,t=r.slotItems,this.setSlotsHeight(Math.max(e,n)),this.slotItems=t)},Mo.prototype.setTimelineOffsets=function(){var e=this.items;this.slotItems&&e.length&&(Fo(this.slotItems,e,!0),this.slotItems=null)},Mo.prototype.setSlotsHeight=function(e){this.timeRanges[0].setSlotsHeight(e)},Object.defineProperty(Mo.prototype,"items",{get:function(){return this.timeRanges.reduce(function(e,t){return e.concat(t.items)},[])},enumerable:!1,configurable:!0}),Object.defineProperty(Mo.prototype,"slots",{get:function(){return this.timeRanges.reduce(function(e,t){return e.concat(t.slots)},[])},enumerable:!1,configurable:!0}),Object.defineProperty(Mo.prototype,"hasSlots",{get:function(){return Boolean(this.dayRanges.find(function(e){return e&&e.hasSlots})||this.timeRanges.find(function(e){return e&&e.hasSlots}))},enumerable:!1,configurable:!0}),Mo.prototype.cleanRanges=function(){this.dayRanges=this.dayRanges.filter(function(e){return Boolean(e)}),this.timeRanges=this.timeRanges.filter(function(e){return Boolean(e)})},Mo.prototype.itemRange=function(e){var t=e.item,e=t.isAllDay?this.dayRanges:this.timeRanges;return Mt(t.rangeIndex)?e[t.rangeIndex]:e.find(function(e){return fn(t.startTime,t.endTime,e.start,e.end)})};var Wo=Mo;function Mo(e){this.index=e,this.dayRanges=[],this.timeRanges=[]}p(Ao,Po=Mi),Ao.prototype.layoutDays=function(t){void 0===t&&(t=25),this.groups.forEach(function(e){return e.forEachDateRange(function(e){return null==e?void 0:e.slots.forEach(function(e){e.element.nativeElement.style.height=""})})});var e,n=null==(e=this.groups[0].dayRanges[0])?void 0:e.slots[0].height;this.groups.forEach(function(e){e.forEachDateRange(function(e){return e.initDaySlots(n,t)})}),this.groups.forEach(function(e){e.forEachDateRange(function(e){return e.setDayOffsets()})})},Ao.prototype.layoutTimeline=function(n,r){this.groups.forEach(function(e){return e.forEachTimeRange(function(e){return null==e?void 0:e.slots.forEach(function(e){e.element.nativeElement.style.height=""})})});var e,i=null==(e=this.groups[0].timeRanges[0])?void 0:e.slots[0].height;this.groups.forEach(function(e,t){e.initTimeSlots(i,n,r&&r[t]?r[t].nativeElement.children[0].children[0].offsetHeight:0)}),this.groups.forEach(function(e){return e.setTimelineOffsets()})},Ao.prototype.layoutTimes=function(t){this.groups.forEach(function(e){return e.forEachTimeRange(function(e){return e.layout(t)})})},Ao.prototype.forEachDateRange=function(n){this.groups.forEach(function(e,t){n(e.dayRanges[0],t)})},Ao.prototype.syncDateRanges=function(){var t=0;return this.groups.forEach(function(e){e=null==(e=e.dayRanges[0])?void 0:e.firstSlot;e&&(t=Math.max(e.rect.height-e.padding,t))}),this.groups.forEach(function(e){null!=(e=e.dayRanges[0])&&e.setSlotsHeight(t)}),t},Ao.prototype.forEachGroup=function(e){this.groups.forEach(e)},Ao.prototype.forEachSlot=function(t){this.groups.forEach(function(e){e.dayRanges.forEach(function(e){null!=e&&e.slots.forEach(function(e){return t(e)})}),e.timeRanges.forEach(function(e){null!=e&&e.slots.forEach(function(e){return t(e)})})})},Ao.prototype.createGroup=function(e){return new Wo(e)},Ao.prototype.slotByIndex=function(e,t){void 0===t&&(t=!1);var e=se(e.split(":").map(function(e){return parseInt(e,10)}),3),n=e[0],r=e[1],e=e[2];return null==(n=this.groups[n][t?"dayRanges":"timeRanges"][r])?void 0:n.slots[e]},Ao.prototype.slotByPosition=function(t,n,e,r){var i;if(e){if(this.groups.find(function(e){return i=e.dayRanges.find(function(e){return Nn(e.rect,t)})}),i)return i.slots.find(function(e){return Nn(e.rect,t)})}else if(this.groups.find(function(e){return i=(i=r?e.dayRanges.find(function(e){return An(e.rect,t,n)}):i)||e.timeRanges.find(function(e){return An(e.rect,t,n)})}),i)return i.slots.find(function(e){return An(e.rect,t,n)})},Ao.prototype.groupSlotByPosition=function(e,t,n){var r=this.groups[e.id.resourceIndex],e=e.isDaySlot?r.dayRanges.find(function(e){return An(e.rect,t,n)}):r.timeRanges.find(function(e){return An(e.rect,t,n)});if(e)return e.slots.find(function(e){return An(e.rect,t,n)})},Ao.prototype.dragRanges=function(e,t,n){var r,i=new Date(e.start.getTime()-t.start),o=new Date(e.start.getTime()+t.end),t=this.groups[e.id.resourceIndex];return t=n?(r=[],t.timeRanges.forEach(function(e){e=null==e?void 0:e.slots.filter(function(e){return fn(i,o,e.start,e.end)});e.length&&r.push(e)}),n=r[r.length-1],[r[0][0],n[n.length-1]]):null==(n=t.slotRange(e))?void 0:n.slots.filter(function(e){return fn(i,o,e.start,e.end)}),{start:i,end:o,ranges:[t]}},Ao.prototype.resizeRanges=function(e,t,n,r){var i,o,a=this.groups[e.id.resourceIndex],a=t.isAllDay?a.dayRanges:a.timeRanges,s=[],l=t.start.toUTCDate(),c=t.end.toUTCDate();return n?(n=e.start.getTime()+r.start,i=l.getTime()===c.getTime()?this.findDateSlot(c,a,!0).end:c,o=n>=c.getTime()?t.isAllDay?new Date(Math.min(xn(c,l).getTime(),c.getTime())):this.findDateSlot(i,a).start:r.start&&t.isAllDay?new Date(n):new Date(e.start.getTime())):(o=l,i=e.start.getTime()<=o.getTime()?t.isAllDay?new Date(Math.max(xn(l,c).getTime(),l.getTime())):this.findDateSlot(o,a,!0).end:r.end&&t.isAllDay?new Date(e.start.getTime()+r.end):e.end),a.forEach(function(e){e=e.slots.filter(function(e){return fn(o,i,e.start,e.end)});e.length&&s.push(e)}),{start:o,end:i,ranges:s}},Ao.prototype.timePosition=function(t,e,n){var r,e=this.groups[e].timeRanges.find(function(e){return vn(t,e.start,e.end)});return(e=e&&e.slots.find(function(e){return vn(t,e.start,e.end)}))?(r=(n?e.height:e.width)*((t.getTime()-e.start.getTime())/(e.end.getTime()-e.start.getTime())),n?e.rect.top+r:e.rect.left+r):void 0},Ao.prototype.findDateSlot=function(t,e,n){var r;return e.forEach(function(e){e=n?e.slots.filter(function(e){return fn(t,t,e.start,e.end)}):e.slots.filter(function(e){return vn(t,e.start,e.end)});e.length&&(r=e[0])}),r};var Po,zo=Ao;function Ao(){return null!==Po&&Po.apply(this,arguments)||this}function No(e){var t=e.start,e=e.end,t=t.stripTime(),n=e.stripTime();return t.getTime()!==n.getTime()&&(n.getTime()!==e.getTime()||t.addDays(1).getTime()!==n.getTime())}p(jo,Bo=D),Object.defineProperty(jo.prototype,"eventTime",{get:function(){return this.intlService.format("{0:t}–{1:t}",b.toLocalDate(this.item.startTime),b.toLocalDate(this.item.endTime))},enumerable:!1,configurable:!0});var Bo,no=jo;function jo(e,t,n,r,i,o,a){t=Bo.call(this,t,n,r,i,o,a)||this;return t.intlService=e,t.localeId=a,t}no.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:no,deps:[{token:o.IntlService},{token:zo},{token:r.LocalizationService},{token:v},{token:n.ElementRef},{token:n.Renderer2},{token:h.LOCALE_ID}],target:n.ɵɵFactoryTarget.Component}),no.ɵcmp=n.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:no,selector:"[dayTimeViewItem]",inputs:{vertical:"vertical",isAllDay:"isAllDay"},usesInheritance:!0,ngImport:n,template:'\n <span class="k-event-actions">\n <span class="k-icon k-i-caret-alt-left" *ngIf="item.tail && !vertical"></span>\n <span class="k-icon k-i-arrow-rotate-cw" *ngIf="isRecurrence"></span>\n <span class="k-icon k-i-arrows-no-repeat" *ngIf="isRecurrenceException"></span>\n </span>\n <ng-container *ngIf="eventTemplate" [ngTemplateOutlet]="eventTemplate"\n [ngTemplateOutletContext]="{ $implicit: item.event, event: item.event, resources: resources }">\n </ng-container>\n <div *ngIf="!eventTemplate" [attr.title]="eventTitle">\n <div class="k-event-template k-event-time" *ngIf="!isAllDay">{{ eventTime }}</div>\n <div class="k-event-template" aria-hidden="true">{{ item.event.title }}</div>\n </div>\n\n <span class="k-event-actions">\n <span *ngIf="removable" class="k-link k-event-delete" aria-hidden="true" [attr.title]="deleteMessage">\n <span class="k-icon k-i-x"></span>\n </span>\n <span class="k-icon k-i-caret-alt-right" *ngIf="item.head && !vertical"></span>\n </span>\n\n <span class="k-event-top-actions" *ngIf="item.tail && vertical">\n <span class="k-icon k-i-caret-alt-up"></span>\n </span>\n\n <span class="k-event-bottom-actions" *ngIf="item.head && vertical">\n <span class="k-icon k-i-caret-alt-down"></span>\n </span>\n\n <ng-container *ngIf="resizable && vertical">\n <span class="k-resize-handle k-resize-n" *ngIf="!item.tail"></span>\n <span class="k-resize-handle k-resize-s" *ngIf="!item.head"></span>\n </ng-container>\n\n <ng-container *ngIf="resizable && !vertical">\n <span class="k-resize-handle k-resize-w"></span>\n <span class="k-resize-handle k-resize-e"></span>\n </ng-container>\n ',isInline:!0,directives:[{type:c.NgIf,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]},{type:c.NgTemplateOutlet,selector:"[ngTemplateOutlet]",inputs:["ngTemplateOutletContext","ngTemplateOutlet"]}]}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:no,decorators:[{type:h.Component,args:[{selector:"[dayTimeViewItem]",template:'\n <span class="k-event-actions">\n <span class="k-icon k-i-caret-alt-left" *ngIf="item.tail && !vertical"></span>\n <span class="k-icon k-i-arrow-rotate-cw" *ngIf="isRecurrence"></span>\n <span class="k-icon k-i-arrows-no-repeat" *ngIf="isRecurrenceException"></span>\n </span>\n <ng-container *ngIf="eventTemplate" [ngTemplateOutlet]="eventTemplate"\n [ngTemplateOutletContext]="{ $implicit: item.event, event: item.event, resources: resources }">\n </ng-container>\n <div *ngIf="!eventTemplate" [attr.title]="eventTitle">\n <div class="k-event-template k-event-time" *ngIf="!isAllDay">{{ eventTime }}</div>\n <div class="k-event-template" aria-hidden="true">{{ item.event.title }}</div>\n </div>\n\n <span class="k-event-actions">\n <span *ngIf="removable" class="k-link k-event-delete" aria-hidden="true" [attr.title]="deleteMessage">\n <span class="k-icon k-i-x"></span>\n </span>\n <span class="k-icon k-i-caret-alt-right" *ngIf="item.head && !vertical"></span>\n </span>\n\n <span class="k-event-top-actions" *ngIf="item.tail && vertical">\n <span class="k-icon k-i-caret-alt-up"></span>\n </span>\n\n <span class="k-event-bottom-actions" *ngIf="item.head && vertical">\n <span class="k-icon k-i-caret-alt-down"></span>\n </span>\n\n <ng-container *ngIf="resizable && vertical">\n <span class="k-resize-handle k-resize-n" *ngIf="!item.tail"></span>\n <span class="k-resize-handle k-resize-s" *ngIf="!item.head"></span>\n </ng-container>\n\n <ng-container *ngIf="resizable && !vertical">\n <span class="k-resize-handle k-resize-w"></span>\n <span class="k-resize-handle k-resize-e"></span>\n </ng-container>\n '}]}],ctorParameters:function(){return[{type:o.IntlService},{type:zo},{type:r.LocalizationService},{type:v},{type:n.ElementRef},{type:n.Renderer2},{type:void 0,decorators:[{type:h.Inject,args:[h.LOCALE_ID]}]}]},propDecorators:{vertical:[{type:h.Input}],isAllDay:[{type:h.Input}]}});function Lo(e){return b.getDate(e)}function qo(e,t){return b.getDate(b.addDays(e,t||1))}function Zo(e,t,n){return b.getDate(b.addDays(e,n*t))}p(V,Go=E),Object.defineProperty(V.prototype,"classNames",{get:function(){return"k-scheduler-"+this.name+"view"},enumerable:!1,configurable:!0}),Object.defineProperty(V.prototype,"timeSlotTemplateRef",{get:function(){return this.timeSlotTemplate||(this.schedulerTimeSlotTemplate||{}).templateRef},enumerable:!1,configurable:!0}),Object.defineProperty(V.prototype,"dateHeaderTemplateRef",{get:function(){return this.dateHeaderTemplate||(this.schedulerDateHeaderTemplate||{}).templateRef},enumerable:!1,configurable:!0}),V.prototype.ngOnChanges=function(e){(e.startTime||e.endTime||e.showWorkHours||e.workDayStart||e.workDayEnd||e.workWeekStart||e.workWeekEnd||e.slotDivisions||e.slotDuration)&&(this.timeSlots=this.createTimeSlots(),this.initWorkDay(),this.changes.next(null)),l.isChanged("currentTimeMarker",e)&&(this.showCurrentTime=this.enableCurrentTime()),l.isChanged("weekStart",e)&&this.onSelectDate(this.selectedDate),Go.prototype.ngOnChanges.call(this,e)},V.prototype.ngOnDestroy=function(){Go.prototype.ngOnDestroy.call(this),clearTimeout(this.currentTimeTimeout),clearTimeout(this.ongoingEventsTimeout)},V.prototype.verticalItem=function(e,t){for(var n=this.verticalResources[t].data||[],r=this.verticalResources,i=1,o=t+1;o<r.length;o++)i*=(r[o].data||[]).length||1;return n[e/i%n.length]},V.prototype.timeSlotClass=function(e,t,n){if(this.slotClass)return this.slotClass({start:xn(t,e.start),end:xn(t,e.end),resources:this.resourcesByIndex(n),isAllDay:!1})},V.prototype.toggleOngoingClass=function(){var n=this,r=this.currentTime(),i=f(this.highlightOngoingEvents.cssClass)?this.highlightOngoingEvents.cssClass:Li;this.eventElements.forEach(function(e){var t=vn(r,e.item.start,e.item.end);n.renderer[t?"addClass":"removeClass"](e.nativeElement,i)})},V.prototype.scrollToTime=function(e){if("string"==typeof(e=void 0===e?this.scrollTime:e)){var t=this.intl.parseDate(e);if(!t)return;t=In(this.daySlots[0].start,t)}else t=Sn(e);var n,r,i,o,e=this.slotService.timePosition(t,0,this.verticalTime);Mt(e)&&((t=this.content.nativeElement)[this.verticalTime?"scrollTop":"scrollLeft"]=this.localization.rtl&&!this.verticalTime?(r=e,i=(n=t).scrollLeft,o=r,n.scrollLeft=-1,n.scrollLeft<0?o=-r:0<i&&(o=n.scrollWidth-n.offsetWidth-r),o):e)},V.prototype.optionsChange=function(e){this.schedulerTimeSlotTemplate=e.timeSlotTemplate,this.schedulerDateHeaderTemplate=e.dateHeaderTemplate,Go.prototype.optionsChange.call(this,e)},V.prototype.updateView=function(){Go.prototype.updateView.call(this),this.updateCurrentTime(),this.updateOngoingEvents(),this.initialUpdate&&(this.scrollToTime(),this.initialUpdate=!1)},V.prototype.enableCurrentTime=function(){var e,t,n,r;return!(!this.currentTimeMarker||!1===this.currentTimeMarker.enabled||!this.selectedDate)&&(r=this.dateRange(),this.currentDate=b.ZonedDate.fromLocalDate(this.currentTime(),!1!==this.currentTimeMarker.localTimezone?"":this.timezone),e=Dn(n=this.currentDate.toLocalDate()),t=this.timeSlots,n=vn(n,r.start,r.end),r=t.length&&vn(e,t[0].start,t[t.length-1].end),n)&&r},V.prototype.currentTime=function(){return new Date},V.prototype.updateCurrentTime=function(){var e,t=this;l.isDocumentAvailable()&&((e=this.enableCurrentTime())!==this.showCurrentTime&&(this.showCurrentTime=e,this.changeDetector.detectChanges()),clearTimeout(this.currentTimeTimeout),e)&&(this.zone.runOutsideAngular(function(){t.currentTimeTimeout=setTimeout(t.updateCurrentTime,t.currentTimeMarker.updateInterval||6e4)}),this.positionCurrentTime())},V.prototype.updateOngoingEvents=function(){var e=this,t=!this.highlightOngoingEvents||!1===this.highlightOngoingEvents.enabled;l.isDocumentAvailable()&&!t&&(clearTimeout(this.ongoingEventsTimeout),this.zone.runOutsideAngular(function(){e.ongoingEventsTimeout=setTimeout(e.updateOngoingEvents,e.highlightOngoingEvents.updateInterval||6e4)}),this.toggleOngoingClass())},V.prototype.positionCurrentTime=function(){var r,i,o,a,s,l,c,d=this;this.currentTimeElements&&this.currentTimeElements.length&&(r=this.currentDate.toUTCDate(),i=this.currentTimeArrows?this.currentTimeArrows.toArray():[],o=i.length?this.currentTimeArrowOffset():0,a=i.length?i[0].nativeElement.offsetHeight/2:4,s=this.contentTable.nativeElement.clientWidth,l=this.contentTable.nativeElement.clientHeight,c=this.verticalTime,this.currentTimeElements.forEach(function(e,t){var n=d.slotService.timePosition(r,t,c);void 0!==n&&(e=e.nativeElement,i[t]&&(t=i[t].nativeElement,qn(t,{top:c?n-a:o,left:t=c?o:n-a,right:t})),qn(e,{top:c?n:0,left:t=c?0:n,right:t,width:c?s:1,height:c?1:l}))}))},V.prototype.bindEvents=function(){var t=this;Go.prototype.bindEvents.call(this),this.zone.runOutsideAngular(function(){t.subs.add(qt(t.headerWrap.nativeElement).subscribe(function(e){return t.onHeaderClick(e)})),t.subs.add(u.fromEvent(t.headerWrap.nativeElement,"contextmenu").subscribe(function(e){return t.onClick(e)})),t.subs.add(Zt(t.headerWrap.nativeElement).subscribe(function(e){return t.onClick(e,"dblclick")}))})},V.prototype.onHeaderClick=function(e){var t,n=this;this.onClick(e),this.daySlots.length<=1||(e=e.target.getAttribute("data-dayslot-index"))&&(t=this.daySlots[parseInt(e,10)],this.zone.run(function(){n.viewState.navigateTo({viewName:"day",date:t.start})}))},V.prototype.slotByIndex=function(e,t){return this.slotService.slotByIndex(e,t.target.hasAttribute("data-day-slot"))},V.prototype.onSelectDate=function(e){this.selectedDate=e,this.daySlots=this.createDaySlots(),this.showCurrentTime=this.enableCurrentTime(),this.viewState.notifyDateRange(this.dateRange())},V.prototype.onAction=function(e){var t,n=b.getDate(this.selectedDate);"next"===e.type&&(t=this.getNextDate(n,1,this.numberOfDays),this.isInRange(t))&&this.viewState.notifyNextDate(t),"prev"===e.type&&(t=this.getNextDate(n,-1,this.numberOfDays),this.isInRange(t))&&this.viewState.notifyNextDate(t),"scroll-time"===e.type&&this.scrollToTime(e.time)},V.prototype.dateRange=function(e){void 0===e&&(e=this.selectedDate);var e=this.getStartDate(e),t=this.getEndDate(e,this.numberOfDays),n=this.getEndDate(e,this.numberOfDays-1);return{start:e,end:t,text:this.intl.format(this.selectedDateFormat,e,n),shortText:this.intl.format(this.selectedShortDateFormat,e,n)}},V.prototype.createDaySlots=function(){for(var e=this.getStartDate(this.selectedDate),t=this.getEndDate(e,this.numberOfDays),n=[];e<t;){var r=b.addDays(e,1);n.push({start:e,end:r}),e=r}return n},V.prototype.createTimeSlots=function(){for(var e=this.intl,t=(s={showWorkHours:this.showWorkHours,startTime:this.startTime,endTime:this.endTime,workDayStart:this.workDayStart,workDayEnd:this.workDayEnd,slotDivisions:this.slotDivisions,slotDuration:this.slotDuration}).showWorkHours,n=s.startTime,r=s.endTime,i=s.workDayStart,o=s.workDayEnd,a=s.slotDivisions,s=s.slotDuration,i=Dn(e.parseDate(t?i:n)).getTime(),l=Dn(e.parseDate(t?o:r)).getTime(),c=(l<=i&&(l=Dn(Bi).getTime()+b.MS_PER_DAY),[]),d=Math.round(s/a*6e4),u=i,p=0;u<l;)c.push({start:new Date(u),end:new Date(u+d),isMajor:p%a==0}),p++,u+=d;return c},V.prototype.initWorkDay=function(){var e=this.intl.parseDate(this.workDayStart),t=(this.workDayStartTime=Dn(e),this.intl.parseDate(this.workDayEnd));this.workDayEndTime=t<=e?b.addDays(Bi,1):Dn(t)},V.prototype.slotByPosition=function(e,t,n){n=n?gn(n.parentNode,"k-scheduler-header-wrap"):t<0;return this.slotService.slotByPosition(e,t,n,Boolean(this.verticalResources.length))},V.prototype.slotFields=function(e){var t=Go.prototype.slotFields.call(this,e);return e.isDaySlot?t.isAllDay=!0:(t.start=this.convertDate(e.start),t.end=this.convertDate(e.end)),t};var Go,t=V;function V(e,t,n,r,i,o,a,s,l,c,d){t=Go.call(this,t,n,r,i,o,a,s,l,c,e,d)||this;return t.changeDetector=e,t.numberOfDays=1,t.startTime="00:00",t.endTime="00:00",t.workDayStart="08:00",t.workDayEnd="17:00",t.workWeekStart=1,t.workWeekEnd=5,t.slotDuration=60,t.slotDivisions=2,t.showWorkHours=!1,t.getStartDate=Lo,t.getEndDate=qo,t.getNextDate=Zo,t.daySlots=[],t.timeSlots=[],t.resizeHintFormat="t",t.showCurrentTime=!1,t.verticalTime=!0,t.initialUpdate=!0,t.updateCurrentTime=t.updateCurrentTime.bind(t),t.toggleOngoingClass=t.toggleOngoingClass.bind(t),t.updateOngoingEvents=t.updateOngoingEvents.bind(t),t}t.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:t,deps:[{token:n.ChangeDetectorRef},{token:g},{token:y},{token:o.IntlService},{token:zo},{token:n.NgZone},{token:n.Renderer2},{token:n.ElementRef},{token:k},{token:r.LocalizationService},{token:Q.ScrollbarWidthService}],target:n.ɵɵFactoryTarget.Component}),t.ɵcmp=n.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:t,selector:"kendo-day-time-view",inputs:{timeSlotTemplate:"timeSlotTemplate",dateHeaderTemplate:"dateHeaderTemplate",numberOfDays:"numberOfDays",scrollTime:"scrollTime",startTime:"startTime",endTime:"endTime",workDayStart:"workDayStart",workDayEnd:"workDayEnd",workWeekStart:"workWeekStart",workWeekEnd:"workWeekEnd",slotDuration:"slotDuration",slotDivisions:"slotDivisions",showWorkHours:"showWorkHours",getStartDate:"getStartDate",getEndDate:"getEndDate",getNextDate:"getNextDate",currentTimeMarker:"currentTimeMarker",highlightOngoingEvents:"highlightOngoingEvents"},viewQueries:[{propertyName:"currentTimeElements",predicate:["currentTimeMarker"],descendants:!0},{propertyName:"eventElements",predicate:no,descendants:!0},{propertyName:"currentTimeArrows",predicate:["currentTimeArrow"],descendants:!0}],usesInheritance:!0,usesOnChanges:!0,ngImport:n,template:"",isInline:!0}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:t,decorators:[{type:h.Component,args:[{selector:"kendo-day-time-view",template:""}]}],ctorParameters:function(){return[{type:n.ChangeDetectorRef},{type:g},{type:y},{type:o.IntlService},{type:zo},{type:n.NgZone},{type:n.Renderer2},{type:n.ElementRef},{type:k},{type:r.LocalizationService},{type:Q.ScrollbarWidthService}]},propDecorators:{timeSlotTemplate:[{type:h.Input}],dateHeaderTemplate:[{type:h.Input}],numberOfDays:[{type:h.Input}],scrollTime:[{type:h.Input}],startTime:[{type:h.Input}],endTime:[{type:h.Input}],workDayStart:[{type:h.Input}],workDayEnd:[{type:h.Input}],workWeekStart:[{type:h.Input}],workWeekEnd:[{type:h.Input}],slotDuration:[{type:h.Input}],slotDivisions:[{type:h.Input}],showWorkHours:[{type:h.Input}],getStartDate:[{type:h.Input}],getEndDate:[{type:h.Input}],getNextDate:[{type:h.Input}],currentTimeMarker:[{type:h.Input}],highlightOngoingEvents:[{type:h.Input}],currentTimeElements:[{type:h.ViewChildren,args:["currentTimeMarker"]}],eventElements:[{type:h.ViewChildren,args:[no]}],currentTimeArrows:[{type:h.ViewChildren,args:["currentTimeArrow"]}]}});p(Uo,_o=R),Object.defineProperty(Uo.prototype,"nonWorkHour",{get:function(){var e,t,n=this.date.getDay();return this.invariantStart<this.workDayStart||this.workDayEnd<this.invariantEnd||(n=n,e=this.workWeekStart,!((t=this.workWeekEnd)<e?n<=t||e<=n:e<=n&&n<=t))},enumerable:!1,configurable:!0}),Object.defineProperty(Uo.prototype,"startLocalTime",{get:function(){return this.date&&this.invariantStart?xn(this.date,this.invariantStart):null},enumerable:!1,configurable:!0}),Object.defineProperty(Uo.prototype,"endLocalTime",{get:function(){return this.date&&this.invariantEnd?xn(this.date,this.invariantEnd):null},enumerable:!1,configurable:!0}),Object.defineProperty(Uo.prototype,"start",{get:function(){return this.date&&this.invariantStart?In(this.date,this.invariantStart):null},enumerable:!1,configurable:!0}),Object.defineProperty(Uo.prototype,"end",{get:function(){var e;return this.date&&this.invariantEnd?(e=In(this.date,this.invariantEnd),ji.getTime()<=this.invariantEnd.getTime()?Tn(e,1):e):null},enumerable:!1,configurable:!0});var _o,D=Uo;function Uo(e,t,n){e=_o.call(this,e,t,n)||this;return e.isDaySlot=!1,e}D.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:D,deps:[{token:n.ElementRef},{token:zo},{token:r.LocalizationService}],target:n.ɵɵFactoryTarget.Directive}),D.ɵdir=n.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:D,selector:"[timeSlot]",inputs:{invariantStart:"invariantStart",invariantEnd:"invariantEnd",workDayStart:"workDayStart",workDayEnd:"workDayEnd",workWeekStart:"workWeekStart",workWeekEnd:"workWeekEnd",date:"date"},host:{properties:{"class.k-nonwork-hour":"this.nonWorkHour"}},exportAs:["timeSlot"],usesInheritance:!0,ngImport:n}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:D,decorators:[{type:h.Directive,args:[{selector:"[timeSlot]",exportAs:"timeSlot"}]}],ctorParameters:function(){return[{type:n.ElementRef},{type:zo},{type:r.LocalizationService}]},propDecorators:{invariantStart:[{type:h.Input}],invariantEnd:[{type:h.Input}],workDayStart:[{type:h.Input}],workDayEnd:[{type:h.Input}],workWeekStart:[{type:h.Input}],workWeekEnd:[{type:h.Input}],date:[{type:h.Input}],nonWorkHour:[{type:h.HostBinding,args:["class.k-nonwork-hour"]}]}});p(Ko,Yo=R),Object.defineProperty(Ko.prototype,"start",{get:function(){return this.startDate?bn(this.startDate):null},set:function(e){this.startDate=e},enumerable:!1,configurable:!0}),Object.defineProperty(Ko.prototype,"end",{get:function(){return this.endDate?bn(this.endDate):null},set:function(e){this.endDate=e},enumerable:!1,configurable:!0}),Object.defineProperty(Ko.prototype,"daySlot",{get:function(){return!0},enumerable:!1,configurable:!0});var Yo,E=Ko;function Ko(e,t,n){e=Yo.call(this,e,t,n)||this;return e.isDaySlot=!0,e}E.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:E,deps:[{token:n.ElementRef},{token:zo},{token:r.LocalizationService}],target:n.ɵɵFactoryTarget.Directive}),E.ɵdir=n.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:E,selector:"[daySlot]",inputs:{start:"start",end:"end"},host:{properties:{"attr.data-day-slot":"this.daySlot"}},usesInheritance:!0,ngImport:n}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:E,decorators:[{type:h.Directive,args:[{selector:"[daySlot]"}]}],ctorParameters:function(){return[{type:n.ElementRef},{type:zo},{type:r.LocalizationService}]},propDecorators:{start:[{type:h.Input}],end:[{type:h.Input}],daySlot:[{type:h.HostBinding,args:["attr.data-day-slot"]}]}});p(W,$o=t),Object.defineProperty(W.prototype,"allDaySlotTemplateRef",{get:function(){return this.allDaySlotTemplate||(this.schedulerAllDaySlotTemplate||{}).templateRef},enumerable:!1,configurable:!0}),Object.defineProperty(W.prototype,"allDayEventTemplateRef",{get:function(){return this.allDayEventTemplate||(this.schedulerAllDayEventTemplate||{}).templateRef},enumerable:!1,configurable:!0}),Object.defineProperty(W.prototype,"minorTimeHeaderTemplateRef",{get:function(){return this.minorTimeHeaderTemplate||(this.schedulerMinorTimeHeaderTemplate||{}).templateRef},enumerable:!1,configurable:!0}),Object.defineProperty(W.prototype,"majorTimeHeaderTemplateRef",{get:function(){return this.majorTimeHeaderTemplate||(this.schedulerMajorTimeHeaderTemplate||{}).templateRef},enumerable:!1,configurable:!0}),Object.defineProperty(W.prototype,"allDayMessage",{get:function(){return this.localization.get("allDay")},enumerable:!1,configurable:!0}),Object.defineProperty(W.prototype,"allDayResizeHint",{get:function(){return this.resizing&&this.resizing.task.isAllDay},enumerable:!1,configurable:!0}),Object.defineProperty(W.prototype,"allDayDragHint",{get:function(){return this.dragging&&this.dragging.slot.isDaySlot},enumerable:!1,configurable:!0}),W.prototype.optionsChange=function(e){this.schedulerAllDaySlotTemplate=e.allDaySlotTemplate,this.schedulerAllDayEventTemplate=e.allDayEventTemplate,this.schedulerMinorTimeHeaderTemplate=e.minorTimeHeaderTemplate,this.schedulerMajorTimeHeaderTemplate=e.majorTimeHeaderTemplate,$o.prototype.optionsChange.call(this,e)},W.prototype.ngOnChanges=function(e){$o.prototype.ngOnChanges.call(this,e),e.slotFill&&this.changes.next(null),l.anyChanged(["startTime","endTime","showWorkHours","workDayStart","workDayEnd","workWeekStart","workWeekEnd"],e)&&this.viewRangeChange.next(null),(l.isChanged("numberOfDays",e,!0)||l.isChanged("weekStart",e))&&(this.daySlots=this.createDaySlots(),this.viewState.notifyDateRange(this.dateRange()))},W.prototype.horizontalColspan=function(e){for(var t=this.horizontalResources,n=this.daySlots.length,r=e+1;r<t.length;r++)n*=(t[r].data||[]).length||1;return n},W.prototype.verticalRowspan=function(e){for(var t=this.verticalResources,n=this.timeSlots.length+1,r=e+1;r<t.length;r++)n*=(t[r].data||[]).length||1;return n},W.prototype.allDaySlotClass=function(e,t){if(this.slotClass)return this.slotClass({start:e.start,end:e.end,resources:this.resourcesByIndex(t),isAllDay:!0})},W.prototype.createTasks=function(e,t){for(var n=this.timeSlots[0],r=this.timeSlots[this.timeSlots.length-1].end,i=!(r.getHours()||r.getMinutes()),o=this.daySlots.map(function(e){return{start:In(e.start,n.start),end:i?bn(e.end):In(e.start,r)}}),a=t.start,t=t.end,s=e,l=o,c=[],d=bn(a),u=bn(t),p=0;p<s.length;p++)for(var h=s[p],m=No(h),g=m&&!h.event.isAllDay&&h.end.getTime()-h.start.getTime()<b.MS_PER_DAY,y=h.event.isAllDay||m&&!g,f=(y?kn(h):h.end).toUTCDate(),v=(y?h.start.stripTime():h.start).toUTCDate(),k=0;k<l.length;k++){var D=l[k].start,T=l[k].end;if(fn(v,f,D,T)){D={index:p,isAllDay:y,startTime:v,endTime:f,rangeIndex:y?0:k,start:h.start,end:h.end,event:h.event};if(c.push(D),!g){D.head=u<f,D.tail=v<d;break}var T=l[k+1],I=l[k-1];D.head=(T?T.start:u)<f,D.tail=v<(I?I.end:d)}}return Gt(c)},W.prototype.onTasksChange=function(){this.items.next(this.tasks.filter(function(e){return!e.isAllDay})),this.allDayItems.next(this.tasks.filter(function(e){return e.isAllDay}))},W.prototype.reflow=function(){var n,e,t=this.slotService;this.verticalResources.length||(this.updateContentHeight(),this.syncTables()),this.slotService.containerSize=this.content.nativeElement.clientWidth,t.layoutDays(this.eventHeight),this.updateContentHeight(),this.syncTables(),this.dayCells.length&&(n=this.dayCells.toArray(),this.verticalResources.length?t.forEachDateRange(function(e,t){e=e.firstSlot;n[t].nativeElement.style.height=e.rect.height-e.padding+"px"}):(e=t.syncDateRanges(),n[0].nativeElement.style.height=e+"px")),t.layoutTimes({fill:this.slotFill}),this.syncTables()},W.prototype.dragHorizontal=function(e){return e.isDaySlot},W.prototype.updateHintContainer=function(){this.headerHintContainer&&this.headerHintContainer.detectChanges(),$o.prototype.updateHintContainer.call(this)},W.prototype.onRelease=function(e){$o.prototype.onRelease.call(this,e),this.dragContainers=null},W.prototype.updateDragContainer=function(t){this.dragContainers||(this.dragContainers=this.containers);var e=this.dragContainers.find(function(e){e=e.offset;return e.top<=t.pageY&&t.pageY<=e.top+e.height})||{};this.container=e.element,this.containerOffset=e.offset},W.prototype.containerByPosition=function(e){var t=e.x,n=e.y;return this.containers.find(function(e){e=e.offset;return e.top<=n&&n<=e.top+e.height&&e.left<=t&&t<=e.left+e.width})},Object.defineProperty(W.prototype,"containers",{get:function(){var e=this.headerWrap.nativeElement.children[1],t=this.content.nativeElement;return[{element:t,offset:jn(t)},{element:e,offset:jn(e)}]},enumerable:!1,configurable:!0}),W.prototype.scrollContainer=function(e,t){clearInterval(this.scrollInterval),this.container&&this.container===this.content.nativeElement&&$o.prototype.scrollContainer.call(this,e,t)},W.prototype.dragRanges=function(e){var t,n,r=this.dragging.task;return e.isDaySlot&&!r.isAllDay?{ranges:[[e]],start:xn(e.start,r.start.toUTCDate()),end:xn(e.start,r.end.toUTCDate()),isAllDay:!0}:(t=r.isAllDay&&!e.isDaySlot,n=this.slotService.dragRanges(e,t?{start:0,end:0}:this.dragging.offset),t&&(n.end=e.end),n.isAllDay=this.draggedIsAllDay(r,e),n)},W.prototype.dragHintEventStyleArgs=function(){return{event:this.dragging.task.event,resources:this.dragging.resourceItems,isAllDay:Boolean(this.allDayDragHint)}},W.prototype.draggedIsAllDay=function(e,t){return Boolean(t.isDaySlot&&(e.event.isAllDay||!No(e)))},W.prototype.dragHintSize=function(e,t){var n,e=e.isDaySlot?(n=Bn(t.rect.left-e.rect.left+t.rect.width),Bn(e.height)):(n=Bn(.9*e.rect.width),Bn(this.dragging.task.isAllDay?e.rect.height:t.rect.top-e.rect.top+t.rect.height));return{width:n,height:e}},W.prototype.currentTimeArrowOffset=function(){var e,t;return this.verticalResources.length?(e=this.times.nativeElement.querySelector(".k-scheduler-times-all-day"),t=this.times.nativeElement,this.localization.rtl?t.offsetWidth-e.offsetWidth:e.offsetLeft):0};var $o,R=W;function W(e,t,n,r,i,o,a,s,l,c,d){l=$o.call(this,l,t,n,r,i,o,a,s,c,e,d)||this;return l.name="day",l.dateFormat={skeleton:"MEd"},l.allDayResizeHintFormat={skeleton:"Md"},l.allDayItems=new u.BehaviorSubject(null),l}R.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:R,deps:[{token:r.LocalizationService},{token:g},{token:y},{token:o.IntlService},{token:zo},{token:n.NgZone},{token:n.Renderer2},{token:n.ElementRef},{token:n.ChangeDetectorRef},{token:k},{token:Q.ScrollbarWidthService}],target:n.ɵɵFactoryTarget.Component}),R.ɵcmp=n.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:R,selector:"multi-day-view",inputs:{name:"name",slotFill:"slotFill",allDaySlotTemplate:"allDaySlotTemplate",allDayEventTemplate:"allDayEventTemplate",minorTimeHeaderTemplate:"minorTimeHeaderTemplate",majorTimeHeaderTemplate:"majorTimeHeaderTemplate"},providers:[zo],viewQueries:[{propertyName:"headerHintContainer",first:!0,predicate:["headerHintContainer"],descendants:!0},{propertyName:"dayCells",predicate:["allDayCell"],descendants:!0}],usesInheritance:!0,usesOnChanges:!0,ngImport:n,template:'\n <div class="k-scheduler-layout k-scheduler-flex-layout" [ngClass]="classNames">\n <div class="k-scheduler-pane">\n <div class="k-scheduler-times" #timesHeader>\n <table class="k-scheduler-table" aria-hidden="true">\n <tr *ngFor="let resource of horizontalResources; trackBy: itemIndex;">\n <th></th>\n </tr>\n <tr>\n <th [style.height]="\'auto\'">​</th>\n </tr>\n <tr *ngIf="!verticalResources.length">\n <th class="k-scheduler-times-all-day" #allDayCell>{{ allDayMessage }}</th>\n </tr>\n </table>\n </div>\n <div class="k-scheduler-header k-state-default" #header>\n <div class="k-scheduler-header-wrap" #headerWrap>\n <table class="k-scheduler-table" aria-hidden="true">\n <tr *ngFor="let resource of horizontalResources; let resourceIndex = index; trackBy: itemIndex;">\n <th *ngFor="let item of horizontalResources | resourceIterator : resourceIndex; trackBy: itemIndex;"\n class="k-slot-cell" [attr.colspan]="horizontalColspan(resourceIndex)">\n <ng-container *ngIf="!groupHeaderTemplateRef">{{ getField(item, resource.textField) }}</ng-container>\n <ng-container *ngIf="groupHeaderTemplateRef" [ngTemplateOutlet]="groupHeaderTemplateRef" [ngTemplateOutletContext]="{ resource: item }"></ng-container>\n </th>\n </tr>\n <tr>\n <ng-container *ngFor="let resource of horizontalResources | resourceIterator; trackBy: itemIndex;">\n <th *ngFor="let slot of daySlots; let index = index; trackBy: itemIndex">\n <span *ngIf="!dateHeaderTemplateRef" class="k-link k-nav-day" [attr.data-dayslot-index]="index">{{ slot.start | kendoDate: dateFormat }}</span>\n <ng-container *ngIf="dateHeaderTemplateRef" [ngTemplateOutlet]="dateHeaderTemplateRef" [ngTemplateOutletContext]="{ date: slot.start }"></ng-container>\n </th>\n </ng-container>\n </tr>\n </table>\n <div style="position: relative;" *ngIf="!verticalResources.length">\n <table class="k-scheduler-table k-scheduler-header-all-day k-user-select-none" aria-hidden="true">\n <tr>\n <ng-container *ngFor="let resource of horizontalResources | resourceIterator; let resourceIndex = index; trackBy: itemIndex;">\n <td *ngFor="let slot of daySlots; let index = index; trackBy: itemIndex"\n daySlot\n [start]="slot.start"\n [end]="slot.end"\n [id]="{ resourceIndex: resourceIndex, rangeIndex: 0, index: index }"\n [class.k-selected]="isSlotSelected({\n start: toPlainDate(slot.start),\n end: toPlainDate(slot.end),\n isAllDay: true,\n resources: resourcesByIndex(resourceIndex)\n })"\n [ngClass]="allDaySlotClass(slot, resourceIndex)">\n <ng-container *ngIf="allDaySlotTemplateRef" [ngTemplateOutlet]="allDaySlotTemplateRef"\n [ngTemplateOutletContext]="{ date: slot.start, resources: resourcesByIndex(resourceIndex) }"></ng-container>\n </td>\n </ng-container>\n </tr>\n </table>\n <ng-container *ngFor="let item of allDayItems | async; trackBy: itemIndex;">\n <div *ngFor="let itemResource of item.resources; trackBy: itemIndex;"\n [ngClass]="getEventClasses(item, itemResource.resources, true)"\n [ngStyle]="getEventStyles(item, itemResource, true)"\n role="button"\n [kendoSchedulerFocusIndex]="itemResource.leafIdx"\n [id]="item.elementId + \'_\' + itemResource.leafIdx"\n dayTimeViewItem\n [isAllDay]="true"\n [editable]="editable"\n [eventTemplate]="allDayEventTemplateRef"\n [item]="item"\n [index]="item.index"\n [rangeIndex]="item.rangeIndex"\n [resources]="itemResource.resources"\n [resourceIndex]="itemResource.leafIdx">\n </div>\n </ng-container>\n <kendo-hint-container #headerHintContainer>\n <ng-template>\n <div *ngIf="dragHints.length && allDayDragHint"\n class="k-event-drag-hint"\n dayTimeViewItem\n [isAllDay]="true"\n [ngStyle]="dragHints[0].style"\n [ngClass]="dragHints[0].class"\n [dragHint]="true"\n [eventTemplate]="eventTemplateRef"\n [item]="dragHints[0].item"\n [resources]="dragHints[0].resources">\n </div>\n\n <div *ngIf="resizeHints.length && allDayResizeHint"\n kendoResizeHint\n [hint]="resizeHints[0]"\n [ngClass]="resizeHints[0].class"\n [format]="allDayResizeHintFormat">\n </div>\n </ng-template>\n </kendo-hint-container>\n </div>\n </div>\n </div>\n </div>\n <div class="k-scheduler-pane">\n <div class="k-scheduler-times" #times>\n <ng-container *ngIf="showCurrentTime">\n <div *ngFor="let resource of verticalResources | resourceIterator; trackBy: itemIndex;"\n #currentTimeArrow class="k-current-time k-current-time-arrow-right">\n </div>\n </ng-container>\n <table class="k-scheduler-table" #timesTable aria-hidden="true">\n <ng-container *ngFor="let resourceItem of verticalResources | resourceIterator; let leafIndex = index; trackBy: itemIndex;">\n <tr *ngIf="verticalResources.length">\n <ng-container *ngFor="let resource of verticalResources; let resourceIndex = index; trackBy: itemIndex;">\n <th *ngIf="verticalItem(leafIndex, resourceIndex)" [attr.rowspan]="verticalRowspan(resourceIndex)" class="k-slot-cell">\n <ng-container *ngIf="!groupHeaderTemplateRef">{{ getField(verticalItem(leafIndex, resourceIndex), resource.textField) }}</ng-container>\n <ng-container *ngIf="groupHeaderTemplateRef" [ngTemplateOutlet]="groupHeaderTemplateRef"\n [ngTemplateOutletContext]="{ resource: verticalItem(leafIndex, resourceIndex) }"></ng-container>\n </th>\n </ng-container>\n <th class="k-scheduler-times-all-day" #allDayCell>{{ allDayMessage }}</th>\n </tr>\n <tr *ngFor="let slot of timeSlots; let timeSlotIndex = index;trackBy: itemIndex">\n <th *ngIf="slot.isMajor" [ngClass]="{ \'k-slot-cell\': slotDivisions === 1 }">\n <ng-container *ngIf="!majorTimeHeaderTemplateRef">{{ slot.start | kendoDate: \'t\' }}</ng-container>\n <ng-container *ngIf="majorTimeHeaderTemplateRef" [ngTemplateOutlet]="majorTimeHeaderTemplateRef" [ngTemplateOutletContext]="{ date: slot.start }"></ng-container>\n </th>\n <th *ngIf="!slot.isMajor" [ngClass]="{ \'k-slot-cell\': timeSlotIndex % slotDivisions === slotDivisions - 1 }">\n <ng-container *ngIf="minorTimeHeaderTemplateRef" [ngTemplateOutlet]="minorTimeHeaderTemplateRef" [ngTemplateOutletContext]="{ date: slot.start }">\n </ng-container>\n </th>\n </tr>\n </ng-container>\n </table>\n </div>\n <div\n class="k-scheduler-content k-user-select-none" \n #content\n role="group"\n tabindex="0"\n [attr.aria-owns]="matchOwned(items | async)">\n <ng-container *ngIf="showCurrentTime">\n <div *ngFor="let resource of verticalResources | resourceIterator; trackBy: itemIndex;"\n #currentTimeMarker class="k-current-time">\n </div>\n </ng-container>\n <table class="k-scheduler-table" #contentTable role="presentation">\n <ng-container *ngFor="let resourceItem of verticalResources | resourceIterator; let verticalIndex = index; trackBy: itemIndex;">\n <tr class="k-scheduler-header-all-day" *ngIf="verticalResources.length">\n <td *ngFor="let slot of daySlots; let index = index; trackBy: itemIndex"\n daySlot\n [start]="slot.start"\n [end]="slot.end"\n [class.k-selected]="isSlotSelected({\n start: toPlainDate(slot.start),\n end: toPlainDate(slot.end),\n isAllDay: true,\n resources: resourcesByIndex(verticalIndex)\n })"\n [id]="{ resourceIndex: verticalIndex, rangeIndex: 0, index: index }">\n <ng-container *ngIf="allDaySlotTemplateRef" [ngTemplateOutlet]="allDaySlotTemplateRef"\n [ngTemplateOutletContext]="{ date: slot.start, resources: resourcesByIndex(verticalIndex) }"></ng-container>\n </td>\n </tr>\n <tr *ngFor="let slot of timeSlots; index as index; trackBy: itemIndex" [class.k-middle-row]="slot.isMajor">\n <ng-container *ngFor="let resource of horizontalResources | resourceIterator; let horizontalIndex = index; trackBy: itemIndex;">\n <td *ngFor="let daySlot of daySlots; index as rangeIndex; trackBy: itemIndex"\n [ngClass]="timeSlotClass(slot, daySlot.start, verticalResources.length ? verticalIndex : horizontalIndex)"\n timeSlot #timeSlot="timeSlot"\n [date]="daySlot.start"\n [invariantStart]="slot.start"\n [invariantEnd]="slot.end"\n [workDayStart]="workDayStartTime"\n [workDayEnd]="workDayEndTime"\n [workWeekStart]="workWeekStart"\n [workWeekEnd]="workWeekEnd"\n [id]="{ resourceIndex: verticalResources.length ? verticalIndex : horizontalIndex, rangeIndex: rangeIndex, index: index }"\n [class.k-selected]="isSlotSelected({\n start: toPlainDateTime(daySlot.start, slot.start),\n end: toPlainDateTime(daySlot.start, slot.end),\n isAllDay: false,\n resources: resourcesByIndex(verticalResources.length ? verticalIndex : horizontalIndex)\n })"\n >\n <ng-container *ngIf="timeSlotTemplateRef" [ngTemplateOutlet]="timeSlotTemplateRef"\n [ngTemplateOutletContext]="{ date: timeSlot.startLocalTime, resources: resourcesByIndex(timeSlot.id.resourceIndex) }">\n </ng-container>\n </td>\n </ng-container>\n </tr>\n </ng-container>\n </table>\n <ng-container *ngFor="let item of items | async; trackBy: itemIndex;">\n <div *ngFor="let itemResource of item.resources; trackBy: itemIndex;"\n [ngClass]="getEventClasses(item, itemResource.resources)"\n [ngStyle]="getEventStyles(item, itemResource)"\n role="button"\n [kendoSchedulerFocusIndex]="itemResource.leafIdx"\n [id]="item.elementId + \'_\' + itemResource.leafIdx"\n dayTimeViewItem\n [editable]="editable"\n [vertical]="true"\n [eventTemplate]="eventTemplateRef"\n [item]="item"\n [index]="item.index"\n [rangeIndex]="item.rangeIndex"\n [resources]="itemResource.resources"\n [resourceIndex]="itemResource.leafIdx">\n </div>\n </ng-container>\n <ng-container *ngIf="verticalResources.length">\n <ng-container *ngFor="let item of allDayItems | async; trackBy: itemIndex;">\n <div *ngFor="let itemResource of item.resources; trackBy: itemIndex;"\n [ngClass]="getEventClasses(item, itemResource.resources, true)"\n [ngStyle]="getEventStyles(item, itemResource, true)"\n role="button"\n [kendoSchedulerFocusIndex]="itemResource.leafIdx"\n [id]="item.elementId + \'_\' + itemResource.leafIdx"\n dayTimeViewItem\n [isAllDay]="true"\n [editable]="editable"\n [eventTemplate]="allDayEventTemplateRef"\n [item]="item"\n [index]="item.index"\n [rangeIndex]="item.rangeIndex"\n [resources]="itemResource.resources"\n [resourceIndex]="itemResource.leafIdx">\n </div>\n </ng-container>\n </ng-container>\n <kendo-hint-container #hintContainer>\n <ng-template>\n <div *ngIf="dragHints.length && (!allDayDragHint || verticalResources.length)"\n class="k-event-drag-hint"\n role="button"\n dayTimeViewItem\n [isAllDay]="allDayDragHint"\n [ngStyle]="dragHints[0].style"\n [ngClass]="dragHints[0].class"\n [dragHint]="true"\n [eventTemplate]="eventTemplateRef"\n [resources]="dragHints[0].resources"\n [item]="dragHints[0].item">\n </div>\n\n <ng-container *ngIf="resizeHints.length && (!allDayResizeHint || verticalResources.length)">\n <div *ngFor="let hint of resizeHints; trackBy: itemIndex;"\n kendoResizeHint\n [hint]="hint"\n [ngClass]="hint.class"\n [format]="allDayResizeHint ? allDayResizeHintFormat : resizeHintFormat">\n </div>\n </ng-container>\n </ng-template>\n </kendo-hint-container>\n </div>\n </div>\n </div>\n ',isInline:!0,components:[{type:no,selector:"[dayTimeViewItem]",inputs:["vertical","isAllDay"]},{type:xi,selector:"kendo-hint-container"},{type:Ri,selector:"[kendoResizeHint]",inputs:["hint","format"]}],directives:[{type:c.NgClass,selector:"[ngClass]",inputs:["class","ngClass"]},{type:c.NgForOf,selector:"[ngFor][ngForOf]",inputs:["ngForOf","ngForTrackBy","ngForTemplate"]},{type:c.NgIf,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]},{type:c.NgTemplateOutlet,selector:"[ngTemplateOutlet]",inputs:["ngTemplateOutletContext","ngTemplateOutlet"]},{type:E,selector:"[daySlot]",inputs:["start","end"]},{type:c.NgStyle,selector:"[ngStyle]",inputs:["ngStyle"]},{type:dn,selector:"[kendoSchedulerFocusIndex]",inputs:["kendoSchedulerFocusIndex","containerType"]},{type:D,selector:"[timeSlot]",inputs:["invariantStart","invariantEnd","workDayStart","workDayEnd","workWeekStart","workWeekEnd","date"],exportAs:["timeSlot"]}],pipes:{resourceIterator:ao,kendoDate:o.DatePipe,async:c.AsyncPipe}}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:R,decorators:[{type:h.Component,args:[{selector:"multi-day-view",providers:[zo],template:'\n <div class="k-scheduler-layout k-scheduler-flex-layout" [ngClass]="classNames">\n <div class="k-scheduler-pane">\n <div class="k-scheduler-times" #timesHeader>\n <table class="k-scheduler-table" aria-hidden="true">\n <tr *ngFor="let resource of horizontalResources; trackBy: itemIndex;">\n <th></th>\n </tr>\n <tr>\n <th [style.height]="\'auto\'">​</th>\n </tr>\n <tr *ngIf="!verticalResources.length">\n <th class="k-scheduler-times-all-day" #allDayCell>{{ allDayMessage }}</th>\n </tr>\n </table>\n </div>\n <div class="k-scheduler-header k-state-default" #header>\n <div class="k-scheduler-header-wrap" #headerWrap>\n <table class="k-scheduler-table" aria-hidden="true">\n <tr *ngFor="let resource of horizontalResources; let resourceIndex = index; trackBy: itemIndex;">\n <th *ngFor="let item of horizontalResources | resourceIterator : resourceIndex; trackBy: itemIndex;"\n class="k-slot-cell" [attr.colspan]="horizontalColspan(resourceIndex)">\n <ng-container *ngIf="!groupHeaderTemplateRef">{{ getField(item, resource.textField) }}</ng-container>\n <ng-container *ngIf="groupHeaderTemplateRef" [ngTemplateOutlet]="groupHeaderTemplateRef" [ngTemplateOutletContext]="{ resource: item }"></ng-container>\n </th>\n </tr>\n <tr>\n <ng-container *ngFor="let resource of horizontalResources | resourceIterator; trackBy: itemIndex;">\n <th *ngFor="let slot of daySlots; let index = index; trackBy: itemIndex">\n <span *ngIf="!dateHeaderTemplateRef" class="k-link k-nav-day" [attr.data-dayslot-index]="index">{{ slot.start | kendoDate: dateFormat }}</span>\n <ng-container *ngIf="dateHeaderTemplateRef" [ngTemplateOutlet]="dateHeaderTemplateRef" [ngTemplateOutletContext]="{ date: slot.start }"></ng-container>\n </th>\n </ng-container>\n </tr>\n </table>\n <div style="position: relative;" *ngIf="!verticalResources.length">\n <table class="k-scheduler-table k-scheduler-header-all-day k-user-select-none" aria-hidden="true">\n <tr>\n <ng-container *ngFor="let resource of horizontalResources | resourceIterator; let resourceIndex = index; trackBy: itemIndex;">\n <td *ngFor="let slot of daySlots; let index = index; trackBy: itemIndex"\n daySlot\n [start]="slot.start"\n [end]="slot.end"\n [id]="{ resourceIndex: resourceIndex, rangeIndex: 0, index: index }"\n [class.k-selected]="isSlotSelected({\n start: toPlainDate(slot.start),\n end: toPlainDate(slot.end),\n isAllDay: true,\n resources: resourcesByIndex(resourceIndex)\n })"\n [ngClass]="allDaySlotClass(slot, resourceIndex)">\n <ng-container *ngIf="allDaySlotTemplateRef" [ngTemplateOutlet]="allDaySlotTemplateRef"\n [ngTemplateOutletContext]="{ date: slot.start, resources: resourcesByIndex(resourceIndex) }"></ng-container>\n </td>\n </ng-container>\n </tr>\n </table>\n <ng-container *ngFor="let item of allDayItems | async; trackBy: itemIndex;">\n <div *ngFor="let itemResource of item.resources; trackBy: itemIndex;"\n [ngClass]="getEventClasses(item, itemResource.resources, true)"\n [ngStyle]="getEventStyles(item, itemResource, true)"\n role="button"\n [kendoSchedulerFocusIndex]="itemResource.leafIdx"\n [id]="item.elementId + \'_\' + itemResource.leafIdx"\n dayTimeViewItem\n [isAllDay]="true"\n [editable]="editable"\n [eventTemplate]="allDayEventTemplateRef"\n [item]="item"\n [index]="item.index"\n [rangeIndex]="item.rangeIndex"\n [resources]="itemResource.resources"\n [resourceIndex]="itemResource.leafIdx">\n </div>\n </ng-container>\n <kendo-hint-container #headerHintContainer>\n <ng-template>\n <div *ngIf="dragHints.length && allDayDragHint"\n class="k-event-drag-hint"\n dayTimeViewItem\n [isAllDay]="true"\n [ngStyle]="dragHints[0].style"\n [ngClass]="dragHints[0].class"\n [dragHint]="true"\n [eventTemplate]="eventTemplateRef"\n [item]="dragHints[0].item"\n [resources]="dragHints[0].resources">\n </div>\n\n <div *ngIf="resizeHints.length && allDayResizeHint"\n kendoResizeHint\n [hint]="resizeHints[0]"\n [ngClass]="resizeHints[0].class"\n [format]="allDayResizeHintFormat">\n </div>\n </ng-template>\n </kendo-hint-container>\n </div>\n </div>\n </div>\n </div>\n <div class="k-scheduler-pane">\n <div class="k-scheduler-times" #times>\n <ng-container *ngIf="showCurrentTime">\n <div *ngFor="let resource of verticalResources | resourceIterator; trackBy: itemIndex;"\n #currentTimeArrow class="k-current-time k-current-time-arrow-right">\n </div>\n </ng-container>\n <table class="k-scheduler-table" #timesTable aria-hidden="true">\n <ng-container *ngFor="let resourceItem of verticalResources | resourceIterator; let leafIndex = index; trackBy: itemIndex;">\n <tr *ngIf="verticalResources.length">\n <ng-container *ngFor="let resource of verticalResources; let resourceIndex = index; trackBy: itemIndex;">\n <th *ngIf="verticalItem(leafIndex, resourceIndex)" [attr.rowspan]="verticalRowspan(resourceIndex)" class="k-slot-cell">\n <ng-container *ngIf="!groupHeaderTemplateRef">{{ getField(verticalItem(leafIndex, resourceIndex), resource.textField) }}</ng-container>\n <ng-container *ngIf="groupHeaderTemplateRef" [ngTemplateOutlet]="groupHeaderTemplateRef"\n [ngTemplateOutletContext]="{ resource: verticalItem(leafIndex, resourceIndex) }"></ng-container>\n </th>\n </ng-container>\n <th class="k-scheduler-times-all-day" #allDayCell>{{ allDayMessage }}</th>\n </tr>\n <tr *ngFor="let slot of timeSlots; let timeSlotIndex = index;trackBy: itemIndex">\n <th *ngIf="slot.isMajor" [ngClass]="{ \'k-slot-cell\': slotDivisions === 1 }">\n <ng-container *ngIf="!majorTimeHeaderTemplateRef">{{ slot.start | kendoDate: \'t\' }}</ng-container>\n <ng-container *ngIf="majorTimeHeaderTemplateRef" [ngTemplateOutlet]="majorTimeHeaderTemplateRef" [ngTemplateOutletContext]="{ date: slot.start }"></ng-container>\n </th>\n <th *ngIf="!slot.isMajor" [ngClass]="{ \'k-slot-cell\': timeSlotIndex % slotDivisions === slotDivisions - 1 }">\n <ng-container *ngIf="minorTimeHeaderTemplateRef" [ngTemplateOutlet]="minorTimeHeaderTemplateRef" [ngTemplateOutletContext]="{ date: slot.start }">\n </ng-container>\n </th>\n </tr>\n </ng-container>\n </table>\n </div>\n <div\n class="k-scheduler-content k-user-select-none" \n #content\n role="group"\n tabindex="0"\n [attr.aria-owns]="matchOwned(items | async)">\n <ng-container *ngIf="showCurrentTime">\n <div *ngFor="let resource of verticalResources | resourceIterator; trackBy: itemIndex;"\n #currentTimeMarker class="k-current-time">\n </div>\n </ng-container>\n <table class="k-scheduler-table" #contentTable role="presentation">\n <ng-container *ngFor="let resourceItem of verticalResources | resourceIterator; let verticalIndex = index; trackBy: itemIndex;">\n <tr class="k-scheduler-header-all-day" *ngIf="verticalResources.length">\n <td *ngFor="let slot of daySlots; let index = index; trackBy: itemIndex"\n daySlot\n [start]="slot.start"\n [end]="slot.end"\n [class.k-selected]="isSlotSelected({\n start: toPlainDate(slot.start),\n end: toPlainDate(slot.end),\n isAllDay: true,\n resources: resourcesByIndex(verticalIndex)\n })"\n [id]="{ resourceIndex: verticalIndex, rangeIndex: 0, index: index }">\n <ng-container *ngIf="allDaySlotTemplateRef" [ngTemplateOutlet]="allDaySlotTemplateRef"\n [ngTemplateOutletContext]="{ date: slot.start, resources: resourcesByIndex(verticalIndex) }"></ng-container>\n </td>\n </tr>\n <tr *ngFor="let slot of timeSlots; index as index; trackBy: itemIndex" [class.k-middle-row]="slot.isMajor">\n <ng-container *ngFor="let resource of horizontalResources | resourceIterator; let horizontalIndex = index; trackBy: itemIndex;">\n <td *ngFor="let daySlot of daySlots; index as rangeIndex; trackBy: itemIndex"\n [ngClass]="timeSlotClass(slot, daySlot.start, verticalResources.length ? verticalIndex : horizontalIndex)"\n timeSlot #timeSlot="timeSlot"\n [date]="daySlot.start"\n [invariantStart]="slot.start"\n [invariantEnd]="slot.end"\n [workDayStart]="workDayStartTime"\n [workDayEnd]="workDayEndTime"\n [workWeekStart]="workWeekStart"\n [workWeekEnd]="workWeekEnd"\n [id]="{ resourceIndex: verticalResources.length ? verticalIndex : horizontalIndex, rangeIndex: rangeIndex, index: index }"\n [class.k-selected]="isSlotSelected({\n start: toPlainDateTime(daySlot.start, slot.start),\n end: toPlainDateTime(daySlot.start, slot.end),\n isAllDay: false,\n resources: resourcesByIndex(verticalResources.length ? verticalIndex : horizontalIndex)\n })"\n >\n <ng-container *ngIf="timeSlotTemplateRef" [ngTemplateOutlet]="timeSlotTemplateRef"\n [ngTemplateOutletContext]="{ date: timeSlot.startLocalTime, resources: resourcesByIndex(timeSlot.id.resourceIndex) }">\n </ng-container>\n </td>\n </ng-container>\n </tr>\n </ng-container>\n </table>\n <ng-container *ngFor="let item of items | async; trackBy: itemIndex;">\n <div *ngFor="let itemResource of item.resources; trackBy: itemIndex;"\n [ngClass]="getEventClasses(item, itemResource.resources)"\n [ngStyle]="getEventStyles(item, itemResource)"\n role="button"\n [kendoSchedulerFocusIndex]="itemResource.leafIdx"\n [id]="item.elementId + \'_\' + itemResource.leafIdx"\n dayTimeViewItem\n [editable]="editable"\n [vertical]="true"\n [eventTemplate]="eventTemplateRef"\n [item]="item"\n [index]="item.index"\n [rangeIndex]="item.rangeIndex"\n [resources]="itemResource.resources"\n [resourceIndex]="itemResource.leafIdx">\n </div>\n </ng-container>\n <ng-container *ngIf="verticalResources.length">\n <ng-container *ngFor="let item of allDayItems | async; trackBy: itemIndex;">\n <div *ngFor="let itemResource of item.resources; trackBy: itemIndex;"\n [ngClass]="getEventClasses(item, itemResource.resources, true)"\n [ngStyle]="getEventStyles(item, itemResource, true)"\n role="button"\n [kendoSchedulerFocusIndex]="itemResource.leafIdx"\n [id]="item.elementId + \'_\' + itemResource.leafIdx"\n dayTimeViewItem\n [isAllDay]="true"\n [editable]="editable"\n [eventTemplate]="allDayEventTemplateRef"\n [item]="item"\n [index]="item.index"\n [rangeIndex]="item.rangeIndex"\n [resources]="itemResource.resources"\n [resourceIndex]="itemResource.leafIdx">\n </div>\n </ng-container>\n </ng-container>\n <kendo-hint-container #hintContainer>\n <ng-template>\n <div *ngIf="dragHints.length && (!allDayDragHint || verticalResources.length)"\n class="k-event-drag-hint"\n role="button"\n dayTimeViewItem\n [isAllDay]="allDayDragHint"\n [ngStyle]="dragHints[0].style"\n [ngClass]="dragHints[0].class"\n [dragHint]="true"\n [eventTemplate]="eventTemplateRef"\n [resources]="dragHints[0].resources"\n [item]="dragHints[0].item">\n </div>\n\n <ng-container *ngIf="resizeHints.length && (!allDayResizeHint || verticalResources.length)">\n <div *ngFor="let hint of resizeHints; trackBy: itemIndex;"\n kendoResizeHint\n [hint]="hint"\n [ngClass]="hint.class"\n [format]="allDayResizeHint ? allDayResizeHintFormat : resizeHintFormat">\n </div>\n </ng-container>\n </ng-template>\n </kendo-hint-container>\n </div>\n </div>\n </div>\n '}]}],ctorParameters:function(){return[{type:r.LocalizationService},{type:g},{type:y},{type:o.IntlService},{type:zo},{type:n.NgZone},{type:n.Renderer2},{type:n.ElementRef},{type:n.ChangeDetectorRef},{type:k},{type:Q.ScrollbarWidthService}]},propDecorators:{name:[{type:h.Input}],slotFill:[{type:h.Input}],allDaySlotTemplate:[{type:h.Input}],allDayEventTemplate:[{type:h.Input}],minorTimeHeaderTemplate:[{type:h.Input}],majorTimeHeaderTemplate:[{type:h.Input}],dayCells:[{type:h.ViewChildren,args:["allDayCell"]}],headerHintContainer:[{type:h.ViewChild,args:["headerHintContainer",{static:!1}]}]}});p(Jo,Xo=C),Object.defineProperty(Jo.prototype,"title",{get:function(){return this.localization.get("dayViewTitle")},enumerable:!1,configurable:!0}),Object.defineProperty(Jo.prototype,"selectedDateFormat",{get:function(){return this._selectedDateFormat},set:function(e){this._selectedDateFormat=e},enumerable:!1,configurable:!0}),Object.defineProperty(Jo.prototype,"selectedShortDateFormat",{get:function(){return this._selectedShortDateFormat},set:function(e){this._selectedShortDateFormat=e},enumerable:!1,configurable:!0});var Xo,Qo=Jo;function Jo(e,t,n,r){e=Xo.call(this,e,t,n,r)||this;return e.name="day",e._selectedDateFormat="{0:D}",e._selectedShortDateFormat="{0:d}",e}Qo.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Qo,deps:[{token:r.LocalizationService},{token:n.ChangeDetectorRef},{token:g},{token:y}],target:n.ɵɵFactoryTarget.Component}),Qo.ɵcmp=n.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:Qo,selector:"kendo-scheduler-day-view",inputs:{selectedDateFormat:"selectedDateFormat",selectedShortDateFormat:"selectedShortDateFormat"},providers:[{provide:ct,useExisting:h.forwardRef(function(){return Qo})}],queries:[{propertyName:"allDaySlotTemplate",first:!0,predicate:mt,descendants:!0},{propertyName:"allDayEventTemplate",first:!0,predicate:ht,descendants:!0},{propertyName:"minorTimeHeaderTemplate",first:!0,predicate:kt,descendants:!0},{propertyName:"majorTimeHeaderTemplate",first:!0,predicate:vt,descendants:!0}],usesInheritance:!0,ngImport:n,template:'\n <ng-template #content>\n <multi-day-view\n [name]="name"\n [eventHeight]="viewEventHeight"\n [currentTimeMarker]="viewCurrentTimeMarker"\n [highlightOngoingEvents]="viewHighlightOngoingEvents"\n [showWorkHours]="shouldShowWorkHours"\n [scrollTime]="viewScrollTime"\n [startTime]="viewStartTime"\n [endTime]="viewEndTime"\n [workDayStart]="viewWorkDayStart"\n [workDayEnd]="viewWorkDayEnd"\n [workWeekStart]="viewWorkWeekStart"\n [workWeekEnd]="viewWorkWeekEnd"\n [slotDuration]="viewSlotDuration"\n [slotDivisions]="viewSlotDivisions"\n [slotFill]="viewSlotFill"\n [slotClass]="viewSlotClass"\n [eventClass]="viewEventClass"\n [eventStyles]="viewEventStyles"\n [allDaySlotTemplate]="allDaySlotTemplate?.templateRef"\n [allDayEventTemplate]="allDayEventTemplate?.templateRef"\n [еventTemplate]="eventTemplate?.templateRef"\n [groupHeaderTemplate]="groupHeaderTemplate?.templateRef"\n [timeSlotTemplate]="timeSlotTemplate?.templateRef"\n [minorTimeHeaderTemplate]="minorTimeHeaderTemplate?.templateRef"\n [majorTimeHeaderTemplate]="majorTimeHeaderTemplate?.templateRef"\n [dateHeaderTemplate]="dateHeaderTemplate?.templateRef"\n [selectedDateFormat]="selectedDateFormat"\n [selectedShortDateFormat]="selectedShortDateFormat">\n </multi-day-view>\n <div viewFooter kendoWorkHoursFooter [showWorkHours]="shouldShowWorkHours" (itemClick)="showWorkHours = !shouldShowWorkHours"></div>\n </ng-template>\n ',isInline:!0,components:[{type:R,selector:"multi-day-view",inputs:["name","slotFill","allDaySlotTemplate","allDayEventTemplate","minorTimeHeaderTemplate","majorTimeHeaderTemplate"]},{type:yo,selector:"[viewFooter]",inputs:["items"],outputs:["itemClick"]}],directives:[{type:a,selector:"[kendoWorkHoursFooter]",inputs:["showWorkHours"]}],changeDetection:n.ChangeDetectionStrategy.OnPush}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Qo,decorators:[{type:h.Component,args:[{changeDetection:h.ChangeDetectionStrategy.OnPush,selector:"kendo-scheduler-day-view",providers:[{provide:ct,useExisting:h.forwardRef(function(){return Qo})}],template:'\n <ng-template #content>\n <multi-day-view\n [name]="name"\n [eventHeight]="viewEventHeight"\n [currentTimeMarker]="viewCurrentTimeMarker"\n [highlightOngoingEvents]="viewHighlightOngoingEvents"\n [showWorkHours]="shouldShowWorkHours"\n [scrollTime]="viewScrollTime"\n [startTime]="viewStartTime"\n [endTime]="viewEndTime"\n [workDayStart]="viewWorkDayStart"\n [workDayEnd]="viewWorkDayEnd"\n [workWeekStart]="viewWorkWeekStart"\n [workWeekEnd]="viewWorkWeekEnd"\n [slotDuration]="viewSlotDuration"\n [slotDivisions]="viewSlotDivisions"\n [slotFill]="viewSlotFill"\n [slotClass]="viewSlotClass"\n [eventClass]="viewEventClass"\n [eventStyles]="viewEventStyles"\n [allDaySlotTemplate]="allDaySlotTemplate?.templateRef"\n [allDayEventTemplate]="allDayEventTemplate?.templateRef"\n [еventTemplate]="eventTemplate?.templateRef"\n [groupHeaderTemplate]="groupHeaderTemplate?.templateRef"\n [timeSlotTemplate]="timeSlotTemplate?.templateRef"\n [minorTimeHeaderTemplate]="minorTimeHeaderTemplate?.templateRef"\n [majorTimeHeaderTemplate]="majorTimeHeaderTemplate?.templateRef"\n [dateHeaderTemplate]="dateHeaderTemplate?.templateRef"\n [selectedDateFormat]="selectedDateFormat"\n [selectedShortDateFormat]="selectedShortDateFormat">\n </multi-day-view>\n <div viewFooter kendoWorkHoursFooter [showWorkHours]="shouldShowWorkHours" (itemClick)="showWorkHours = !shouldShowWorkHours"></div>\n </ng-template>\n '}]}],ctorParameters:function(){return[{type:r.LocalizationService},{type:n.ChangeDetectorRef},{type:g},{type:y}]},propDecorators:{selectedDateFormat:[{type:h.Input}],selectedShortDateFormat:[{type:h.Input}],allDaySlotTemplate:[{type:h.ContentChild,args:[mt,{static:!1}]}],allDayEventTemplate:[{type:h.ContentChild,args:[ht,{static:!1}]}],minorTimeHeaderTemplate:[{type:h.ContentChild,args:[kt,{static:!1}]}],majorTimeHeaderTemplate:[{type:h.ContentChild,args:[vt,{static:!1}]}]}});p(na,ea=Qo),Object.defineProperty(na.prototype,"selectedDateFormat",{get:function(){return this.dateFormat||this.defaultDateFormat},set:function(e){this.dateFormat=e},enumerable:!1,configurable:!0}),Object.defineProperty(na.prototype,"selectedShortDateFormat",{get:function(){return this.shortDateFormat||this.defaultShortDateFormat},set:function(e){this.shortDateFormat=e},enumerable:!1,configurable:!0}),Object.defineProperty(na.prototype,"title",{get:function(){return this.localization.get("multiDayViewTitle")},enumerable:!1,configurable:!0}),Object.defineProperty(na.prototype,"defaultDateFormat",{get:function(){return 1===this.numberOfDays?"{0:D}":"{0:D} - {1:D}"},enumerable:!1,configurable:!0}),Object.defineProperty(na.prototype,"defaultShortDateFormat",{get:function(){return 1===this.numberOfDays?"{0:d}":"{0:d} - {1:d}"},enumerable:!1,configurable:!0});var ea,ta=na;function na(e,t,n,r){e=ea.call(this,e,t,n,r)||this;return e.numberOfDays=1,e.name="multiDay",e}ta.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:ta,deps:[{token:r.LocalizationService},{token:n.ChangeDetectorRef},{token:g},{token:y}],target:n.ɵɵFactoryTarget.Component}),ta.ɵcmp=n.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:ta,selector:"kendo-scheduler-multi-day-view",inputs:{selectedDateFormat:"selectedDateFormat",selectedShortDateFormat:"selectedShortDateFormat",numberOfDays:"numberOfDays"},providers:[{provide:ct,useExisting:h.forwardRef(function(){return ta})}],usesInheritance:!0,ngImport:n,template:'\n <ng-template #content>\n <multi-day-view\n viewName="day"\n [name]="name"\n [numberOfDays]="numberOfDays"\n [eventHeight]="viewEventHeight"\n [currentTimeMarker]="viewCurrentTimeMarker"\n [highlightOngoingEvents]="viewHighlightOngoingEvents"\n [showWorkHours]="shouldShowWorkHours"\n [scrollTime]="viewScrollTime"\n [startTime]="viewStartTime"\n [endTime]="viewEndTime"\n [workDayStart]="viewWorkDayStart"\n [workDayEnd]="viewWorkDayEnd"\n [workWeekStart]="viewWorkWeekStart"\n [workWeekEnd]="viewWorkWeekEnd"\n [slotDuration]="viewSlotDuration"\n [slotDivisions]="viewSlotDivisions"\n [slotFill]="viewSlotFill"\n [slotClass]="viewSlotClass"\n [eventClass]="viewEventClass"\n [eventStyles]="viewEventStyles"\n [allDaySlotTemplate]="allDaySlotTemplate?.templateRef"\n [allDayEventTemplate]="allDayEventTemplate?.templateRef"\n [еventTemplate]="eventTemplate?.templateRef"\n [groupHeaderTemplate]="groupHeaderTemplate?.templateRef"\n [timeSlotTemplate]="timeSlotTemplate?.templateRef"\n [minorTimeHeaderTemplate]="minorTimeHeaderTemplate?.templateRef"\n [majorTimeHeaderTemplate]="majorTimeHeaderTemplate?.templateRef"\n [dateHeaderTemplate]="dateHeaderTemplate?.templateRef"\n [selectedDateFormat]="selectedDateFormat"\n [selectedShortDateFormat]="selectedShortDateFormat">\n </multi-day-view>\n <div viewFooter kendoWorkHoursFooter [showWorkHours]="shouldShowWorkHours" (itemClick)="showWorkHours = !shouldShowWorkHours"></div>\n </ng-template>\n ',isInline:!0,components:[{type:R,selector:"multi-day-view",inputs:["name","slotFill","allDaySlotTemplate","allDayEventTemplate","minorTimeHeaderTemplate","majorTimeHeaderTemplate"]},{type:yo,selector:"[viewFooter]",inputs:["items"],outputs:["itemClick"]}],directives:[{type:a,selector:"[kendoWorkHoursFooter]",inputs:["showWorkHours"]}],changeDetection:n.ChangeDetectionStrategy.OnPush}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:ta,decorators:[{type:h.Component,args:[{changeDetection:h.ChangeDetectionStrategy.OnPush,selector:"kendo-scheduler-multi-day-view",providers:[{provide:ct,useExisting:h.forwardRef(function(){return ta})}],template:'\n <ng-template #content>\n <multi-day-view\n viewName="day"\n [name]="name"\n [numberOfDays]="numberOfDays"\n [eventHeight]="viewEventHeight"\n [currentTimeMarker]="viewCurrentTimeMarker"\n [highlightOngoingEvents]="viewHighlightOngoingEvents"\n [showWorkHours]="shouldShowWorkHours"\n [scrollTime]="viewScrollTime"\n [startTime]="viewStartTime"\n [endTime]="viewEndTime"\n [workDayStart]="viewWorkDayStart"\n [workDayEnd]="viewWorkDayEnd"\n [workWeekStart]="viewWorkWeekStart"\n [workWeekEnd]="viewWorkWeekEnd"\n [slotDuration]="viewSlotDuration"\n [slotDivisions]="viewSlotDivisions"\n [slotFill]="viewSlotFill"\n [slotClass]="viewSlotClass"\n [eventClass]="viewEventClass"\n [eventStyles]="viewEventStyles"\n [allDaySlotTemplate]="allDaySlotTemplate?.templateRef"\n [allDayEventTemplate]="allDayEventTemplate?.templateRef"\n [еventTemplate]="eventTemplate?.templateRef"\n [groupHeaderTemplate]="groupHeaderTemplate?.templateRef"\n [timeSlotTemplate]="timeSlotTemplate?.templateRef"\n [minorTimeHeaderTemplate]="minorTimeHeaderTemplate?.templateRef"\n [majorTimeHeaderTemplate]="majorTimeHeaderTemplate?.templateRef"\n [dateHeaderTemplate]="dateHeaderTemplate?.templateRef"\n [selectedDateFormat]="selectedDateFormat"\n [selectedShortDateFormat]="selectedShortDateFormat">\n </multi-day-view>\n <div viewFooter kendoWorkHoursFooter [showWorkHours]="shouldShowWorkHours" (itemClick)="showWorkHours = !shouldShowWorkHours"></div>\n </ng-template>\n '}]}],ctorParameters:function(){return[{type:r.LocalizationService},{type:n.ChangeDetectorRef},{type:g},{type:y}]},propDecorators:{selectedDateFormat:[{type:h.Input}],selectedShortDateFormat:[{type:h.Input}],numberOfDays:[{type:h.Input}]}});p(oa,ra=C),Object.defineProperty(oa.prototype,"title",{get:function(){return this.localization.get("weekViewTitle")},enumerable:!1,configurable:!0}),oa.prototype.getStartDate=function(e){return b.firstDayInWeek(b.getDate(e),this.viewWeekStart)};var ra,ia=oa;function oa(e,t,n,r,i){t=ra.call(this,t,n,r,i)||this;return t.intl=e,t.selectedDateFormat="{0:D} - {1:D}",t.selectedShortDateFormat="{0:d} - {1:d}",t.name="week",t.getStartDate=t.getStartDate.bind(t),t}ia.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:ia,deps:[{token:o.IntlService},{token:r.LocalizationService},{token:n.ChangeDetectorRef},{token:g},{token:y}],target:n.ɵɵFactoryTarget.Component}),ia.ɵcmp=n.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:ia,selector:"kendo-scheduler-week-view",inputs:{selectedDateFormat:"selectedDateFormat",selectedShortDateFormat:"selectedShortDateFormat"},providers:[{provide:ct,useExisting:h.forwardRef(function(){return ia})}],queries:[{propertyName:"allDaySlotTemplate",first:!0,predicate:mt,descendants:!0},{propertyName:"allDayEventTemplate",first:!0,predicate:ht,descendants:!0},{propertyName:"minorTimeHeaderTemplate",first:!0,predicate:kt,descendants:!0},{propertyName:"majorTimeHeaderTemplate",first:!0,predicate:vt,descendants:!0}],usesInheritance:!0,ngImport:n,template:'\n <ng-template #content>\n <multi-day-view\n [name]="name"\n [numberOfDays]="7"\n [getStartDate]="getStartDate"\n [eventHeight]="viewEventHeight"\n [currentTimeMarker]="viewCurrentTimeMarker"\n [highlightOngoingEvents]="viewHighlightOngoingEvents"\n [showWorkHours]="shouldShowWorkHours"\n [scrollTime]="viewScrollTime"\n [startTime]="viewStartTime"\n [endTime]="viewEndTime"\n [workDayStart]="viewWorkDayStart"\n [workDayEnd]="viewWorkDayEnd"\n [workWeekStart]="viewWorkWeekStart"\n [workWeekEnd]="viewWorkWeekEnd"\n [weekStart]="viewWeekStart"\n [slotDuration]="viewSlotDuration"\n [slotDivisions]="viewSlotDivisions"\n [slotFill]="viewSlotFill"\n [slotClass]="viewSlotClass"\n [eventClass]="viewEventClass"\n [eventStyles]="viewEventStyles"\n [allDaySlotTemplate]="allDaySlotTemplate?.templateRef"\n [allDayEventTemplate]="allDayEventTemplate?.templateRef"\n [еventTemplate]="eventTemplate?.templateRef"\n [groupHeaderTemplate]="groupHeaderTemplate?.templateRef"\n [timeSlotTemplate]="timeSlotTemplate?.templateRef"\n [minorTimeHeaderTemplate]="minorTimeHeaderTemplate?.templateRef"\n [majorTimeHeaderTemplate]="majorTimeHeaderTemplate?.templateRef"\n [dateHeaderTemplate]="dateHeaderTemplate?.templateRef"\n [selectedDateFormat]="selectedDateFormat"\n [selectedShortDateFormat]="selectedShortDateFormat">\n </multi-day-view>\n <div viewFooter kendoWorkHoursFooter [showWorkHours]="shouldShowWorkHours" (itemClick)="showWorkHours = !shouldShowWorkHours"></div>\n </ng-template>\n ',isInline:!0,components:[{type:R,selector:"multi-day-view",inputs:["name","slotFill","allDaySlotTemplate","allDayEventTemplate","minorTimeHeaderTemplate","majorTimeHeaderTemplate"]},{type:yo,selector:"[viewFooter]",inputs:["items"],outputs:["itemClick"]}],directives:[{type:a,selector:"[kendoWorkHoursFooter]",inputs:["showWorkHours"]}],changeDetection:n.ChangeDetectionStrategy.OnPush}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:ia,decorators:[{type:h.Component,args:[{changeDetection:h.ChangeDetectionStrategy.OnPush,selector:"kendo-scheduler-week-view",providers:[{provide:ct,useExisting:h.forwardRef(function(){return ia})}],template:'\n <ng-template #content>\n <multi-day-view\n [name]="name"\n [numberOfDays]="7"\n [getStartDate]="getStartDate"\n [eventHeight]="viewEventHeight"\n [currentTimeMarker]="viewCurrentTimeMarker"\n [highlightOngoingEvents]="viewHighlightOngoingEvents"\n [showWorkHours]="shouldShowWorkHours"\n [scrollTime]="viewScrollTime"\n [startTime]="viewStartTime"\n [endTime]="viewEndTime"\n [workDayStart]="viewWorkDayStart"\n [workDayEnd]="viewWorkDayEnd"\n [workWeekStart]="viewWorkWeekStart"\n [workWeekEnd]="viewWorkWeekEnd"\n [weekStart]="viewWeekStart"\n [slotDuration]="viewSlotDuration"\n [slotDivisions]="viewSlotDivisions"\n [slotFill]="viewSlotFill"\n [slotClass]="viewSlotClass"\n [eventClass]="viewEventClass"\n [eventStyles]="viewEventStyles"\n [allDaySlotTemplate]="allDaySlotTemplate?.templateRef"\n [allDayEventTemplate]="allDayEventTemplate?.templateRef"\n [еventTemplate]="eventTemplate?.templateRef"\n [groupHeaderTemplate]="groupHeaderTemplate?.templateRef"\n [timeSlotTemplate]="timeSlotTemplate?.templateRef"\n [minorTimeHeaderTemplate]="minorTimeHeaderTemplate?.templateRef"\n [majorTimeHeaderTemplate]="majorTimeHeaderTemplate?.templateRef"\n [dateHeaderTemplate]="dateHeaderTemplate?.templateRef"\n [selectedDateFormat]="selectedDateFormat"\n [selectedShortDateFormat]="selectedShortDateFormat">\n </multi-day-view>\n <div viewFooter kendoWorkHoursFooter [showWorkHours]="shouldShowWorkHours" (itemClick)="showWorkHours = !shouldShowWorkHours"></div>\n </ng-template>\n '}]}],ctorParameters:function(){return[{type:o.IntlService},{type:r.LocalizationService},{type:n.ChangeDetectorRef},{type:g},{type:y}]},propDecorators:{selectedDateFormat:[{type:h.Input}],selectedShortDateFormat:[{type:h.Input}],allDaySlotTemplate:[{type:h.ContentChild,args:[mt,{static:!1}]}],allDayEventTemplate:[{type:h.ContentChild,args:[ht,{static:!1}]}],minorTimeHeaderTemplate:[{type:h.ContentChild,args:[kt,{static:!1}]}],majorTimeHeaderTemplate:[{type:h.ContentChild,args:[vt,{static:!1}]}]}});p(la,aa=ia),Object.defineProperty(la.prototype,"title",{get:function(){return this.localization.get("workWeekViewTitle")},enumerable:!1,configurable:!0}),Object.defineProperty(la.prototype,"numberOfDays",{get:function(){return this.viewWorkWeekStart>this.viewWorkWeekEnd?7-this.viewWorkWeekStart+this.viewWorkWeekEnd+1:this.viewWorkWeekEnd-this.viewWorkWeekStart+1},enumerable:!1,configurable:!0}),la.prototype.getStartDate=function(e){return b.firstDayInWeek(b.getDate(e),this.viewWorkWeekStart)},la.prototype.getNextDate=function(e,t,n){return b.getDate(b.addDays(e,7*t))};var aa,sa=la;function la(e,t,n,r,i){e=aa.call(this,e,t,n,r,i)||this;return e.name="workWeek",e.getNextDate=e.getNextDate.bind(e),e}sa.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:sa,deps:[{token:o.IntlService},{token:r.LocalizationService},{token:n.ChangeDetectorRef},{token:g},{token:y}],target:n.ɵɵFactoryTarget.Component}),sa.ɵcmp=n.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:sa,selector:"kendo-scheduler-work-week-view",providers:[{provide:ct,useExisting:h.forwardRef(function(){return sa})}],usesInheritance:!0,ngImport:n,template:'\n <ng-template #content>\n <multi-day-view\n viewName="workWeekview"\n [name]="name"\n [numberOfDays]="numberOfDays"\n [getStartDate]="getStartDate"\n [getNextDate]="getNextDate"\n [eventHeight]="viewEventHeight"\n [currentTimeMarker]="viewCurrentTimeMarker"\n [highlightOngoingEvents]="viewHighlightOngoingEvents"\n [showWorkHours]="shouldShowWorkHours"\n [scrollTime]="viewScrollTime"\n [startTime]="viewStartTime"\n [endTime]="viewEndTime"\n [workDayStart]="viewWorkDayStart"\n [workDayEnd]="viewWorkDayEnd"\n [workWeekStart]="viewWorkWeekStart"\n [workWeekEnd]="viewWorkWeekEnd"\n [slotDuration]="viewSlotDuration"\n [slotDivisions]="viewSlotDivisions"\n [slotFill]="viewSlotFill"\n [slotClass]="viewSlotClass"\n [eventClass]="viewEventClass"\n [eventStyles]="viewEventStyles"\n [allDaySlotTemplate]="allDaySlotTemplate?.templateRef"\n [allDayEventTemplate]="allDayEventTemplate?.templateRef"\n [еventTemplate]="eventTemplate?.templateRef"\n [groupHeaderTemplate]="groupHeaderTemplate?.templateRef"\n [timeSlotTemplate]="timeSlotTemplate?.templateRef"\n [minorTimeHeaderTemplate]="minorTimeHeaderTemplate?.templateRef"\n [majorTimeHeaderTemplate]="majorTimeHeaderTemplate?.templateRef"\n [dateHeaderTemplate]="dateHeaderTemplate?.templateRef"\n [selectedDateFormat]="selectedDateFormat"\n [selectedShortDateFormat]="selectedShortDateFormat">\n </multi-day-view>\n <div viewFooter kendoWorkHoursFooter [showWorkHours]="shouldShowWorkHours" (itemClick)="showWorkHours = !shouldShowWorkHours"></div>\n </ng-template>\n ',isInline:!0,components:[{type:R,selector:"multi-day-view",inputs:["name","slotFill","allDaySlotTemplate","allDayEventTemplate","minorTimeHeaderTemplate","majorTimeHeaderTemplate"]},{type:yo,selector:"[viewFooter]",inputs:["items"],outputs:["itemClick"]}],directives:[{type:a,selector:"[kendoWorkHoursFooter]",inputs:["showWorkHours"]}],changeDetection:n.ChangeDetectionStrategy.OnPush}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:sa,decorators:[{type:h.Component,args:[{changeDetection:h.ChangeDetectionStrategy.OnPush,selector:"kendo-scheduler-work-week-view",providers:[{provide:ct,useExisting:h.forwardRef(function(){return sa})}],template:'\n <ng-template #content>\n <multi-day-view\n viewName="workWeekview"\n [name]="name"\n [numberOfDays]="numberOfDays"\n [getStartDate]="getStartDate"\n [getNextDate]="getNextDate"\n [eventHeight]="viewEventHeight"\n [currentTimeMarker]="viewCurrentTimeMarker"\n [highlightOngoingEvents]="viewHighlightOngoingEvents"\n [showWorkHours]="shouldShowWorkHours"\n [scrollTime]="viewScrollTime"\n [startTime]="viewStartTime"\n [endTime]="viewEndTime"\n [workDayStart]="viewWorkDayStart"\n [workDayEnd]="viewWorkDayEnd"\n [workWeekStart]="viewWorkWeekStart"\n [workWeekEnd]="viewWorkWeekEnd"\n [slotDuration]="viewSlotDuration"\n [slotDivisions]="viewSlotDivisions"\n [slotFill]="viewSlotFill"\n [slotClass]="viewSlotClass"\n [eventClass]="viewEventClass"\n [eventStyles]="viewEventStyles"\n [allDaySlotTemplate]="allDaySlotTemplate?.templateRef"\n [allDayEventTemplate]="allDayEventTemplate?.templateRef"\n [еventTemplate]="eventTemplate?.templateRef"\n [groupHeaderTemplate]="groupHeaderTemplate?.templateRef"\n [timeSlotTemplate]="timeSlotTemplate?.templateRef"\n [minorTimeHeaderTemplate]="minorTimeHeaderTemplate?.templateRef"\n [majorTimeHeaderTemplate]="majorTimeHeaderTemplate?.templateRef"\n [dateHeaderTemplate]="dateHeaderTemplate?.templateRef"\n [selectedDateFormat]="selectedDateFormat"\n [selectedShortDateFormat]="selectedShortDateFormat">\n </multi-day-view>\n <div viewFooter kendoWorkHoursFooter [showWorkHours]="shouldShowWorkHours" (itemClick)="showWorkHours = !shouldShowWorkHours"></div>\n </ng-template>\n '}]}],ctorParameters:function(){return[{type:o.IntlService},{type:r.LocalizationService},{type:n.ChangeDetectorRef},{type:g},{type:y}]}});var ca,C=[D,E,no],da=function(){},C=(da.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:da,deps:[],target:n.ɵɵFactoryTarget.NgModule}),da.ɵmod=n.ɵɵngDeclareNgModule({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:da,declarations:[D,E,no],imports:[q.CommonModule,d,To],exports:[D,E,no]}),da.ɵinj=n.ɵɵngDeclareInjector({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:da,imports:[[q.CommonModule,d,To]]}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:da,decorators:[{type:h.NgModule,args:[{imports:[q.CommonModule,d,To],exports:[C],declarations:[C]}]}]}),[Qo,ta,ia,sa]),ua=function(){},pa=(ua.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:ua,deps:[],target:n.ɵɵFactoryTarget.NgModule}),ua.ɵmod=n.ɵɵngDeclareNgModule({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:ua,declarations:[Qo,ta,ia,sa,R],imports:[To,da],exports:[Qo,ta,ia,sa]}),ua.ɵinj=n.ɵɵngDeclareInjector({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:ua,imports:[[To,da]]}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:ua,decorators:[{type:h.NgModule,args:[{imports:[To,da],exports:[C],declarations:le(le([],se(C)),[R])}]}]}),p(ha,ca=ct),Object.defineProperty(ha.prototype,"name",{get:function(){return this._name||this.title},set:function(e){this._name=e},enumerable:!1,configurable:!0}),ha);function ha(e){var t=ca.call(this)||this;return t.template=e,t}pa.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:pa,deps:[{token:n.TemplateRef}],target:n.ɵɵFactoryTarget.Directive}),pa.ɵdir=n.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:pa,selector:"[kendoSchedulerView]",inputs:{title:["kendoSchedulerView","title"],name:["kendoSchedulerViewName","name"]},providers:[{provide:ct,useExisting:h.forwardRef(function(){return pa})}],usesInheritance:!0,ngImport:n}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:pa,decorators:[{type:h.Directive,args:[{providers:[{provide:ct,useExisting:h.forwardRef(function(){return pa})}],selector:"[kendoSchedulerView]"}]}],ctorParameters:function(){return[{type:n.TemplateRef}]},propDecorators:{title:[{type:h.Input,args:["kendoSchedulerView"]}],name:[{type:h.Input,args:["kendoSchedulerViewName"]}]}});p(ga,ma=t),Object.defineProperty(ga.prototype,"classNames",{get:function(){return"k-scheduler-"+this.viewName+"-view"},enumerable:!1,configurable:!0}),ga.prototype.ngOnChanges=function(e){e.columnWidth&&this.changes.next(null),ma.prototype.ngOnChanges.call(this,e)},ga.prototype.reflow=function(){var e=this.slotService,n=(this.updateContentHeight(),e.containerSize=this.content.nativeElement.scrollWidth,this.verticalResources.length?this.verticalResourceRows.toArray():[]);e.layoutTimeline(this.eventHeight,n),n.length&&e.forEachGroup(function(e,t){n[t].nativeElement.style.height=e.timeRanges[0].slots[0].height+"px"}),this.syncTables()},Object.defineProperty(ga.prototype,"allEventsMessage",{get:function(){return this.localization.get("allEvents")},enumerable:!1,configurable:!0}),Object.defineProperty(ga.prototype,"slotsCount",{get:function(){for(var e=this.horizontalResources,t=this.daySlots.length*this.timeSlots.length,n=0;n<e.length;n++)t*=(e[n].data||[]).length||1;return t},enumerable:!1,configurable:!0}),ga.prototype.timeColspan=function(e){var t=this.timeSlots.length,n=t%this.slotDivisions;return 0==n||e<t-n?this.slotDivisions:1},ga.prototype.horizontalColspan=function(e){for(var t=this.horizontalResources,n=this.daySlots.length*this.timeSlots.length,r=e+1;r<t.length;r++)n*=(t[r].data||[]).length||1;return n},ga.prototype.verticalRowspan=function(e){for(var t=this.verticalResources,n=1,r=e+1;r<t.length;r++)n*=(t[r].data||[]).length||1;return n},ga.prototype.createTasks=function(e,t){for(var n=t.start,r=t.end,i=e,o=[],a=bn(n),s=bn(r),l=0;l<i.length;l++){var c=i[l],d=c.event,u={index:l,start:c.start,end:c.end,event:d,isAllDay:!1},c=d.isAllDay?kn(c):u.end,d=d.isAllDay?u.start.stripTime():u.start;u.startTime=d.toUTCDate(),u.endTime=c.toUTCDate(),fn(u.startTime,u.endTime,a,s)&&(o.push(u),u.head=u.endTime>r,u.tail=u.startTime<n)}return o},ga.prototype.onTasksChange=function(){this.items.next(this.tasks)},ga.prototype.dragRanges=function(e){return this.slotService.dragRanges(e,this.dragging.offset,!0)},ga.prototype.dragHintSize=function(e,t){return{width:Bn(t.rect.left-e.rect.left+t.rect.width),height:Bn(e.height)}},ga.prototype.updateResizeHints=function(e,t,n){var r=e[e.length-1];ma.prototype.updateResizeHints.call(this,[[e[0][0],r[r.length-1]]],t,n)},ga.prototype.pdfWidth=function(){return this.content.nativeElement.scrollWidth+this.times.nativeElement.offsetWidth},ga.prototype.currentTimeArrowOffset=function(){return this.headerWrap.nativeElement.querySelector("tr:last-child").offsetTop};var ma,C=ga;function ga(e,t,n,r,i,o,a,s,l,c,d){t=ma.call(this,t,n,r,i,o,a,s,l,c,e,d)||this;return t.name="timeline",t.columnWidth=100,t.viewName="timeline",t.verticalTime=!1,t}C.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:C,deps:[{token:r.LocalizationService},{token:n.ChangeDetectorRef},{token:g},{token:y},{token:o.IntlService},{token:zo},{token:n.NgZone},{token:n.Renderer2},{token:n.ElementRef},{token:k},{token:Q.ScrollbarWidthService}],target:n.ɵɵFactoryTarget.Component}),C.ɵcmp=n.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:C,selector:"timeline-multi-day-view",inputs:{name:"name",columnWidth:"columnWidth",viewName:"viewName"},providers:[zo],viewQueries:[{propertyName:"verticalResourceRows",predicate:["verticalResourceRows"],descendants:!0}],usesInheritance:!0,usesOnChanges:!0,ngImport:n,template:'\n <div class="k-scheduler-layout k-scheduler-flex-layout" [ngClass]="classNames">\n <div class="k-scheduler-pane">\n <div class="k-scheduler-times" #timesHeader>\n <table class="k-scheduler-table" aria-hidden="true">\n <tr><th [style.height]="\'auto\'"></th></tr>\n <tr><th class="k-slot-cell"></th></tr>\n <tr *ngFor="let resource of horizontalResources; trackBy: itemIndex;">\n <th></th>\n </tr>\n </table>\n </div>\n <div class="k-scheduler-header k-state-default" #header >\n <div class="k-scheduler-header-wrap" #headerWrap>\n <ng-container *ngIf="showCurrentTime">\n <div *ngFor="let resource of horizontalResources | resourceIterator; trackBy: itemIndex;"\n #currentTimeArrow class="k-current-time k-current-time-arrow-down">\n </div>\n </ng-container>\n <table class="k-scheduler-table" aria-hidden="true">\n <colgroup>\n <col *ngFor="let slotIndex of slotsCount | repeat; trackBy: itemIndex;" [ngStyle]="{ \'width.px\': columnWidth }" />\n </colgroup>\n <tr *ngFor="let resource of horizontalResources; let resourceIndex = index; trackBy: itemIndex;">\n <th *ngFor="let item of horizontalResources | resourceIterator : resourceIndex; trackBy: itemIndex;"\n class="k-slot-cell" [attr.colspan]="horizontalColspan(resourceIndex)">\n <ng-container *ngIf="!groupHeaderTemplateRef">{{ getField(item, resource.textField) }}</ng-container>\n <ng-container *ngIf="groupHeaderTemplateRef" [ngTemplateOutlet]="groupHeaderTemplateRef"\n [ngTemplateOutletContext]="{ resource: item }"></ng-container>\n </th>\n </tr>\n <tr>\n <ng-container *ngFor="let resource of horizontalResources | resourceIterator; trackBy: itemIndex;">\n <ng-container *ngFor="let daySlot of daySlots; let index = index; trackBy: itemIndex;">\n <th [attr.colspan]="timeSlots.length" class="k-slot-cell">\n <span *ngIf="!dateHeaderTemplateRef" class="k-link" [ngClass]="{ \'k-nav-day\': numberOfDays > 1 }" [attr.data-dayslot-index]="index">{{ daySlot.start | kendoDate: \'m\'}}</span>\n <ng-container *ngIf="dateHeaderTemplateRef" [ngTemplateOutlet]="dateHeaderTemplateRef" [ngTemplateOutletContext]="{ date: daySlot.start }"></ng-container>\n </th>\n </ng-container>\n </ng-container>\n </tr>\n <tr>\n <ng-container *ngFor="let resource of horizontalResources | resourceIterator; let resourceIndex = index; trackBy: itemIndex;">\n <ng-container *ngFor="let daySlot of daySlots; let rangeIndex = index; trackBy: itemIndex;">\n <ng-container *ngFor="let timeSlot of timeSlots; let index = index; trackBy: itemIndex;">\n <th *ngIf="timeSlot.isMajor" [attr.colspan]="timeColspan(index)" >{{ timeSlot.start | kendoDate: \'t\' }}</th>\n </ng-container>\n </ng-container>\n </ng-container>\n </tr>\n </table>\n </div>\n </div>\n </div>\n <div class="k-scheduler-pane">\n <div class="k-scheduler-times" #times>\n <table class="k-scheduler-table" #timesTable aria-hidden="true">\n <tr *ngIf="!verticalResources.length">\n <th rowspan="1" #titleCell>\n {{ allEventsMessage }}\n </th>\n </tr>\n <ng-container *ngIf="verticalResources.length">\n <ng-container *ngFor="let resourceItem of verticalResources | resourceIterator; let leafIndex = index; trackBy: itemIndex;">\n <tr #verticalResourceRows>\n <ng-container *ngFor="let resource of verticalResources; let resourceIndex = index; trackBy: itemIndex;">\n <th *ngIf="verticalItem(leafIndex, resourceIndex)" [attr.rowspan]="verticalRowspan(resourceIndex)" class="k-slot-cell">\n <div>\n <ng-container *ngIf="!groupHeaderTemplateRef">{{ getField(verticalItem(leafIndex, resourceIndex), resource.textField) }}</ng-container>\n <ng-container *ngIf="groupHeaderTemplateRef" [ngTemplateOutlet]="groupHeaderTemplateRef"\n [ngTemplateOutletContext]="{ resource: verticalItem(leafIndex, resourceIndex) }"></ng-container>\n </div>\n </th>\n </ng-container>\n </tr>\n </ng-container>\n </ng-container>\n </table>\n </div>\n <div\n class="k-scheduler-content"\n #content\n role="group"\n tabindex="0"\n [attr.aria-owns]="matchOwned(items | async)">\n <ng-container *ngIf="showCurrentTime">\n <div *ngFor="let resource of horizontalResources | resourceIterator; trackBy: itemIndex;"\n class="k-current-time" #currentTimeMarker>\n </div>\n </ng-container>\n <table class="k-scheduler-table k-user-select-none" #contentTable role="presentation">\n <colgroup>\n <col *ngFor="let slotIndex of slotsCount | repeat; trackBy: itemIndex;" [ngStyle]="{ \'width.px\': columnWidth }" />\n </colgroup>\n <tr *ngFor="let resourceItem of verticalResources | resourceIterator; let verticalIndex = index; trackBy: itemIndex;">\n <ng-container *ngFor="let resource of horizontalResources | resourceIterator; let horizontalIndex = index; trackBy: itemIndex;">\n <ng-container *ngFor="let daySlot of daySlots; let rangeIndex = index; trackBy: itemIndex;">\n <td *ngFor="let slot of timeSlots; let index = index; trackBy: itemIndex;"\n [ngClass]="timeSlotClass(slot, daySlot.start, verticalResources.length ? verticalIndex : horizontalIndex)"\n timeSlot #timeSlot="timeSlot"\n [date]="daySlot.start"\n [invariantStart]="slot.start"\n [invariantEnd]="slot.end"\n [workDayStart]="workDayStartTime"\n [workDayEnd]="workDayEndTime"\n [workWeekStart]="workWeekStart"\n [workWeekEnd]="workWeekEnd"\n selectableSlot\n [id]="{ resourceIndex: verticalResources.length ? verticalIndex : horizontalIndex, rangeIndex: rangeIndex, index: index }"\n [class.k-selected]="isSlotSelected({\n start: toPlainDateTime(daySlot.start, slot.start),\n end: toPlainDateTime(daySlot.start, slot.end),\n isAllDay: false,\n resources: resourcesByIndex(verticalResources.length ? verticalIndex : horizontalIndex)\n })"\n >\n <ng-container *ngIf="timeSlotTemplateRef" [ngTemplateOutlet]="timeSlotTemplateRef"\n [ngTemplateOutletContext]="{ date: timeSlot.start, resources: resourcesByIndex(timeSlot.id.resourceIndex ) }">\n </ng-container>\n </td>\n </ng-container>\n </ng-container>\n </tr>\n </table>\n <ng-container *ngFor="let item of items | async | sort; trackBy: itemIndex;">\n <div *ngFor="let itemResource of item.resources; trackBy: itemIndex;"\n [ngClass]="getEventClasses(item, itemResource.resources)"\n [ngStyle]="getEventStyles(item, itemResource)"\n role="button"\n [kendoSchedulerFocusIndex]="itemResource.leafIdx"\n [id]="item.elementId + \'_\' + itemResource.leafIdx"\n dayTimeViewItem\n [editable]="editable"\n [item]="item"\n [index]="item.index"\n [rangeIndex]="item.rangeIndex"\n [eventTemplate]="eventTemplateRef"\n [resources]="itemResource.resources"\n [resourceIndex]="itemResource.leafIdx">\n </div>\n </ng-container>\n <kendo-hint-container #hintContainer>\n <ng-template>\n <div *ngFor="let hint of dragHints; trackBy: itemIndex;"\n class="k-event-drag-hint"\n dayTimeViewItem\n [ngStyle]="hint.style"\n [ngClass]="hint.class"\n [dragHint]="true"\n [eventTemplate]="eventTemplateRef"\n [item]="hint.item"\n [resources]="hint.resources">\n </div>\n <div *ngIf="resizeHints && resizeHints.length"\n kendoResizeHint\n [hint]="resizeHints[0]"\n [ngClass]="resizeHints[0].class"\n [format]="resizeHintFormat">\n </div>\n </ng-template>\n </kendo-hint-container>\n </div>\n </div>\n </div>\n ',isInline:!0,components:[{type:no,selector:"[dayTimeViewItem]",inputs:["vertical","isAllDay"]},{type:xi,selector:"kendo-hint-container"},{type:Ri,selector:"[kendoResizeHint]",inputs:["hint","format"]}],directives:[{type:c.NgClass,selector:"[ngClass]",inputs:["class","ngClass"]},{type:c.NgForOf,selector:"[ngFor][ngForOf]",inputs:["ngForOf","ngForTrackBy","ngForTemplate"]},{type:c.NgIf,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]},{type:c.NgStyle,selector:"[ngStyle]",inputs:["ngStyle"]},{type:c.NgTemplateOutlet,selector:"[ngTemplateOutlet]",inputs:["ngTemplateOutletContext","ngTemplateOutlet"]},{type:D,selector:"[timeSlot]",inputs:["invariantStart","invariantEnd","workDayStart","workDayEnd","workWeekStart","workWeekEnd","date"],exportAs:["timeSlot"]},{type:dn,selector:"[kendoSchedulerFocusIndex]",inputs:["kendoSchedulerFocusIndex","containerType"]}],pipes:{resourceIterator:ao,repeat:Lt,kendoDate:o.DatePipe,async:c.AsyncPipe,sort:Jr}}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:C,decorators:[{type:h.Component,args:[{selector:"timeline-multi-day-view",providers:[zo],template:'\n <div class="k-scheduler-layout k-scheduler-flex-layout" [ngClass]="classNames">\n <div class="k-scheduler-pane">\n <div class="k-scheduler-times" #timesHeader>\n <table class="k-scheduler-table" aria-hidden="true">\n <tr><th [style.height]="\'auto\'"></th></tr>\n <tr><th class="k-slot-cell"></th></tr>\n <tr *ngFor="let resource of horizontalResources; trackBy: itemIndex;">\n <th></th>\n </tr>\n </table>\n </div>\n <div class="k-scheduler-header k-state-default" #header >\n <div class="k-scheduler-header-wrap" #headerWrap>\n <ng-container *ngIf="showCurrentTime">\n <div *ngFor="let resource of horizontalResources | resourceIterator; trackBy: itemIndex;"\n #currentTimeArrow class="k-current-time k-current-time-arrow-down">\n </div>\n </ng-container>\n <table class="k-scheduler-table" aria-hidden="true">\n <colgroup>\n <col *ngFor="let slotIndex of slotsCount | repeat; trackBy: itemIndex;" [ngStyle]="{ \'width.px\': columnWidth }" />\n </colgroup>\n <tr *ngFor="let resource of horizontalResources; let resourceIndex = index; trackBy: itemIndex;">\n <th *ngFor="let item of horizontalResources | resourceIterator : resourceIndex; trackBy: itemIndex;"\n class="k-slot-cell" [attr.colspan]="horizontalColspan(resourceIndex)">\n <ng-container *ngIf="!groupHeaderTemplateRef">{{ getField(item, resource.textField) }}</ng-container>\n <ng-container *ngIf="groupHeaderTemplateRef" [ngTemplateOutlet]="groupHeaderTemplateRef"\n [ngTemplateOutletContext]="{ resource: item }"></ng-container>\n </th>\n </tr>\n <tr>\n <ng-container *ngFor="let resource of horizontalResources | resourceIterator; trackBy: itemIndex;">\n <ng-container *ngFor="let daySlot of daySlots; let index = index; trackBy: itemIndex;">\n <th [attr.colspan]="timeSlots.length" class="k-slot-cell">\n <span *ngIf="!dateHeaderTemplateRef" class="k-link" [ngClass]="{ \'k-nav-day\': numberOfDays > 1 }" [attr.data-dayslot-index]="index">{{ daySlot.start | kendoDate: \'m\'}}</span>\n <ng-container *ngIf="dateHeaderTemplateRef" [ngTemplateOutlet]="dateHeaderTemplateRef" [ngTemplateOutletContext]="{ date: daySlot.start }"></ng-container>\n </th>\n </ng-container>\n </ng-container>\n </tr>\n <tr>\n <ng-container *ngFor="let resource of horizontalResources | resourceIterator; let resourceIndex = index; trackBy: itemIndex;">\n <ng-container *ngFor="let daySlot of daySlots; let rangeIndex = index; trackBy: itemIndex;">\n <ng-container *ngFor="let timeSlot of timeSlots; let index = index; trackBy: itemIndex;">\n <th *ngIf="timeSlot.isMajor" [attr.colspan]="timeColspan(index)" >{{ timeSlot.start | kendoDate: \'t\' }}</th>\n </ng-container>\n </ng-container>\n </ng-container>\n </tr>\n </table>\n </div>\n </div>\n </div>\n <div class="k-scheduler-pane">\n <div class="k-scheduler-times" #times>\n <table class="k-scheduler-table" #timesTable aria-hidden="true">\n <tr *ngIf="!verticalResources.length">\n <th rowspan="1" #titleCell>\n {{ allEventsMessage }}\n </th>\n </tr>\n <ng-container *ngIf="verticalResources.length">\n <ng-container *ngFor="let resourceItem of verticalResources | resourceIterator; let leafIndex = index; trackBy: itemIndex;">\n <tr #verticalResourceRows>\n <ng-container *ngFor="let resource of verticalResources; let resourceIndex = index; trackBy: itemIndex;">\n <th *ngIf="verticalItem(leafIndex, resourceIndex)" [attr.rowspan]="verticalRowspan(resourceIndex)" class="k-slot-cell">\n <div>\n <ng-container *ngIf="!groupHeaderTemplateRef">{{ getField(verticalItem(leafIndex, resourceIndex), resource.textField) }}</ng-container>\n <ng-container *ngIf="groupHeaderTemplateRef" [ngTemplateOutlet]="groupHeaderTemplateRef"\n [ngTemplateOutletContext]="{ resource: verticalItem(leafIndex, resourceIndex) }"></ng-container>\n </div>\n </th>\n </ng-container>\n </tr>\n </ng-container>\n </ng-container>\n </table>\n </div>\n <div\n class="k-scheduler-content"\n #content\n role="group"\n tabindex="0"\n [attr.aria-owns]="matchOwned(items | async)">\n <ng-container *ngIf="showCurrentTime">\n <div *ngFor="let resource of horizontalResources | resourceIterator; trackBy: itemIndex;"\n class="k-current-time" #currentTimeMarker>\n </div>\n </ng-container>\n <table class="k-scheduler-table k-user-select-none" #contentTable role="presentation">\n <colgroup>\n <col *ngFor="let slotIndex of slotsCount | repeat; trackBy: itemIndex;" [ngStyle]="{ \'width.px\': columnWidth }" />\n </colgroup>\n <tr *ngFor="let resourceItem of verticalResources | resourceIterator; let verticalIndex = index; trackBy: itemIndex;">\n <ng-container *ngFor="let resource of horizontalResources | resourceIterator; let horizontalIndex = index; trackBy: itemIndex;">\n <ng-container *ngFor="let daySlot of daySlots; let rangeIndex = index; trackBy: itemIndex;">\n <td *ngFor="let slot of timeSlots; let index = index; trackBy: itemIndex;"\n [ngClass]="timeSlotClass(slot, daySlot.start, verticalResources.length ? verticalIndex : horizontalIndex)"\n timeSlot #timeSlot="timeSlot"\n [date]="daySlot.start"\n [invariantStart]="slot.start"\n [invariantEnd]="slot.end"\n [workDayStart]="workDayStartTime"\n [workDayEnd]="workDayEndTime"\n [workWeekStart]="workWeekStart"\n [workWeekEnd]="workWeekEnd"\n selectableSlot\n [id]="{ resourceIndex: verticalResources.length ? verticalIndex : horizontalIndex, rangeIndex: rangeIndex, index: index }"\n [class.k-selected]="isSlotSelected({\n start: toPlainDateTime(daySlot.start, slot.start),\n end: toPlainDateTime(daySlot.start, slot.end),\n isAllDay: false,\n resources: resourcesByIndex(verticalResources.length ? verticalIndex : horizontalIndex)\n })"\n >\n <ng-container *ngIf="timeSlotTemplateRef" [ngTemplateOutlet]="timeSlotTemplateRef"\n [ngTemplateOutletContext]="{ date: timeSlot.start, resources: resourcesByIndex(timeSlot.id.resourceIndex ) }">\n </ng-container>\n </td>\n </ng-container>\n </ng-container>\n </tr>\n </table>\n <ng-container *ngFor="let item of items | async | sort; trackBy: itemIndex;">\n <div *ngFor="let itemResource of item.resources; trackBy: itemIndex;"\n [ngClass]="getEventClasses(item, itemResource.resources)"\n [ngStyle]="getEventStyles(item, itemResource)"\n role="button"\n [kendoSchedulerFocusIndex]="itemResource.leafIdx"\n [id]="item.elementId + \'_\' + itemResource.leafIdx"\n dayTimeViewItem\n [editable]="editable"\n [item]="item"\n [index]="item.index"\n [rangeIndex]="item.rangeIndex"\n [eventTemplate]="eventTemplateRef"\n [resources]="itemResource.resources"\n [resourceIndex]="itemResource.leafIdx">\n </div>\n </ng-container>\n <kendo-hint-container #hintContainer>\n <ng-template>\n <div *ngFor="let hint of dragHints; trackBy: itemIndex;"\n class="k-event-drag-hint"\n dayTimeViewItem\n [ngStyle]="hint.style"\n [ngClass]="hint.class"\n [dragHint]="true"\n [eventTemplate]="eventTemplateRef"\n [item]="hint.item"\n [resources]="hint.resources">\n </div>\n <div *ngIf="resizeHints && resizeHints.length"\n kendoResizeHint\n [hint]="resizeHints[0]"\n [ngClass]="resizeHints[0].class"\n [format]="resizeHintFormat">\n </div>\n </ng-template>\n </kendo-hint-container>\n </div>\n </div>\n </div>\n '}]}],ctorParameters:function(){return[{type:r.LocalizationService},{type:n.ChangeDetectorRef},{type:g},{type:y},{type:o.IntlService},{type:zo},{type:n.NgZone},{type:n.Renderer2},{type:n.ElementRef},{type:k},{type:Q.ScrollbarWidthService}]},propDecorators:{name:[{type:h.Input}],columnWidth:[{type:h.Input}],viewName:[{type:h.Input}],verticalResourceRows:[{type:h.ViewChildren,args:["verticalResourceRows"]}]}});p(fa,ya=F),Object.defineProperty(fa.prototype,"viewColumnWidth",{get:function(){return this.optionValue("columnWidth")},enumerable:!1,configurable:!0});var ya,R=fa;function fa(e,t,n,r){return ya.call(this,e,t,n,r)||this}R.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:R,deps:[{token:r.LocalizationService},{token:n.ChangeDetectorRef},{token:g},{token:y}],target:n.ɵɵFactoryTarget.Directive}),R.ɵdir=n.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:R,inputs:{columnWidth:"columnWidth"},usesInheritance:!0,ngImport:n}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:R,decorators:[{type:h.Directive}],ctorParameters:function(){return[{type:r.LocalizationService},{type:n.ChangeDetectorRef},{type:g},{type:y}]},propDecorators:{columnWidth:[{type:h.Input}]}});p(Da,va=R),Object.defineProperty(Da.prototype,"title",{get:function(){return this.localization.get("timelineViewTitle")},enumerable:!1,configurable:!0});var va,ka=Da;function Da(e,t,n,r){e=va.call(this,e,t,n,r)||this;return e.selectedDateFormat="{0:D}",e.selectedShortDateFormat="{0:d}",e.name="timeline",e}ka.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:ka,deps:[{token:r.LocalizationService},{token:n.ChangeDetectorRef},{token:g},{token:y}],target:n.ɵɵFactoryTarget.Component}),ka.ɵcmp=n.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:ka,selector:"kendo-scheduler-timeline-view",inputs:{selectedDateFormat:"selectedDateFormat",selectedShortDateFormat:"selectedShortDateFormat"},providers:[{provide:ct,useExisting:h.forwardRef(function(){return ka})}],usesInheritance:!0,ngImport:n,template:'\n <ng-template #content>\n <timeline-multi-day-view\n [name]="name"\n [eventHeight]="viewEventHeight"\n [columnWidth]="viewColumnWidth"\n [currentTimeMarker]="viewCurrentTimeMarker"\n [highlightOngoingEvents]="viewHighlightOngoingEvents"\n [showWorkHours]="shouldShowWorkHours"\n [scrollTime]="viewScrollTime"\n [startTime]="viewStartTime"\n [endTime]="viewEndTime"\n [workDayStart]="viewWorkDayStart"\n [workDayEnd]="viewWorkDayEnd"\n [workWeekStart]="viewWorkWeekStart"\n [workWeekEnd]="viewWorkWeekEnd"\n [slotDuration]="viewSlotDuration"\n [slotDivisions]="viewSlotDivisions"\n [slotClass]="viewSlotClass"\n [eventClass]="viewEventClass"\n [eventStyles]="viewEventStyles"\n [еventTemplate]="eventTemplate?.templateRef"\n [groupHeaderTemplate]="groupHeaderTemplate?.templateRef"\n [timeSlotTemplate]="timeSlotTemplate?.templateRef"\n [dateHeaderTemplate]="dateHeaderTemplate?.templateRef"\n [selectedDateFormat]="selectedDateFormat"\n [selectedShortDateFormat]="selectedShortDateFormat">\n </timeline-multi-day-view>\n <div viewFooter kendoWorkHoursFooter [showWorkHours]="shouldShowWorkHours" (itemClick)="showWorkHours = !shouldShowWorkHours"></div>\n </ng-template>\n ',isInline:!0,components:[{type:C,selector:"timeline-multi-day-view",inputs:["name","columnWidth","viewName"]},{type:yo,selector:"[viewFooter]",inputs:["items"],outputs:["itemClick"]}],directives:[{type:a,selector:"[kendoWorkHoursFooter]",inputs:["showWorkHours"]}],changeDetection:n.ChangeDetectionStrategy.OnPush}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:ka,decorators:[{type:h.Component,args:[{changeDetection:h.ChangeDetectionStrategy.OnPush,selector:"kendo-scheduler-timeline-view",providers:[{provide:ct,useExisting:h.forwardRef(function(){return ka})}],template:'\n <ng-template #content>\n <timeline-multi-day-view\n [name]="name"\n [eventHeight]="viewEventHeight"\n [columnWidth]="viewColumnWidth"\n [currentTimeMarker]="viewCurrentTimeMarker"\n [highlightOngoingEvents]="viewHighlightOngoingEvents"\n [showWorkHours]="shouldShowWorkHours"\n [scrollTime]="viewScrollTime"\n [startTime]="viewStartTime"\n [endTime]="viewEndTime"\n [workDayStart]="viewWorkDayStart"\n [workDayEnd]="viewWorkDayEnd"\n [workWeekStart]="viewWorkWeekStart"\n [workWeekEnd]="viewWorkWeekEnd"\n [slotDuration]="viewSlotDuration"\n [slotDivisions]="viewSlotDivisions"\n [slotClass]="viewSlotClass"\n [eventClass]="viewEventClass"\n [eventStyles]="viewEventStyles"\n [еventTemplate]="eventTemplate?.templateRef"\n [groupHeaderTemplate]="groupHeaderTemplate?.templateRef"\n [timeSlotTemplate]="timeSlotTemplate?.templateRef"\n [dateHeaderTemplate]="dateHeaderTemplate?.templateRef"\n [selectedDateFormat]="selectedDateFormat"\n [selectedShortDateFormat]="selectedShortDateFormat">\n </timeline-multi-day-view>\n <div viewFooter kendoWorkHoursFooter [showWorkHours]="shouldShowWorkHours" (itemClick)="showWorkHours = !shouldShowWorkHours"></div>\n </ng-template>\n '}]}],ctorParameters:function(){return[{type:r.LocalizationService},{type:n.ChangeDetectorRef},{type:g},{type:y}]},propDecorators:{selectedDateFormat:[{type:h.Input}],selectedShortDateFormat:[{type:h.Input}]}});p(ba,Ta=R),Object.defineProperty(ba.prototype,"title",{get:function(){return this.localization.get("timelineWeekViewTitle")},enumerable:!1,configurable:!0});var Ta,Ia=ba;function ba(e,t,n,r,i){var o=Ta.call(this,t,n,r,i)||this;return o.selectedDateFormat="{0:D} - {1:D}",o.selectedShortDateFormat="{0:d} - {1:d}",o.name="timelineWeek",o.getStartDate=function(e){return b.firstDayInWeek(b.getDate(e),o.viewWeekStart)},o}Ia.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Ia,deps:[{token:o.IntlService},{token:r.LocalizationService},{token:n.ChangeDetectorRef},{token:g},{token:y}],target:n.ɵɵFactoryTarget.Component}),Ia.ɵcmp=n.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:Ia,selector:"kendo-scheduler-timeline-week-view",inputs:{selectedDateFormat:"selectedDateFormat",selectedShortDateFormat:"selectedShortDateFormat"},providers:[{provide:ct,useExisting:h.forwardRef(function(){return Ia})}],usesInheritance:!0,ngImport:n,template:'\n <ng-template #content>\n <timeline-multi-day-view\n viewName="timeline-week"\n [name]="name"\n [numberOfDays]="7"\n [getStartDate]="getStartDate"\n [eventHeight]="viewEventHeight"\n [columnWidth]="viewColumnWidth"\n [currentTimeMarker]="viewCurrentTimeMarker"\n [highlightOngoingEvents]="viewHighlightOngoingEvents"\n [showWorkHours]="shouldShowWorkHours"\n [scrollTime]="viewScrollTime"\n [startTime]="viewStartTime"\n [endTime]="viewEndTime"\n [workDayStart]="viewWorkDayStart"\n [workDayEnd]="viewWorkDayEnd"\n [workWeekStart]="viewWorkWeekStart"\n [workWeekEnd]="viewWorkWeekEnd"\n [weekStart]="viewWeekStart"\n [slotDuration]="viewSlotDuration"\n [slotDivisions]="viewSlotDivisions"\n [slotClass]="viewSlotClass"\n [eventClass]="viewEventClass"\n [eventStyles]="viewEventStyles"\n [еventTemplate]="eventTemplate?.templateRef"\n [groupHeaderTemplate]="groupHeaderTemplate?.templateRef"\n [timeSlotTemplate]="timeSlotTemplate?.templateRef"\n [dateHeaderTemplate]="dateHeaderTemplate?.templateRef"\n [selectedDateFormat]="selectedDateFormat"\n [selectedShortDateFormat]="selectedShortDateFormat">\n </timeline-multi-day-view>\n <div viewFooter kendoWorkHoursFooter [showWorkHours]="shouldShowWorkHours" (itemClick)="showWorkHours = !shouldShowWorkHours"></div>\n </ng-template>\n ',isInline:!0,components:[{type:C,selector:"timeline-multi-day-view",inputs:["name","columnWidth","viewName"]},{type:yo,selector:"[viewFooter]",inputs:["items"],outputs:["itemClick"]}],directives:[{type:a,selector:"[kendoWorkHoursFooter]",inputs:["showWorkHours"]}],changeDetection:n.ChangeDetectionStrategy.OnPush}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Ia,decorators:[{type:h.Component,args:[{changeDetection:h.ChangeDetectionStrategy.OnPush,selector:"kendo-scheduler-timeline-week-view",providers:[{provide:ct,useExisting:h.forwardRef(function(){return Ia})}],template:'\n <ng-template #content>\n <timeline-multi-day-view\n viewName="timeline-week"\n [name]="name"\n [numberOfDays]="7"\n [getStartDate]="getStartDate"\n [eventHeight]="viewEventHeight"\n [columnWidth]="viewColumnWidth"\n [currentTimeMarker]="viewCurrentTimeMarker"\n [highlightOngoingEvents]="viewHighlightOngoingEvents"\n [showWorkHours]="shouldShowWorkHours"\n [scrollTime]="viewScrollTime"\n [startTime]="viewStartTime"\n [endTime]="viewEndTime"\n [workDayStart]="viewWorkDayStart"\n [workDayEnd]="viewWorkDayEnd"\n [workWeekStart]="viewWorkWeekStart"\n [workWeekEnd]="viewWorkWeekEnd"\n [weekStart]="viewWeekStart"\n [slotDuration]="viewSlotDuration"\n [slotDivisions]="viewSlotDivisions"\n [slotClass]="viewSlotClass"\n [eventClass]="viewEventClass"\n [eventStyles]="viewEventStyles"\n [еventTemplate]="eventTemplate?.templateRef"\n [groupHeaderTemplate]="groupHeaderTemplate?.templateRef"\n [timeSlotTemplate]="timeSlotTemplate?.templateRef"\n [dateHeaderTemplate]="dateHeaderTemplate?.templateRef"\n [selectedDateFormat]="selectedDateFormat"\n [selectedShortDateFormat]="selectedShortDateFormat">\n </timeline-multi-day-view>\n <div viewFooter kendoWorkHoursFooter [showWorkHours]="shouldShowWorkHours" (itemClick)="showWorkHours = !shouldShowWorkHours"></div>\n </ng-template>\n '}]}],ctorParameters:function(){return[{type:o.IntlService},{type:r.LocalizationService},{type:n.ChangeDetectorRef},{type:g},{type:y}]},propDecorators:{selectedDateFormat:[{type:h.Input}],selectedShortDateFormat:[{type:h.Input}]}});p(xa,wa=R),Object.defineProperty(xa.prototype,"title",{get:function(){return this.localization.get("timelineMonthViewTitle")},enumerable:!1,configurable:!0});var wa,Sa=xa;function xa(e,t,n,r){var i=wa.call(this,e,t,n,r)||this;return i.selectedDateFormat="{0:Y}",i.selectedShortDateFormat="{0:y}",i.name="timelineMonth",i.getStartDate=function(e){return b.firstDayOfMonth(b.getDate(e))},i.getEndDate=function(e){return b.addMonths(i.getStartDate(e),1)},i.getNextDate=function(e,t){return b.addMonths(e,t)},i}Sa.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Sa,deps:[{token:r.LocalizationService},{token:n.ChangeDetectorRef},{token:g},{token:y}],target:n.ɵɵFactoryTarget.Component}),Sa.ɵcmp=n.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:Sa,selector:"kendo-scheduler-timeline-month-view",inputs:{selectedDateFormat:"selectedDateFormat",selectedShortDateFormat:"selectedShortDateFormat"},providers:[{provide:ct,useExisting:h.forwardRef(function(){return Sa})}],usesInheritance:!0,ngImport:n,template:'\n <ng-template #content>\n <timeline-multi-day-view\n viewName="timeline-month"\n [name]="name"\n [getNextDate]="getNextDate"\n [getStartDate]="getStartDate"\n [getEndDate]="getEndDate"\n [eventHeight]="viewEventHeight"\n [columnWidth]="viewColumnWidth"\n [currentTimeMarker]="viewCurrentTimeMarker"\n [highlightOngoingEvents]="viewHighlightOngoingEvents"\n [showWorkHours]="shouldShowWorkHours"\n [scrollTime]="viewScrollTime"\n [startTime]="viewStartTime"\n [endTime]="viewEndTime"\n [workDayStart]="viewWorkDayStart"\n [workDayEnd]="viewWorkDayEnd"\n [workWeekStart]="viewWorkWeekStart"\n [workWeekEnd]="viewWorkWeekEnd"\n [slotDuration]="viewSlotDuration"\n [slotDivisions]="viewSlotDivisions"\n [slotClass]="viewSlotClass"\n [eventClass]="viewEventClass"\n [eventStyles]="viewEventStyles"\n [еventTemplate]="eventTemplate?.templateRef"\n [groupHeaderTemplate]="groupHeaderTemplate?.templateRef"\n [timeSlotTemplate]="timeSlotTemplate?.templateRef"\n [dateHeaderTemplate]="dateHeaderTemplate?.templateRef"\n [selectedDateFormat]="selectedDateFormat"\n [selectedShortDateFormat]="selectedShortDateFormat">\n </timeline-multi-day-view>\n <div viewFooter kendoWorkHoursFooter [showWorkHours]="shouldShowWorkHours" (itemClick)="showWorkHours = !shouldShowWorkHours"></div>\n </ng-template>\n ',isInline:!0,components:[{type:C,selector:"timeline-multi-day-view",inputs:["name","columnWidth","viewName"]},{type:yo,selector:"[viewFooter]",inputs:["items"],outputs:["itemClick"]}],directives:[{type:a,selector:"[kendoWorkHoursFooter]",inputs:["showWorkHours"]}],changeDetection:n.ChangeDetectionStrategy.OnPush}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Sa,decorators:[{type:h.Component,args:[{changeDetection:h.ChangeDetectionStrategy.OnPush,selector:"kendo-scheduler-timeline-month-view",providers:[{provide:ct,useExisting:h.forwardRef(function(){return Sa})}],template:'\n <ng-template #content>\n <timeline-multi-day-view\n viewName="timeline-month"\n [name]="name"\n [getNextDate]="getNextDate"\n [getStartDate]="getStartDate"\n [getEndDate]="getEndDate"\n [eventHeight]="viewEventHeight"\n [columnWidth]="viewColumnWidth"\n [currentTimeMarker]="viewCurrentTimeMarker"\n [highlightOngoingEvents]="viewHighlightOngoingEvents"\n [showWorkHours]="shouldShowWorkHours"\n [scrollTime]="viewScrollTime"\n [startTime]="viewStartTime"\n [endTime]="viewEndTime"\n [workDayStart]="viewWorkDayStart"\n [workDayEnd]="viewWorkDayEnd"\n [workWeekStart]="viewWorkWeekStart"\n [workWeekEnd]="viewWorkWeekEnd"\n [slotDuration]="viewSlotDuration"\n [slotDivisions]="viewSlotDivisions"\n [slotClass]="viewSlotClass"\n [eventClass]="viewEventClass"\n [eventStyles]="viewEventStyles"\n [еventTemplate]="eventTemplate?.templateRef"\n [groupHeaderTemplate]="groupHeaderTemplate?.templateRef"\n [timeSlotTemplate]="timeSlotTemplate?.templateRef"\n [dateHeaderTemplate]="dateHeaderTemplate?.templateRef"\n [selectedDateFormat]="selectedDateFormat"\n [selectedShortDateFormat]="selectedShortDateFormat">\n </timeline-multi-day-view>\n <div viewFooter kendoWorkHoursFooter [showWorkHours]="shouldShowWorkHours" (itemClick)="showWorkHours = !shouldShowWorkHours"></div>\n </ng-template>\n '}]}],ctorParameters:function(){return[{type:r.LocalizationService},{type:n.ChangeDetectorRef},{type:g},{type:y}]},propDecorators:{selectedDateFormat:[{type:h.Input}],selectedShortDateFormat:[{type:h.Input}]}});function Ca(e){return!(!e.id||!e.recurrenceRule)}var t=[ka,Ia,Sa],c=function(){},Ea=(c.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:c,deps:[],target:n.ɵɵFactoryTarget.NgModule}),c.ɵmod=n.ɵɵngDeclareNgModule({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:c,declarations:[ka,Ia,Sa,C],imports:[da,To],exports:[ka,Ia,Sa]}),c.ɵinj=n.ɵɵngDeclareInjector({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:c,imports:[[da,To]]}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:c,decorators:[{type:h.NgModule,args:[{imports:[da,To],exports:[t],declarations:le(le([],se(t)),[C])}]}]}),Object.defineProperty(Ra.prototype,"fields",{get:function(){return this.scheduler.modelFields},enumerable:!1,configurable:!0}),Object.defineProperty(Ra.prototype,"hasLocalData",{get:function(){return f(this.localDataChangesService.data)},enumerable:!1,configurable:!0}),Object.defineProperty(Ra.prototype,"data",{get:function(){return this.hasLocalData?this.localDataChangesService.data:this.scheduler.events},enumerable:!1,configurable:!0}),Ra.prototype.create=function(e){var t=this.fields.id,n=x(e,t);f(n)||zt(e,t,this.nextId()),this.data.push(e),this.dataChanged()},Ra.prototype.createException=function(e,t){t=this.buildException(t);this.removeOccurrenceInternal(e),this.create(t)},Ra.prototype.update=function(e,t){Nt(e,t),this.dataChanged()},Ra.prototype.remove=function(e){for(var t=this.fields.id,n=x(e,t),r=this.data,i=0;i<r.length;i++)if(n===x(r[i],t)){r.splice(i,1);break}this.dataChanged()},Ra.prototype.removeSeries=function(e){var e=Wt(e,this.fields),t=Ca(e);this.removeItemAndExceptions(t?e.id:e.recurrenceId),this.dataChanged()},Ra.prototype.removeOccurrence=function(e){this.removeOccurrenceInternal(e),this.dataChanged()},Ra.prototype.findRecurrenceMaster=function(e){var t=this.scheduler.modelFields,e=Wt(e,t),n=Ca(e)?e.id:e.recurrenceId;return this.data.find(function(e){return x(e,t.id)===n})},Ra.prototype.isRecurring=function(e){return Ft(e,this.scheduler.modelFields)},Ra.prototype.isException=function(e){return Ht(e,this.scheduler.modelFields)},Ra.prototype.nextId=function(){return l.guid()},Ra.prototype.buildException=function(e){var t=this.fields,n=this.findRecurrenceMaster(e);if(n)return e=jt(e),zt(e,t.id,this.nextId()),zt(e,t.recurrenceId,x(n,t.id)),zt(e,t.recurrenceRule,null),e;if(h.isDevMode())throw new Error("Unable to find recurrence head for event. Please check that recurrenceId is set and refers to an existing event.")},Ra.prototype.removeItemAndExceptions=function(e){for(var t=this.data,n=this.scheduler.modelFields,r=t.length-1;0<=r;r--)e!==x(t[r],n.recurrenceId)&&e!==x(t[r],n.id)||t.splice(r,1)},Ra.prototype.removeOccurrenceInternal=function(e){var t=this.fields,n=this.findRecurrenceMaster(e),e=x(e,t.start),r=x(n,t.recurrenceExceptions)||[];zt(n,t.recurrenceExceptions,le(le([],se(r)),[e]))},Ra.prototype.dataChanged=function(){this.hasLocalData&&this.localDataChangesService.changes.emit()},Ra);function Ra(e,t){this.scheduler=e,this.localDataChangesService=t}function Oa(e){if(e.markAsTouched(),e.hasOwnProperty("controls")){var t,n=e.controls;for(t in n)n.hasOwnProperty(t)&&Oa(n[t])}}function Fa(e,t){if(e&&e.getTime&&t&&t.getTime)return e.getTime()===t.getTime();if(Array.isArray(e)){if(!Array.isArray(t)||e.length!==t.length)return;for(var n=0;n<e.length;n++)if(e[n]!==t[n])return;return 1}return e==t}var Ha=["getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","getMilliseconds"];function Va(e,t,n,r){var i=[],o=x(e,r),a=x(t,r),s=x(n,r);return Ha.forEach(function(e){i.push((a[e]()===s[e]()?o:s)[e]())}),new(Date.bind.apply(Date,le([void 0],se(i))))}Object.defineProperty(Wa.prototype,"editService",{get:function(){return this.userEditService||this.defaultEditService},set:function(e){this.userEditService=e},enumerable:!1,configurable:!0}),Wa.prototype.ngOnInit=function(){this.subscriptions=u.merge(this.scheduler.slotDblClick,this.scheduler.create).subscribe(this.addHandler.bind(this)),this.subscriptions.add(this.scheduler.removeConfirmed.subscribe(this.removeHandler.bind(this))),this.subscriptions.add(this.scheduler.cancel.subscribe(this.cancelHandler.bind(this))),this.subscriptions.add(this.scheduler.resizeEndConfirmed.subscribe(this.resizeEndHandler.bind(this))),this.subscriptions.add(this.scheduler.dragEndConfirmed.subscribe(this.dragEndHandler.bind(this)))},Wa.prototype.ngOnDestroy=function(){this.subscriptions.unsubscribe()},Wa.prototype.createDefaultService=function(){return new Ea(this.scheduler,this.localDataChangesService)},Wa.prototype.addHandler=function(e){if(this.closeEditor(),this.isEnabled("add")){for(var t=this.scheduler.modelFields,n={},r=(zt(n,t.start,e.start),zt(n,t.end,e.end),zt(n,t.isAllDay,e.isAllDay),zt(n,t.title,e.title),Pt(this.scheduler.group,this.scheduler.resources)),i=e.resources,o=0;o<r.length;o++){var a=r[o],s=x(i[o],a.valueField);zt(n,a.field,a.multiple?[s]:s)}t=new Xe(this.scheduler,{dataItem:n});this.add.emit(t),t.isDefaultPrevented()||this.scheduler.addEvent(this.createModel({action:"add",isNew:!0,dataItem:n}))}},Wa.prototype.removeHandler=function(e){var t=this,n=e.dataItem;this.isEnabled("remove")&&(this.editService.isRecurring(n)?this.dialogsService.openRecurringConfirmationDialog(1).subscribe(function(e){void 0!==e&&(t.handleRemove(n,e),t.focusService.focusContent())}):this.dialogsService.openRemoveConfirmationDialog().subscribe(function(e){e&&(t.handleRemove(n,0),t.focusService.focusContent())}))},Wa.prototype.cancelHandler=function(){this.closeEditor()},Wa.prototype.closeEditor=function(){this.scheduler.closeEvent()},Wa.prototype.handleUpdate=function(e,t,n){var r=this.editService;1!==n||r.isException(e)?r.update(e,t):r.createException(e,t)},Wa.prototype.handleRemove=function(e,t){var n=this.editService;2===t?n.removeSeries(e):1!==t||n.isException(e)?n.remove(e):n.removeOccurrence(e)},Wa.prototype.resizeEndHandler=function(e){var n,r,i,o=this,t=e.event,a=e.start,e=e.end;Fa(a,t.start)&&Fa(e,t.end)||(n=t.dataItem,r=this.scheduler.modelFields,zt(i={},r.start,a),zt(i,r.end,e),this.editService.isRecurring(n)?this.dialogsService.openRecurringConfirmationDialog(0).subscribe(function(e){var t=n;2===e?(t=o.editService.findRecurrenceMaster(n),zt(i,r.start,Va(t,n,i,r.start)),zt(i,r.end,Va(t,n,i,r.end))):void 0!==e&&(i=Nt(jt(n),i)),o.handleUpdate(t,i,e)}):this.editService.update(n,i))},Wa.prototype.dragEndHandler=function(e){var n=this,r=e.event.dataItem,t=e.start,i=e.end,o=e.resources,e=e.isAllDay,a=this.scheduler.modelFields,s=Pt(this.scheduler.group,this.scheduler.resources).map(function(e){return e.field}),s=[a.start,a.end,a.isAllDay].concat(s),l=jt(o);zt(l,a.start,t),zt(l,a.end,i),zt(l,a.isAllDay,e),function(e,t,n){for(var r=0;r<n.length;r++){var i=n[r];if(!Fa(x(e,i),x(t,i)))return 1}}(r,l,s)&&(this.editService.isRecurring(r)?this.dialogsService.openRecurringConfirmationDialog(0).subscribe(function(e){var t=r;2===e?(t=n.editService.findRecurrenceMaster(r),zt(l,a.start,Va(t,r,l,a.start)),zt(l,a.end,Va(t,r,l,a.end))):void 0!==e&&(l=Nt(jt(r),l)),n.handleUpdate(t,l,e)}):this.editService.update(r,l))},Wa.prototype.isEnabled=function(e){var t=this.scheduler.editable;return t&&!1!==t[e]};F=Wa;function Wa(e,t,n,r){this.scheduler=e,this.localDataChangesService=t,this.dialogsService=n,this.focusService=r,this.add=new h.EventEmitter,this.edit=new h.EventEmitter,this.defaultTitle="No title",this.defaultEditService=this.createDefaultService(),this.scheduler.editable=!0}F.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:F,deps:[{token:Yr},{token:Kt},{token:Qt},{token:v}],target:n.ɵɵFactoryTarget.Directive}),F.ɵdir=n.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:F,inputs:{editService:"editService"},outputs:{add:"add",edit:"edit"},ngImport:n}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:F,decorators:[{type:h.Directive}],ctorParameters:function(){return[{type:Yr},{type:Kt},{type:Qt},{type:v}]},propDecorators:{add:[{type:h.Output}],edit:[{type:h.Output}],editService:[{type:h.Input}]}});p(Pa,Ma=F),Pa.prototype.ngOnInit=function(){Ma.prototype.ngOnInit.call(this),this.subscriptions.add(this.scheduler.eventDblClick.subscribe(this.editHandler.bind(this))),this.subscriptions.add(this.scheduler.save.subscribe(this.saveHandler.bind(this)))},Pa.prototype.editHandler=function(e){var n,t,r=this;this.isEnabled("edit")&&(t=new Ye(this.scheduler,{dataItem:e.event.dataItem,event:e.event}),this.edit.emit(t),t.isDefaultPrevented()||(n=e.event.dataItem,this.editService.isRecurring(n)?this.dialogsService.openRecurringConfirmationDialog(0).pipe(s.filter(function(e){return void 0!==e})).subscribe(function(e){2===e&&(n=r.editService.findRecurrenceMaster(n));var t=r.createModel({action:"edit",isNew:!1,mode:e,dataItem:n});r.scheduler.editEvent(n,{group:t,mode:e})}):(t=this.createModel({action:"edit",isNew:!1,mode:0,dataItem:n}),this.scheduler.editEvent(n,{group:t}))))},Pa.prototype.saveHandler=function(e){var t;this.isFormValid(e)&&(t=e.formGroup.value,e.isNew?this.editService.create(t):this.handleUpdate(e.dataItem,t,e.mode)),this.closeEditor()},Pa.prototype.createModel=function(e){return e.event=e.dataItem,this.createFormGroup(e)},Pa.prototype.isFormValid=function(e){var t=e.formGroup,e=e.isNew;return!!t.valid||((t.dirty||e)&&Oa(t),!1)};var Ma,t=Pa;function Pa(e,t,n,r){r=Ma.call(this,e,t,n,r)||this;return r.scheduler=e,r.localDataChangesService=t,r.dialogsService=n,r}t.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:t,deps:[{token:Yr},{token:Kt},{token:Qt},{token:v}],target:n.ɵɵFactoryTarget.Directive}),t.ɵdir=n.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:t,selector:"[kendoSchedulerReactiveEditing]",inputs:{createFormGroup:["kendoSchedulerReactiveEditing","createFormGroup"]},usesInheritance:!0,ngImport:n}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:t,decorators:[{type:h.Directive,args:[{selector:"[kendoSchedulerReactiveEditing]"}]}],ctorParameters:function(){return[{type:Yr},{type:Kt},{type:Qt},{type:v}]},propDecorators:{createFormGroup:[{type:h.Input,args:["kendoSchedulerReactiveEditing"]}]}});p(Na,za=i),Object.defineProperty(Na.prototype,"override",{get:function(){return!0},enumerable:!1,configurable:!0});var za,Aa=Na;function Na(e){var t=za.call(this)||this;return t.service=e,t}Aa.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Aa,deps:[{token:r.LocalizationService}],target:n.ɵɵFactoryTarget.Component}),Aa.ɵcmp=n.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:Aa,selector:"kendo-recurrence-editor-messages",providers:[{provide:i,useExisting:h.forwardRef(function(){return Aa})}],usesInheritance:!0,ngImport:n,template:"",isInline:!0}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Aa,decorators:[{type:h.Component,args:[{providers:[{provide:i,useExisting:h.forwardRef(function(){return Aa})}],selector:"kendo-recurrence-editor-messages",template:""}]}],ctorParameters:function(){return[{type:r.LocalizationService}]}});function Ba(e){return gn(e,"k-scheduler-content")}ja.prototype.onKeydown=function(t){var e=this.shortcuts.find(function(e){return e.match(t)});e&&!this.dialogsService.isOpen&&e.action(t)},ja.prototype.onEventKeydown=function(t){var e=this.taskShortcuts.find(function(e){return e.match(t.originalEvent)});e&&!this.dialogsService.isOpen&&e.action(t.originalEvent,t.event)},ja.prototype.focusWait=function(){var e=this;this.viewState.layoutEnd.pipe(s.take(1)).subscribe(function(){return e.focusService.focus()})};F=ja;function ja(e,t,n,r,i,o,a){var s=this;this.scheduler=e,this.domEvents=t,this.focusService=n,this.zone=r,this.changeDetector=i,this.viewState=o,this.dialogsService=a,this.shortcuts=[{match:function(e){return e.keyCode===l.Keys.KeyC&&lr(e)},action:function(e){var t,n=s.scheduler,r=(new Date).getHours(),i=n.selectedDate,o=new Date(i.getFullYear(),i.getMonth(),i.getDate(),r+1),i=new Date(i.getFullYear(),i.getMonth(),i.getDate(),r+2);n.group&&(r=n.resources||[],0<(r=Pt(n.group||{},r)).length)&&(t=r[0].data[0]),n.create.emit({start:b.ZonedDate.fromLocalDate(o,n.timezone).toLocalDate(),end:b.ZonedDate.fromLocalDate(i,n.timezone).toLocalDate(),isAllDay:!1,resources:[t],originalEvent:e,sender:n})}},{match:function(e){return e.keyCode>=l.Keys.Digit1&&e.keyCode<=l.Keys.Digit9&&sr(e,ir.AltKey)},action:function(e){var t=s.scheduler,e=e.keyCode-l.Keys.Digit0-1,n=t.views.toArray()[e];n&&s.zone.run(function(){t.onNavigationAction({type:"view-change",view:n})||(s.changeDetector.markForCheck(),s.focusWait())})}},{match:function(e){return e.keyCode===l.Keys.F10&&lr(e)},action:function(){s.zone.run(function(){s.scheduler.onNavigationAction({type:"focus-toolbar"}),s.focusWait()})}},{match:function(e){return e.keyCode===l.Keys.KeyT&&lr(e)},action:function(){s.zone.run(function(){s.scheduler.onNavigationAction({type:"today"}),s.focusWait()})}},{match:function(e){return e.keyCode===l.Keys.KeyB&&lr(e)},action:function(){s.zone.run(function(){s.scheduler.onNavigationAction({type:"toggle-business-hours"}),s.focusWait()})}},{match:function(e){return(e.keyCode===l.Keys.ArrowLeft||e.keyCode===l.Keys.ArrowRight)&&sr(e,ir.ShiftKey)},action:function(e){var t=e.keyCode===l.Keys.ArrowLeft?"prev":"next";s.zone.run(function(){s.scheduler.onNavigationAction({type:t}),s.focusWait()})}},{match:function(e){return(e.keyCode===l.Keys.ArrowUp||e.keyCode===l.Keys.ArrowLeft)&&lr(e)&&!Ba(e.target)},action:function(e){var t,n;s.scheduler.onNavigationAction({type:"focus-prev"})||(t="content"===(t=s.focusService.activeItem).containerType&&t.element.nativeElement.matches(":first-of-type"),n=e.keyCode===l.Keys.ArrowUp,t&&n?s.focusService.focusToolbar():s.focusService.focusNext({offset:-1}),e.preventDefault())}},{match:function(e){return(e.keyCode===l.Keys.ArrowDown||e.keyCode===l.Keys.ArrowRight)&&lr(e)&&!Ba(e.target)},action:function(e){if(!s.scheduler.onNavigationAction({type:"focus-next"})){var t="toolbar"===s.focusService.activeItem.containerType;if(e.keyCode===l.Keys.ArrowDown&&t){t=Array.from(s.focusService.focusableItems).findIndex(function(e){return"content"===e.containerType});if(-1<t)return s.focusService.focusByIndex(t),void e.preventDefault()}s.focusService.focusNext({offset:1}),e.preventDefault()}}}],this.taskShortcuts=[{match:function(e){return(e.keyCode===l.Keys.Delete||e.keyCode===l.Keys.Backspace)&&lr(e)},action:function(e,t){s.viewState.emitEvent("remove",{event:t,dataItem:t.dataItem}),e.preventDefault()}},{match:function(e){return e.keyCode===l.Keys.Enter&&lr(e)},action:function(e,t){s.viewState.emitEvent("eventDblClick",{type:"dblclick",event:t,originalEvent:e}),e.preventDefault()}}],this.subs=new u.Subscription,this.subs.add(this.domEvents.keydown.subscribe(function(e){return s.onKeydown(e)})),this.subs.add(this.scheduler.eventKeydown.subscribe(function(e){return s.onEventKeydown(e)}))}F.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:F,deps:[{token:Yr},{token:$t},{token:v},{token:n.NgZone},{token:n.ChangeDetectorRef},{token:y},{token:Qt}],target:n.ɵɵFactoryTarget.Directive}),F.ɵdir=n.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:F,selector:"kendo-scheduler",ngImport:n}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:F,decorators:[{type:h.Directive,args:[{selector:"kendo-scheduler"}]}],ctorParameters:function(){return[{type:Yr},{type:$t},{type:v},{type:n.NgZone},{type:n.ChangeDetectorRef},{type:y},{type:Qt}]}});La.prototype.ngOnInit=function(){this.scheduler.isSlotSelected=this.isSlotSelected.bind(this)},La.prototype.ngOnChanges=function(e){var t;l.isChanged("slotSelection",e,!1)&&(t={isAllDay:!1,resources:this.scheduler.resources.reduce(function(e,t){return e.push.apply(e,le([],se(t.data))),e},[])},this.selectedRange=Object.assign(t,e.slotSelection.currentValue),this.cdr.markForCheck())},La.prototype.ngOnDestroy=function(){this.subscriptions.unsubscribe()},La.prototype.isSlotSelected=function(e){var t=e.start,n=e.end,r=e.isAllDay,e=e.resources;return!!(t&&n&&this.selectedRange)&&!!Vn(this.selectedRange.resources,e)&&this.selectedRange&&r===this.selectedRange.isAllDay&&this.isInRange(t,n)},La.prototype.initDragSelect=function(e){var t=e.start,n=e.end,r=e.isAllDay,e=e.resources;this.selectionOriginResources=e.slice(),this.selectedRange={start:t,end:n,isAllDay:r,resources:e.slice()},this.cdr.markForCheck()},La.prototype.onDrag=function(e){var t=e.start,n=e.end,e=e.resources;Vn(this.selectionOriginResources,e)&&(this.selectedRange.start=t,this.selectedRange.end=n,this.cdr.markForCheck())},La.prototype.onRelease=function(){this.selectionOriginResources=null,this.selectedRange&&this.slotSelectionChangeSource.emit(this.selectedRange)},La.prototype.isInRange=function(e,t){if(this.selectedRange)return fn(e,t,this.selectedRange.start,this.selectedRange.end)};i=La;function La(e,t){var n=this,e=(this.scheduler=e,this.cdr=t,this.slotSelectionChange=new h.EventEmitter,this.selectedRange=null,this.slotSelectionChangeSource=new h.EventEmitter,this.subscriptions=new u.Subscription,this.scheduler.selectable=!0,this.subscriptions.add(this.slotSelectionChangeSource.pipe(s.distinctUntilChanged(Wn)).subscribe(function(e){n.slotSelectionChange.emit(e)})),this.scheduler.slotDragStart),t=this.scheduler.slotDrag,r=this.scheduler.slotDragEnd,e=e.pipe(s.filter(function(e){return!e.isDefaultPrevented()}));this.subscriptions.add(e.subscribe(function(e){return n.initDragSelect(e)})),this.subscriptions.add(t.subscribe(function(e){return n.onDrag(e)})),this.subscriptions.add(r.subscribe(function(){return n.onRelease()}))}i.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:i,deps:[{token:Yr},{token:n.ChangeDetectorRef}],target:n.ɵɵFactoryTarget.Directive}),i.ɵdir=n.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:i,selector:"[kendoSchedulerSlotSelectable]",inputs:{slotSelection:"slotSelection"},outputs:{slotSelectionChange:"slotSelectionChange"},usesOnChanges:!0,ngImport:n}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:i,decorators:[{type:h.Directive,args:[{selector:"[kendoSchedulerSlotSelectable]"}]}],ctorParameters:function(){return[{type:Yr},{type:n.ChangeDetectorRef}]},propDecorators:{slotSelection:[{type:h.Input}],slotSelectionChange:[{type:h.Output}]}});var qa=le([Yr,pa,J,F,t,i,cr,jr,Vr,T,wr,Or,xr,ne,Er,tr,or,ur,I,Xr,_r,Aa,Ar,ye],se([m,pt,ht,mt,gt,yt,Yt,ft,vt,kt,Dt,Tt])),Br=le([Hi,Do,ua,t,c,Br],se(qa)),Za=[L.ButtonsModule,_.CheckBoxModule,_.TextAreaModule,A.DateInputsModule,B.DialogModule,_.NumericTextBoxModule,_.TextBoxModule,Z.DropDownsModule,N.ReactiveFormsModule,d],Ga=function(){},_a=(Ga.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Ga,deps:[],target:n.ɵɵFactoryTarget.NgModule}),Ga.ɵmod=n.ɵɵngDeclareNgModule({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Ga,declarations:[Yr,pa,J,F,t,i,cr,jr,Vr,T,wr,Or,xr,ne,Er,tr,or,ur,I,Xr,_r,Aa,Ar,ye,m,pt,ht,mt,gt,yt,Yt,ft,vt,kt,Dt,Tt],imports:[q.CommonModule,ii,Wi,ua,l.ResizeSensorModule,Do,c,L.ButtonsModule,_.CheckBoxModule,_.TextAreaModule,A.DateInputsModule,B.DialogModule,_.NumericTextBoxModule,_.TextBoxModule,Z.DropDownsModule,N.ReactiveFormsModule,d],exports:[Hi,Do,ua,t,c,Yn,at,$n,Yr,pa,J,F,t,i,cr,jr,Vr,T,wr,Or,xr,ne,Er,tr,or,ur,I,Xr,_r,Aa,Ar,ye,m,pt,ht,mt,gt,yt,Yt,ft,vt,kt,Dt,Tt]}),Ga.ɵinj=n.ɵɵngDeclareInjector({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Ga,providers:[{provide:j.IntlService,useClass:j.CldrIntlService}],imports:[le([q.CommonModule,ii,Wi,ua,l.ResizeSensorModule,Do,c],se(Za)),Do,ua,c]}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Ga,decorators:[{type:h.NgModule,args:[{imports:le([q.CommonModule,ii,Wi,ua,l.ResizeSensorModule,Do,c],se(Za)),declarations:qa,exports:Br,providers:[{provide:j.IntlService,useClass:j.CldrIntlService}]}]}]}),["yyyyMMddTHHmmssSSSXXX","yyyyMMddTHHmmssXXX","yyyyMMddTHHmmss","yyyyMMddTHHmm","yyyyMMddTHH","yyyyMMdd"]),A=(M.prototype.create=function(e){this.logCreate(e),this.saveChanges()},M.prototype.createException=function(e,t){t=this.buildException(t);this.logRemoveOccurrence(e),this.logCreate(t),this.saveChanges()},M.prototype.update=function(e,t){this.assignValues(e,t),this.logUpdate(e),this.saveChanges()},M.prototype.remove=function(e){this.logRemove(e),this.saveChanges()},M.prototype.removeSeries=function(e){var t=this.getId(e),n=this.getRecurrenceId(e),e=this.isRecurrenceHead(e);this.removeItemAndExceptions(e?t:n),this.saveChanges()},M.prototype.removeOccurrence=function(e){this.logRemoveOccurrence(e),this.saveChanges()},M.prototype.findRecurrenceMaster=function(e){var t=this.getId(e),n=this.getRecurrenceId(e),e=this.isRecurrenceHead(e)?t:n,t=this.itemIndex(e,this.data);return this.data[t]},M.prototype.isRecurring=function(e){return Ft(e,this.fields)},M.prototype.isException=function(e){return Ht(e,this.fields)},M.prototype.isNew=function(e){e=this.getId(e);return!f(e)},M.prototype.nextId=function(){},M.prototype.assignValues=function(e,t){Bt(t,e)},M.prototype.cloneEvent=function(e){var t={};return this.assignValues(t,e),t},M.prototype.parseExceptions=function(e){return f(e)&&""!==e?e.split(";").map(function(e){return j.parseDate(e,_a)||void 0}):[]},M.prototype.serializeExceptions=function(e){return e&&0!==e.length?e.map(function(e){return j.formatDate(b.toLocalDate(e),"yyyyMMddTHHmmss")+"Z"}).join(";"):""},M.prototype.reset=function(){this.data=[],this.deletedItems=[],this.updatedItems=[],this.createdItems=[]},M.prototype.itemIndex=function(e,t){for(var n=0;n<t.length;n++)if(this.getId(t[n])===e)return n;return-1},M.prototype.buildException=function(e){var t=this.fields,n=this.findRecurrenceMaster(e),e=this.cloneEvent(e);return At(e,n,t.id),this.setId(e,this.nextId()),this.setRecurrenceRule(e,void 0),this.setRecurrenceId(e,this.getId(n)),e},M.prototype.isRecurrenceHead=function(e){var t=this.getId(e),e=this.getRecurrenceRule(e);return!(!t||!e)},M.prototype.logCreate=function(e){this.data=le(le([],se(this.data)),[e]),this.source.next(this.data),this.createdItems.push(e)},M.prototype.logUpdate=function(e){var t,n=this.getId(e);this.isNew(e)?(t=this.createdItems.indexOf(e),this.createdItems.splice(t,1,e)):-1!==(t=this.itemIndex(n,this.updatedItems))?this.updatedItems.splice(t,1,e):this.updatedItems.push(e)},M.prototype.logRemove=function(e){var t=this.getId(e),n=this.itemIndex(t,this.data);this.data=this.data.filter(function(e,t){return t!==n}),this.source.next(this.data),0<=(n=this.itemIndex(t,this.createdItems))?this.createdItems.splice(n,1):this.deletedItems.push(e),0<=(n=this.itemIndex(t,this.updatedItems))&&this.updatedItems.splice(n,1)},M.prototype.logRemoveOccurrence=function(e){var t=this.findRecurrenceMaster(e),e=this.getStart(e),n=this.getRecurrenceExceptions(t)||[];this.setRecurrenceExceptions(t,le(le([],se(n)),[e])),this.logUpdate(t)},M.prototype.removeItemAndExceptions=function(t){var n=this;this.deletedItems=this.deletedItems.concat(this.data.filter(function(e){return n.getRecurrenceId(e)===t||n.getId(e)===t}))},M.prototype.hasChanges=function(){return 0<this.deletedItems.length+this.updatedItems.length+this.createdItems.length},M.prototype.saveChanges=function(){this.hasChanges()&&(this.save(this.createdItems,this.updatedItems,this.deletedItems),this.reset())},M);function M(e){this.data=[],this.source=new u.BehaviorSubject([]),this.createdItems=[],this.updatedItems=[],this.deletedItems=[],this.events=this.source.asObservable(),this.fields=Object.assign(Object.assign({},rn),e),this.getId=xt(this.fields.id),this.getRecurrenceId=xt(this.fields.recurrenceId),this.getRecurrenceRule=xt(this.fields.recurrenceRule),this.getRecurrenceExceptions=xt(this.fields.recurrenceExceptions),this.getStart=xt(this.fields.start),this.setId=Rt(this.fields.id),this.setRecurrenceRule=Rt(this.fields.recurrenceRule),this.setRecurrenceExceptions=Rt(this.fields.recurrenceExceptions),this.setRecurrenceId=Rt(this.fields.recurrenceId)}function Ua(e){var t="div";return t=document.createElement(t),e&&(t.className=e),t}Ya.prototype.ngOnDestroy=function(){this.subscriptions.unsubscribe()},Object.defineProperty(Ya.prototype,"drawOptions",{get:function(){return{_destructive:!0,avoidLinks:this.avoidLinks,margin:this.margin,scale:this.scale}},enumerable:!1,configurable:!0}),Object.defineProperty(Ya.prototype,"pdfOptions",{get:function(){return{author:this.author,creator:this.creator,date:this.date,imgDPI:this.imageResolution,keywords:this.keywords,margin:this.margin,producer:this.producer,subject:this.subject,title:this.title}},enumerable:!1,configurable:!0}),Object.defineProperty(Ya.prototype,"saveOptions",{get:function(){return{forceProxy:this.forceProxy,proxyData:this.proxyData,proxyTarget:this.proxyTarget,proxyURL:this.proxyURL}},enumerable:!1,configurable:!0}),Ya.prototype.createElement=function(n){var r=this;this.ngZone.runOutsideAngular(function(){var e=r.container=Ua(),t=(e.style.top=e.style.left="-10000px",e.style.position="absolute",Ua("k-widget k-scheduler k-floatwrap"));t.style.position="relative",t.appendChild(n.element),e.appendChild(t),document.body.appendChild(e),r.save(t)})},Ya.prototype.save=function(e){this.drawElement(e,this.drawOptions).then(this.exportGroup).then(this.saveDataUri).then(this.done,this.done)},Ya.prototype.drawElement=function(e,t){return K.drawDOM(e,t)},Ya.prototype.exportGroup=function(e){return K.exportPDF(e,this.pdfOptions)},Ya.prototype.saveDataUri=function(e){$.saveAs(e,this.fileName,this.saveOptions)},Ya.prototype.done=function(){this.container&&(document.body.removeChild(this.container),this.container=null),this.pdfService.done.emit()};_=Ya;function Ya(e,t){this.pdfService=e,this.ngZone=t,this.creator="Kendo UI PDF Generator",this.subscriptions=this.pdfService.elementReady.subscribe(this.createElement.bind(this)),this.saveDataUri=this.saveDataUri.bind(this),this.exportGroup=this.exportGroup.bind(this),this.done=this.done.bind(this)}_.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:_,deps:[{token:k},{token:n.NgZone}],target:n.ɵɵFactoryTarget.Component}),_.ɵcmp=n.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.17",type:_,selector:"kendo-scheduler-pdf",inputs:{author:"author",avoidLinks:"avoidLinks",creator:"creator",date:"date",imageResolution:"imageResolution",fileName:"fileName",forceProxy:"forceProxy",keywords:"keywords",margin:"margin",scale:"scale",proxyData:"proxyData",proxyURL:"proxyURL",proxyTarget:"proxyTarget",producer:"producer",subject:"subject",title:"title"},ngImport:n,template:"",isInline:!0}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:_,decorators:[{type:h.Component,args:[{selector:"kendo-scheduler-pdf",template:""}]}],ctorParameters:function(){return[{type:k},{type:n.NgZone}]},propDecorators:{author:[{type:h.Input}],avoidLinks:[{type:h.Input}],creator:[{type:h.Input}],date:[{type:h.Input}],imageResolution:[{type:h.Input}],fileName:[{type:h.Input}],forceProxy:[{type:h.Input}],keywords:[{type:h.Input}],margin:[{type:h.Input}],scale:[{type:h.Input}],proxyData:[{type:h.Input}],proxyURL:[{type:h.Input}],proxyTarget:[{type:h.Input}],producer:[{type:h.Input}],subject:[{type:h.Input}],title:[{type:h.Input}]}});p($a,Ka=L.Button),$a.prototype.onClick=function(e){e.preventDefault(),this.pdfService.exportClick.emit()},$a.prototype.ngOnInit=function(){this.icon="pdf"};var Ka,Z=$a;function $a(e,t,n,r,i){t=Ka.call(this,t,n,null,r,i)||this;return t.pdfService=e,t}Z.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Z,deps:[{token:k},{token:n.ElementRef},{token:n.Renderer2},{token:r.LocalizationService},{token:n.NgZone}],target:n.ɵɵFactoryTarget.Directive}),Z.ɵdir=n.ɵɵngDeclareDirective({minVersion:"12.0.0",version:"12.2.17",type:Z,selector:"[kendoSchedulerPDFCommand]",host:{listeners:{click:"onClick($event)"}},usesInheritance:!0,ngImport:n}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:Z,decorators:[{type:h.Directive,args:[{selector:"[kendoSchedulerPDFCommand]"}]}],ctorParameters:function(){return[{type:k},{type:n.ElementRef},{type:n.Renderer2},{type:r.LocalizationService},{type:n.NgZone}]},propDecorators:{onClick:[{type:h.HostListener,args:["click",["$event"]]}]}});q=[_,Z],ii=function(){};ii.ɵfac=n.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:ii,deps:[],target:n.ɵɵFactoryTarget.NgModule}),ii.ɵmod=n.ɵɵngDeclareNgModule({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:ii,declarations:[_,Z],exports:[_,Z]}),ii.ɵinj=n.ɵɵngDeclareInjector({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:ii}),n.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.17",ngImport:n,type:ii,decorators:[{type:h.NgModule,args:[{declarations:[q],exports:[q]}]}]}),e.AddEvent=Xe,e.AgendaDateTemplateDirective=m,e.AgendaTimeTemplateDirective=pt,e.AgendaViewComponent=Hi,e.AllDayEventTemplateDirective=ht,e.AllDaySlotTemplateDirective=mt,e.BaseEditService=A,e.CancelEvent=Le,e.DataBindingDirective=J,e.DateChangeEvent=ie,e.DateHeaderTemplateDirective=gt,e.DaySlotDirective=E,e.DayTimeModule=da,e.DayTimeSlotService=zo,e.DayTimeViewItemComponent=no,e.DayViewComponent=Qo,e.DragEndEvent=ke,e.DragEvent=Ie,e.DragStartEvent=Se,e.EditDialogComponent=I,e.EditDialogTemplateDirective=Yt,e.EditEvent=Ye,e.EditEventBase=Ne,e.EndRuleRadioButtonDirective=ne,e.EventClickEvent=he,e.EventKeydownEvent=me,e.EventTemplateDirective=yt,e.FocusService=v,e.FocusableDirective=dn,e.GroupHeaderTemplateDirective=ft,e.HintContainerComponent=xi,e.IsSlotSelectedArgs=dt,e.LoadingComponent=ye,e.LocalizedMessagesDirective=_r,e.MajorTimeHeaderTemplateDirective=vt,e.MinorTimeHeaderTemplateDirective=kt,e.MonthDaySlotTemplateDirective=Dt,e.MonthViewComponent=mo,e.MonthViewModule=Do,e.MultiDayViewComponent=ta,e.MultiDayViewModule=ua,e.MultipleResourceEditorComponent=tr,e.NavigateEvent=de,e.PDFCommandDirective=Z,e.PDFComponent=_,e.PDFExportEvent=sn,e.PDFModule=ii,e.PDFService=k,e.ReactiveEditingDirective=t,e.RecurrenceEditorComponent=jr,e.RecurrenceEditorCustomMessagesComponent=Aa,e.RecurrenceEditorLocalizedMessagesDirective=Ar,e.RecurrenceEndRuleEditorComponent=Vr,e.RecurrenceFrequencyEditorComponent=T,e.RecurrenceIntervalEditorComponent=wr,e.RecurrenceMonthlyYearlyEditorComponent=Or,e.RecurrenceWeekdayRuleEditorComponent=xr,e.RemoveEvent=Ee,e.RepeatOnRadioButtonDirective=Er,e.RepeatPipe=Lt,e.ResizeEndEvent=Fe,e.ResizeEvent=We,e.ResizeHintComponent=Ri,e.ResizeStartEvent=ze,e.ResourceIteratorPipe=ao,e.SaveEvent=Ge,e.SchedulerComponent=Yr,e.SchedulerCustomMessagesComponent=Xr,e.SchedulerDateTimePickerComponent=cr,e.SchedulerModule=Ga,e.SchedulerView=ct,e.SchedulerViewDirective=pa,e.SharedModule=d,e.ShortcutsDirective=F,e.SingleResourceEditorComponent=or,e.SlotClickEvent=pe,e.SlotDragEndEvent=it,e.SlotDragEvent=rt,e.SlotDragStartEvent=et,e.SlotSelectableDirective=i,e.SortPipe=Jr,e.TimeSlotDirective=D,e.TimeSlotTemplateDirective=Tt,e.TimeZoneEditorComponent=ur,e.TimelineBase=R,e.TimelineMonthViewComponent=Sa,e.TimelineMultiDayViewComponent=C,e.TimelineViewComponent=ka,e.TimelineViewModule=c,e.TimelineWeekViewComponent=Ia,e.ToolbarNavigationComponent=Yn,e.ToolbarService=st,e.ToolbarTemplateDirective=at,e.ToolbarViewSelectorComponent=$n,e.VIEW_EVENT_MAP=je,e.ViewContextService=g,e.ViewFooterComponent=yo,e.ViewStateService=y,e.ViewsSharedModule=To,e.WeekViewComponent=ia,e.WorkHoursFooterDirective=a,e.WorkWeekViewComponent=sa,Object.defineProperty(e,"__esModule",{value:!0})});