@bimetal/calendar-angular-components 0.32.0 → 0.35.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/LICENSE +57 -129
  2. package/README.md +1 -1
  3. package/dist/binding/index.d.ts +1 -3
  4. package/dist/binding/index.d.ts.map +1 -1
  5. package/dist/binding/index.js +0 -3
  6. package/dist/binding/index.js.map +1 -1
  7. package/dist/binding/services/event-render.service.d.ts +9 -0
  8. package/dist/binding/services/event-render.service.d.ts.map +1 -1
  9. package/dist/binding/services/event-render.service.js +11 -0
  10. package/dist/binding/services/event-render.service.js.map +1 -1
  11. package/dist/components/Calendar.d.ts +28 -6
  12. package/dist/components/Calendar.d.ts.map +1 -1
  13. package/dist/components/Calendar.js +66 -37
  14. package/dist/components/Calendar.js.map +1 -1
  15. package/dist/components/CalendarHeader.d.ts +9 -1
  16. package/dist/components/CalendarHeader.d.ts.map +1 -1
  17. package/dist/components/CalendarHeader.js +58 -12
  18. package/dist/components/CalendarHeader.js.map +1 -1
  19. package/dist/components/CategoryFilter.d.ts +1 -0
  20. package/dist/components/CategoryFilter.d.ts.map +1 -1
  21. package/dist/components/CategoryFilter.js +2 -1
  22. package/dist/components/CategoryFilter.js.map +1 -1
  23. package/dist/components/EventBar.d.ts +4 -0
  24. package/dist/components/EventBar.d.ts.map +1 -1
  25. package/dist/components/EventBar.js +30 -14
  26. package/dist/components/EventBar.js.map +1 -1
  27. package/dist/components/EventDialog.d.ts +5 -0
  28. package/dist/components/EventDialog.d.ts.map +1 -1
  29. package/dist/components/EventDialog.js +10 -4
  30. package/dist/components/EventDialog.js.map +1 -1
  31. package/dist/components/EventHistory.d.ts +5 -1
  32. package/dist/components/EventHistory.d.ts.map +1 -1
  33. package/dist/components/EventHistory.js +9 -3
  34. package/dist/components/EventHistory.js.map +1 -1
  35. package/dist/components/UndoToast.d.ts +9 -5
  36. package/dist/components/UndoToast.d.ts.map +1 -1
  37. package/dist/components/UndoToast.js +16 -27
  38. package/dist/components/UndoToast.js.map +1 -1
  39. package/dist/index.d.ts +0 -2
  40. package/dist/index.d.ts.map +1 -1
  41. package/dist/index.js +0 -2
  42. package/dist/index.js.map +1 -1
  43. package/dist/views/agenda/AgendaView.d.ts +1 -0
  44. package/dist/views/agenda/AgendaView.d.ts.map +1 -1
  45. package/dist/views/agenda/AgendaView.js +9 -2
  46. package/dist/views/agenda/AgendaView.js.map +1 -1
  47. package/dist/views/day/DayView.d.ts +4 -0
  48. package/dist/views/day/DayView.d.ts.map +1 -1
  49. package/dist/views/day/DayView.js +7 -2
  50. package/dist/views/day/DayView.js.map +1 -1
  51. package/dist/views/month/MonthView.d.ts +7 -1
  52. package/dist/views/month/MonthView.d.ts.map +1 -1
  53. package/dist/views/month/MonthView.js +12 -6
  54. package/dist/views/month/MonthView.js.map +1 -1
  55. package/dist/views/month/WeekRow.d.ts +9 -1
  56. package/dist/views/month/WeekRow.d.ts.map +1 -1
  57. package/dist/views/month/WeekRow.js +44 -12
  58. package/dist/views/month/WeekRow.js.map +1 -1
  59. package/dist/views/resource/ResourceView.d.ts +4 -0
  60. package/dist/views/resource/ResourceView.d.ts.map +1 -1
  61. package/dist/views/resource/ResourceView.js +6 -1
  62. package/dist/views/resource/ResourceView.js.map +1 -1
  63. package/dist/views/timeline/TimelineView.d.ts +4 -0
  64. package/dist/views/timeline/TimelineView.d.ts.map +1 -1
  65. package/dist/views/timeline/TimelineView.js +7 -2
  66. package/dist/views/timeline/TimelineView.js.map +1 -1
  67. package/dist/views/week/AllDayRow.d.ts +5 -0
  68. package/dist/views/week/AllDayRow.d.ts.map +1 -1
  69. package/dist/views/week/AllDayRow.js +15 -5
  70. package/dist/views/week/AllDayRow.js.map +1 -1
  71. package/dist/views/week/TimeEvent.d.ts +9 -0
  72. package/dist/views/week/TimeEvent.d.ts.map +1 -1
  73. package/dist/views/week/TimeEvent.js +30 -10
  74. package/dist/views/week/TimeEvent.js.map +1 -1
  75. package/dist/views/week/WeekView.d.ts +9 -1
  76. package/dist/views/week/WeekView.d.ts.map +1 -1
  77. package/dist/views/week/WeekView.js +18 -5
  78. package/dist/views/week/WeekView.js.map +1 -1
  79. package/dist/views/year/YearView.d.ts +9 -4
  80. package/dist/views/year/YearView.d.ts.map +1 -1
  81. package/dist/views/year/YearView.js +9 -4
  82. package/dist/views/year/YearView.js.map +1 -1
  83. package/package.json +10 -10
@@ -1,6 +1,6 @@
1
1
  import { Component, Input, NgZone, TemplateRef, Optional, signal } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
- import { getYear, getMonth } from '@bimetal/calendar-core';
3
+ import { getYear, getMonth, monthIndex } from '@bimetal/temporal';
4
4
  import { parseDragInfo } from '@bimetal/calendar-headless';
5
5
  import { isEditableTarget } from '@bimetal/a11y-dom';
6
6
  import { createCalendarControllerBinding, EventRenderService, ZERO_RECT, } from '../binding/index.js';
@@ -8,7 +8,6 @@ import { CalendarHeaderComponent } from './CalendarHeader.js';
8
8
  import { CategoryFilterComponent } from './CategoryFilter.js';
9
9
  import { ResourceFilterComponent } from './ResourceFilter.js';
10
10
  import { EventDialogComponent } from './EventDialog.js';
11
- import { UndoToastComponent } from './UndoToast.js';
12
11
  import { MonthViewComponent } from '../views/month/MonthView.js';
13
12
  import { WeekViewComponent } from '../views/week/WeekView.js';
14
13
  import { DayViewComponent } from '../views/day/DayView.js';
@@ -21,7 +20,7 @@ import * as i1 from "../binding/index.js";
21
20
  import * as i2 from "@angular/common";
22
21
  function CalendarComponent_cal_category_filter_2_Template(rf, ctx) { if (rf & 1) {
23
22
  const _r1 = i0.ɵɵgetCurrentView();
24
- i0.ɵɵelementStart(0, "cal-category-filter", 14);
23
+ i0.ɵɵelementStart(0, "cal-category-filter", 13);
25
24
  i0.ɵɵlistener("toggle", function CalendarComponent_cal_category_filter_2_Template_cal_category_filter_toggle_0_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.toggleCategory($event)); });
26
25
  i0.ɵɵelementEnd();
27
26
  } if (rf & 2) {
@@ -30,7 +29,7 @@ function CalendarComponent_cal_category_filter_2_Template(rf, ctx) { if (rf & 1)
30
29
  } }
31
30
  function CalendarComponent_cal_resource_filter_3_Template(rf, ctx) { if (rf & 1) {
32
31
  const _r3 = i0.ɵɵgetCurrentView();
33
- i0.ɵɵelementStart(0, "cal-resource-filter", 15);
32
+ i0.ɵɵelementStart(0, "cal-resource-filter", 14);
34
33
  i0.ɵɵlistener("toggle", function CalendarComponent_cal_resource_filter_3_Template_cal_resource_filter_toggle_0_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.toggleResource($event)); });
35
34
  i0.ɵɵelementEnd();
36
35
  } if (rf & 2) {
@@ -39,7 +38,7 @@ function CalendarComponent_cal_resource_filter_3_Template(rf, ctx) { if (rf & 1)
39
38
  } }
40
39
  function CalendarComponent_cal_year_view_4_Template(rf, ctx) { if (rf & 1) {
41
40
  const _r4 = i0.ɵɵgetCurrentView();
42
- i0.ɵɵelementStart(0, "cal-year-view", 16);
41
+ i0.ɵɵelementStart(0, "cal-year-view", 15);
43
42
  i0.ɵɵlistener("monthClick", function CalendarComponent_cal_year_view_4_Template_cal_year_view_monthClick_0_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.goToMonth($event.year, $event.month)); })("dayCellClick", function CalendarComponent_cal_year_view_4_Template_cal_year_view_dayCellClick_0_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleDayCellClick($event)); });
44
43
  i0.ɵɵelementEnd();
45
44
  } if (rf & 2) {
@@ -48,16 +47,16 @@ function CalendarComponent_cal_year_view_4_Template(rf, ctx) { if (rf & 1) {
48
47
  } }
49
48
  function CalendarComponent_cal_month_view_5_Template(rf, ctx) { if (rf & 1) {
50
49
  const _r5 = i0.ɵɵgetCurrentView();
51
- i0.ɵɵelementStart(0, "cal-month-view", 17);
50
+ i0.ɵɵelementStart(0, "cal-month-view", 16);
52
51
  i0.ɵɵlistener("eventClick", function CalendarComponent_cal_month_view_5_Template_cal_month_view_eventClick_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleEventClick($event)); })("selectEvent", function CalendarComponent_cal_month_view_5_Template_cal_month_view_selectEvent_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.selectEvent($event.eventId, $event.instanceDate)); })("clearSelection", function CalendarComponent_cal_month_view_5_Template_cal_month_view_clearSelection_0_listener() { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.clearSelection()); })("dayCellClick", function CalendarComponent_cal_month_view_5_Template_cal_month_view_dayCellClick_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleDayCellClick($event)); })("dropEvent", function CalendarComponent_cal_month_view_5_Template_cal_month_view_dropEvent_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleDropEvent($event)); })("dragOverDate", function CalendarComponent_cal_month_view_5_Template_cal_month_view_dragOverDate_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.updatePreview($event)); })("hidePreviewEv", function CalendarComponent_cal_month_view_5_Template_cal_month_view_hidePreviewEv_0_listener() { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.hidePreview()); })("dragEnd", function CalendarComponent_cal_month_view_5_Template_cal_month_view_dragEnd_0_listener() { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.endDrag()); })("dragStartEv", function CalendarComponent_cal_month_view_5_Template_cal_month_view_dragStartEv_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.startDrag($event)); })("expandMonthCell", function CalendarComponent_cal_month_view_5_Template_cal_month_view_expandMonthCell_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.expandMonthCell($event)); })("collapseMonthCell", function CalendarComponent_cal_month_view_5_Template_cal_month_view_collapseMonthCell_0_listener() { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.collapseMonthCell()); });
53
52
  i0.ɵɵelementEnd();
54
53
  } if (rf & 2) {
55
54
  const ctx_r1 = i0.ɵɵnextContext();
56
- i0.ɵɵproperty("year", ctx_r1.getYear(ctx_r1.snapshot.currentDate))("month", ctx_r1.getMonth(ctx_r1.snapshot.currentDate))("events", ctx_r1.filteredEvents)("config", ctx_r1.mergedConfig)("previewEvent", ctx_r1.snapshot.previewEvent)("expandedMonthDay", ctx_r1.snapshot.expandedMonthDay)("selectedEventId", ctx_r1.selectedEventId)("selectedInstanceDate", ctx_r1.selectedInstanceDate);
55
+ i0.ɵɵproperty("year", ctx_r1.getYear(ctx_r1.snapshot.currentDate))("month", ctx_r1.monthIndex(ctx_r1.getMonth(ctx_r1.snapshot.currentDate)))("events", ctx_r1.filteredEvents)("config", ctx_r1.mergedConfig)("previewEvent", ctx_r1.snapshot.previewEvent)("expandedMonthDay", ctx_r1.snapshot.expandedMonthDay)("selectedEventId", ctx_r1.selectedEventId)("selectedInstanceDate", ctx_r1.selectedInstanceDate);
57
56
  } }
58
57
  function CalendarComponent_cal_week_view_6_Template(rf, ctx) { if (rf & 1) {
59
58
  const _r6 = i0.ɵɵgetCurrentView();
60
- i0.ɵɵelementStart(0, "cal-week-view", 18);
59
+ i0.ɵɵelementStart(0, "cal-week-view", 17);
61
60
  i0.ɵɵlistener("eventClick", function CalendarComponent_cal_week_view_6_Template_cal_week_view_eventClick_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleEventClick($event)); })("selectEvent", function CalendarComponent_cal_week_view_6_Template_cal_week_view_selectEvent_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.selectEvent($event.eventId, $event.instanceDate)); })("clearSelection", function CalendarComponent_cal_week_view_6_Template_cal_week_view_clearSelection_0_listener() { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.clearSelection()); })("dayCellClick", function CalendarComponent_cal_week_view_6_Template_cal_week_view_dayCellClick_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleDayCellClick($event)); })("dropEvent", function CalendarComponent_cal_week_view_6_Template_cal_week_view_dropEvent_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleDropEvent($event)); })("dropTimedEvent", function CalendarComponent_cal_week_view_6_Template_cal_week_view_dropTimedEvent_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleDropTimedEvent($event)); })("dragOverDate", function CalendarComponent_cal_week_view_6_Template_cal_week_view_dragOverDate_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.updatePreview($event)); })("dragOverDateTime", function CalendarComponent_cal_week_view_6_Template_cal_week_view_dragOverDateTime_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.updateTimedPreview($event.date, $event.time)); })("hidePreviewEv", function CalendarComponent_cal_week_view_6_Template_cal_week_view_hidePreviewEv_0_listener() { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.hidePreview()); })("dragEnd", function CalendarComponent_cal_week_view_6_Template_cal_week_view_dragEnd_0_listener() { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.endDrag()); })("dragStartEv", function CalendarComponent_cal_week_view_6_Template_cal_week_view_dragStartEv_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.startDrag($event)); });
62
61
  i0.ɵɵelementEnd();
63
62
  } if (rf & 2) {
@@ -66,7 +65,7 @@ function CalendarComponent_cal_week_view_6_Template(rf, ctx) { if (rf & 1) {
66
65
  } }
67
66
  function CalendarComponent_cal_day_view_7_Template(rf, ctx) { if (rf & 1) {
68
67
  const _r7 = i0.ɵɵgetCurrentView();
69
- i0.ɵɵelementStart(0, "cal-day-view", 19);
68
+ i0.ɵɵelementStart(0, "cal-day-view", 18);
70
69
  i0.ɵɵlistener("eventClick", function CalendarComponent_cal_day_view_7_Template_cal_day_view_eventClick_0_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleEventClick($event)); })("selectEvent", function CalendarComponent_cal_day_view_7_Template_cal_day_view_selectEvent_0_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.selectEvent($event.eventId, $event.instanceDate)); })("clearSelection", function CalendarComponent_cal_day_view_7_Template_cal_day_view_clearSelection_0_listener() { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.clearSelection()); })("dayCellClick", function CalendarComponent_cal_day_view_7_Template_cal_day_view_dayCellClick_0_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleDayCellClick($event)); })("dropTimedEvent", function CalendarComponent_cal_day_view_7_Template_cal_day_view_dropTimedEvent_0_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleDropTimedEvent($event)); })("dragOverDateTime", function CalendarComponent_cal_day_view_7_Template_cal_day_view_dragOverDateTime_0_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.updateTimedPreview($event.date, $event.time)); })("hidePreviewEv", function CalendarComponent_cal_day_view_7_Template_cal_day_view_hidePreviewEv_0_listener() { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.hidePreview()); })("dragEnd", function CalendarComponent_cal_day_view_7_Template_cal_day_view_dragEnd_0_listener() { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.endDrag()); })("dragStartEv", function CalendarComponent_cal_day_view_7_Template_cal_day_view_dragStartEv_0_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.startDrag($event)); });
71
70
  i0.ɵɵelementEnd();
72
71
  } if (rf & 2) {
@@ -75,7 +74,7 @@ function CalendarComponent_cal_day_view_7_Template(rf, ctx) { if (rf & 1) {
75
74
  } }
76
75
  function CalendarComponent_cal_timeline_view_8_Template(rf, ctx) { if (rf & 1) {
77
76
  const _r8 = i0.ɵɵgetCurrentView();
78
- i0.ɵɵelementStart(0, "cal-timeline-view", 20);
77
+ i0.ɵɵelementStart(0, "cal-timeline-view", 19);
79
78
  i0.ɵɵlistener("eventClick", function CalendarComponent_cal_timeline_view_8_Template_cal_timeline_view_eventClick_0_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleEventClick($event)); })("selectEvent", function CalendarComponent_cal_timeline_view_8_Template_cal_timeline_view_selectEvent_0_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.selectEvent($event.eventId, $event.instanceDate)); })("clearSelection", function CalendarComponent_cal_timeline_view_8_Template_cal_timeline_view_clearSelection_0_listener() { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.clearSelection()); })("timelineCellClick", function CalendarComponent_cal_timeline_view_8_Template_cal_timeline_view_timelineCellClick_0_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleTimelineCellClick($event)); })("timelineDrop", function CalendarComponent_cal_timeline_view_8_Template_cal_timeline_view_timelineDrop_0_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleTimelineDrop($event)); })("dragOverDate", function CalendarComponent_cal_timeline_view_8_Template_cal_timeline_view_dragOverDate_0_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.updatePreview($event)); })("hidePreviewEv", function CalendarComponent_cal_timeline_view_8_Template_cal_timeline_view_hidePreviewEv_0_listener() { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.hidePreview()); })("dragEnd", function CalendarComponent_cal_timeline_view_8_Template_cal_timeline_view_dragEnd_0_listener() { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.endDrag()); })("dragStartEv", function CalendarComponent_cal_timeline_view_8_Template_cal_timeline_view_dragStartEv_0_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.startDrag($event)); });
80
79
  i0.ɵɵelementEnd();
81
80
  } if (rf & 2) {
@@ -84,7 +83,7 @@ function CalendarComponent_cal_timeline_view_8_Template(rf, ctx) { if (rf & 1) {
84
83
  } }
85
84
  function CalendarComponent_cal_resource_view_9_Template(rf, ctx) { if (rf & 1) {
86
85
  const _r9 = i0.ɵɵgetCurrentView();
87
- i0.ɵɵelementStart(0, "cal-resource-view", 21);
86
+ i0.ɵɵelementStart(0, "cal-resource-view", 20);
88
87
  i0.ɵɵlistener("eventClick", function CalendarComponent_cal_resource_view_9_Template_cal_resource_view_eventClick_0_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleEventClick($event)); })("selectEvent", function CalendarComponent_cal_resource_view_9_Template_cal_resource_view_selectEvent_0_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.selectEvent($event.eventId, $event.instanceDate)); })("clearSelection", function CalendarComponent_cal_resource_view_9_Template_cal_resource_view_clearSelection_0_listener() { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.clearSelection()); })("resourceCellClick", function CalendarComponent_cal_resource_view_9_Template_cal_resource_view_resourceCellClick_0_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleResourceCellClick($event)); })("resourceDrop", function CalendarComponent_cal_resource_view_9_Template_cal_resource_view_resourceDrop_0_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleResourceDrop($event)); })("dragOverDateTime", function CalendarComponent_cal_resource_view_9_Template_cal_resource_view_dragOverDateTime_0_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.updateTimedPreview($event.date, $event.time)); })("hidePreviewEv", function CalendarComponent_cal_resource_view_9_Template_cal_resource_view_hidePreviewEv_0_listener() { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.hidePreview()); })("dragEnd", function CalendarComponent_cal_resource_view_9_Template_cal_resource_view_dragEnd_0_listener() { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.endDrag()); })("dragStartEv", function CalendarComponent_cal_resource_view_9_Template_cal_resource_view_dragStartEv_0_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.startDrag($event)); });
89
88
  i0.ɵɵelementEnd();
90
89
  } if (rf & 2) {
@@ -93,7 +92,7 @@ function CalendarComponent_cal_resource_view_9_Template(rf, ctx) { if (rf & 1) {
93
92
  } }
94
93
  function CalendarComponent_cal_agenda_view_10_Template(rf, ctx) { if (rf & 1) {
95
94
  const _r10 = i0.ɵɵgetCurrentView();
96
- i0.ɵɵelementStart(0, "cal-agenda-view", 22);
95
+ i0.ɵɵelementStart(0, "cal-agenda-view", 21);
97
96
  i0.ɵɵlistener("eventClick", function CalendarComponent_cal_agenda_view_10_Template_cal_agenda_view_eventClick_0_listener($event) { i0.ɵɵrestoreView(_r10); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleEventClick($event)); })("selectEvent", function CalendarComponent_cal_agenda_view_10_Template_cal_agenda_view_selectEvent_0_listener($event) { i0.ɵɵrestoreView(_r10); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.selectEvent($event.eventId, $event.instanceDate)); });
98
97
  i0.ɵɵelementEnd();
99
98
  } if (rf & 2) {
@@ -105,7 +104,7 @@ function CalendarComponent_ng_container_11_ng_container_1_Template(rf, ctx) { if
105
104
  } }
106
105
  function CalendarComponent_ng_container_11_Template(rf, ctx) { if (rf & 1) {
107
106
  i0.ɵɵelementContainerStart(0);
108
- i0.ɵɵtemplate(1, CalendarComponent_ng_container_11_ng_container_1_Template, 1, 0, "ng-container", 23);
107
+ i0.ɵɵtemplate(1, CalendarComponent_ng_container_11_ng_container_1_Template, 1, 0, "ng-container", 22);
109
108
  i0.ɵɵelementContainerEnd();
110
109
  } if (rf & 2) {
111
110
  const cv_r11 = ctx.ngIf;
@@ -115,7 +114,7 @@ function CalendarComponent_ng_container_11_Template(rf, ctx) { if (rf & 1) {
115
114
  } }
116
115
  function CalendarComponent_cal_event_dialog_12_Template(rf, ctx) { if (rf & 1) {
117
116
  const _r12 = i0.ɵɵgetCurrentView();
118
- i0.ɵɵelementStart(0, "cal-event-dialog", 24);
117
+ i0.ɵɵelementStart(0, "cal-event-dialog", 23);
119
118
  i0.ɵɵlistener("setDraft", function CalendarComponent_cal_event_dialog_12_Template_cal_event_dialog_setDraft_0_listener($event) { i0.ɵɵrestoreView(_r12); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.setDraft($event)); })("save", function CalendarComponent_cal_event_dialog_12_Template_cal_event_dialog_save_0_listener() { i0.ɵɵrestoreView(_r12); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.saveDialogFromInput()); })("deleteEvent", function CalendarComponent_cal_event_dialog_12_Template_cal_event_dialog_deleteEvent_0_listener($event) { i0.ɵɵrestoreView(_r12); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.deleteDialog($event)); })("close", function CalendarComponent_cal_event_dialog_12_Template_cal_event_dialog_close_0_listener() { i0.ɵɵrestoreView(_r12); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ctrl.closeDialog()); });
120
119
  i0.ɵɵelementEnd();
121
120
  } if (rf & 2) {
@@ -127,13 +126,20 @@ function CalendarComponent_ng_container_13_ng_container_1_Template(rf, ctx) { if
127
126
  } }
128
127
  function CalendarComponent_ng_container_13_Template(rf, ctx) { if (rf & 1) {
129
128
  i0.ɵɵelementContainerStart(0);
130
- i0.ɵɵtemplate(1, CalendarComponent_ng_container_13_ng_container_1_Template, 1, 0, "ng-container", 23);
129
+ i0.ɵɵtemplate(1, CalendarComponent_ng_container_13_ng_container_1_Template, 1, 0, "ng-container", 22);
131
130
  i0.ɵɵelementContainerEnd();
132
131
  } if (rf & 2) {
133
132
  const ctx_r1 = i0.ɵɵnextContext();
134
133
  i0.ɵɵadvance();
135
134
  i0.ɵɵproperty("ngComponentOutlet", ctx_r1.customDialogComponent)("ngComponentOutletInputs", ctx_r1.eventDialogInputs);
136
135
  } }
136
+ /**
137
+ * Root calendar component: renders header, filters, the active view, and the
138
+ * event dialog, wiring them all to the calendar controller.
139
+ * Dual API: creates + owns a controller from `store`/`config`/`rules` (STANDALONE)
140
+ * unless a `controller` Input is supplied, in which case it only subscribes to it
141
+ * (BOUND — the host owns lifecycle and reconfiguration).
142
+ */
137
143
  export class CalendarComponent {
138
144
  eventRenderService;
139
145
  zone;
@@ -151,6 +157,9 @@ export class CalendarComponent {
151
157
  dir;
152
158
  showCategoryFilter = false;
153
159
  showResourceFilter = false;
160
+ /** Show the undo/redo button pair in the header (default true). UI-only — the
161
+ * controller's undo()/redo() and the keyboard shortcuts stay active when hidden. */
162
+ showUndoRedo = true;
154
163
  customViews;
155
164
  eventDialog = { kind: 'builtin' };
156
165
  onEventClick;
@@ -158,9 +167,15 @@ export class CalendarComponent {
158
167
  /** OBSERVE hook: fires when the SELECTED EVENT changes (state, including clears)
159
168
  * — a SEPARATE concern from the `none`-mode delegation callbacks. */
160
169
  onSelectionChange;
161
- /** Controller error channel: domain rejections surface as toasts; any other
162
- * error (e.g. ConcurrencyError) is passed here instead of rejecting. */
170
+ /** Controller error channel (ticket-32): EVERY dispatch rejection a domain rule
171
+ * violation, a ConcurrencyError, a storage failure or a bug — is passed here instead
172
+ * of rejecting. No error becomes a toast inside the calendar; presentation is the app's. */
163
173
  onError;
174
+ /** OBSERVE hook: fires when history (undo/redo availability) changes — see
175
+ * {@link CalendarHistoryChange}. The app decides whether to surface a toast. */
176
+ onHistoryChange;
177
+ /** OBSERVE hook: fires with the non-blocking rule warnings for the last mutation. */
178
+ onWarning;
164
179
  /** Template projected after the default content zone of every event. */
165
180
  eventBadgesTpl;
166
181
  /** Template replacing the default content zone of every event. */
@@ -171,6 +186,11 @@ export class CalendarComponent {
171
186
  eventStyle;
172
187
  /** Per-event title override. Return undefined to keep event.title. */
173
188
  eventTitle;
189
+ /** Per-event interaction policy (ticket-19): a PURE function of the event returning
190
+ * which interactions it allows (`draggable`/`resizable`/`editable`/`deletable`, or
191
+ * `locked` for all-off). The controller enforces it AND exposes it so the views drop
192
+ * the matching affordance. Read at controller creation — pass a stable function. */
193
+ eventInteraction;
174
194
  /** STANDALONE only — the bound path leaves the owned controller untouched. */
175
195
  binding;
176
196
  bound = false;
@@ -183,6 +203,7 @@ export class CalendarComponent {
183
203
  get snapshot() { return this.snapshotSig(); }
184
204
  getYear = getYear;
185
205
  getMonth = getMonth;
206
+ monthIndex = monthIndex;
186
207
  /** v0.29 Tastatur: root-scoped keydown → controller (Ctrl/Cmd+Z undo, Escape clears).
187
208
  * Bound via the `.bm-cal` root's `(keydown)` in the template — NOT a window listener
188
209
  * (no document-level routing). Public so the template can call it. */
@@ -223,6 +244,9 @@ export class CalendarComponent {
223
244
  this.eventRenderService.eventClassName = this.eventClassName;
224
245
  this.eventRenderService.eventStyle = this.eventStyle;
225
246
  this.eventRenderService.eventTitle = this.eventTitle;
247
+ // ticket-19: the controller's memoized policy resolver — the leaves' affordance
248
+ // then reads the SAME source the controller enforces on.
249
+ this.eventRenderService.getEventInteraction = this.ctrl.getEventInteraction;
226
250
  }
227
251
  ngOnInit() {
228
252
  // Dual-API (composition contract, F1): a passed `controller` selects the BOUND
@@ -249,12 +273,15 @@ export class CalendarComponent {
249
273
  config: this.config,
250
274
  rules: this.rules,
251
275
  customViews: this.customViews,
276
+ eventInteraction: this.eventInteraction,
252
277
  eventDialogKind: this.eventDialog.kind,
253
278
  onEventClickExternal: (id, rect, inst) => this.onEventClick?.(id, rect, inst),
254
279
  onNewEventRequestedExternal: (date, rect, rid) => this.onNewEventRequested?.(date, rect, rid),
255
280
  // OBSERVE: fires on selection state change (separate from `none` delegation).
256
281
  onSelectionChange: (sel) => this.onSelectionChange?.(sel),
257
282
  onError: (err) => this.onError?.(err),
283
+ onHistoryChange: (change) => this.onHistoryChange?.(change),
284
+ onWarning: (warnings) => this.onWarning?.(warnings),
258
285
  }, this.zone);
259
286
  this.ctrlRef = this.binding.ctrl;
260
287
  this.snapshotSig = this.binding.snapshot;
@@ -364,21 +391,19 @@ export class CalendarComponent {
364
391
  void this.ctrl.dropTimeline(info, ev.date, ev.resourceId);
365
392
  }
366
393
  static ɵfac = function CalendarComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CalendarComponent)(i0.ɵɵdirectiveInject(i1.EventRenderService, 8), i0.ɵɵdirectiveInject(i0.NgZone)); };
367
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CalendarComponent, selectors: [["cal-calendar"]], inputs: { controller: "controller", store: "store", rules: "rules", config: "config", darkMode: "darkMode", dir: "dir", showCategoryFilter: "showCategoryFilter", showResourceFilter: "showResourceFilter", customViews: "customViews", eventDialog: "eventDialog", onEventClick: "onEventClick", onNewEventRequested: "onNewEventRequested", onSelectionChange: "onSelectionChange", onError: "onError", eventBadgesTpl: "eventBadgesTpl", eventContentTpl: "eventContentTpl", eventClassName: "eventClassName", eventStyle: "eventStyle", eventTitle: "eventTitle" }, features: [i0.ɵɵProvidersFeature([EventRenderService]), i0.ɵɵNgOnChangesFeature], decls: 15, vars: 20, consts: [[1, "bm-cal", 3, "keydown"], [3, "prev", "next", "today", "viewChange", "title", "currentView", "viewConfigs", "locale"], [3, "categories", "hiddenCategories", "toggle", 4, "ngIf"], [3, "resources", "hiddenResources", "toggle", 4, "ngIf"], [3, "year", "events", "config", "monthClick", "dayCellClick", 4, "ngIf"], [3, "year", "month", "events", "config", "previewEvent", "expandedMonthDay", "selectedEventId", "selectedInstanceDate", "eventClick", "selectEvent", "clearSelection", "dayCellClick", "dropEvent", "dragOverDate", "hidePreviewEv", "dragEnd", "dragStartEv", "expandMonthCell", "collapseMonthCell", 4, "ngIf"], [3, "currentDate", "events", "config", "previewEvent", "selectedEventId", "selectedInstanceDate", "eventClick", "selectEvent", "clearSelection", "dayCellClick", "dropEvent", "dropTimedEvent", "dragOverDate", "dragOverDateTime", "hidePreviewEv", "dragEnd", "dragStartEv", 4, "ngIf"], [3, "currentDate", "events", "config", "previewEvent", "selectedEventId", "selectedInstanceDate", "eventClick", "selectEvent", "clearSelection", "dayCellClick", "dropTimedEvent", "dragOverDateTime", "hidePreviewEv", "dragEnd", "dragStartEv", 4, "ngIf"], [3, "currentDate", "days", "events", "visibleResources", "config", "previewEvent", "selectedEventId", "selectedInstanceDate", "eventClick", "selectEvent", "clearSelection", "timelineCellClick", "timelineDrop", "dragOverDate", "hidePreviewEv", "dragEnd", "dragStartEv", 4, "ngIf"], [3, "currentDate", "events", "visibleResources", "config", "previewEvent", "selectedEventId", "selectedInstanceDate", "eventClick", "selectEvent", "clearSelection", "resourceCellClick", "resourceDrop", "dragOverDateTime", "hidePreviewEv", "dragEnd", "dragStartEv", 4, "ngIf"], [3, "agenda", "config", "setViewport", "eventClick", "selectEvent", 4, "ngIf"], [4, "ngIf"], [3, "dialog", "config", "history", "setDraft", "save", "deleteEvent", "close", 4, "ngIf"], [3, "undoAction", "dismiss", "lastAction", "locale"], [3, "toggle", "categories", "hiddenCategories"], [3, "toggle", "resources", "hiddenResources"], [3, "monthClick", "dayCellClick", "year", "events", "config"], [3, "eventClick", "selectEvent", "clearSelection", "dayCellClick", "dropEvent", "dragOverDate", "hidePreviewEv", "dragEnd", "dragStartEv", "expandMonthCell", "collapseMonthCell", "year", "month", "events", "config", "previewEvent", "expandedMonthDay", "selectedEventId", "selectedInstanceDate"], [3, "eventClick", "selectEvent", "clearSelection", "dayCellClick", "dropEvent", "dropTimedEvent", "dragOverDate", "dragOverDateTime", "hidePreviewEv", "dragEnd", "dragStartEv", "currentDate", "events", "config", "previewEvent", "selectedEventId", "selectedInstanceDate"], [3, "eventClick", "selectEvent", "clearSelection", "dayCellClick", "dropTimedEvent", "dragOverDateTime", "hidePreviewEv", "dragEnd", "dragStartEv", "currentDate", "events", "config", "previewEvent", "selectedEventId", "selectedInstanceDate"], [3, "eventClick", "selectEvent", "clearSelection", "timelineCellClick", "timelineDrop", "dragOverDate", "hidePreviewEv", "dragEnd", "dragStartEv", "currentDate", "days", "events", "visibleResources", "config", "previewEvent", "selectedEventId", "selectedInstanceDate"], [3, "eventClick", "selectEvent", "clearSelection", "resourceCellClick", "resourceDrop", "dragOverDateTime", "hidePreviewEv", "dragEnd", "dragStartEv", "currentDate", "events", "visibleResources", "config", "previewEvent", "selectedEventId", "selectedInstanceDate"], [3, "eventClick", "selectEvent", "agenda", "config", "setViewport"], [4, "ngComponentOutlet", "ngComponentOutletInputs"], [3, "setDraft", "save", "deleteEvent", "close", "dialog", "config", "history"]], template: function CalendarComponent_Template(rf, ctx) { if (rf & 1) {
394
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CalendarComponent, selectors: [["cal-calendar"]], inputs: { controller: "controller", store: "store", rules: "rules", config: "config", darkMode: "darkMode", dir: "dir", showCategoryFilter: "showCategoryFilter", showResourceFilter: "showResourceFilter", showUndoRedo: "showUndoRedo", customViews: "customViews", eventDialog: "eventDialog", onEventClick: "onEventClick", onNewEventRequested: "onNewEventRequested", onSelectionChange: "onSelectionChange", onError: "onError", onHistoryChange: "onHistoryChange", onWarning: "onWarning", eventBadgesTpl: "eventBadgesTpl", eventContentTpl: "eventContentTpl", eventClassName: "eventClassName", eventStyle: "eventStyle", eventTitle: "eventTitle", eventInteraction: "eventInteraction" }, features: [i0.ɵɵProvidersFeature([EventRenderService]), i0.ɵɵNgOnChangesFeature], decls: 14, vars: 21, consts: [[1, "bm-cal", 3, "keydown"], [3, "prev", "next", "today", "viewChange", "undo", "redo", "title", "currentView", "viewConfigs", "locale", "showUndoRedo", "canUndo", "canRedo"], [3, "categories", "hiddenCategories", "toggle", 4, "ngIf"], [3, "resources", "hiddenResources", "toggle", 4, "ngIf"], [3, "year", "events", "config", "monthClick", "dayCellClick", 4, "ngIf"], [3, "year", "month", "events", "config", "previewEvent", "expandedMonthDay", "selectedEventId", "selectedInstanceDate", "eventClick", "selectEvent", "clearSelection", "dayCellClick", "dropEvent", "dragOverDate", "hidePreviewEv", "dragEnd", "dragStartEv", "expandMonthCell", "collapseMonthCell", 4, "ngIf"], [3, "currentDate", "events", "config", "previewEvent", "selectedEventId", "selectedInstanceDate", "eventClick", "selectEvent", "clearSelection", "dayCellClick", "dropEvent", "dropTimedEvent", "dragOverDate", "dragOverDateTime", "hidePreviewEv", "dragEnd", "dragStartEv", 4, "ngIf"], [3, "currentDate", "events", "config", "previewEvent", "selectedEventId", "selectedInstanceDate", "eventClick", "selectEvent", "clearSelection", "dayCellClick", "dropTimedEvent", "dragOverDateTime", "hidePreviewEv", "dragEnd", "dragStartEv", 4, "ngIf"], [3, "currentDate", "days", "events", "visibleResources", "config", "previewEvent", "selectedEventId", "selectedInstanceDate", "eventClick", "selectEvent", "clearSelection", "timelineCellClick", "timelineDrop", "dragOverDate", "hidePreviewEv", "dragEnd", "dragStartEv", 4, "ngIf"], [3, "currentDate", "events", "visibleResources", "config", "previewEvent", "selectedEventId", "selectedInstanceDate", "eventClick", "selectEvent", "clearSelection", "resourceCellClick", "resourceDrop", "dragOverDateTime", "hidePreviewEv", "dragEnd", "dragStartEv", 4, "ngIf"], [3, "agenda", "config", "setViewport", "eventClick", "selectEvent", 4, "ngIf"], [4, "ngIf"], [3, "dialog", "config", "history", "setDraft", "save", "deleteEvent", "close", 4, "ngIf"], [3, "toggle", "categories", "hiddenCategories"], [3, "toggle", "resources", "hiddenResources"], [3, "monthClick", "dayCellClick", "year", "events", "config"], [3, "eventClick", "selectEvent", "clearSelection", "dayCellClick", "dropEvent", "dragOverDate", "hidePreviewEv", "dragEnd", "dragStartEv", "expandMonthCell", "collapseMonthCell", "year", "month", "events", "config", "previewEvent", "expandedMonthDay", "selectedEventId", "selectedInstanceDate"], [3, "eventClick", "selectEvent", "clearSelection", "dayCellClick", "dropEvent", "dropTimedEvent", "dragOverDate", "dragOverDateTime", "hidePreviewEv", "dragEnd", "dragStartEv", "currentDate", "events", "config", "previewEvent", "selectedEventId", "selectedInstanceDate"], [3, "eventClick", "selectEvent", "clearSelection", "dayCellClick", "dropTimedEvent", "dragOverDateTime", "hidePreviewEv", "dragEnd", "dragStartEv", "currentDate", "events", "config", "previewEvent", "selectedEventId", "selectedInstanceDate"], [3, "eventClick", "selectEvent", "clearSelection", "timelineCellClick", "timelineDrop", "dragOverDate", "hidePreviewEv", "dragEnd", "dragStartEv", "currentDate", "days", "events", "visibleResources", "config", "previewEvent", "selectedEventId", "selectedInstanceDate"], [3, "eventClick", "selectEvent", "clearSelection", "resourceCellClick", "resourceDrop", "dragOverDateTime", "hidePreviewEv", "dragEnd", "dragStartEv", "currentDate", "events", "visibleResources", "config", "previewEvent", "selectedEventId", "selectedInstanceDate"], [3, "eventClick", "selectEvent", "agenda", "config", "setViewport"], [4, "ngComponentOutlet", "ngComponentOutletInputs"], [3, "setDraft", "save", "deleteEvent", "close", "dialog", "config", "history"]], template: function CalendarComponent_Template(rf, ctx) { if (rf & 1) {
368
395
  i0.ɵɵelementStart(0, "div", 0);
369
396
  i0.ɵɵlistener("keydown", function CalendarComponent_Template_div_keydown_0_listener($event) { return ctx.keyHandler($event); });
370
397
  i0.ɵɵelementStart(1, "cal-header", 1);
371
- i0.ɵɵlistener("prev", function CalendarComponent_Template_cal_header_prev_1_listener() { return ctx.ctrl.prev(); })("next", function CalendarComponent_Template_cal_header_next_1_listener() { return ctx.ctrl.next(); })("today", function CalendarComponent_Template_cal_header_today_1_listener() { return ctx.ctrl.today(); })("viewChange", function CalendarComponent_Template_cal_header_viewChange_1_listener($event) { return ctx.handleViewChange($event); });
398
+ i0.ɵɵlistener("prev", function CalendarComponent_Template_cal_header_prev_1_listener() { return ctx.ctrl.prev(); })("next", function CalendarComponent_Template_cal_header_next_1_listener() { return ctx.ctrl.next(); })("today", function CalendarComponent_Template_cal_header_today_1_listener() { return ctx.ctrl.today(); })("viewChange", function CalendarComponent_Template_cal_header_viewChange_1_listener($event) { return ctx.handleViewChange($event); })("undo", function CalendarComponent_Template_cal_header_undo_1_listener() { return ctx.ctrl.voidUndo(); })("redo", function CalendarComponent_Template_cal_header_redo_1_listener() { return ctx.ctrl.voidRedo(); });
372
399
  i0.ɵɵelementEnd();
373
400
  i0.ɵɵtemplate(2, CalendarComponent_cal_category_filter_2_Template, 1, 2, "cal-category-filter", 2)(3, CalendarComponent_cal_resource_filter_3_Template, 1, 2, "cal-resource-filter", 3)(4, CalendarComponent_cal_year_view_4_Template, 1, 3, "cal-year-view", 4)(5, CalendarComponent_cal_month_view_5_Template, 1, 8, "cal-month-view", 5)(6, CalendarComponent_cal_week_view_6_Template, 1, 6, "cal-week-view", 6)(7, CalendarComponent_cal_day_view_7_Template, 1, 6, "cal-day-view", 7)(8, CalendarComponent_cal_timeline_view_8_Template, 1, 8, "cal-timeline-view", 8)(9, CalendarComponent_cal_resource_view_9_Template, 1, 7, "cal-resource-view", 9)(10, CalendarComponent_cal_agenda_view_10_Template, 1, 3, "cal-agenda-view", 10)(11, CalendarComponent_ng_container_11_Template, 2, 2, "ng-container", 11)(12, CalendarComponent_cal_event_dialog_12_Template, 1, 3, "cal-event-dialog", 12)(13, CalendarComponent_ng_container_13_Template, 2, 2, "ng-container", 11);
374
- i0.ɵɵelementStart(14, "cal-undo-toast", 13);
375
- i0.ɵɵlistener("undoAction", function CalendarComponent_Template_cal_undo_toast_undoAction_14_listener($event) { return ctx.ctrl.undo($event); })("dismiss", function CalendarComponent_Template_cal_undo_toast_dismiss_14_listener() { return ctx.ctrl.dismissUndo(); });
376
- i0.ɵɵelementEnd()();
401
+ i0.ɵɵelementEnd();
377
402
  } if (rf & 2) {
378
403
  let tmp_1_0;
379
404
  i0.ɵɵattribute("data-theme", ctx.darkMode ? "dark" : null)("dir", (tmp_1_0 = ctx.dir) !== null && tmp_1_0 !== undefined ? tmp_1_0 : null);
380
405
  i0.ɵɵadvance();
381
- i0.ɵɵproperty("title", ctx.snapshot.title)("currentView", ctx.snapshot.currentView)("viewConfigs", ctx.viewConfigList)("locale", ctx.mergedConfig.locale);
406
+ i0.ɵɵproperty("title", ctx.snapshot.title)("currentView", ctx.snapshot.currentView)("viewConfigs", ctx.viewConfigList)("locale", ctx.mergedConfig.locale)("showUndoRedo", ctx.showUndoRedo)("canUndo", ctx.snapshot.canUndo)("canRedo", ctx.snapshot.canRedo);
382
407
  i0.ɵɵadvance();
383
408
  i0.ɵɵproperty("ngIf", ctx.showCategoryFilter && ctx.mergedConfig.categories.length > 0);
384
409
  i0.ɵɵadvance();
@@ -403,10 +428,8 @@ export class CalendarComponent {
403
428
  i0.ɵɵproperty("ngIf", ctx.snapshot.dialog && ctx.eventDialog.kind === "builtin");
404
429
  i0.ɵɵadvance();
405
430
  i0.ɵɵproperty("ngIf", ctx.snapshot.dialog && ctx.eventDialog.kind === "custom");
406
- i0.ɵɵadvance();
407
- i0.ɵɵproperty("lastAction", ctx.snapshot.lastAction)("locale", ctx.mergedConfig.locale);
408
431
  } }, dependencies: [CommonModule, i2.NgComponentOutlet, i2.NgIf, CalendarHeaderComponent, CategoryFilterComponent, ResourceFilterComponent,
409
- EventDialogComponent, UndoToastComponent,
432
+ EventDialogComponent,
410
433
  MonthViewComponent, WeekViewComponent, DayViewComponent, AgendaViewComponent,
411
434
  YearViewComponent, ResourceViewComponent, TimelineViewComponent], encapsulation: 2 });
412
435
  }
@@ -418,7 +441,7 @@ export class CalendarComponent {
418
441
  imports: [
419
442
  CommonModule,
420
443
  CalendarHeaderComponent, CategoryFilterComponent, ResourceFilterComponent,
421
- EventDialogComponent, UndoToastComponent,
444
+ EventDialogComponent,
422
445
  MonthViewComponent, WeekViewComponent, DayViewComponent, AgendaViewComponent,
423
446
  YearViewComponent, ResourceViewComponent, TimelineViewComponent,
424
447
  ],
@@ -429,10 +452,15 @@ export class CalendarComponent {
429
452
  [currentView]="snapshot.currentView"
430
453
  [viewConfigs]="viewConfigList"
431
454
  [locale]="mergedConfig.locale"
455
+ [showUndoRedo]="showUndoRedo"
456
+ [canUndo]="snapshot.canUndo"
457
+ [canRedo]="snapshot.canRedo"
432
458
  (prev)="ctrl.prev()"
433
459
  (next)="ctrl.next()"
434
460
  (today)="ctrl.today()"
435
- (viewChange)="handleViewChange($event)">
461
+ (viewChange)="handleViewChange($event)"
462
+ (undo)="ctrl.voidUndo()"
463
+ (redo)="ctrl.voidRedo()">
436
464
  </cal-header>
437
465
 
438
466
  <cal-category-filter *ngIf="showCategoryFilter && mergedConfig.categories.length > 0"
@@ -454,7 +482,7 @@ export class CalendarComponent {
454
482
  </cal-year-view>
455
483
 
456
484
  <cal-month-view *ngIf="snapshot.currentView === 'month'"
457
- [year]="getYear(snapshot.currentDate)" [month]="getMonth(snapshot.currentDate)"
485
+ [year]="getYear(snapshot.currentDate)" [month]="monthIndex(getMonth(snapshot.currentDate))"
458
486
  [events]="filteredEvents" [config]="mergedConfig" [previewEvent]="snapshot.previewEvent"
459
487
  [expandedMonthDay]="snapshot.expandedMonthDay"
460
488
  [selectedEventId]="selectedEventId" [selectedInstanceDate]="selectedInstanceDate"
@@ -560,13 +588,6 @@ export class CalendarComponent {
560
588
  <ng-container *ngIf="snapshot.dialog && eventDialog.kind === 'custom'">
561
589
  <ng-container *ngComponentOutlet="customDialogComponent; inputs: eventDialogInputs"></ng-container>
562
590
  </ng-container>
563
-
564
- <cal-undo-toast
565
- [lastAction]="snapshot.lastAction"
566
- [locale]="mergedConfig.locale"
567
- (undoAction)="ctrl.undo($event)"
568
- (dismiss)="ctrl.dismissUndo()">
569
- </cal-undo-toast>
570
591
  </div>
571
592
  `,
572
593
  providers: [EventRenderService],
@@ -589,6 +610,8 @@ export class CalendarComponent {
589
610
  type: Input
590
611
  }], showResourceFilter: [{
591
612
  type: Input
613
+ }], showUndoRedo: [{
614
+ type: Input
592
615
  }], customViews: [{
593
616
  type: Input
594
617
  }], eventDialog: [{
@@ -601,6 +624,10 @@ export class CalendarComponent {
601
624
  type: Input
602
625
  }], onError: [{
603
626
  type: Input
627
+ }], onHistoryChange: [{
628
+ type: Input
629
+ }], onWarning: [{
630
+ type: Input
604
631
  }], eventBadgesTpl: [{
605
632
  type: Input
606
633
  }], eventContentTpl: [{
@@ -611,6 +638,8 @@ export class CalendarComponent {
611
638
  type: Input
612
639
  }], eventTitle: [{
613
640
  type: Input
641
+ }], eventInteraction: [{
642
+ type: Input
614
643
  }] }); })();
615
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CalendarComponent, { className: "CalendarComponent", filePath: "components/calendar.ts", lineNumber: 192 }); })();
644
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CalendarComponent, { className: "CalendarComponent", filePath: "components/calendar.ts", lineNumber: 196 }); })();
616
645
  //# sourceMappingURL=Calendar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Calendar.js","sourceRoot":"","sources":["../../src/components/Calendar.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Calendar.js","sourceRoot":"","sources":["../../src/components/Calendar.ts"],"names":[],"mappings":"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"}
@@ -2,16 +2,24 @@ import { EventEmitter } from '@angular/core';
2
2
  import type { ViewType } from '@bimetal/calendar-core';
3
3
  import type { ViewConfig, CalendarLocale } from '../binding/index.js';
4
4
  import * as i0 from "@angular/core";
5
+ /** Header bar: title, view-switcher tabs, and prev/today/next navigation buttons. */
5
6
  export declare class CalendarHeaderComponent {
6
7
  title: string;
7
8
  currentView: ViewType;
8
9
  viewConfigs: ViewConfig[];
9
10
  locale: CalendarLocale;
11
+ /** Undo/redo affordance — view-independent (the header is the same across all views).
12
+ * Hidden when `showUndoRedo` is false; keyboard + controller stay active regardless. */
13
+ showUndoRedo: boolean;
14
+ canUndo: boolean;
15
+ canRedo: boolean;
10
16
  prev: EventEmitter<void>;
11
17
  next: EventEmitter<void>;
12
18
  today: EventEmitter<void>;
13
19
  viewChange: EventEmitter<ViewType>;
20
+ undo: EventEmitter<void>;
21
+ redo: EventEmitter<void>;
14
22
  static ɵfac: i0.ɵɵFactoryDeclaration<CalendarHeaderComponent, never>;
15
- static ɵcmp: i0.ɵɵComponentDeclaration<CalendarHeaderComponent, "cal-header", never, { "title": { "alias": "title"; "required": false; }; "currentView": { "alias": "currentView"; "required": false; }; "viewConfigs": { "alias": "viewConfigs"; "required": false; }; "locale": { "alias": "locale"; "required": false; }; }, { "prev": "prev"; "next": "next"; "today": "today"; "viewChange": "viewChange"; }, never, never, true, never>;
23
+ static ɵcmp: i0.ɵɵComponentDeclaration<CalendarHeaderComponent, "cal-header", never, { "title": { "alias": "title"; "required": false; }; "currentView": { "alias": "currentView"; "required": false; }; "viewConfigs": { "alias": "viewConfigs"; "required": false; }; "locale": { "alias": "locale"; "required": false; }; "showUndoRedo": { "alias": "showUndoRedo"; "required": false; }; "canUndo": { "alias": "canUndo"; "required": false; }; "canRedo": { "alias": "canRedo"; "required": false; }; }, { "prev": "prev"; "next": "next"; "today": "today"; "viewChange": "viewChange"; "undo": "undo"; "redo": "redo"; }, never, never, true, never>;
16
24
  }
17
25
  //# sourceMappingURL=CalendarHeader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarHeader.d.ts","sourceRoot":"","sources":["../../src/components/CalendarHeader.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,YAAY,EAAE,MAAM,eAAe,CAAC;AAEvE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;;AAEtE,qBAyBa,uBAAuB;IACzB,KAAK,SAAM;IACX,WAAW,EAAE,QAAQ,CAAW;IAChC,WAAW,EAAE,UAAU,EAAE,CAAM;IAC/B,MAAM,EAAG,cAAc,CAAC;IACvB,IAAI,qBAA4B;IAChC,IAAI,qBAA4B;IAChC,KAAK,qBAA4B;IACjC,UAAU,yBAAgC;yCARzC,uBAAuB;2CAAvB,uBAAuB;CASnC"}
1
+ {"version":3,"file":"CalendarHeader.d.ts","sourceRoot":"","sources":["../../src/components/CalendarHeader.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,YAAY,EAAE,MAAM,eAAe,CAAC;AAEvE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;;AAEtE,qFAAqF;AACrF,qBA+Ba,uBAAuB;IACzB,KAAK,SAAM;IACX,WAAW,EAAE,QAAQ,CAAW;IAChC,WAAW,EAAE,UAAU,EAAE,CAAM;IAC/B,MAAM,EAAG,cAAc,CAAC;IACjC;6FACyF;IAChF,YAAY,UAAQ;IACpB,OAAO,UAAS;IAChB,OAAO,UAAS;IACf,IAAI,qBAA4B;IAChC,IAAI,qBAA4B;IAChC,KAAK,qBAA4B;IACjC,UAAU,yBAAgC;IAC1C,IAAI,qBAA4B;IAChC,IAAI,qBAA4B;yCAf/B,uBAAuB;2CAAvB,uBAAuB;CAgBnC"}
@@ -4,7 +4,7 @@ import * as i0 from "@angular/core";
4
4
  import * as i1 from "@angular/common";
5
5
  function CalendarHeaderComponent_button_5_Template(rf, ctx) { if (rf & 1) {
6
6
  const _r1 = i0.ɵɵgetCurrentView();
7
- i0.ɵɵelementStart(0, "button", 8);
7
+ i0.ɵɵelementStart(0, "button", 9);
8
8
  i0.ɵɵlistener("click", function CalendarHeaderComponent_button_5_Template_button_click_0_listener() { const vc_r2 = i0.ɵɵrestoreView(_r1).$implicit; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.viewChange.emit(vc_r2.type)); });
9
9
  i0.ɵɵtext(1);
10
10
  i0.ɵɵelementEnd();
@@ -15,40 +15,70 @@ function CalendarHeaderComponent_button_5_Template(rf, ctx) { if (rf & 1) {
15
15
  i0.ɵɵadvance();
16
16
  i0.ɵɵtextInterpolate1(" ", vc_r2.label, " ");
17
17
  } }
18
+ function CalendarHeaderComponent_Conditional_6_Template(rf, ctx) { if (rf & 1) {
19
+ const _r4 = i0.ɵɵgetCurrentView();
20
+ i0.ɵɵelementStart(0, "div", 5)(1, "button", 10);
21
+ i0.ɵɵlistener("click", function CalendarHeaderComponent_Conditional_6_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r4); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.undo.emit()); });
22
+ i0.ɵɵtext(2, "\u21B6");
23
+ i0.ɵɵelementEnd();
24
+ i0.ɵɵelementStart(3, "button", 11);
25
+ i0.ɵɵlistener("click", function CalendarHeaderComponent_Conditional_6_Template_button_click_3_listener() { i0.ɵɵrestoreView(_r4); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.redo.emit()); });
26
+ i0.ɵɵtext(4, "\u21B7");
27
+ i0.ɵɵelementEnd()();
28
+ } if (rf & 2) {
29
+ const ctx_r2 = i0.ɵɵnextContext();
30
+ i0.ɵɵadvance();
31
+ i0.ɵɵproperty("disabled", !ctx_r2.canUndo);
32
+ i0.ɵɵattribute("aria-label", ctx_r2.locale.undo)("title", ctx_r2.locale.undo);
33
+ i0.ɵɵadvance(2);
34
+ i0.ɵɵproperty("disabled", !ctx_r2.canRedo);
35
+ i0.ɵɵattribute("aria-label", ctx_r2.locale.redo)("title", ctx_r2.locale.redo);
36
+ } }
37
+ /** Header bar: title, view-switcher tabs, and prev/today/next navigation buttons. */
18
38
  export class CalendarHeaderComponent {
19
39
  title = '';
20
40
  currentView = 'month';
21
41
  viewConfigs = [];
22
42
  locale;
43
+ /** Undo/redo affordance — view-independent (the header is the same across all views).
44
+ * Hidden when `showUndoRedo` is false; keyboard + controller stay active regardless. */
45
+ showUndoRedo = true;
46
+ canUndo = false;
47
+ canRedo = false;
23
48
  prev = new EventEmitter();
24
49
  next = new EventEmitter();
25
50
  today = new EventEmitter();
26
51
  viewChange = new EventEmitter();
52
+ undo = new EventEmitter();
53
+ redo = new EventEmitter();
27
54
  static ɵfac = function CalendarHeaderComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CalendarHeaderComponent)(); };
28
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CalendarHeaderComponent, selectors: [["cal-header"]], hostAttrs: [2, "display", "contents"], inputs: { title: "title", currentView: "currentView", viewConfigs: "viewConfigs", locale: "locale" }, outputs: { prev: "prev", next: "next", today: "today", viewChange: "viewChange" }, decls: 13, vars: 5, consts: [[1, "bm-cal__header"], [1, "bm-cal__month-title"], [1, "bm-cal__header-controls"], [1, "bm-cal__view-switcher"], [3, "class", "click", 4, "ngFor", "ngForOf"], [1, "bm-cal__nav-controls"], [1, "bm-cal__nav", 3, "click"], [1, "bm-cal__today-btn", 3, "click"], [3, "click"]], template: function CalendarHeaderComponent_Template(rf, ctx) { if (rf & 1) {
55
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CalendarHeaderComponent, selectors: [["cal-header"]], hostAttrs: [2, "display", "contents"], inputs: { title: "title", currentView: "currentView", viewConfigs: "viewConfigs", locale: "locale", showUndoRedo: "showUndoRedo", canUndo: "canUndo", canRedo: "canRedo" }, outputs: { prev: "prev", next: "next", today: "today", viewChange: "viewChange", undo: "undo", redo: "redo" }, decls: 14, vars: 6, consts: [[1, "bm-cal__header"], [1, "bm-cal__month-title"], [1, "bm-cal__header-controls"], [1, "bm-cal__view-switcher"], [3, "class", "click", 4, "ngFor", "ngForOf"], [1, "bm-cal__undo-controls"], [1, "bm-cal__nav-controls"], [1, "bm-cal__nav", 3, "click"], [1, "bm-cal__today-btn", 3, "click"], [3, "click"], [1, "bm-cal__nav", "bm-cal__nav--undo", 3, "click", "disabled"], [1, "bm-cal__nav", "bm-cal__nav--redo", 3, "click", "disabled"]], template: function CalendarHeaderComponent_Template(rf, ctx) { if (rf & 1) {
29
56
  i0.ɵɵelementStart(0, "div", 0)(1, "h1", 1);
30
57
  i0.ɵɵtext(2);
31
58
  i0.ɵɵelementEnd();
32
59
  i0.ɵɵelementStart(3, "div", 2)(4, "div", 3);
33
60
  i0.ɵɵtemplate(5, CalendarHeaderComponent_button_5_Template, 2, 3, "button", 4);
34
61
  i0.ɵɵelementEnd();
35
- i0.ɵɵelementStart(6, "div", 5)(7, "button", 6);
36
- i0.ɵɵlistener("click", function CalendarHeaderComponent_Template_button_click_7_listener() { return ctx.prev.emit(); });
37
- i0.ɵɵtext(8, "\u2039");
62
+ i0.ɵɵtemplate(6, CalendarHeaderComponent_Conditional_6_Template, 5, 6, "div", 5);
63
+ i0.ɵɵelementStart(7, "div", 6)(8, "button", 7);
64
+ i0.ɵɵlistener("click", function CalendarHeaderComponent_Template_button_click_8_listener() { return ctx.prev.emit(); });
65
+ i0.ɵɵtext(9, "\u2039");
38
66
  i0.ɵɵelementEnd();
39
- i0.ɵɵelementStart(9, "button", 7);
40
- i0.ɵɵlistener("click", function CalendarHeaderComponent_Template_button_click_9_listener() { return ctx.today.emit(); });
41
- i0.ɵɵtext(10);
67
+ i0.ɵɵelementStart(10, "button", 8);
68
+ i0.ɵɵlistener("click", function CalendarHeaderComponent_Template_button_click_10_listener() { return ctx.today.emit(); });
69
+ i0.ɵɵtext(11);
42
70
  i0.ɵɵelementEnd();
43
- i0.ɵɵelementStart(11, "button", 6);
44
- i0.ɵɵlistener("click", function CalendarHeaderComponent_Template_button_click_11_listener() { return ctx.next.emit(); });
45
- i0.ɵɵtext(12, "\u203A");
71
+ i0.ɵɵelementStart(12, "button", 7);
72
+ i0.ɵɵlistener("click", function CalendarHeaderComponent_Template_button_click_12_listener() { return ctx.next.emit(); });
73
+ i0.ɵɵtext(13, "\u203A");
46
74
  i0.ɵɵelementEnd()()()();
47
75
  } if (rf & 2) {
48
76
  i0.ɵɵadvance(2);
49
77
  i0.ɵɵtextInterpolate(ctx.title);
50
78
  i0.ɵɵadvance(3);
51
79
  i0.ɵɵproperty("ngForOf", ctx.viewConfigs);
80
+ i0.ɵɵadvance();
81
+ i0.ɵɵconditional(ctx.showUndoRedo ? 6 : -1);
52
82
  i0.ɵɵadvance(2);
53
83
  i0.ɵɵattribute("aria-label", ctx.locale.prev);
54
84
  i0.ɵɵadvance(3);
@@ -75,6 +105,12 @@ export class CalendarHeaderComponent {
75
105
  {{ vc.label }}
76
106
  </button>
77
107
  </div>
108
+ @if (showUndoRedo) {
109
+ <div class="bm-cal__undo-controls">
110
+ <button class="bm-cal__nav bm-cal__nav--undo" [attr.aria-label]="locale.undo" [attr.title]="locale.undo" [disabled]="!canUndo" (click)="undo.emit()">↶</button>
111
+ <button class="bm-cal__nav bm-cal__nav--redo" [attr.aria-label]="locale.redo" [attr.title]="locale.redo" [disabled]="!canRedo" (click)="redo.emit()">↷</button>
112
+ </div>
113
+ }
78
114
  <div class="bm-cal__nav-controls">
79
115
  <button class="bm-cal__nav" [attr.aria-label]="locale.prev" (click)="prev.emit()">&lsaquo;</button>
80
116
  <button class="bm-cal__today-btn" (click)="today.emit()">{{ locale.today }}</button>
@@ -92,6 +128,12 @@ export class CalendarHeaderComponent {
92
128
  type: Input
93
129
  }], locale: [{
94
130
  type: Input
131
+ }], showUndoRedo: [{
132
+ type: Input
133
+ }], canUndo: [{
134
+ type: Input
135
+ }], canRedo: [{
136
+ type: Input
95
137
  }], prev: [{
96
138
  type: Output
97
139
  }], next: [{
@@ -100,6 +142,10 @@ export class CalendarHeaderComponent {
100
142
  type: Output
101
143
  }], viewChange: [{
102
144
  type: Output
145
+ }], undo: [{
146
+ type: Output
147
+ }], redo: [{
148
+ type: Output
103
149
  }] }); })();
104
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CalendarHeaderComponent, { className: "CalendarHeaderComponent", filePath: "components/calendarheader.ts", lineNumber: 31 }); })();
150
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CalendarHeaderComponent, { className: "CalendarHeaderComponent", filePath: "components/calendarheader.ts", lineNumber: 38 }); })();
105
151
  //# sourceMappingURL=CalendarHeader.js.map