@bimetal/calendar-angular-components 1.0.0-rc.2 → 1.0.0-rc.3

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 (52) hide show
  1. package/dist/binding/index.d.ts +1 -1
  2. package/dist/binding/index.d.ts.map +1 -1
  3. package/dist/binding/index.js.map +1 -1
  4. package/dist/binding/services/event-render.service.d.ts +9 -0
  5. package/dist/binding/services/event-render.service.d.ts.map +1 -1
  6. package/dist/binding/services/event-render.service.js +11 -0
  7. package/dist/binding/services/event-render.service.js.map +1 -1
  8. package/dist/components/Calendar.d.ts +12 -3
  9. package/dist/components/Calendar.d.ts.map +1 -1
  10. package/dist/components/Calendar.js +33 -12
  11. package/dist/components/Calendar.js.map +1 -1
  12. package/dist/components/CalendarHeader.d.ts +8 -1
  13. package/dist/components/CalendarHeader.d.ts.map +1 -1
  14. package/dist/components/CalendarHeader.js +57 -12
  15. package/dist/components/CalendarHeader.js.map +1 -1
  16. package/dist/components/EventBar.d.ts +4 -0
  17. package/dist/components/EventBar.d.ts.map +1 -1
  18. package/dist/components/EventBar.js +27 -12
  19. package/dist/components/EventBar.js.map +1 -1
  20. package/dist/components/UndoToast.d.ts +9 -6
  21. package/dist/components/UndoToast.d.ts.map +1 -1
  22. package/dist/components/UndoToast.js +16 -28
  23. package/dist/components/UndoToast.js.map +1 -1
  24. package/dist/views/agenda/AgendaView.d.ts +1 -0
  25. package/dist/views/agenda/AgendaView.d.ts.map +1 -1
  26. package/dist/views/agenda/AgendaView.js +9 -2
  27. package/dist/views/agenda/AgendaView.js.map +1 -1
  28. package/dist/views/month/MonthView.d.ts +3 -1
  29. package/dist/views/month/MonthView.d.ts.map +1 -1
  30. package/dist/views/month/MonthView.js +6 -5
  31. package/dist/views/month/MonthView.js.map +1 -1
  32. package/dist/views/month/WeekRow.d.ts +4 -0
  33. package/dist/views/month/WeekRow.d.ts.map +1 -1
  34. package/dist/views/month/WeekRow.js +38 -11
  35. package/dist/views/month/WeekRow.js.map +1 -1
  36. package/dist/views/week/AllDayRow.d.ts +1 -0
  37. package/dist/views/week/AllDayRow.d.ts.map +1 -1
  38. package/dist/views/week/AllDayRow.js +10 -4
  39. package/dist/views/week/AllDayRow.js.map +1 -1
  40. package/dist/views/week/TimeEvent.d.ts +4 -0
  41. package/dist/views/week/TimeEvent.d.ts.map +1 -1
  42. package/dist/views/week/TimeEvent.js +22 -8
  43. package/dist/views/week/TimeEvent.js.map +1 -1
  44. package/dist/views/week/WeekView.d.ts +4 -0
  45. package/dist/views/week/WeekView.d.ts.map +1 -1
  46. package/dist/views/week/WeekView.js +11 -3
  47. package/dist/views/week/WeekView.js.map +1 -1
  48. package/dist/views/year/YearView.d.ts +4 -4
  49. package/dist/views/year/YearView.d.ts.map +1 -1
  50. package/dist/views/year/YearView.js +3 -3
  51. package/dist/views/year/YearView.js.map +1 -1
  52. package/package.json +9 -9
@@ -10,7 +10,7 @@
10
10
  export { createCalendarControllerBinding } from './controller.js';
11
11
  export type { CalendarControllerBinding } from './controller.js';
12
12
  export { createCalendarController } from '@bimetal/calendar-headless';
13
- export type { CalendarController, CalendarControllerOptions, CalendarControllerSnapshot, CustomViewSpec, SelectionState, } from '@bimetal/calendar-headless';
13
+ export type { CalendarController, CalendarControllerOptions, EventInteractionPolicy, ResolvedEventInteraction, CalendarControllerSnapshot, CustomViewSpec, SelectionState, } from '@bimetal/calendar-headless';
14
14
  export { EventRenderService } from './services/event-render.service.js';
15
15
  export type { CalendarConfig, CalendarConfigInput, CalendarLocale, Category, ViewConfig, AnchorRect, CustomViewDefinition, CustomViewInputs, EventDialogInputs, EventDialogMode, EventRenderContext, EventRenderTemplateContext, EventRenderTemplate, EventClassNameFn, EventStyleFn, EventTitleFn, } from './types.js';
16
16
  export type { DragPreview, DragInfo } from '@bimetal/calendar-headless';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/binding/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,+BAA+B,EAAE,MAAM,iBAAiB,CAAC;AAClE,YAAY,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAGjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,YAAY,EACV,kBAAkB,EAClB,yBAAyB,EACzB,0BAA0B,EAC1B,cAAc,EACd,cAAc,GACf,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAGxE,YAAY,EACV,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,QAAQ,EACR,UAAU,EACV,UAAU,EACV,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAClB,0BAA0B,EAC1B,mBAAmB,EACnB,gBAAgB,EAChB,YAAY,EACZ,YAAY,GACb,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,SAAS,EAAE,iBAAiB,EAAE,aAAa,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AAChL,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAGxF,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACxF,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAGtD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/binding/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,+BAA+B,EAAE,MAAM,iBAAiB,CAAC;AAClE,YAAY,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAGjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,YAAY,EACV,kBAAkB,EAClB,yBAAyB,EACzB,sBAAsB,EACtB,wBAAwB,EACxB,0BAA0B,EAC1B,cAAc,EACd,cAAc,GACf,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAGxE,YAAY,EACV,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,QAAQ,EACR,UAAU,EACV,UAAU,EACV,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAClB,0BAA0B,EAC1B,mBAAmB,EACnB,gBAAgB,EAChB,YAAY,EACZ,YAAY,GACb,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,SAAS,EAAE,iBAAiB,EAAE,aAAa,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AAChL,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAGxF,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACxF,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAGtD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/binding/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,kEAAkE;AAClE,OAAO,EAAE,+BAA+B,EAAE,MAAM,iBAAiB,CAAC;AAGlE,mEAAmE;AACnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAStE,kEAAkE;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAsBxE,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,SAAS,EAAE,iBAAiB,EAAE,aAAa,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AAChL,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAExF,mEAAmE;AACnE,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACxF,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,mEAAmE;AACnE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/binding/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,kEAAkE;AAClE,OAAO,EAAE,+BAA+B,EAAE,MAAM,iBAAiB,CAAC;AAGlE,mEAAmE;AACnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAWtE,kEAAkE;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAsBxE,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,SAAS,EAAE,iBAAiB,EAAE,aAAa,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AAChL,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAExF,mEAAmE;AACnE,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACxF,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,mEAAmE;AACnE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { type TemplateRef } from '@angular/core';
2
2
  import type { CalendarEvent, ViewType } from '@bimetal/calendar-core';
3
+ import type { ResolvedEventInteraction } from '@bimetal/calendar-headless';
3
4
  import type { EventClassNameFn, EventRenderContext, EventRenderTemplateContext, EventStyleFn, EventTitleFn } from '../types.js';
4
5
  import * as i0 from "@angular/core";
5
6
  /**
@@ -21,6 +22,14 @@ export declare class EventRenderService {
21
22
  eventClassName?: EventClassNameFn;
22
23
  eventStyle?: EventStyleFn;
23
24
  eventTitle?: EventTitleFn;
25
+ /**
26
+ * Per-event interaction resolver (ticket-19) — the controller's memoized
27
+ * `getEventInteraction`, written by Calendar. Leaf render sites read it so the
28
+ * affordance reflects the SAME source the controller enforces on.
29
+ */
30
+ getEventInteraction?: (event: CalendarEvent) => ResolvedEventInteraction;
31
+ /** Resolve the interaction policy; fully interactive when no resolver is set. */
32
+ resolveInteraction(event: CalendarEvent): ResolvedEventInteraction;
24
33
  /**
25
34
  * Compute the render context for an event: which view, and which instance
26
35
  * (for recurring events).
@@ -1 +1 @@
1
- {"version":3,"file":"event-render.service.d.ts","sourceRoot":"","sources":["../../../src/binding/services/event-render.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAoB,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAExF,OAAO,KAAK,EACV,gBAAgB,EAChB,kBAAkB,EAClB,0BAA0B,EAC1B,YAAY,EACZ,YAAY,EACb,MAAM,aAAa,CAAC;;AAErB;;;;;;;;;;GAUG;AACH,qBACa,kBAAkB;IAC7B,mFAAmF;IACnF,IAAI,EAAE,QAAQ,CAAW;IAEzB,cAAc,CAAC,EAAE,WAAW,CAAC,0BAA0B,CAAC,CAAC;IACzD,eAAe,CAAC,EAAE,WAAW,CAAC,0BAA0B,CAAC,CAAC;IAC1D,cAAc,CAAC,EAAE,gBAAgB,CAAC;IAClC,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,UAAU,CAAC,EAAE,YAAY,CAAC;IAE1B;;;OAGG;IACH,YAAY,CAAC,KAAK,EAAE,aAAa,GAAG,kBAAkB;IAStD,+DAA+D;IAC/D,YAAY,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM;IAK1C,qEAAqE;IACrE,gBAAgB,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM;IAI9C,sDAAsD;IACtD,YAAY,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,SAAS;IAI/E,kEAAkE;IAClE,oBAAoB,CAAC,KAAK,EAAE,aAAa,GAAG,0BAA0B;yCAxC3D,kBAAkB;6CAAlB,kBAAkB;CA4C9B"}
1
+ {"version":3,"file":"event-render.service.d.ts","sourceRoot":"","sources":["../../../src/binding/services/event-render.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAoB,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAExF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,KAAK,EACV,gBAAgB,EAChB,kBAAkB,EAClB,0BAA0B,EAC1B,YAAY,EACZ,YAAY,EACb,MAAM,aAAa,CAAC;;AAErB;;;;;;;;;;GAUG;AACH,qBACa,kBAAkB;IAC7B,mFAAmF;IACnF,IAAI,EAAE,QAAQ,CAAW;IAEzB,cAAc,CAAC,EAAE,WAAW,CAAC,0BAA0B,CAAC,CAAC;IACzD,eAAe,CAAC,EAAE,WAAW,CAAC,0BAA0B,CAAC,CAAC;IAC1D,cAAc,CAAC,EAAE,gBAAgB,CAAC;IAClC,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,UAAU,CAAC,EAAE,YAAY,CAAC;IAE1B;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,wBAAwB,CAAC;IAEzE,iFAAiF;IACjF,kBAAkB,CAAC,KAAK,EAAE,aAAa,GAAG,wBAAwB;IAKlE;;;OAGG;IACH,YAAY,CAAC,KAAK,EAAE,aAAa,GAAG,kBAAkB;IAStD,+DAA+D;IAC/D,YAAY,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM;IAK1C,qEAAqE;IACrE,gBAAgB,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM;IAI9C,sDAAsD;IACtD,YAAY,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,SAAS;IAI/E,kEAAkE;IAClE,oBAAoB,CAAC,KAAK,EAAE,aAAa,GAAG,0BAA0B;yCArD3D,kBAAkB;6CAAlB,kBAAkB;CAyD9B"}
@@ -20,6 +20,17 @@ export class EventRenderService {
20
20
  eventClassName;
21
21
  eventStyle;
22
22
  eventTitle;
23
+ /**
24
+ * Per-event interaction resolver (ticket-19) — the controller's memoized
25
+ * `getEventInteraction`, written by Calendar. Leaf render sites read it so the
26
+ * affordance reflects the SAME source the controller enforces on.
27
+ */
28
+ getEventInteraction;
29
+ /** Resolve the interaction policy; fully interactive when no resolver is set. */
30
+ resolveInteraction(event) {
31
+ return this.getEventInteraction?.(event)
32
+ ?? { draggable: true, resizable: true, editable: true, deletable: true };
33
+ }
23
34
  /**
24
35
  * Compute the render context for an event: which view, and which instance
25
36
  * (for recurring events).
@@ -1 +1 @@
1
- {"version":3,"file":"event-render.service.js","sourceRoot":"","sources":["../../../src/binding/services/event-render.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAoB,MAAM,eAAe,CAAC;AAE7D,OAAO,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAC;;AASvE;;;;;;;;;;GAUG;AAEH,MAAM,OAAO,kBAAkB;IAC7B,mFAAmF;IACnF,IAAI,GAAa,OAAO,CAAC;IAEzB,cAAc,CAA2C;IACzD,eAAe,CAA2C;IAC1D,cAAc,CAAoB;IAClC,UAAU,CAAgB;IAC1B,UAAU,CAAgB;IAE1B;;;OAGG;IACH,YAAY,CAAC,KAAoB;QAC/B,MAAM,OAAO,GAAG,6BAA6B,CAAC,KAAK,CAAC,CAAC;QACrD,MAAM,YAAY,GAChB,OAAO,KAAK,IAAI;YACd,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,YAAY,EAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE;YAC7E,CAAC,CAAC,SAAS,CAAC;QAChB,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,CAAC;IAC3C,CAAC;IAED,+DAA+D;IAC/D,YAAY,CAAC,KAAoB;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;QACpE,OAAO,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC;IACjC,CAAC;IAED,qEAAqE;IACrE,gBAAgB,CAAC,KAAoB;QACnC,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;IACtE,CAAC;IAED,sDAAsD;IACtD,YAAY,CAAC,KAAoB;QAC/B,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,kEAAkE;IAClE,oBAAoB,CAAC,KAAoB;QACvC,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACrC,OAAO,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;IACnD,CAAC;4GA3CU,kBAAkB;gEAAlB,kBAAkB,WAAlB,kBAAkB;;iFAAlB,kBAAkB;cAD9B,UAAU"}
1
+ {"version":3,"file":"event-render.service.js","sourceRoot":"","sources":["../../../src/binding/services/event-render.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAoB,MAAM,eAAe,CAAC;AAE7D,OAAO,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAC;;AAUvE;;;;;;;;;;GAUG;AAEH,MAAM,OAAO,kBAAkB;IAC7B,mFAAmF;IACnF,IAAI,GAAa,OAAO,CAAC;IAEzB,cAAc,CAA2C;IACzD,eAAe,CAA2C;IAC1D,cAAc,CAAoB;IAClC,UAAU,CAAgB;IAC1B,UAAU,CAAgB;IAE1B;;;;OAIG;IACH,mBAAmB,CAAsD;IAEzE,iFAAiF;IACjF,kBAAkB,CAAC,KAAoB;QACrC,OAAO,IAAI,CAAC,mBAAmB,EAAE,CAAC,KAAK,CAAC;eACnC,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC7E,CAAC;IAED;;;OAGG;IACH,YAAY,CAAC,KAAoB;QAC/B,MAAM,OAAO,GAAG,6BAA6B,CAAC,KAAK,CAAC,CAAC;QACrD,MAAM,YAAY,GAChB,OAAO,KAAK,IAAI;YACd,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,YAAY,EAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE;YAC7E,CAAC,CAAC,SAAS,CAAC;QAChB,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,CAAC;IAC3C,CAAC;IAED,+DAA+D;IAC/D,YAAY,CAAC,KAAoB;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;QACpE,OAAO,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC;IACjC,CAAC;IAED,qEAAqE;IACrE,gBAAgB,CAAC,KAAoB;QACnC,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;IACtE,CAAC;IAED,sDAAsD;IACtD,YAAY,CAAC,KAAoB;QAC/B,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,kEAAkE;IAClE,oBAAoB,CAAC,KAAoB;QACvC,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACrC,OAAO,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;IACnD,CAAC;4GAxDU,kBAAkB;gEAAlB,kBAAkB,WAAlB,kBAAkB;;iFAAlB,kBAAkB;cAD9B,UAAU"}
@@ -1,11 +1,11 @@
1
1
  import { OnInit, OnDestroy, OnChanges, SimpleChanges, NgZone, TemplateRef, type Type } from '@angular/core';
2
2
  import type { CalendarEvent, CalendarDateTime, ViewType, Resource } from '@bimetal/calendar-core';
3
- import { getYear, getMonth } from '@bimetal/calendar-core';
3
+ import { getYear, getMonth, monthIndex } from '@bimetal/calendar-core';
4
4
  import type { CalendarStore } from '@bimetal/calendar-data';
5
5
  import type { CalendarRule } from '@bimetal/calendar-rules';
6
6
  import { type CalendarController, EventRenderService } from '../binding/index.js';
7
7
  import type { CalendarConfig, CalendarConfigInput, ViewConfig, CustomViewDefinition, CustomViewInputs, EventDialogMode, EventDialogInputs, AnchorRect, EventClassNameFn, EventStyleFn, EventTitleFn, EventRenderTemplateContext } from '../binding/index.js';
8
- import type { CalendarControllerSnapshot } from '@bimetal/calendar-headless';
8
+ import type { CalendarControllerSnapshot, EventInteractionPolicy } from '@bimetal/calendar-headless';
9
9
  import * as i0 from "@angular/core";
10
10
  /**
11
11
  * Root calendar component: renders header, filters, the active view, the event
@@ -31,6 +31,9 @@ export declare class CalendarComponent implements OnInit, OnDestroy, OnChanges {
31
31
  dir?: 'ltr' | 'rtl';
32
32
  showCategoryFilter: boolean;
33
33
  showResourceFilter: boolean;
34
+ /** Show the undo/redo button pair in the header (default true). UI-only — the
35
+ * controller's undo()/redo() and the keyboard shortcuts stay active when hidden. */
36
+ showUndoRedo: boolean;
34
37
  customViews?: readonly CustomViewDefinition[];
35
38
  eventDialog: EventDialogMode;
36
39
  onEventClick?: (eventId: string, anchorRect: AnchorRect, instanceDate?: number) => void;
@@ -54,6 +57,11 @@ export declare class CalendarComponent implements OnInit, OnDestroy, OnChanges {
54
57
  eventStyle?: EventStyleFn;
55
58
  /** Per-event title override. Return undefined to keep event.title. */
56
59
  eventTitle?: EventTitleFn;
60
+ /** Per-event interaction policy (ticket-19): a PURE function of the event returning
61
+ * which interactions it allows (`draggable`/`resizable`/`editable`/`deletable`, or
62
+ * `locked` for all-off). The controller enforces it AND exposes it so the views drop
63
+ * the matching affordance. Read at controller creation — pass a stable function. */
64
+ eventInteraction?: (event: CalendarEvent) => EventInteractionPolicy;
57
65
  /** STANDALONE only — the bound path leaves the owned controller untouched. */
58
66
  private binding?;
59
67
  private bound;
@@ -66,6 +74,7 @@ export declare class CalendarComponent implements OnInit, OnDestroy, OnChanges {
66
74
  get snapshot(): CalendarControllerSnapshot;
67
75
  getYear: typeof getYear;
68
76
  getMonth: typeof getMonth;
77
+ monthIndex: typeof monthIndex;
69
78
  /** v0.29 Tastatur: root-scoped keydown → controller (Ctrl/Cmd+Z undo, Escape clears).
70
79
  * Bound via the `.bm-cal` root's `(keydown)` in the template — NOT a window listener
71
80
  * (no document-level routing). Public so the template can call it. */
@@ -137,6 +146,6 @@ export declare class CalendarComponent implements OnInit, OnDestroy, OnChanges {
137
146
  resourceId: string;
138
147
  }): void;
139
148
  static ɵfac: i0.ɵɵFactoryDeclaration<CalendarComponent, [{ optional: true; }, null]>;
140
- static ɵcmp: i0.ɵɵComponentDeclaration<CalendarComponent, "cal-calendar", never, { "controller": { "alias": "controller"; "required": false; }; "store": { "alias": "store"; "required": false; }; "rules": { "alias": "rules"; "required": false; }; "config": { "alias": "config"; "required": false; }; "darkMode": { "alias": "darkMode"; "required": false; }; "dir": { "alias": "dir"; "required": false; }; "showCategoryFilter": { "alias": "showCategoryFilter"; "required": false; }; "showResourceFilter": { "alias": "showResourceFilter"; "required": false; }; "customViews": { "alias": "customViews"; "required": false; }; "eventDialog": { "alias": "eventDialog"; "required": false; }; "onEventClick": { "alias": "onEventClick"; "required": false; }; "onNewEventRequested": { "alias": "onNewEventRequested"; "required": false; }; "onSelectionChange": { "alias": "onSelectionChange"; "required": false; }; "onError": { "alias": "onError"; "required": false; }; "eventBadgesTpl": { "alias": "eventBadgesTpl"; "required": false; }; "eventContentTpl": { "alias": "eventContentTpl"; "required": false; }; "eventClassName": { "alias": "eventClassName"; "required": false; }; "eventStyle": { "alias": "eventStyle"; "required": false; }; "eventTitle": { "alias": "eventTitle"; "required": false; }; }, {}, never, never, true, never>;
149
+ static ɵcmp: i0.ɵɵComponentDeclaration<CalendarComponent, "cal-calendar", never, { "controller": { "alias": "controller"; "required": false; }; "store": { "alias": "store"; "required": false; }; "rules": { "alias": "rules"; "required": false; }; "config": { "alias": "config"; "required": false; }; "darkMode": { "alias": "darkMode"; "required": false; }; "dir": { "alias": "dir"; "required": false; }; "showCategoryFilter": { "alias": "showCategoryFilter"; "required": false; }; "showResourceFilter": { "alias": "showResourceFilter"; "required": false; }; "showUndoRedo": { "alias": "showUndoRedo"; "required": false; }; "customViews": { "alias": "customViews"; "required": false; }; "eventDialog": { "alias": "eventDialog"; "required": false; }; "onEventClick": { "alias": "onEventClick"; "required": false; }; "onNewEventRequested": { "alias": "onNewEventRequested"; "required": false; }; "onSelectionChange": { "alias": "onSelectionChange"; "required": false; }; "onError": { "alias": "onError"; "required": false; }; "eventBadgesTpl": { "alias": "eventBadgesTpl"; "required": false; }; "eventContentTpl": { "alias": "eventContentTpl"; "required": false; }; "eventClassName": { "alias": "eventClassName"; "required": false; }; "eventStyle": { "alias": "eventStyle"; "required": false; }; "eventTitle": { "alias": "eventTitle"; "required": false; }; "eventInteraction": { "alias": "eventInteraction"; "required": false; }; }, {}, never, never, true, never>;
141
150
  }
142
151
  //# sourceMappingURL=Calendar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Calendar.d.ts","sourceRoot":"","sources":["../../src/components/Calendar.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Calendar.d.ts","sourceRoot":"","sources":["../../src/components/Calendar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,EAAiC,KAAK,IAAI,EAAE,MAAM,eAAe,CAAC;AAE7J,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClG,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAG5D,OAAO,EAEL,KAAK,kBAAkB,EACvB,kBAAkB,EACnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EACV,cAAc,EAAE,mBAAmB,EAAE,UAAU,EAAE,oBAAoB,EAAE,gBAAgB,EACvF,eAAe,EAAE,iBAAiB,EAAE,UAAU,EAC9C,gBAAgB,EAAE,YAAY,EAAE,YAAY,EAAE,0BAA0B,EACzE,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,0BAA0B,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;;AAcrG;;;;;;GAMG;AACH,qBAmKa,iBAAkB,YAAW,MAAM,EAAE,SAAS,EAAE,SAAS;IAkErC,kBAAkB,CAAC,EAAE,kBAAkB;IAAE,OAAO,CAAC,IAAI,CAAC;IAjErF;;;;sFAIkF;IACzE,UAAU,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAChD,wEAAwE;IAC/D,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,KAAK,EAAE,YAAY,EAAE,CAAM;IAC3B,MAAM,EAAE,mBAAmB,GAAG,SAAS,CAAC;IACxC,QAAQ,UAAS;IACjB,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IACpB,kBAAkB,UAAS;IAC3B,kBAAkB,UAAS;IACpC;yFACqF;IAC5E,YAAY,UAAQ;IACpB,WAAW,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAC9C,WAAW,EAAE,eAAe,CAAuB;IACnD,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACxF,mBAAmB,CAAC,EAAE,CAAC,WAAW,EAAE,gBAAgB,EAAE,UAAU,EAAE,UAAU,EAAE,iBAAiB,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3H;0EACsE;IAC7D,iBAAiB,CAAC,EAAE,CAAC,aAAa,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,KAAK,IAAI,CAAC;IACxG;6EACyE;IAChE,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1C,wEAAwE;IAC/D,cAAc,CAAC,EAAE,WAAW,CAAC,0BAA0B,CAAC,CAAC;IAClE,kEAAkE;IACzD,eAAe,CAAC,EAAE,WAAW,CAAC,0BAA0B,CAAC,CAAC;IACnE,2EAA2E;IAClE,cAAc,CAAC,EAAE,gBAAgB,CAAC;IAC3C,mEAAmE;IAC1D,UAAU,CAAC,EAAE,YAAY,CAAC;IACnC,sEAAsE;IAC7D,UAAU,CAAC,EAAE,YAAY,CAAC;IACnC;;;yFAGqF;IAC5E,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,sBAAsB,CAAC;IAE7E,8EAA8E;IAC9E,OAAO,CAAC,OAAO,CAAC,CAA4B;IAC5C,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,KAAK,CAAC,CAAa;IAC3B;sEACkE;IAClE,OAAO,CAAC,WAAW,CAAsC;IACzD,OAAO,CAAC,OAAO,CAAsB;IACrC,uEAAuE;IACvE,IAAI,QAAQ,IAAI,0BAA0B,CAA+B;IACzE,OAAO,iBAAW;IAClB,QAAQ,kBAAY;IACpB,UAAU,oBAAc;IAExB;;2EAEuE;IACvE,UAAU,GAAI,GAAG,aAAa,UAG3B;gBAE4B,kBAAkB,CAAC,EAAE,kBAAkB,YAAA,EAAU,IAAI,CAAC,EAAE,MAAM,YAAA;IAE7F,IAAI,IAAI,uBAA2B;IAEnC;;2DAEuD;IACvD,WAAW,GAAI,WAAW,MAAM,EAAE,gBAAgB,MAAM,UAAsD;IAE9G,iFAAiF;IACjF,mBAAmB;IAGnB,IAAI,YAAY,IAAI,cAAc,CAAiC;IAGnE,IAAI,cAAc,IAAI,UAAU,EAAE,CAA8C;IAChF,IAAI,cAAc,IAAI,aAAa,EAAE,CAAsC;IAC3E,IAAI,gBAAgB,IAAI,SAAS,QAAQ,EAAE,CAA2C;IACtF,IAAI,eAAe,IAAI,MAAM,GAAG,IAAI,CAAyD;IAC7F,IAAI,oBAAoB,IAAI,MAAM,GAAG,SAAS,CAAsD;IACpG,IAAI,aAAa,qEAGhB;IAED,OAAO,CAAC,sBAAsB;IAa9B,QAAQ;IAyCR,WAAW,CAAC,OAAO,EAAE,aAAa;IAqBlC,WAAW;IAMX,gBAAgB,CAAC,CAAC,EAAE,QAAQ;IAK5B,aAAa,CAAC,EAAE,EAAE,QAAQ,GAAG,oBAAoB,GAAG,SAAS;IAI7D,IAAI,gBAAgB,IAAI,gBAAgB,CAcvC;IAED,uEAAuE;IACvE,IAAI,qBAAqB,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAEhD;IAED,iEAAiE;IACjE,IAAI,iBAAiB,IAAI,iBAAiB,GAAG,SAAS,CAarD;IAGD,gBAAgB,CAAC,EAAE,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,UAAU,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE;IAIjF,kBAAkB,CAAC,EAAE,EAAE;QAAE,IAAI,EAAE,gBAAgB,CAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAE;IAInE,uBAAuB,CAAC,EAAE,EAAE;QAAE,IAAI,EAAE,gBAAgB,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAE;IAI1G,uBAAuB,CAAC,EAAE,EAAE;QAAE,IAAI,EAAE,gBAAgB,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAE;IAI5F,eAAe,CAAC,EAAE,EAAE;QAAE,KAAK,EAAE,SAAS,CAAC;QAAC,IAAI,EAAE,gBAAgB,CAAA;KAAE;IAKhE,oBAAoB,CAAC,EAAE,EAAE;QAAE,KAAK,EAAE,SAAS,CAAC;QAAC,IAAI,EAAE,gBAAgB,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE;IAKnF,kBAAkB,CAAC,EAAE,EAAE;QAAE,KAAK,EAAE,SAAS,CAAC;QAAC,IAAI,EAAE,gBAAgB,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE;IAKrG,kBAAkB,CAAC,EAAE,EAAE;QAAE,KAAK,EAAE,SAAS,CAAC;QAAC,IAAI,EAAE,gBAAgB,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE;yCA3P5E,iBAAiB;2CAAjB,iBAAiB;CA+P7B"}
@@ -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/calendar-core';
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';
@@ -53,7 +53,7 @@ function CalendarComponent_cal_month_view_5_Template(rf, ctx) { if (rf & 1) {
53
53
  i0.ɵɵelementEnd();
54
54
  } if (rf & 2) {
55
55
  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);
56
+ 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
57
  } }
58
58
  function CalendarComponent_cal_week_view_6_Template(rf, ctx) { if (rf & 1) {
59
59
  const _r6 = i0.ɵɵgetCurrentView();
@@ -158,6 +158,9 @@ export class CalendarComponent {
158
158
  dir;
159
159
  showCategoryFilter = false;
160
160
  showResourceFilter = false;
161
+ /** Show the undo/redo button pair in the header (default true). UI-only — the
162
+ * controller's undo()/redo() and the keyboard shortcuts stay active when hidden. */
163
+ showUndoRedo = true;
161
164
  customViews;
162
165
  eventDialog = { kind: 'builtin' };
163
166
  onEventClick;
@@ -178,6 +181,11 @@ export class CalendarComponent {
178
181
  eventStyle;
179
182
  /** Per-event title override. Return undefined to keep event.title. */
180
183
  eventTitle;
184
+ /** Per-event interaction policy (ticket-19): a PURE function of the event returning
185
+ * which interactions it allows (`draggable`/`resizable`/`editable`/`deletable`, or
186
+ * `locked` for all-off). The controller enforces it AND exposes it so the views drop
187
+ * the matching affordance. Read at controller creation — pass a stable function. */
188
+ eventInteraction;
181
189
  /** STANDALONE only — the bound path leaves the owned controller untouched. */
182
190
  binding;
183
191
  bound = false;
@@ -190,6 +198,7 @@ export class CalendarComponent {
190
198
  get snapshot() { return this.snapshotSig(); }
191
199
  getYear = getYear;
192
200
  getMonth = getMonth;
201
+ monthIndex = monthIndex;
193
202
  /** v0.29 Tastatur: root-scoped keydown → controller (Ctrl/Cmd+Z undo, Escape clears).
194
203
  * Bound via the `.bm-cal` root's `(keydown)` in the template — NOT a window listener
195
204
  * (no document-level routing). Public so the template can call it. */
@@ -230,6 +239,9 @@ export class CalendarComponent {
230
239
  this.eventRenderService.eventClassName = this.eventClassName;
231
240
  this.eventRenderService.eventStyle = this.eventStyle;
232
241
  this.eventRenderService.eventTitle = this.eventTitle;
242
+ // ticket-19: the controller's memoized policy resolver — the leaves' affordance
243
+ // then reads the SAME source the controller enforces on.
244
+ this.eventRenderService.getEventInteraction = this.ctrl.getEventInteraction;
233
245
  }
234
246
  ngOnInit() {
235
247
  // Dual-API (composition contract, F1): a passed `controller` selects the BOUND
@@ -256,6 +268,7 @@ export class CalendarComponent {
256
268
  config: this.config,
257
269
  rules: this.rules,
258
270
  customViews: this.customViews,
271
+ eventInteraction: this.eventInteraction,
259
272
  eventDialogKind: this.eventDialog.kind,
260
273
  onEventClickExternal: (id, rect, inst) => this.onEventClick?.(id, rect, inst),
261
274
  onNewEventRequestedExternal: (date, rect, rid) => this.onNewEventRequested?.(date, rect, rid),
@@ -371,21 +384,21 @@ export class CalendarComponent {
371
384
  void this.ctrl.dropTimeline(info, ev.date, ev.resourceId);
372
385
  }
373
386
  static ɵfac = function CalendarComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CalendarComponent)(i0.ɵɵdirectiveInject(i1.EventRenderService, 8), i0.ɵɵdirectiveInject(i0.NgZone)); };
374
- 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) {
387
+ 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", eventBadgesTpl: "eventBadgesTpl", eventContentTpl: "eventContentTpl", eventClassName: "eventClassName", eventStyle: "eventStyle", eventTitle: "eventTitle", eventInteraction: "eventInteraction" }, features: [i0.ɵɵProvidersFeature([EventRenderService]), i0.ɵɵNgOnChangesFeature], decls: 15, vars: 23, 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, "dismiss", "lastAction", "undoToastMs"], [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) {
375
388
  i0.ɵɵelementStart(0, "div", 0);
376
389
  i0.ɵɵlistener("keydown", function CalendarComponent_Template_div_keydown_0_listener($event) { return ctx.keyHandler($event); });
377
390
  i0.ɵɵelementStart(1, "cal-header", 1);
378
- 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); });
391
+ 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(); });
379
392
  i0.ɵɵelementEnd();
380
393
  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);
381
394
  i0.ɵɵelementStart(14, "cal-undo-toast", 13);
382
- 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(); });
395
+ i0.ɵɵlistener("dismiss", function CalendarComponent_Template_cal_undo_toast_dismiss_14_listener() { return ctx.ctrl.dismissUndo(); });
383
396
  i0.ɵɵelementEnd()();
384
397
  } if (rf & 2) {
385
398
  let tmp_1_0;
386
399
  i0.ɵɵattribute("data-theme", ctx.darkMode ? "dark" : null)("dir", (tmp_1_0 = ctx.dir) !== null && tmp_1_0 !== undefined ? tmp_1_0 : null);
387
400
  i0.ɵɵadvance();
388
- i0.ɵɵproperty("title", ctx.snapshot.title)("currentView", ctx.snapshot.currentView)("viewConfigs", ctx.viewConfigList)("locale", ctx.mergedConfig.locale);
401
+ 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);
389
402
  i0.ɵɵadvance();
390
403
  i0.ɵɵproperty("ngIf", ctx.showCategoryFilter && ctx.mergedConfig.categories.length > 0);
391
404
  i0.ɵɵadvance();
@@ -411,7 +424,7 @@ export class CalendarComponent {
411
424
  i0.ɵɵadvance();
412
425
  i0.ɵɵproperty("ngIf", ctx.snapshot.dialog && ctx.eventDialog.kind === "custom");
413
426
  i0.ɵɵadvance();
414
- i0.ɵɵproperty("lastAction", ctx.snapshot.lastAction)("locale", ctx.mergedConfig.locale);
427
+ i0.ɵɵproperty("lastAction", ctx.snapshot.lastAction)("undoToastMs", ctx.mergedConfig.undoToastMs);
415
428
  } }, dependencies: [CommonModule, i2.NgComponentOutlet, i2.NgIf, CalendarHeaderComponent, CategoryFilterComponent, ResourceFilterComponent,
416
429
  EventDialogComponent, UndoToastComponent,
417
430
  MonthViewComponent, WeekViewComponent, DayViewComponent, AgendaViewComponent,
@@ -436,10 +449,15 @@ export class CalendarComponent {
436
449
  [currentView]="snapshot.currentView"
437
450
  [viewConfigs]="viewConfigList"
438
451
  [locale]="mergedConfig.locale"
452
+ [showUndoRedo]="showUndoRedo"
453
+ [canUndo]="snapshot.canUndo"
454
+ [canRedo]="snapshot.canRedo"
439
455
  (prev)="ctrl.prev()"
440
456
  (next)="ctrl.next()"
441
457
  (today)="ctrl.today()"
442
- (viewChange)="handleViewChange($event)">
458
+ (viewChange)="handleViewChange($event)"
459
+ (undo)="ctrl.voidUndo()"
460
+ (redo)="ctrl.voidRedo()">
443
461
  </cal-header>
444
462
 
445
463
  <cal-category-filter *ngIf="showCategoryFilter && mergedConfig.categories.length > 0"
@@ -461,7 +479,7 @@ export class CalendarComponent {
461
479
  </cal-year-view>
462
480
 
463
481
  <cal-month-view *ngIf="snapshot.currentView === 'month'"
464
- [year]="getYear(snapshot.currentDate)" [month]="getMonth(snapshot.currentDate)"
482
+ [year]="getYear(snapshot.currentDate)" [month]="monthIndex(getMonth(snapshot.currentDate))"
465
483
  [events]="filteredEvents" [config]="mergedConfig" [previewEvent]="snapshot.previewEvent"
466
484
  [expandedMonthDay]="snapshot.expandedMonthDay"
467
485
  [selectedEventId]="selectedEventId" [selectedInstanceDate]="selectedInstanceDate"
@@ -570,8 +588,7 @@ export class CalendarComponent {
570
588
 
571
589
  <cal-undo-toast
572
590
  [lastAction]="snapshot.lastAction"
573
- [locale]="mergedConfig.locale"
574
- (undoAction)="ctrl.undo($event)"
591
+ [undoToastMs]="mergedConfig.undoToastMs"
575
592
  (dismiss)="ctrl.dismissUndo()">
576
593
  </cal-undo-toast>
577
594
  </div>
@@ -596,6 +613,8 @@ export class CalendarComponent {
596
613
  type: Input
597
614
  }], showResourceFilter: [{
598
615
  type: Input
616
+ }], showUndoRedo: [{
617
+ type: Input
599
618
  }], customViews: [{
600
619
  type: Input
601
620
  }], eventDialog: [{
@@ -618,6 +637,8 @@ export class CalendarComponent {
618
637
  type: Input
619
638
  }], eventTitle: [{
620
639
  type: Input
640
+ }], eventInteraction: [{
641
+ type: Input
621
642
  }] }); })();
622
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CalendarComponent, { className: "CalendarComponent", filePath: "components/calendar.ts", lineNumber: 199 }); })();
643
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CalendarComponent, { className: "CalendarComponent", filePath: "components/calendar.ts", lineNumber: 203 }); })();
623
644
  //# 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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"}
@@ -8,11 +8,18 @@ export declare class CalendarHeaderComponent {
8
8
  currentView: ViewType;
9
9
  viewConfigs: ViewConfig[];
10
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;
11
16
  prev: EventEmitter<void>;
12
17
  next: EventEmitter<void>;
13
18
  today: EventEmitter<void>;
14
19
  viewChange: EventEmitter<ViewType>;
20
+ undo: EventEmitter<void>;
21
+ redo: EventEmitter<void>;
15
22
  static ɵfac: i0.ɵɵFactoryDeclaration<CalendarHeaderComponent, never>;
16
- 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>;
17
24
  }
18
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,qFAAqF;AACrF,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,41 +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
+ } }
18
37
  /** Header bar: title, view-switcher tabs, and prev/today/next navigation buttons. */
19
38
  export class CalendarHeaderComponent {
20
39
  title = '';
21
40
  currentView = 'month';
22
41
  viewConfigs = [];
23
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;
24
48
  prev = new EventEmitter();
25
49
  next = new EventEmitter();
26
50
  today = new EventEmitter();
27
51
  viewChange = new EventEmitter();
52
+ undo = new EventEmitter();
53
+ redo = new EventEmitter();
28
54
  static ɵfac = function CalendarHeaderComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CalendarHeaderComponent)(); };
29
- 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) {
30
56
  i0.ɵɵelementStart(0, "div", 0)(1, "h1", 1);
31
57
  i0.ɵɵtext(2);
32
58
  i0.ɵɵelementEnd();
33
59
  i0.ɵɵelementStart(3, "div", 2)(4, "div", 3);
34
60
  i0.ɵɵtemplate(5, CalendarHeaderComponent_button_5_Template, 2, 3, "button", 4);
35
61
  i0.ɵɵelementEnd();
36
- i0.ɵɵelementStart(6, "div", 5)(7, "button", 6);
37
- i0.ɵɵlistener("click", function CalendarHeaderComponent_Template_button_click_7_listener() { return ctx.prev.emit(); });
38
- 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");
39
66
  i0.ɵɵelementEnd();
40
- i0.ɵɵelementStart(9, "button", 7);
41
- i0.ɵɵlistener("click", function CalendarHeaderComponent_Template_button_click_9_listener() { return ctx.today.emit(); });
42
- 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);
43
70
  i0.ɵɵelementEnd();
44
- i0.ɵɵelementStart(11, "button", 6);
45
- i0.ɵɵlistener("click", function CalendarHeaderComponent_Template_button_click_11_listener() { return ctx.next.emit(); });
46
- 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");
47
74
  i0.ɵɵelementEnd()()()();
48
75
  } if (rf & 2) {
49
76
  i0.ɵɵadvance(2);
50
77
  i0.ɵɵtextInterpolate(ctx.title);
51
78
  i0.ɵɵadvance(3);
52
79
  i0.ɵɵproperty("ngForOf", ctx.viewConfigs);
80
+ i0.ɵɵadvance();
81
+ i0.ɵɵconditional(ctx.showUndoRedo ? 6 : -1);
53
82
  i0.ɵɵadvance(2);
54
83
  i0.ɵɵattribute("aria-label", ctx.locale.prev);
55
84
  i0.ɵɵadvance(3);
@@ -76,6 +105,12 @@ export class CalendarHeaderComponent {
76
105
  {{ vc.label }}
77
106
  </button>
78
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
+ }
79
114
  <div class="bm-cal__nav-controls">
80
115
  <button class="bm-cal__nav" [attr.aria-label]="locale.prev" (click)="prev.emit()">&lsaquo;</button>
81
116
  <button class="bm-cal__today-btn" (click)="today.emit()">{{ locale.today }}</button>
@@ -93,6 +128,12 @@ export class CalendarHeaderComponent {
93
128
  type: Input
94
129
  }], locale: [{
95
130
  type: Input
131
+ }], showUndoRedo: [{
132
+ type: Input
133
+ }], canUndo: [{
134
+ type: Input
135
+ }], canRedo: [{
136
+ type: Input
96
137
  }], prev: [{
97
138
  type: Output
98
139
  }], next: [{
@@ -101,6 +142,10 @@ export class CalendarHeaderComponent {
101
142
  type: Output
102
143
  }], viewChange: [{
103
144
  type: Output
145
+ }], undo: [{
146
+ type: Output
147
+ }], redo: [{
148
+ type: Output
104
149
  }] }); })();
105
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CalendarHeaderComponent, { className: "CalendarHeaderComponent", filePath: "components/calendarheader.ts", lineNumber: 32 }); })();
150
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CalendarHeaderComponent, { className: "CalendarHeaderComponent", filePath: "components/calendarheader.ts", lineNumber: 38 }); })();
106
151
  //# sourceMappingURL=CalendarHeader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarHeader.js","sourceRoot":"","sources":["../../src/components/CalendarHeader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;;;;;IAerC,iCAEqC;IAAnC,8MAAS,kCAAwB,KAAC;IAClC,YACF;IAAA,iBAAS;;;;IAHP,0GAA2F;IAE3F,cACF;IADE,4CACF;;AAfV,qFAAqF;AA0BrF,MAAM,OAAO,uBAAuB;IACzB,KAAK,GAAG,EAAE,CAAC;IACX,WAAW,GAAa,OAAO,CAAC;IAChC,WAAW,GAAiB,EAAE,CAAC;IAC/B,MAAM,CAAkB;IACvB,IAAI,GAAG,IAAI,YAAY,EAAQ,CAAC;IAChC,IAAI,GAAG,IAAI,YAAY,EAAQ,CAAC;IAChC,KAAK,GAAG,IAAI,YAAY,EAAQ,CAAC;IACjC,UAAU,GAAG,IAAI,YAAY,EAAY,CAAC;iHARzC,uBAAuB;6DAAvB,uBAAuB;YAlB9B,AADF,8BAA4B,YACM;YAAA,YAAW;YAAA,iBAAK;YAE9C,AADF,8BAAqC,aACA;YACjC,8EAEqC;YAGvC,iBAAM;YAEJ,AADF,8BAAkC,gBACkD;YAAtB,oGAAS,eAAW,IAAC;YAAC,sBAAQ;YAAA,iBAAS;YACnG,iCAAyD;YAAvB,oGAAS,gBAAY,IAAC;YAAC,aAAkB;YAAA,iBAAS;YACpF,kCAAkF;YAAtB,qGAAS,eAAW,IAAC;YAAC,uBAAQ;YAGhG,AADE,AADE,AAD4F,iBAAS,EAC/F,EACF,EACF;;YAf4B,eAAW;YAAX,+BAAW;YAGhB,eAAc;YAAd,yCAAc;YAOT,eAA+B;;YACF,eAAkB;YAAlB,sCAAkB;YAC/C,cAA+B;;4BAfzD,YAAY;;iFAqBX,uBAAuB;cAzBnC,SAAS;eAAC;gBACT,QAAQ,EAAE,YAAY;gBACtB,UAAU,EAAE,IAAI;gBAChB,IAAI,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE;gBACpC,OAAO,EAAE,CAAC,YAAY,CAAC;gBACvB,QAAQ,EAAE;;;;;;;;;;;;;;;;;;GAkBT;aACF;gBAEU,KAAK;kBAAb,KAAK;YACG,WAAW;kBAAnB,KAAK;YACG,WAAW;kBAAnB,KAAK;YACG,MAAM;kBAAd,KAAK;YACI,IAAI;kBAAb,MAAM;YACG,IAAI;kBAAb,MAAM;YACG,KAAK;kBAAd,MAAM;YACG,UAAU;kBAAnB,MAAM;;kFARI,uBAAuB"}
1
+ {"version":3,"file":"CalendarHeader.js","sourceRoot":"","sources":["../../src/components/CalendarHeader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;;;;;IAerC,iCAEqC;IAAnC,8MAAS,kCAAwB,KAAC;IAClC,YACF;IAAA,iBAAS;;;;IAHP,0GAA2F;IAE3F,cACF;IADE,4CACF;;;;IAIE,AADF,8BAAmC,iBACoH;IAAtB,2LAAS,kBAAW,KAAC;IAAC,sBAAC;IAAA,iBAAS;IAC/J,kCAAqJ;IAAtB,2LAAS,kBAAW,KAAC;IAAC,sBAAC;IACxJ,AADwJ,iBAAS,EAC3J;;;IAFqG,cAAqB;IAArB,0CAAqB;;IACrB,eAAqB;IAArB,0CAAqB;;;AApB1I,qFAAqF;AAgCrF,MAAM,OAAO,uBAAuB;IACzB,KAAK,GAAG,EAAE,CAAC;IACX,WAAW,GAAa,OAAO,CAAC;IAChC,WAAW,GAAiB,EAAE,CAAC;IAC/B,MAAM,CAAkB;IACjC;6FACyF;IAChF,YAAY,GAAG,IAAI,CAAC;IACpB,OAAO,GAAG,KAAK,CAAC;IAChB,OAAO,GAAG,KAAK,CAAC;IACf,IAAI,GAAG,IAAI,YAAY,EAAQ,CAAC;IAChC,IAAI,GAAG,IAAI,YAAY,EAAQ,CAAC;IAChC,KAAK,GAAG,IAAI,YAAY,EAAQ,CAAC;IACjC,UAAU,GAAG,IAAI,YAAY,EAAY,CAAC;IAC1C,IAAI,GAAG,IAAI,YAAY,EAAQ,CAAC;IAChC,IAAI,GAAG,IAAI,YAAY,EAAQ,CAAC;iHAf/B,uBAAuB;6DAAvB,uBAAuB;YAxB9B,AADF,8BAA4B,YACM;YAAA,YAAW;YAAA,iBAAK;YAE9C,AADF,8BAAqC,aACA;YACjC,8EAEqC;YAGvC,iBAAM;YACN,gFAAoB;YAOlB,AADF,8BAAkC,gBACkD;YAAtB,oGAAS,eAAW,IAAC;YAAC,sBAAQ;YAAA,iBAAS;YACnG,kCAAyD;YAAvB,qGAAS,gBAAY,IAAC;YAAC,aAAkB;YAAA,iBAAS;YACpF,kCAAkF;YAAtB,qGAAS,eAAW,IAAC;YAAC,uBAAQ;YAGhG,AADE,AADE,AAD4F,iBAAS,EAC/F,EACF,EACF;;YArB4B,eAAW;YAAX,+BAAW;YAGhB,eAAc;YAAd,yCAAc;YAMvC,cAKC;YALD,2CAKC;YAE6B,eAA+B;;YACF,eAAkB;YAAlB,sCAAkB;YAC/C,cAA+B;;4BArBzD,YAAY;;iFA2BX,uBAAuB;cA/BnC,SAAS;eAAC;gBACT,QAAQ,EAAE,YAAY;gBACtB,UAAU,EAAE,IAAI;gBAChB,IAAI,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE;gBACpC,OAAO,EAAE,CAAC,YAAY,CAAC;gBACvB,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;GAwBT;aACF;gBAEU,KAAK;kBAAb,KAAK;YACG,WAAW;kBAAnB,KAAK;YACG,WAAW;kBAAnB,KAAK;YACG,MAAM;kBAAd,KAAK;YAGG,YAAY;kBAApB,KAAK;YACG,OAAO;kBAAf,KAAK;YACG,OAAO;kBAAf,KAAK;YACI,IAAI;kBAAb,MAAM;YACG,IAAI;kBAAb,MAAM;YACG,KAAK;kBAAd,MAAM;YACG,UAAU;kBAAnB,MAAM;YACG,IAAI;kBAAb,MAAM;YACG,IAAI;kBAAb,MAAM;;kFAfI,uBAAuB"}
@@ -54,6 +54,10 @@ export declare class EventBarComponent {
54
54
  get ghostClass(): "" | " bm-cal__event-bar--ghost";
55
55
  get instanceDate(): number | undefined;
56
56
  get selectedClass(): "" | " bm-cal__event-bar--selected";
57
+ private get policy();
58
+ get canDrag(): boolean;
59
+ get canResize(): boolean;
60
+ get lockedClass(): string;
57
61
  get gridColumn(): string;
58
62
  get gridRow(): string;
59
63
  get borderRadius(): string;