@progress/kendo-angular-scheduler 4.3.5 → 4.3.6

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 (130) hide show
  1. package/README.md +14 -12
  2. package/bundles/kendo-angular-scheduler.umd.js +1 -1
  3. package/esm2015/data-binding.directive.js +3 -3
  4. package/esm2015/editing/date-time-picker.component.js +3 -3
  5. package/esm2015/editing/dialogs.service.js +3 -3
  6. package/esm2015/editing/edit-dialog-template.directive.js +3 -3
  7. package/esm2015/editing/edit-dialog.component.js +3 -3
  8. package/esm2015/editing/edit.service.js +3 -3
  9. package/esm2015/editing/local-data-changes.service.js +3 -3
  10. package/esm2015/editing/recurrence/end-rule-radio-button.directive.js +3 -3
  11. package/esm2015/editing/recurrence/localization/custom-messages.component.js +3 -3
  12. package/esm2015/editing/recurrence/localization/localized-messages.directive.js +3 -3
  13. package/esm2015/editing/recurrence/localization/messages.js +3 -3
  14. package/esm2015/editing/recurrence/localization/recurrence-localization.service.js +3 -3
  15. package/esm2015/editing/recurrence/recurrence-editor.component.js +3 -3
  16. package/esm2015/editing/recurrence/recurrence-end-rule-editor.component.js +3 -3
  17. package/esm2015/editing/recurrence/recurrence-frequency-editor.component.js +3 -3
  18. package/esm2015/editing/recurrence/recurrence-interval-editor.component.js +3 -3
  19. package/esm2015/editing/recurrence/recurrence-monthly-yearly-editor.component.js +3 -3
  20. package/esm2015/editing/recurrence/recurrence-weekday-rule-editor.component.js +3 -3
  21. package/esm2015/editing/recurrence/recurrence.service.js +3 -3
  22. package/esm2015/editing/recurrence/repeat-on-radio-button.directive.js +3 -3
  23. package/esm2015/editing/resource-editor-base.js +3 -3
  24. package/esm2015/editing/resource-multiple-editor.component.js +3 -3
  25. package/esm2015/editing/resource-single-editor.component.js +3 -3
  26. package/esm2015/editing/timezone-editor.component.js +3 -3
  27. package/esm2015/editing-directives/editing-directive-base.js +6 -5
  28. package/esm2015/editing-directives/reactive-editing.directive.js +3 -3
  29. package/esm2015/loading.component.js +3 -3
  30. package/esm2015/localization/custom-messages.component.js +3 -3
  31. package/esm2015/localization/localized-messages.directive.js +3 -3
  32. package/esm2015/localization/messages.js +3 -3
  33. package/esm2015/localization/scheduler-localization.service.js +3 -3
  34. package/esm2015/main.js +1 -0
  35. package/esm2015/navigation/focus.service.js +35 -31
  36. package/esm2015/navigation/focusable.directive.js +17 -4
  37. package/esm2015/navigation/shortcuts.directive.js +36 -5
  38. package/esm2015/package-metadata.js +1 -1
  39. package/esm2015/pdf/pdf-command.directive.js +3 -3
  40. package/esm2015/pdf/pdf.component.js +3 -3
  41. package/esm2015/pdf/pdf.module.js +4 -4
  42. package/esm2015/pdf/pdf.service.js +3 -3
  43. package/esm2015/scheduler.component.js +20 -13
  44. package/esm2015/scheduler.module.js +4 -4
  45. package/esm2015/shared.module.js +13 -7
  46. package/esm2015/toolbar/navigation.component.js +40 -19
  47. package/esm2015/toolbar/toolbar-template.directive.js +3 -3
  48. package/esm2015/toolbar/toolbar.component.js +3 -3
  49. package/esm2015/toolbar/toolbar.module.js +11 -7
  50. package/esm2015/toolbar/toolbar.service.js +3 -3
  51. package/esm2015/toolbar/view-selector.component.js +16 -11
  52. package/esm2015/types/focusable-container.js +5 -0
  53. package/esm2015/views/agenda/agenda-header-item.component.js +3 -3
  54. package/esm2015/views/agenda/agenda-header.component.js +7 -7
  55. package/esm2015/views/agenda/agenda-task-item.component.js +3 -3
  56. package/esm2015/views/agenda/agenda-view-internal.component.js +3 -3
  57. package/esm2015/views/agenda/agenda-view-list.component.js +4 -4
  58. package/esm2015/views/agenda/agenda-view.component.js +3 -3
  59. package/esm2015/views/agenda/agenda-view.module.js +4 -4
  60. package/esm2015/views/common/base-view.js +12 -4
  61. package/esm2015/views/common/configuration-view-base.js +3 -3
  62. package/esm2015/views/common/dom-events.service.js +3 -3
  63. package/esm2015/views/common/hint-container.component.js +3 -3
  64. package/esm2015/views/common/repeat.pipe.js +3 -3
  65. package/esm2015/views/common/resize-hint.component.js +3 -3
  66. package/esm2015/views/common/resource-iterator.pipe.js +3 -3
  67. package/esm2015/views/common/slot-selectable.directive.js +3 -3
  68. package/esm2015/views/common/view-footer.component.js +31 -10
  69. package/esm2015/views/common/views-shared.module.js +4 -4
  70. package/esm2015/views/common/work-hours-footer.directive.js +3 -3
  71. package/esm2015/views/day-time/day-time-slot.service.js +17 -11
  72. package/esm2015/views/day-time/day-time-view-base.js +3 -3
  73. package/esm2015/views/day-time/day-time-view-item.component.js +3 -3
  74. package/esm2015/views/day-time/day-time-view.component.js +6 -9
  75. package/esm2015/views/day-time/day-time.module.js +4 -4
  76. package/esm2015/views/day-time/event-slot.directive.js +6 -6
  77. package/esm2015/views/month/month-slot.directive.js +3 -3
  78. package/esm2015/views/month/month-view-item.component.js +3 -3
  79. package/esm2015/views/month/month-view-renderer.component.js +27 -20
  80. package/esm2015/views/month/month-view.component.js +3 -3
  81. package/esm2015/views/month/month-view.module.js +4 -4
  82. package/esm2015/views/multi-day/day-view.component.js +3 -3
  83. package/esm2015/views/multi-day/multi-day-view-base.js +3 -3
  84. package/esm2015/views/multi-day/multi-day-view-renderer.component.js +27 -18
  85. package/esm2015/views/multi-day/multi-day-view.component.js +3 -3
  86. package/esm2015/views/multi-day/multi-day-view.module.js +4 -4
  87. package/esm2015/views/multi-day/week-view.component.js +3 -3
  88. package/esm2015/views/multi-day/work-week-view.component.js +3 -3
  89. package/esm2015/views/scheduler-view.directive.js +3 -3
  90. package/esm2015/views/templates/agenda-date-template.directive.js +3 -3
  91. package/esm2015/views/templates/agenda-time-template.directive.js +3 -3
  92. package/esm2015/views/templates/all-day-event-template.directive.js +3 -3
  93. package/esm2015/views/templates/all-day-slot-template.directive.js +3 -3
  94. package/esm2015/views/templates/date-header-template.directive.js +3 -3
  95. package/esm2015/views/templates/event-template.directive.js +3 -3
  96. package/esm2015/views/templates/group-header-template.directive.js +3 -3
  97. package/esm2015/views/templates/major-time-header-template.directive.js +3 -3
  98. package/esm2015/views/templates/minor-time-header-template.directive.js +3 -3
  99. package/esm2015/views/templates/month-day-slot-template.directive.js +3 -3
  100. package/esm2015/views/templates/time-slot-template.directive.js +3 -3
  101. package/esm2015/views/timeline/timeline-base.js +3 -3
  102. package/esm2015/views/timeline/timeline-month-view.component.js +3 -3
  103. package/esm2015/views/timeline/timeline-multi-day-view.component.js +31 -21
  104. package/esm2015/views/timeline/timeline-view.component.js +3 -3
  105. package/esm2015/views/timeline/timeline-view.module.js +4 -4
  106. package/esm2015/views/timeline/timeline-week-view.component.js +3 -3
  107. package/esm2015/views/timeline/utils.js +19 -0
  108. package/esm2015/views/view-context.service.js +3 -3
  109. package/esm2015/views/view-items/base-slot.directive.js +3 -3
  110. package/esm2015/views/view-items/base-view-item.js +3 -3
  111. package/esm2015/views/view-state.service.js +7 -3
  112. package/fesm2015/kendo-angular-scheduler.js +691 -525
  113. package/main.d.ts +1 -0
  114. package/navigation/focus.service.d.ts +6 -6
  115. package/navigation/focusable-element.interface.d.ts +5 -0
  116. package/navigation/focusable.directive.d.ts +4 -1
  117. package/package.json +2 -2
  118. package/scheduler.component.d.ts +1 -1
  119. package/shared.module.d.ts +2 -1
  120. package/toolbar/toolbar.module.d.ts +2 -1
  121. package/types/actions.d.ts +15 -8
  122. package/types/focusable-container.d.ts +8 -0
  123. package/views/common/base-view.d.ts +5 -0
  124. package/views/common/view-footer.component.d.ts +4 -0
  125. package/views/day-time/day-time-view.component.d.ts +1 -3
  126. package/views/month/month-view-renderer.component.d.ts +1 -3
  127. package/views/multi-day/multi-day-view-renderer.component.d.ts +1 -2
  128. package/views/timeline/timeline-multi-day-view.component.d.ts +1 -2
  129. package/views/timeline/utils.d.ts +11 -0
  130. package/views/view-state.service.d.ts +5 -1
@@ -11,7 +11,8 @@ import * as i3 from "@progress/kendo-angular-l10n";
11
11
  import * as i4 from "../views/view-context.service";
12
12
  import * as i5 from "@progress/kendo-angular-dateinputs";
13
13
  import * as i6 from "@progress/kendo-angular-buttons";
14
- import * as i7 from "@angular/common";
14
+ import * as i7 from "../navigation/focusable.directive";
15
+ import * as i8 from "@angular/common";
15
16
  /**
16
17
  * A toolbar component which contains the controls for date navigation
17
18
  * ([see example]({% slug toolbar_scheduler %}#toc-including-the-built-in-components)).
@@ -181,16 +182,17 @@ export class ToolbarNavigationComponent {
181
182
  this.cd.detectChanges();
182
183
  }
183
184
  }
184
- ToolbarNavigationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ToolbarNavigationComponent, deps: [{ token: i1.PopupService }, { token: i2.ToolbarService }, { token: i3.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i4.ViewContextService }], target: i0.ɵɵFactoryTarget.Component });
185
- ToolbarNavigationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: ToolbarNavigationComponent, selector: "[kendoSchedulerToolbarNavigation]", inputs: { min: "min", max: "max" }, host: { properties: { "style.display": "this.inlineDisplayStyle", "style.flex-flow": "this.inlineFlexFlowStyle", "style.gap": "this.inlineGapStyle" } }, providers: [
185
+ ToolbarNavigationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ToolbarNavigationComponent, deps: [{ token: i1.PopupService }, { token: i2.ToolbarService }, { token: i3.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i4.ViewContextService }], target: i0.ɵɵFactoryTarget.Component });
186
+ ToolbarNavigationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ToolbarNavigationComponent, selector: "[kendoSchedulerToolbarNavigation]", inputs: { min: "min", max: "max" }, host: { properties: { "style.display": "this.inlineDisplayStyle", "style.flex-flow": "this.inlineFlexFlowStyle", "style.gap": "this.inlineGapStyle" } }, providers: [
186
187
  PopupService
187
188
  ], viewQueries: [{ propertyName: "calendar", first: true, predicate: ["calendar"], descendants: true }], ngImport: i0, template: `
188
- <span class="k-scheduler-navigation k-button-group">
189
+ <span class="k-scheduler-navigation k-button-group" role="group">
189
190
  <button kendoButton
190
191
  (click)="todayClick()"
191
192
  class="k-nav-today"
192
193
  [attr.title]="todayText"
193
- >
194
+ [kendoSchedulerFocusIndex]="0"
195
+ containerType="toolbar">
194
196
  <span class="k-button-text">{{todayText}}</span>
195
197
  </button>
196
198
  <button kendoButton
@@ -199,7 +201,8 @@ ToolbarNavigationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0
199
201
  icon="arrow-60-left"
200
202
  [attr.title]="previousText"
201
203
  [attr.aria-label]="previousText"
202
- >
204
+ [kendoSchedulerFocusIndex]="0"
205
+ containerType="toolbar">
203
206
  </button>
204
207
  <button kendoButton
205
208
  (click)="nextClick()"
@@ -208,7 +211,8 @@ ToolbarNavigationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0
208
211
  icon="arrow-60-right"
209
212
  [attr.title]="nextText"
210
213
  [attr.aria-label]="nextText"
211
- >
214
+ [kendoSchedulerFocusIndex]="0"
215
+ containerType="toolbar">
212
216
  </button>
213
217
  </span>
214
218
 
@@ -218,22 +222,29 @@ ToolbarNavigationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0
218
222
  icon="calendar"
219
223
  fillMode="flat"
220
224
  (mousedown)="toggleSelectedDate({ nativeElement: anchor }, template)"
225
+ (keydown.enter)="toggleSelectedDate({ nativeElement: anchor }, template)"
226
+ (keydown.alt.arrowdown)="toggleSelectedDate({ nativeElement: anchor }, template)"
221
227
  role="button"
222
228
  class="k-nav-current"
223
- tabindex="-1"
224
229
  [attr.aria-live]="'polite'"
225
- >
230
+ [kendoSchedulerFocusIndex]="0"
231
+ containerType="toolbar">
226
232
  <span>{{ dateRangeText?.current }}</span>
227
233
  </button>
228
234
 
229
235
  <ng-template #template>
230
- <kendo-calendar #calendar (blur)="onBlur()" (valueChange)="selectDate($event)" [value]="ctx.selectedDate | async" [min]="min" [max]="max">
236
+ <kendo-calendar
237
+ #calendar
238
+ (blur)="onBlur()"
239
+ (keydown.escape)="toggleSelectedDate({ nativeElement: anchor }, template); anchor.focus();"
240
+ (valueChange)="selectDate($event)"
241
+ [value]="ctx.selectedDate | async" [min]="min" [max]="max">
231
242
  <kendo-calendar-messages [today]="calendarTodayText">
232
243
  </kendo-calendar-messages>
233
244
  </kendo-calendar>
234
245
  </ng-template>
235
- `, isInline: true, components: [{ type: i5.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: i5.CalendarCustomMessagesComponent, selector: "kendo-calendar-messages" }], directives: [{ type: i6.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"] }], pipes: { "async": i7.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
236
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ToolbarNavigationComponent, decorators: [{
246
+ `, isInline: true, components: [{ type: i5.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: i5.CalendarCustomMessagesComponent, selector: "kendo-calendar-messages" }], directives: [{ type: i6.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: i7.FocusableDirective, selector: "[kendoSchedulerFocusIndex]", inputs: ["kendoSchedulerFocusIndex", "containerType"] }], pipes: { "async": i8.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
247
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ToolbarNavigationComponent, decorators: [{
237
248
  type: Component,
238
249
  args: [{
239
250
  // eslint-disable-next-line @angular-eslint/component-selector
@@ -243,12 +254,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
243
254
  PopupService
244
255
  ],
245
256
  template: `
246
- <span class="k-scheduler-navigation k-button-group">
257
+ <span class="k-scheduler-navigation k-button-group" role="group">
247
258
  <button kendoButton
248
259
  (click)="todayClick()"
249
260
  class="k-nav-today"
250
261
  [attr.title]="todayText"
251
- >
262
+ [kendoSchedulerFocusIndex]="0"
263
+ containerType="toolbar">
252
264
  <span class="k-button-text">{{todayText}}</span>
253
265
  </button>
254
266
  <button kendoButton
@@ -257,7 +269,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
257
269
  icon="arrow-60-left"
258
270
  [attr.title]="previousText"
259
271
  [attr.aria-label]="previousText"
260
- >
272
+ [kendoSchedulerFocusIndex]="0"
273
+ containerType="toolbar">
261
274
  </button>
262
275
  <button kendoButton
263
276
  (click)="nextClick()"
@@ -266,7 +279,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
266
279
  icon="arrow-60-right"
267
280
  [attr.title]="nextText"
268
281
  [attr.aria-label]="nextText"
269
- >
282
+ [kendoSchedulerFocusIndex]="0"
283
+ containerType="toolbar">
270
284
  </button>
271
285
  </span>
272
286
 
@@ -276,16 +290,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
276
290
  icon="calendar"
277
291
  fillMode="flat"
278
292
  (mousedown)="toggleSelectedDate({ nativeElement: anchor }, template)"
293
+ (keydown.enter)="toggleSelectedDate({ nativeElement: anchor }, template)"
294
+ (keydown.alt.arrowdown)="toggleSelectedDate({ nativeElement: anchor }, template)"
279
295
  role="button"
280
296
  class="k-nav-current"
281
- tabindex="-1"
282
297
  [attr.aria-live]="'polite'"
283
- >
298
+ [kendoSchedulerFocusIndex]="0"
299
+ containerType="toolbar">
284
300
  <span>{{ dateRangeText?.current }}</span>
285
301
  </button>
286
302
 
287
303
  <ng-template #template>
288
- <kendo-calendar #calendar (blur)="onBlur()" (valueChange)="selectDate($event)" [value]="ctx.selectedDate | async" [min]="min" [max]="max">
304
+ <kendo-calendar
305
+ #calendar
306
+ (blur)="onBlur()"
307
+ (keydown.escape)="toggleSelectedDate({ nativeElement: anchor }, template); anchor.focus();"
308
+ (valueChange)="selectDate($event)"
309
+ [value]="ctx.selectedDate | async" [min]="min" [max]="max">
289
310
  <kendo-calendar-messages [today]="calendarTodayText">
290
311
  </kendo-calendar-messages>
291
312
  </kendo-calendar>
@@ -36,9 +36,9 @@ export class ToolbarTemplateDirective {
36
36
  this.templateRef = templateRef;
37
37
  }
38
38
  }
39
- ToolbarTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ToolbarTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
40
- ToolbarTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: ToolbarTemplateDirective, selector: "[kendoSchedulerToolbarTemplate]", ngImport: i0 });
41
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ToolbarTemplateDirective, decorators: [{
39
+ ToolbarTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ToolbarTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
40
+ ToolbarTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: ToolbarTemplateDirective, selector: "[kendoSchedulerToolbarTemplate]", ngImport: i0 });
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ToolbarTemplateDirective, decorators: [{
42
42
  type: Directive,
43
43
  args: [{
44
44
  selector: '[kendoSchedulerToolbarTemplate]'
@@ -45,8 +45,8 @@ export class ToolbarComponent {
45
45
  this.subs.unsubscribe();
46
46
  }
47
47
  }
48
- ToolbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ToolbarComponent, deps: [{ token: i1.ToolbarService }], target: i0.ɵɵFactoryTarget.Component });
49
- ToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: ToolbarComponent, 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: true, ngImport: i0, template: `
48
+ ToolbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ToolbarComponent, deps: [{ token: i1.ToolbarService }], target: i0.ɵɵFactoryTarget.Component });
49
+ ToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ToolbarComponent, 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: true, ngImport: i0, template: `
50
50
  <ng-template
51
51
  *ngIf="template; else defaultTemplate"
52
52
  [ngTemplateOutlet]="template.templateRef"
@@ -60,7 +60,7 @@ ToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", versi
60
60
  <div kendoSchedulerToolbarViewSelector></div>
61
61
  </ng-template>
62
62
  `, isInline: true, components: [{ type: i2.ToolbarNavigationComponent, selector: "[kendoSchedulerToolbarNavigation]", inputs: ["min", "max"] }, { type: i3.ToolbarViewSelectorComponent, selector: "[kendoSchedulerToolbarViewSelector]" }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
63
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ToolbarComponent, decorators: [{
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ToolbarComponent, decorators: [{
64
64
  type: Component,
65
65
  args: [{
66
66
  selector: 'kendo-scheduler-toolbar',
@@ -12,6 +12,7 @@ import { ToolbarNavigationComponent } from './navigation.component';
12
12
  import { ToolbarComponent } from './toolbar.component';
13
13
  import { ToolbarTemplateDirective } from './toolbar-template.directive';
14
14
  import { ToolbarViewSelectorComponent } from './view-selector.component';
15
+ import { SharedModule } from '../shared.module';
15
16
  import * as i0 from "@angular/core";
16
17
  /**
17
18
  * @hidden
@@ -26,24 +27,26 @@ export const publicDirectives = [
26
27
  */
27
28
  export class ToolbarModule {
28
29
  }
29
- ToolbarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ToolbarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
30
- ToolbarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ToolbarModule, declarations: [ToolbarComponent, ToolbarNavigationComponent,
30
+ ToolbarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ToolbarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
31
+ ToolbarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ToolbarModule, declarations: [ToolbarComponent, ToolbarNavigationComponent,
31
32
  ToolbarTemplateDirective,
32
33
  ToolbarViewSelectorComponent], imports: [CommonModule,
33
34
  ButtonsModule,
34
35
  CalendarModule,
35
36
  PopupModule,
36
- EventsModule], exports: [ToolbarComponent, ToolbarNavigationComponent,
37
+ EventsModule,
38
+ SharedModule], exports: [ToolbarComponent, ToolbarNavigationComponent,
37
39
  ToolbarTemplateDirective,
38
40
  ToolbarViewSelectorComponent] });
39
- ToolbarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ToolbarModule, imports: [[
41
+ ToolbarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ToolbarModule, imports: [[
40
42
  CommonModule,
41
43
  ButtonsModule,
42
44
  CalendarModule,
43
45
  PopupModule,
44
- EventsModule
46
+ EventsModule,
47
+ SharedModule
45
48
  ]] });
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ToolbarModule, decorators: [{
49
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ToolbarModule, decorators: [{
47
50
  type: NgModule,
48
51
  args: [{
49
52
  imports: [
@@ -51,7 +54,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
51
54
  ButtonsModule,
52
55
  CalendarModule,
53
56
  PopupModule,
54
- EventsModule
57
+ EventsModule,
58
+ SharedModule
55
59
  ],
56
60
  exports: [
57
61
  ToolbarComponent,
@@ -25,8 +25,8 @@ export class ToolbarService {
25
25
  this.actionSource.next(action);
26
26
  }
27
27
  }
28
- ToolbarService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ToolbarService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
29
- ToolbarService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ToolbarService });
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ToolbarService, decorators: [{
28
+ ToolbarService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ToolbarService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
29
+ ToolbarService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ToolbarService });
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ToolbarService, decorators: [{
31
31
  type: Injectable
32
32
  }], ctorParameters: function () { return []; } });
@@ -7,7 +7,8 @@ import * as i0 from "@angular/core";
7
7
  import * as i1 from "./toolbar.service";
8
8
  import * as i2 from "@progress/kendo-angular-l10n";
9
9
  import * as i3 from "@angular/common";
10
- import * as i4 from "@progress/kendo-angular-buttons";
10
+ import * as i4 from "../navigation/focusable.directive";
11
+ import * as i5 from "@progress/kendo-angular-buttons";
11
12
  /**
12
13
  * A toolbar component which contains the controls for switching the views
13
14
  * ([see example]({% slug toolbar_scheduler %}#toc-including-the-built-in-components)).
@@ -76,14 +77,15 @@ export class ToolbarViewSelectorComponent {
76
77
  return this.ctx.selectedView === view;
77
78
  }
78
79
  }
79
- ToolbarViewSelectorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ToolbarViewSelectorComponent, deps: [{ token: i1.ToolbarService }, { token: i2.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
80
- ToolbarViewSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: ToolbarViewSelectorComponent, selector: "[kendoSchedulerToolbarViewSelector]", host: { properties: { "class.k-scheduler-views-wrapper": "this.hostClasses" } }, ngImport: i0, template: `
80
+ ToolbarViewSelectorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ToolbarViewSelectorComponent, deps: [{ token: i1.ToolbarService }, { token: i2.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
81
+ ToolbarViewSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ToolbarViewSelectorComponent, selector: "[kendoSchedulerToolbarViewSelector]", host: { properties: { "class.k-scheduler-views-wrapper": "this.hostClasses" } }, ngImport: i0, template: `
81
82
  <select
82
83
  *ngIf="ctx.views?.length > 1"
83
84
  (change)="onChange($event)"
84
85
  class="k-views-dropdown k-picker-md k-rounded-md k-picker-solid k-dropdownlist k-picker"
85
86
  [attr.aria-label]="selectView"
86
- >
87
+ [kendoSchedulerFocusIndex]="0"
88
+ containerType="toolbar">
87
89
  <option *ngFor="let view of ctx.views"
88
90
  [selected]="isSelected(view) === true"
89
91
  [value]="view.name"
@@ -91,21 +93,22 @@ ToolbarViewSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
91
93
  {{ view.title }}
92
94
  </option>
93
95
  </select>
94
- <span class="k-scheduler-views k-button-group">
96
+ <span class="k-scheduler-views k-button-group" role="group">
95
97
  <button kendoButton
96
98
  type="button"
97
99
  *ngFor="let view of ctx.views"
98
100
  [selected]="isSelected(view)"
99
101
  [attr.aria-pressed]="isSelected(view)"
100
102
  (click)="select(view)"
101
- >
103
+ [kendoSchedulerFocusIndex]="0"
104
+ containerType="toolbar">
102
105
  <span class="k-button-text">
103
106
  {{ view.title }}
104
107
  </span>
105
108
  </button>
106
109
  </span>
107
- `, isInline: true, directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.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"] }] });
108
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ToolbarViewSelectorComponent, decorators: [{
110
+ `, isInline: true, directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.FocusableDirective, selector: "[kendoSchedulerFocusIndex]", inputs: ["kendoSchedulerFocusIndex", "containerType"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.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"] }] });
111
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ToolbarViewSelectorComponent, decorators: [{
109
112
  type: Component,
110
113
  args: [{
111
114
  // eslint-disable-next-line @angular-eslint/component-selector
@@ -116,7 +119,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
116
119
  (change)="onChange($event)"
117
120
  class="k-views-dropdown k-picker-md k-rounded-md k-picker-solid k-dropdownlist k-picker"
118
121
  [attr.aria-label]="selectView"
119
- >
122
+ [kendoSchedulerFocusIndex]="0"
123
+ containerType="toolbar">
120
124
  <option *ngFor="let view of ctx.views"
121
125
  [selected]="isSelected(view) === true"
122
126
  [value]="view.name"
@@ -124,14 +128,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
124
128
  {{ view.title }}
125
129
  </option>
126
130
  </select>
127
- <span class="k-scheduler-views k-button-group">
131
+ <span class="k-scheduler-views k-button-group" role="group">
128
132
  <button kendoButton
129
133
  type="button"
130
134
  *ngFor="let view of ctx.views"
131
135
  [selected]="isSelected(view)"
132
136
  [attr.aria-pressed]="isSelected(view)"
133
137
  (click)="select(view)"
134
- >
138
+ [kendoSchedulerFocusIndex]="0"
139
+ containerType="toolbar">
135
140
  <span class="k-button-text">
136
141
  {{ view.title }}
137
142
  </span>
@@ -0,0 +1,5 @@
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
+ export {};
@@ -22,8 +22,8 @@ export class AgendaHeaderItemComponent {
22
22
  return toLocalDate(this.item.dataItem.value);
23
23
  }
24
24
  }
25
- AgendaHeaderItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AgendaHeaderItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
26
- AgendaHeaderItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: AgendaHeaderItemComponent, 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: i0, template: `
25
+ AgendaHeaderItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AgendaHeaderItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
26
+ AgendaHeaderItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: AgendaHeaderItemComponent, 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: i0, template: `
27
27
  <ng-container *ngIf="!agendaDateTemplate">
28
28
  <strong class="k-scheduler-agendaday">{{itemDate | kendoDate: 'dd'}}</strong>
29
29
  <em class="k-scheduler-agendaweek">{{itemDate | kendoDate: 'EEEE'}}</em>
@@ -33,7 +33,7 @@ AgendaHeaderItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
33
33
  [ngTemplateOutletContext]="{ date: itemDate }">
34
34
  </ng-container>
35
35
  `, isInline: true, directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "kendoDate": i2.DatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AgendaHeaderItemComponent, decorators: [{
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AgendaHeaderItemComponent, decorators: [{
37
37
  type: Component,
38
38
  args: [{
39
39
  changeDetection: ChangeDetectionStrategy.OnPush,
@@ -24,11 +24,11 @@ export class AgendaHeaderComponent {
24
24
  return this.localization.get('eventHeader');
25
25
  }
26
26
  }
27
- AgendaHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AgendaHeaderComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
28
- AgendaHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: AgendaHeaderComponent, selector: "[kendoSchedulerAgendaHeader]", inputs: { resources: "resources" }, host: { properties: { "class.k-scheduler-header": "this.classes", "class.k-state-default": "this.classes" } }, ngImport: i0, template: `
27
+ AgendaHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AgendaHeaderComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
28
+ AgendaHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: AgendaHeaderComponent, selector: "[kendoSchedulerAgendaHeader]", inputs: { resources: "resources" }, host: { properties: { "class.k-scheduler-header": "this.classes", "class.k-state-default": "this.classes" } }, ngImport: i0, template: `
29
29
  <div class="k-scheduler-header-wrap">
30
- <table class="k-scheduler-table" role="rowgroup">
31
- <tbody role="none">
30
+ <table class="k-scheduler-table" role="none">
31
+ <tbody role="rowgroup">
32
32
  <tr role="row">
33
33
  <th *ngFor="let resource of resources" class="k-scheduler-groupcolumn" role="columnheader"></th>
34
34
  <th class="k-scheduler-datecolumn" role="columnheader">{{ dateMessage }}</th>
@@ -39,7 +39,7 @@ AgendaHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
39
39
  </table>
40
40
  </div>
41
41
  `, isInline: true, directives: [{ type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AgendaHeaderComponent, decorators: [{
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AgendaHeaderComponent, decorators: [{
43
43
  type: Component,
44
44
  args: [{
45
45
  changeDetection: ChangeDetectionStrategy.OnPush,
@@ -47,8 +47,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
47
47
  selector: '[kendoSchedulerAgendaHeader]',
48
48
  template: `
49
49
  <div class="k-scheduler-header-wrap">
50
- <table class="k-scheduler-table" role="rowgroup">
51
- <tbody role="none">
50
+ <table class="k-scheduler-table" role="none">
51
+ <tbody role="rowgroup">
52
52
  <tr role="row">
53
53
  <th *ngFor="let resource of resources" class="k-scheduler-groupcolumn" role="columnheader"></th>
54
54
  <th class="k-scheduler-datecolumn" role="columnheader">{{ dateMessage }}</th>
@@ -38,8 +38,8 @@ export class AgendaTaskItemComponent {
38
38
  return this.editable && this.editable.remove !== false;
39
39
  }
40
40
  }
41
- AgendaTaskItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AgendaTaskItemComponent, deps: [{ token: i1.LocalizationService }, { token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Component });
42
- AgendaTaskItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: AgendaTaskItemComponent, selector: "[kendoSchedulerAgendaTaskItem]", inputs: { item: ["kendoSchedulerAgendaTaskItem", "item"], color: "color", eventTemplate: "eventTemplate", editable: "editable" }, host: { properties: { "attr.aria-label": "this.eventTitle" } }, ngImport: i0, template: `
41
+ AgendaTaskItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AgendaTaskItemComponent, deps: [{ token: i1.LocalizationService }, { token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Component });
42
+ AgendaTaskItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: AgendaTaskItemComponent, selector: "[kendoSchedulerAgendaTaskItem]", inputs: { item: ["kendoSchedulerAgendaTaskItem", "item"], color: "color", eventTemplate: "eventTemplate", editable: "editable" }, host: { properties: { "attr.aria-label": "this.eventTitle" } }, ngImport: i0, template: `
43
43
  <div class="k-task" [title]="item.title">
44
44
  <span class="k-scheduler-mark" *ngIf="eventColor" [style.background-color]="eventColor"></span>
45
45
  <span class="k-icon k-i-arrow-rotate-cw" *ngIf="isRecurrence"></span>
@@ -56,7 +56,7 @@ AgendaTaskItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
56
56
  </span>
57
57
  </div>
58
58
  `, isInline: true, directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
59
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AgendaTaskItemComponent, decorators: [{
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AgendaTaskItemComponent, decorators: [{
60
60
  type: Component,
61
61
  args: [{
62
62
  changeDetection: ChangeDetectionStrategy.OnPush,
@@ -298,8 +298,8 @@ export class AgendaViewInternalComponent {
298
298
  }
299
299
  }
300
300
  }
301
- AgendaViewInternalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AgendaViewInternalComponent, deps: [{ token: i1.ViewContextService }, { token: i2.ViewStateService }, { token: i3.IntlService }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i4.PDFService }, { token: i5.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
302
- AgendaViewInternalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: AgendaViewInternalComponent, 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: true, predicate: ["headerWrap"], descendants: true, read: ElementRef, static: true }, { propertyName: "content", first: true, predicate: ["content"], descendants: true, read: ElementRef, static: true }], usesOnChanges: true, ngImport: i0, template: `
301
+ AgendaViewInternalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AgendaViewInternalComponent, deps: [{ token: i1.ViewContextService }, { token: i2.ViewStateService }, { token: i3.IntlService }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i4.PDFService }, { token: i5.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
302
+ AgendaViewInternalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: AgendaViewInternalComponent, 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: true, predicate: ["headerWrap"], descendants: true, read: ElementRef, static: true }, { propertyName: "content", first: true, predicate: ["content"], descendants: true, read: ElementRef, static: true }], usesOnChanges: true, ngImport: i0, template: `
303
303
  <table class="k-scheduler-layout k-scheduler-agendaview k-scheduler-agenda" role="grid">
304
304
  <tbody role="none">
305
305
  <tr>
@@ -324,7 +324,7 @@ AgendaViewInternalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.
324
324
  </tbody>
325
325
  </table>
326
326
  `, isInline: true, components: [{ type: i6.AgendaHeaderComponent, selector: "[kendoSchedulerAgendaHeader]", inputs: ["resources"] }, { type: i7.AgendaListComponent, selector: "[kendoSchedulerAgendaList]", inputs: ["tasks", "eventTemplate", "slotClass", "eventClass", "eventStyles", "agendaTimeTemplate", "agendaDateTemplate", "editable"] }], pipes: { "async": i8.AsyncPipe } });
327
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AgendaViewInternalComponent, decorators: [{
327
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AgendaViewInternalComponent, decorators: [{
328
328
  type: Component,
329
329
  args: [{
330
330
  // eslint-disable-next-line @angular-eslint/component-selector
@@ -69,8 +69,8 @@ export class AgendaListComponent {
69
69
  }
70
70
  }
71
71
  }
72
- AgendaListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AgendaListComponent, deps: [{ token: i1.IntlService }, { token: i2.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
73
- AgendaListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: AgendaListComponent, 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: i0, template: `
72
+ AgendaListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AgendaListComponent, deps: [{ token: i1.IntlService }, { token: i2.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
73
+ AgendaListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: AgendaListComponent, 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: i0, template: `
74
74
  <table class="k-scheduler-table" role="none">
75
75
  <tbody role="rowgroup">
76
76
  <ng-container *ngFor="let group of tasks; let groupIndex = index;">
@@ -106,8 +106,8 @@ AgendaListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
106
106
  </ng-container>
107
107
  </tbody>
108
108
  </table>
109
- `, isInline: true, components: [{ type: i3.AgendaHeaderItemComponent, selector: "[kendoSchedulerAgendaHeaderItem]", inputs: ["kendoSchedulerAgendaHeaderItem", "agendaDateTemplate"] }, { type: i4.AgendaTaskItemComponent, selector: "[kendoSchedulerAgendaTaskItem]", inputs: ["kendoSchedulerAgendaTaskItem", "color", "eventTemplate", "editable"] }], directives: [{ type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i6.FocusableDirective, selector: "[kendoSchedulerFocusIndex]", inputs: ["kendoSchedulerFocusIndex"] }] });
110
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AgendaListComponent, decorators: [{
109
+ `, isInline: true, components: [{ type: i3.AgendaHeaderItemComponent, selector: "[kendoSchedulerAgendaHeaderItem]", inputs: ["kendoSchedulerAgendaHeaderItem", "agendaDateTemplate"] }, { type: i4.AgendaTaskItemComponent, selector: "[kendoSchedulerAgendaTaskItem]", inputs: ["kendoSchedulerAgendaTaskItem", "color", "eventTemplate", "editable"] }], directives: [{ type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i6.FocusableDirective, selector: "[kendoSchedulerFocusIndex]", inputs: ["kendoSchedulerFocusIndex", "containerType"] }] });
110
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AgendaListComponent, decorators: [{
111
111
  type: Component,
112
112
  args: [{
113
113
  // eslint-disable-next-line @angular-eslint/component-selector
@@ -50,8 +50,8 @@ export class AgendaViewComponent extends ConfigurationViewBase {
50
50
  return this.localization.get('agendaViewTitle');
51
51
  }
52
52
  }
53
- AgendaViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AgendaViewComponent, deps: [{ token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i2.ViewContextService }, { token: i3.ViewStateService }], target: i0.ɵɵFactoryTarget.Component });
54
- AgendaViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: AgendaViewComponent, selector: "kendo-scheduler-agenda-view", inputs: { selectedDateFormat: "selectedDateFormat", selectedShortDateFormat: "selectedShortDateFormat", numberOfDays: "numberOfDays" }, providers: [{
53
+ AgendaViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AgendaViewComponent, deps: [{ token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i2.ViewContextService }, { token: i3.ViewStateService }], target: i0.ɵɵFactoryTarget.Component });
54
+ AgendaViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: AgendaViewComponent, selector: "kendo-scheduler-agenda-view", inputs: { selectedDateFormat: "selectedDateFormat", selectedShortDateFormat: "selectedShortDateFormat", numberOfDays: "numberOfDays" }, providers: [{
55
55
  provide: SchedulerView,
56
56
  useExisting: forwardRef(() => AgendaViewComponent)
57
57
  }], queries: [{ propertyName: "eventTemplate", first: true, predicate: EventTemplateDirective, descendants: true }, { propertyName: "agendaTimeTemplate", first: true, predicate: AgendaTimeTemplateDirective, descendants: true }, { propertyName: "agendaDateTemplate", first: true, predicate: AgendaDateTemplateDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: `
@@ -69,7 +69,7 @@ AgendaViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
69
69
  </agenda-view-internal>
70
70
  </ng-template>
71
71
  `, isInline: true, components: [{ type: i4.AgendaViewInternalComponent, selector: "agenda-view-internal", inputs: ["eventTemplate", "slotClass", "eventClass", "eventStyles", "agendaTimeTemplate", "agendaDateTemplate", "selectedDateFormat", "selectedShortDateFormat", "numberOfDays"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
72
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AgendaViewComponent, decorators: [{
72
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AgendaViewComponent, decorators: [{
73
73
  type: Component,
74
74
  args: [{
75
75
  changeDetection: ChangeDetectionStrategy.OnPush,
@@ -26,15 +26,15 @@ const COMPONENTS = [
26
26
  */
27
27
  export class AgendaViewModule {
28
28
  }
29
- AgendaViewModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AgendaViewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
30
- AgendaViewModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AgendaViewModule, declarations: [AgendaHeaderComponent,
29
+ AgendaViewModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AgendaViewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
30
+ AgendaViewModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AgendaViewModule, declarations: [AgendaHeaderComponent,
31
31
  AgendaHeaderItemComponent,
32
32
  AgendaListComponent,
33
33
  AgendaTaskItemComponent,
34
34
  AgendaViewComponent,
35
35
  AgendaViewInternalComponent], imports: [CommonModule, IntlModule, SharedModule], exports: [AgendaViewComponent] });
36
- AgendaViewModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AgendaViewModule, imports: [[CommonModule, IntlModule, SharedModule]] });
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AgendaViewModule, decorators: [{
36
+ AgendaViewModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AgendaViewModule, imports: [[CommonModule, IntlModule, SharedModule]] });
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AgendaViewModule, decorators: [{
38
38
  type: NgModule,
39
39
  args: [{
40
40
  imports: [CommonModule, IntlModule, SharedModule],
@@ -76,6 +76,14 @@ export class BaseView {
76
76
  get groupHeaderTemplateRef() {
77
77
  return this.groupHeaderTemplate || (this.schedulerGroupHeaderTemplate || {}).templateRef;
78
78
  }
79
+ /**
80
+ * Generates a list of space-separated IDs based on a collection of items to associate scrollable containers
81
+ * with the respective tasks through the aria-owns attribute for a11y compliance.
82
+ */
83
+ matchOwned(items) {
84
+ const ids = items.reduce((acc, curr) => [...acc, ...curr.resources.map(ir => `${curr.elementId}_${ir.leafIdx}`)], []);
85
+ return ids.join(' ');
86
+ }
79
87
  ngOnInit() {
80
88
  const updateView = this.updateView.bind(this);
81
89
  this.resourcesByIndex = this.resourcesByIndex.bind(this);
@@ -843,7 +851,7 @@ export class BaseView {
843
851
  const element = this.element.nativeElement;
844
852
  const parent = element.parentNode;
845
853
  const content = this.content.nativeElement;
846
- const autoHeight = this.autoHeight || !parent.style.height;
854
+ const autoHeight = this.autoHeight || !(parent === null || parent === void 0 ? void 0 : parent.style.height);
847
855
  const scrollLeft = content.scrollLeft;
848
856
  const scrollTop = content.scrollTop;
849
857
  this.renderer.setStyle(content, 'height', '');
@@ -962,9 +970,9 @@ export class BaseView {
962
970
  };
963
971
  }
964
972
  }
965
- BaseView.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BaseView, deps: [{ token: i1.ViewContextService }, { token: i2.ViewStateService }, { token: i3.IntlService }, { token: i4.BaseSlotService }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i5.PDFService }, { token: i6.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i7.ScrollbarWidthService }], target: i0.ɵɵFactoryTarget.Directive });
966
- BaseView.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: BaseView, inputs: { еventTemplate: "\u0435ventTemplate", groupHeaderTemplate: "groupHeaderTemplate", selectedDateFormat: "selectedDateFormat", selectedShortDateFormat: "selectedShortDateFormat", eventHeight: "eventHeight", slotClass: "slotClass", eventClass: "eventClass", eventStyles: "eventStyles", weekStart: "weekStart" }, viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true }, { propertyName: "header", first: true, predicate: ["header"], descendants: true }, { propertyName: "contentTable", first: true, predicate: ["contentTable"], descendants: true }, { propertyName: "times", first: true, predicate: ["times"], descendants: true }, { propertyName: "timesHeader", first: true, predicate: ["timesHeader"], descendants: true }, { propertyName: "timesTable", first: true, predicate: ["timesTable"], descendants: true }, { propertyName: "headerWrap", first: true, predicate: ["headerWrap"], descendants: true }, { propertyName: "hintContainer", first: true, predicate: ["hintContainer"], descendants: true }], usesOnChanges: true, ngImport: i0 });
967
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BaseView, decorators: [{
973
+ BaseView.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: BaseView, deps: [{ token: i1.ViewContextService }, { token: i2.ViewStateService }, { token: i3.IntlService }, { token: i4.BaseSlotService }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i5.PDFService }, { token: i6.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i7.ScrollbarWidthService }], target: i0.ɵɵFactoryTarget.Directive });
974
+ BaseView.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: BaseView, inputs: { еventTemplate: "\u0435ventTemplate", groupHeaderTemplate: "groupHeaderTemplate", selectedDateFormat: "selectedDateFormat", selectedShortDateFormat: "selectedShortDateFormat", eventHeight: "eventHeight", slotClass: "slotClass", eventClass: "eventClass", eventStyles: "eventStyles", weekStart: "weekStart" }, viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true }, { propertyName: "header", first: true, predicate: ["header"], descendants: true }, { propertyName: "contentTable", first: true, predicate: ["contentTable"], descendants: true }, { propertyName: "times", first: true, predicate: ["times"], descendants: true }, { propertyName: "timesHeader", first: true, predicate: ["timesHeader"], descendants: true }, { propertyName: "timesTable", first: true, predicate: ["timesTable"], descendants: true }, { propertyName: "headerWrap", first: true, predicate: ["headerWrap"], descendants: true }, { propertyName: "hintContainer", first: true, predicate: ["hintContainer"], descendants: true }], usesOnChanges: true, ngImport: i0 });
975
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: BaseView, decorators: [{
968
976
  type: Directive
969
977
  }], ctorParameters: function () { return [{ type: i1.ViewContextService }, { type: i2.ViewStateService }, { type: i3.IntlService }, { type: i4.BaseSlotService }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i5.PDFService }, { type: i6.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: i7.ScrollbarWidthService }]; }, propDecorators: { еventTemplate: [{
970
978
  type: Input
@@ -67,9 +67,9 @@ export class ConfigurationViewBase extends SchedulerView {
67
67
  this.schedulerOptions = options;
68
68
  }
69
69
  }
70
- ConfigurationViewBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ConfigurationViewBase, deps: [{ token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i2.ViewContextService }, { token: i3.ViewStateService }], target: i0.ɵɵFactoryTarget.Directive });
71
- ConfigurationViewBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: ConfigurationViewBase, inputs: { slotClass: "slotClass", eventClass: "eventClass", eventStyles: "eventStyles", highlightOngoingEvents: "highlightOngoingEvents" }, queries: [{ propertyName: "eventTemplate", first: true, predicate: EventTemplateDirective, descendants: true }, { propertyName: "groupHeaderTemplate", first: true, predicate: GroupHeaderTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "template", first: true, predicate: ["content"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0 });
72
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ConfigurationViewBase, decorators: [{
70
+ ConfigurationViewBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ConfigurationViewBase, deps: [{ token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i2.ViewContextService }, { token: i3.ViewStateService }], target: i0.ɵɵFactoryTarget.Directive });
71
+ ConfigurationViewBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: ConfigurationViewBase, inputs: { slotClass: "slotClass", eventClass: "eventClass", eventStyles: "eventStyles", highlightOngoingEvents: "highlightOngoingEvents" }, queries: [{ propertyName: "eventTemplate", first: true, predicate: EventTemplateDirective, descendants: true }, { propertyName: "groupHeaderTemplate", first: true, predicate: GroupHeaderTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "template", first: true, predicate: ["content"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0 });
72
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ConfigurationViewBase, decorators: [{
73
73
  type: Directive
74
74
  }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: i2.ViewContextService }, { type: i3.ViewStateService }]; }, propDecorators: { slotClass: [{
75
75
  type: Input