@bimetal/calendar-angular-components 0.29.0 → 0.32.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 (64) hide show
  1. package/dist/components/Calendar.d.ts +31 -6
  2. package/dist/components/Calendar.d.ts.map +1 -1
  3. package/dist/components/Calendar.js +104 -42
  4. package/dist/components/Calendar.js.map +1 -1
  5. package/dist/components/CalendarHeader.js +11 -11
  6. package/dist/components/CalendarHeader.js.map +1 -1
  7. package/dist/components/CategoryFilter.js +4 -4
  8. package/dist/components/CategoryFilter.js.map +1 -1
  9. package/dist/components/EventBar.d.ts +23 -10
  10. package/dist/components/EventBar.d.ts.map +1 -1
  11. package/dist/components/EventBar.js +73 -44
  12. package/dist/components/EventBar.js.map +1 -1
  13. package/dist/components/EventDialog.js +86 -68
  14. package/dist/components/EventDialog.js.map +1 -1
  15. package/dist/components/EventHistory.d.ts.map +1 -1
  16. package/dist/components/EventHistory.js +19 -21
  17. package/dist/components/EventHistory.js.map +1 -1
  18. package/dist/components/ResourceFilter.js +4 -4
  19. package/dist/components/ResourceFilter.js.map +1 -1
  20. package/dist/components/UndoToast.js +7 -8
  21. package/dist/components/UndoToast.js.map +1 -1
  22. package/dist/views/agenda/AgendaView.d.ts +29 -30
  23. package/dist/views/agenda/AgendaView.d.ts.map +1 -1
  24. package/dist/views/agenda/AgendaView.js +189 -196
  25. package/dist/views/agenda/AgendaView.js.map +1 -1
  26. package/dist/views/day/DayView.d.ts.map +1 -1
  27. package/dist/views/day/DayView.js +30 -27
  28. package/dist/views/day/DayView.js.map +1 -1
  29. package/dist/views/month/MonthView.js +5 -5
  30. package/dist/views/month/MonthView.js.map +1 -1
  31. package/dist/views/month/WeekRow.d.ts.map +1 -1
  32. package/dist/views/month/WeekRow.js +36 -32
  33. package/dist/views/month/WeekRow.js.map +1 -1
  34. package/dist/views/resource/ResourceView.d.ts +1 -0
  35. package/dist/views/resource/ResourceView.d.ts.map +1 -1
  36. package/dist/views/resource/ResourceView.js +35 -27
  37. package/dist/views/resource/ResourceView.js.map +1 -1
  38. package/dist/views/timeline/TimelineView.d.ts +1 -0
  39. package/dist/views/timeline/TimelineView.d.ts.map +1 -1
  40. package/dist/views/timeline/TimelineView.js +31 -22
  41. package/dist/views/timeline/TimelineView.js.map +1 -1
  42. package/dist/views/week/AllDayRow.d.ts +1 -0
  43. package/dist/views/week/AllDayRow.d.ts.map +1 -1
  44. package/dist/views/week/AllDayRow.js +21 -11
  45. package/dist/views/week/AllDayRow.js.map +1 -1
  46. package/dist/views/week/TimeEvent.d.ts +13 -6
  47. package/dist/views/week/TimeEvent.d.ts.map +1 -1
  48. package/dist/views/week/TimeEvent.js +57 -33
  49. package/dist/views/week/TimeEvent.js.map +1 -1
  50. package/dist/views/week/WeekView.d.ts +1 -0
  51. package/dist/views/week/WeekView.d.ts.map +1 -1
  52. package/dist/views/week/WeekView.js +33 -26
  53. package/dist/views/week/WeekView.js.map +1 -1
  54. package/dist/views/year/YearView.js +12 -12
  55. package/dist/views/year/YearView.js.map +1 -1
  56. package/package.json +9 -8
  57. package/dist/binding/utils/date-strings.d.ts +0 -16
  58. package/dist/binding/utils/date-strings.d.ts.map +0 -1
  59. package/dist/binding/utils/date-strings.js +0 -30
  60. package/dist/binding/utils/date-strings.js.map +0 -1
  61. package/dist/binding/utils/gridUtils.d.ts +0 -6
  62. package/dist/binding/utils/gridUtils.d.ts.map +0 -1
  63. package/dist/binding/utils/gridUtils.js +0 -13
  64. package/dist/binding/utils/gridUtils.js.map +0 -1
@@ -1,16 +1,29 @@
1
1
  import { EventEmitter } from '@angular/core';
2
- import type { CalendarDateTime, LayoutItem } from '@bimetal/calendar-core';
2
+ import type { CalendarDateTime, CalendarEvent } from '@bimetal/calendar-core';
3
3
  import { type DragInfo } from '@bimetal/calendar-headless';
4
4
  import { EventRenderService } from '../binding/index.js';
5
5
  import * as i0 from "@angular/core";
6
+ /**
7
+ * v0.30 Slice 3 (Angular identity-treue): now `OnPush` with DECOMPOSED @Inputs — the stable
8
+ * `event` ref + primitive segment/lane fields (not the fresh `LayoutItem` WRAPPER) — and
9
+ * selection as a per-leaf `isSelected` boolean, NOT the broad `selectedEventId`/
10
+ * `selectedInstanceDate` (which changed on EVERY leaf per selection and defeated OnPush, the
11
+ * exact Angular analog of the React context problem). → a selection or one-event dispatch
12
+ * re-renders only the touched bar.
13
+ */
6
14
  export declare class EventBarComponent {
7
15
  private renderService?;
8
- item: LayoutItem;
16
+ event: CalendarEvent;
17
+ isStart: boolean;
18
+ isEnd: boolean;
19
+ dayIndex: number;
20
+ daySpan: number;
21
+ column: number;
9
22
  weekDates: CalendarDateTime[];
10
23
  ghost: boolean;
11
24
  clickThresholdMs: number;
12
- selectedEventId: string | null;
13
- selectedInstanceDate: number | undefined;
25
+ /** Per-leaf selection (v0.30 Slice 3) — replaces the broad selectedEventId/Date inputs. */
26
+ isSelected: boolean;
14
27
  eventClick: EventEmitter<{
15
28
  eventId: string;
16
29
  rect: DOMRect;
@@ -25,22 +38,22 @@ export declare class EventBarComponent {
25
38
  dragEnd: EventEmitter<void>;
26
39
  private click;
27
40
  constructor(renderService?: EventRenderService | undefined);
41
+ /** v0.30 Slice 3 perf probe: a template binding evaluates ONLY on a real view refresh
42
+ * (unlike ngDoCheck), so this counts REAL leaf re-renders. Returns null → no attribute. */
43
+ probe(): null;
28
44
  get badgesTpl(): import("@angular/core").TemplateRef<import("../index.js").EventRenderTemplateContext> | undefined;
29
45
  get contentTpl(): import("@angular/core").TemplateRef<import("../index.js").EventRenderTemplateContext> | undefined;
30
46
  get tplCtx(): import("../index.js").EventRenderTemplateContext | undefined;
31
47
  get renderedTitle(): string;
32
48
  get slotsClassName(): string;
33
49
  get slotsStyle(): Record<string, string | number> | undefined;
34
- get segment(): import("@bimetal/calendar-core").Segment;
35
- get event(): import("@bimetal/calendar-core").CalendarEvent;
36
50
  get color(): string;
37
51
  get wantsDarkText(): boolean;
38
52
  get isRecurring(): boolean;
39
53
  get isCompact(): boolean;
40
- get ghostClass(): "" | " event-bar--ghost";
54
+ get ghostClass(): "" | " bm-cal__event-bar--ghost";
41
55
  get instanceDate(): number | undefined;
42
- get isSelected(): boolean;
43
- get selectedClass(): "" | " event-bar--selected";
56
+ get selectedClass(): "" | " bm-cal__event-bar--selected";
44
57
  get gridColumn(): string;
45
58
  get gridRow(): string;
46
59
  get borderRadius(): string;
@@ -51,6 +64,6 @@ export declare class EventBarComponent {
51
64
  handleClick(e: MouseEvent): void;
52
65
  handleDoubleClick(e: MouseEvent): void;
53
66
  static ɵfac: i0.ɵɵFactoryDeclaration<EventBarComponent, [{ optional: true; }]>;
54
- static ɵcmp: i0.ɵɵComponentDeclaration<EventBarComponent, "cal-event-bar", never, { "item": { "alias": "item"; "required": false; }; "weekDates": { "alias": "weekDates"; "required": false; }; "ghost": { "alias": "ghost"; "required": false; }; "clickThresholdMs": { "alias": "clickThresholdMs"; "required": false; }; "selectedEventId": { "alias": "selectedEventId"; "required": false; }; "selectedInstanceDate": { "alias": "selectedInstanceDate"; "required": false; }; }, { "eventClick": "eventClick"; "selectEvent": "selectEvent"; "dragStart": "dragStart"; "dragEnd": "dragEnd"; }, never, never, true, never>;
67
+ static ɵcmp: i0.ɵɵComponentDeclaration<EventBarComponent, "cal-event-bar", never, { "event": { "alias": "event"; "required": true; }; "isStart": { "alias": "isStart"; "required": true; }; "isEnd": { "alias": "isEnd"; "required": true; }; "dayIndex": { "alias": "dayIndex"; "required": true; }; "daySpan": { "alias": "daySpan"; "required": true; }; "column": { "alias": "column"; "required": true; }; "weekDates": { "alias": "weekDates"; "required": false; }; "ghost": { "alias": "ghost"; "required": false; }; "clickThresholdMs": { "alias": "clickThresholdMs"; "required": false; }; "isSelected": { "alias": "isSelected"; "required": false; }; }, { "eventClick": "eventClick"; "selectEvent": "selectEvent"; "dragStart": "dragStart"; "dragEnd": "dragEnd"; }, never, never, true, never>;
55
68
  }
56
69
  //# sourceMappingURL=EventBar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EventBar.d.ts","sourceRoot":"","sources":["../../src/components/EventBar.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,YAAY,EAAY,MAAM,eAAe,CAAC;AAEjF,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAE3E,OAAO,EAA0H,KAAK,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACnL,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;;AAEzD,qBA2Ea,iBAAiB;IAeJ,OAAO,CAAC,aAAa,CAAC;IAdrC,IAAI,EAAG,UAAU,CAAC;IAClB,SAAS,EAAE,gBAAgB,EAAE,CAAM;IACnC,KAAK,UAAS;IACd,gBAAgB,SAAO;IACvB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAQ;IACtC,oBAAoB,EAAE,MAAM,GAAG,SAAS,CAAa;IACpD,UAAU;iBAA+B,MAAM;cAAQ,OAAO;uBAAiB,MAAM;OAAM;IAC3F,WAAW;iBAA+B,MAAM;uBAAiB,MAAM;OAAM;IAC7E,SAAS,yBAAgC;IACnD,yEAAyE;IAC/D,OAAO,qBAA4B;IAE7C,OAAO,CAAC,KAAK,CAAuB;gBAEJ,aAAa,CAAC,EAAE,kBAAkB,YAAA;IAElE,IAAI,SAAS,sGAAiD;IAC9D,IAAI,UAAU,sGAAkD;IAChE,IAAI,MAAM,iEAAmE;IAC7E,IAAI,aAAa,WAA+E;IAChG,IAAI,cAAc,WAGjB;IACD,IAAI,UAAU,gDAA2D;IAEzE,IAAI,OAAO,6CAAgC;IAC3C,IAAI,KAAK,mDAAiC;IAC1C,IAAI,KAAK,WAAiF;IAC1F,IAAI,aAAa,YAAgD;IACjE,IAAI,WAAW,YAAkF;IACjG,IAAI,SAAS,YAA0G;IACvH,IAAI,UAAU,6BAAoD;IAClE,IAAI,YAAY,uBAAsE;IACtF,IAAI,UAAU,YAEb;IACD,IAAI,aAAa,gCAA4D;IAC7E,IAAI,UAAU,WAAsE;IACpF,IAAI,OAAO,WAA2C;IACtD,IAAI,YAAY,WAIf;IACD,IAAI,SAAS,WAEZ;IAED,eAAe;IAIf,eAAe,CAAC,CAAC,EAAE,SAAS;IAgB5B,qBAAqB,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,GAAG,KAAK;IASzD,WAAW,CAAC,CAAC,EAAE,UAAU;IAMzB,iBAAiB,CAAC,CAAC,EAAE,UAAU;yCArFpB,iBAAiB;2CAAjB,iBAAiB;CA2F7B"}
1
+ {"version":3,"file":"EventBar.d.ts","sourceRoot":"","sources":["../../src/components/EventBar.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,YAAY,EAAqC,MAAM,eAAe,CAAC;AAE1G,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAE9E,OAAO,EAA0H,KAAK,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAEnL,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;;AAEzD;;;;;;;GAOG;AACH,qBA6Ea,iBAAiB;IAqBJ,OAAO,CAAC,aAAa,CAAC;IAnBnB,KAAK,EAAG,aAAa,CAAC;IACtB,OAAO,EAAG,OAAO,CAAC;IAClB,KAAK,EAAG,OAAO,CAAC;IAChB,QAAQ,EAAG,MAAM,CAAC;IAClB,OAAO,EAAG,MAAM,CAAC;IACjB,MAAM,EAAG,MAAM,CAAC;IAClC,SAAS,EAAE,gBAAgB,EAAE,CAAM;IACnC,KAAK,UAAS;IACd,gBAAgB,SAAO;IAChC,2FAA2F;IAClF,UAAU,UAAS;IAClB,UAAU;iBAA+B,MAAM;cAAQ,OAAO;uBAAiB,MAAM;OAAM;IAC3F,WAAW;iBAA+B,MAAM;uBAAiB,MAAM;OAAM;IAC7E,SAAS,yBAAgC;IACnD,yEAAyE;IAC/D,OAAO,qBAA4B;IAE7C,OAAO,CAAC,KAAK,CAAuB;gBAEJ,aAAa,CAAC,EAAE,kBAAkB,YAAA;IAElE;gGAC4F;IAC5F,KAAK,IAAI,IAAI;IAEb,IAAI,SAAS,sGAAiD;IAC9D,IAAI,UAAU,sGAAkD;IAChE,IAAI,MAAM,iEAAmE;IAC7E,IAAI,aAAa,WAA+E;IAChG,IAAI,cAAc,WAGjB;IACD,IAAI,UAAU,gDAA2D;IAEzE,IAAI,KAAK,WAAiF;IAC1F,IAAI,aAAa,YAAgD;IACjE,IAAI,WAAW,YAAkF;IACjG,IAAI,SAAS,YAAqF;IAClG,IAAI,UAAU,qCAA4D;IAC1E,IAAI,YAAY,uBAAsE;IACtF,IAAI,aAAa,wCAAoE;IACrF,IAAI,UAAU,WAA4D;IAC1E,IAAI,OAAO,WAAsC;IACjD,IAAI,YAAY,WAIf;IACD,IAAI,SAAS,WAEZ;IAED,eAAe;IAIf,eAAe,CAAC,CAAC,EAAE,SAAS;IAgB5B,qBAAqB,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,GAAG,KAAK;IASzD,WAAW,CAAC,CAAC,EAAE,UAAU;IAMzB,iBAAiB,CAAC,CAAC,EAAE,UAAU;yCA1FpB,iBAAiB;2CAAjB,iBAAiB;CAgG7B"}
@@ -1,7 +1,8 @@
1
- import { Component, Input, Output, EventEmitter, Optional } from '@angular/core';
1
+ import { Component, Input, Output, EventEmitter, Optional, ChangeDetectionStrategy } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import { daysBetween, getRecurrenceInstanceMetadata, isExpandedRecurrenceInstance } from '@bimetal/calendar-core';
4
4
  import { buildDragInfo, createClickIntent, writeCalendarDragData, installTransparentDragImage, toTimeStr, eventBarWantsDarkText } from '@bimetal/calendar-headless';
5
+ import { probeRender } from '@bimetal/angular';
5
6
  import { EventRenderService } from '../binding/index.js';
6
7
  import * as i0 from "@angular/core";
7
8
  import * as i1 from "../binding/index.js";
@@ -55,10 +56,10 @@ function EventBarComponent_div_0_Template(rf, ctx) { if (rf & 1) {
55
56
  } if (rf & 2) {
56
57
  const defaultCompact_r3 = i0.ɵɵreference(3);
57
58
  const ctx_r1 = i0.ɵɵnextContext();
58
- i0.ɵɵclassMap("event-bar event-bar--single" + ctx_r1.ghostClass + ctx_r1.selectedClass + ctx_r1.slotsClassName);
59
+ i0.ɵɵclassMap("bm-cal__event-bar bm-cal__event-bar--single" + ctx_r1.ghostClass + ctx_r1.selectedClass + ctx_r1.slotsClassName);
59
60
  i0.ɵɵstyleProp("grid-column", ctx_r1.gridColumn)("grid-row", ctx_r1.gridRow);
60
61
  i0.ɵɵproperty("ngStyle", ctx_r1.slotsStyle)("title", ctx_r1.renderedTitle);
61
- i0.ɵɵattribute("draggable", !ctx_r1.ghost);
62
+ i0.ɵɵattribute("data-r", ctx_r1.probe())("draggable", !ctx_r1.ghost);
62
63
  i0.ɵɵadvance();
63
64
  i0.ɵɵproperty("ngIf", ctx_r1.contentTpl)("ngIfElse", defaultCompact_r3);
64
65
  i0.ɵɵadvance(3);
@@ -88,7 +89,7 @@ function EventBarComponent_ng_template_1_ng_template_3_Template(rf, ctx) { if (r
88
89
  i0.ɵɵelementEnd();
89
90
  } if (rf & 2) {
90
91
  const ctx_r1 = i0.ɵɵnextContext(2);
91
- i0.ɵɵclassProp("event-title--on-light", ctx_r1.wantsDarkText);
92
+ i0.ɵɵclassProp("bm-cal__event-title--on-light", ctx_r1.wantsDarkText);
92
93
  i0.ɵɵadvance();
93
94
  i0.ɵɵtextInterpolate2("", ctx_r1.isRecurring ? "\u21BB " : "", "", ctx_r1.renderedTitle, "");
94
95
  } }
@@ -119,27 +120,41 @@ function EventBarComponent_ng_template_1_Template(rf, ctx) { if (rf & 1) {
119
120
  } if (rf & 2) {
120
121
  const defaultMulti_r7 = i0.ɵɵreference(4);
121
122
  const ctx_r1 = i0.ɵɵnextContext();
122
- i0.ɵɵclassMap("event-bar event-bar--multi" + ctx_r1.ghostClass + ctx_r1.selectedClass + ctx_r1.slotsClassName);
123
+ i0.ɵɵclassMap("bm-cal__event-bar bm-cal__event-bar--multi" + ctx_r1.ghostClass + ctx_r1.selectedClass + ctx_r1.slotsClassName);
123
124
  i0.ɵɵstyleProp("grid-column", ctx_r1.gridColumn)("grid-row", ctx_r1.gridRow)("background-color", ctx_r1.color)("border-radius", ctx_r1.borderRadius);
124
125
  i0.ɵɵproperty("ngStyle", ctx_r1.slotsStyle)("title", ctx_r1.renderedTitle);
125
126
  i0.ɵɵattribute("draggable", !ctx_r1.ghost);
126
127
  i0.ɵɵadvance();
127
- i0.ɵɵproperty("ngIf", ctx_r1.item.segment.isStart && !ctx_r1.ghost);
128
+ i0.ɵɵproperty("ngIf", ctx_r1.isStart && !ctx_r1.ghost);
128
129
  i0.ɵɵadvance();
129
130
  i0.ɵɵproperty("ngIf", ctx_r1.contentTpl)("ngIfElse", defaultMulti_r7);
130
131
  i0.ɵɵadvance(3);
131
132
  i0.ɵɵproperty("ngIf", ctx_r1.badgesTpl);
132
133
  i0.ɵɵadvance();
133
- i0.ɵɵproperty("ngIf", ctx_r1.item.segment.isEnd && !ctx_r1.ghost);
134
+ i0.ɵɵproperty("ngIf", ctx_r1.isEnd && !ctx_r1.ghost);
134
135
  } }
136
+ /**
137
+ * v0.30 Slice 3 (Angular identity-treue): now `OnPush` with DECOMPOSED @Inputs — the stable
138
+ * `event` ref + primitive segment/lane fields (not the fresh `LayoutItem` WRAPPER) — and
139
+ * selection as a per-leaf `isSelected` boolean, NOT the broad `selectedEventId`/
140
+ * `selectedInstanceDate` (which changed on EVERY leaf per selection and defeated OnPush, the
141
+ * exact Angular analog of the React context problem). → a selection or one-event dispatch
142
+ * re-renders only the touched bar.
143
+ */
135
144
  export class EventBarComponent {
136
145
  renderService;
137
- item;
146
+ // v0.30 Slice 3: decomposed from the `LayoutItem` wrapper to a stable `event` ref + primitives.
147
+ event;
148
+ isStart;
149
+ isEnd;
150
+ dayIndex;
151
+ daySpan;
152
+ column;
138
153
  weekDates = [];
139
154
  ghost = false;
140
155
  clickThresholdMs = 300;
141
- selectedEventId = null;
142
- selectedInstanceDate = undefined;
156
+ /** Per-leaf selection (v0.30 Slice 3) — replaces the broad selectedEventId/Date inputs. */
157
+ isSelected = false;
143
158
  eventClick = new EventEmitter();
144
159
  selectEvent = new EventEmitter();
145
160
  dragStart = new EventEmitter();
@@ -149,6 +164,9 @@ export class EventBarComponent {
149
164
  constructor(renderService) {
150
165
  this.renderService = renderService;
151
166
  }
167
+ /** v0.30 Slice 3 perf probe: a template binding evaluates ONLY on a real view refresh
168
+ * (unlike ngDoCheck), so this counts REAL leaf re-renders. Returns null → no attribute. */
169
+ probe() { probeRender(this.event.id); return null; }
152
170
  get badgesTpl() { return this.renderService?.eventBadgesTpl; }
153
171
  get contentTpl() { return this.renderService?.eventContentTpl; }
154
172
  get tplCtx() { return this.renderService?.buildTemplateContext(this.event); }
@@ -158,23 +176,18 @@ export class EventBarComponent {
158
176
  return cls ? ' ' + cls : '';
159
177
  }
160
178
  get slotsStyle() { return this.renderService?.resolveStyle(this.event); }
161
- get segment() { return this.item.segment; }
162
- get event() { return this.segment.event; }
163
179
  get color() { return this.event.metadata.color ?? '#007AFF'; }
164
180
  get wantsDarkText() { return eventBarWantsDarkText(this.color); }
165
181
  get isRecurring() { return isExpandedRecurrenceInstance(this.event) || !!this.event.recurrence; }
166
- get isCompact() { return this.item.daySpan === 1 && this.segment.isStart && this.segment.isEnd && !this.event.allDay; }
167
- get ghostClass() { return this.ghost ? ' event-bar--ghost' : ''; }
182
+ get isCompact() { return this.daySpan === 1 && this.isStart && this.isEnd && !this.event.allDay; }
183
+ get ghostClass() { return this.ghost ? ' bm-cal__event-bar--ghost' : ''; }
168
184
  get instanceDate() { return getRecurrenceInstanceMetadata(this.event)?.instanceDate; }
169
- get isSelected() {
170
- return this.selectedEventId === this.event.id && this.selectedInstanceDate === this.instanceDate;
171
- }
172
- get selectedClass() { return this.isSelected ? ' event-bar--selected' : ''; }
173
- get gridColumn() { return `${this.item.dayIndex + 1} / span ${this.item.daySpan}`; }
174
- get gridRow() { return String(this.item.column + 1); }
185
+ get selectedClass() { return this.isSelected ? ' bm-cal__event-bar--selected' : ''; }
186
+ get gridColumn() { return `${this.dayIndex + 1} / span ${this.daySpan}`; }
187
+ get gridRow() { return String(this.column + 1); }
175
188
  get borderRadius() {
176
- const s = this.segment.isStart ? 4 : 0;
177
- const e = this.segment.isEnd ? 4 : 0;
189
+ const s = this.isStart ? 4 : 0;
190
+ const e = this.isEnd ? 4 : 0;
178
191
  return `${s}px ${e}px ${e}px ${s}px`;
179
192
  }
180
193
  get startTime() {
@@ -187,9 +200,9 @@ export class EventBarComponent {
187
200
  this.click.markDragged();
188
201
  const bar = e.currentTarget;
189
202
  const barRect = bar.getBoundingClientRect();
190
- const colWidth = barRect.width / this.item.daySpan;
191
- const grabColInBar = Math.min(Math.max(0, Math.floor((e.clientX - barRect.left) / colWidth)), this.item.daySpan - 1);
192
- const grabbedDate = this.weekDates[this.item.dayIndex + grabColInBar];
203
+ const colWidth = barRect.width / this.daySpan;
204
+ const grabColInBar = Math.min(Math.max(0, Math.floor((e.clientX - barRect.left) / colWidth)), this.daySpan - 1);
205
+ const grabbedDate = this.weekDates[this.dayIndex + grabColInBar];
193
206
  const offset = daysBetween(this.event.timeRange.start, grabbedDate);
194
207
  const info = buildDragInfo(this.event, 'move', { dayOffset: offset });
195
208
  writeCalendarDragData(e.dataTransfer, info);
@@ -217,12 +230,12 @@ export class EventBarComponent {
217
230
  this.eventClick.emit({ eventId: this.event.id, rect, instanceDate: this.instanceDate });
218
231
  }
219
232
  static ɵfac = function EventBarComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || EventBarComponent)(i0.ɵɵdirectiveInject(i1.EventRenderService, 8)); };
220
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: EventBarComponent, selectors: [["cal-event-bar"]], hostAttrs: [2, "display", "contents"], inputs: { item: "item", weekDates: "weekDates", ghost: "ghost", clickThresholdMs: "clickThresholdMs", selectedEventId: "selectedEventId", selectedInstanceDate: "selectedInstanceDate" }, outputs: { eventClick: "eventClick", selectEvent: "selectEvent", dragStart: "dragStart", dragEnd: "dragEnd" }, decls: 3, vars: 2, consts: [["multiTpl", ""], ["defaultCompact", ""], ["defaultMulti", ""], [3, "class", "grid-column", "grid-row", "ngStyle", "title", "mousedown", "dragstart", "dragend", "click", "dblclick", 4, "ngIf", "ngIfElse"], [3, "mousedown", "dragstart", "dragend", "click", "dblclick", "ngStyle", "title"], [4, "ngIf", "ngIfElse"], [4, "ngIf"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], [1, "event-dot"], [1, "event-time"], [1, "event-title", "event-title--dark"], ["class", "resize-handle resize-handle--start", "draggable", "true", 3, "dragstart", "dragend", "mousedown", 4, "ngIf"], ["class", "resize-handle resize-handle--end", "draggable", "true", 3, "dragstart", "dragend", "mousedown", 4, "ngIf"], ["draggable", "true", 1, "resize-handle", "resize-handle--start", 3, "dragstart", "dragend", "mousedown"], [1, "event-title"], ["draggable", "true", 1, "resize-handle", "resize-handle--end", 3, "dragstart", "dragend", "mousedown"]], template: function EventBarComponent_Template(rf, ctx) { if (rf & 1) {
221
- i0.ɵɵtemplate(0, EventBarComponent_div_0_Template, 5, 12, "div", 3)(1, EventBarComponent_ng_template_1_Template, 7, 18, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
233
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: EventBarComponent, selectors: [["cal-event-bar"]], hostAttrs: [2, "display", "contents"], inputs: { event: "event", isStart: "isStart", isEnd: "isEnd", dayIndex: "dayIndex", daySpan: "daySpan", column: "column", weekDates: "weekDates", ghost: "ghost", clickThresholdMs: "clickThresholdMs", isSelected: "isSelected" }, outputs: { eventClick: "eventClick", selectEvent: "selectEvent", dragStart: "dragStart", dragEnd: "dragEnd" }, decls: 3, vars: 2, consts: [["multiTpl", ""], ["defaultCompact", ""], ["defaultMulti", ""], [3, "class", "grid-column", "grid-row", "ngStyle", "title", "mousedown", "dragstart", "dragend", "click", "dblclick", 4, "ngIf", "ngIfElse"], [3, "mousedown", "dragstart", "dragend", "click", "dblclick", "ngStyle", "title"], [4, "ngIf", "ngIfElse"], [4, "ngIf"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], [1, "bm-cal__event-dot"], [1, "bm-cal__event-time"], [1, "bm-cal__event-title", "bm-cal__event-title--dark"], ["class", "bm-cal__resize-handle bm-cal__resize-handle--start", "draggable", "true", 3, "dragstart", "dragend", "mousedown", 4, "ngIf"], ["class", "bm-cal__resize-handle bm-cal__resize-handle--end", "draggable", "true", 3, "dragstart", "dragend", "mousedown", 4, "ngIf"], ["draggable", "true", 1, "bm-cal__resize-handle", "bm-cal__resize-handle--start", 3, "dragstart", "dragend", "mousedown"], [1, "bm-cal__event-title"], ["draggable", "true", 1, "bm-cal__resize-handle", "bm-cal__resize-handle--end", 3, "dragstart", "dragend", "mousedown"]], template: function EventBarComponent_Template(rf, ctx) { if (rf & 1) {
234
+ i0.ɵɵtemplate(0, EventBarComponent_div_0_Template, 5, 13, "div", 3)(1, EventBarComponent_ng_template_1_Template, 7, 18, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
222
235
  } if (rf & 2) {
223
236
  const multiTpl_r8 = i0.ɵɵreference(2);
224
237
  i0.ɵɵproperty("ngIf", ctx.isCompact)("ngIfElse", multiTpl_r8);
225
- } }, dependencies: [CommonModule, i2.NgIf, i2.NgTemplateOutlet, i2.NgStyle], encapsulation: 2 });
238
+ } }, dependencies: [CommonModule, i2.NgIf, i2.NgTemplateOutlet, i2.NgStyle], encapsulation: 2, changeDetection: 0 });
226
239
  }
227
240
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(EventBarComponent, [{
228
241
  type: Component,
@@ -231,12 +244,14 @@ export class EventBarComponent {
231
244
  standalone: true,
232
245
  host: { style: 'display: contents' },
233
246
  imports: [CommonModule],
247
+ changeDetection: ChangeDetectionStrategy.OnPush,
234
248
  template: `
235
249
  <!-- Compact single-day timed event -->
236
250
  <div *ngIf="isCompact; else multiTpl"
237
- [class]="'event-bar event-bar--single' + ghostClass + selectedClass + slotsClassName"
251
+ [class]="'bm-cal__event-bar bm-cal__event-bar--single' + ghostClass + selectedClass + slotsClassName"
238
252
  [style.grid-column]="gridColumn"
239
253
  [style.grid-row]="gridRow"
254
+ [attr.data-r]="probe()"
240
255
  [ngStyle]="slotsStyle"
241
256
  [attr.draggable]="!ghost"
242
257
  (mousedown)="handleMouseDown()"
@@ -249,9 +264,9 @@ export class EventBarComponent {
249
264
  <ng-container *ngTemplateOutlet="contentTpl; context: tplCtx"></ng-container>
250
265
  </ng-container>
251
266
  <ng-template #defaultCompact>
252
- <span class="event-dot" [style.background-color]="color"></span>
253
- <span class="event-time">{{ startTime }}</span>
254
- <span class="event-title event-title--dark">{{ isRecurring ? '↻ ' : '' }}{{ renderedTitle }}</span>
267
+ <span class="bm-cal__event-dot" [style.background-color]="color"></span>
268
+ <span class="bm-cal__event-time">{{ startTime }}</span>
269
+ <span class="bm-cal__event-title bm-cal__event-title--dark">{{ isRecurring ? '↻ ' : '' }}{{ renderedTitle }}</span>
255
270
  </ng-template>
256
271
  <ng-container *ngIf="badgesTpl">
257
272
  <ng-container *ngTemplateOutlet="badgesTpl; context: tplCtx"></ng-container>
@@ -261,7 +276,7 @@ export class EventBarComponent {
261
276
  <!-- Multi-day / all-day bar -->
262
277
  <ng-template #multiTpl>
263
278
  <div
264
- [class]="'event-bar event-bar--multi' + ghostClass + selectedClass + slotsClassName"
279
+ [class]="'bm-cal__event-bar bm-cal__event-bar--multi' + ghostClass + selectedClass + slotsClassName"
265
280
  [style.grid-column]="gridColumn"
266
281
  [style.grid-row]="gridRow"
267
282
  [style.background-color]="color"
@@ -274,8 +289,8 @@ export class EventBarComponent {
274
289
  (click)="handleClick($event)"
275
290
  (dblclick)="handleDoubleClick($event)"
276
291
  [title]="renderedTitle">
277
- <div *ngIf="item.segment.isStart && !ghost"
278
- class="resize-handle resize-handle--start"
292
+ <div *ngIf="isStart && !ghost"
293
+ class="bm-cal__resize-handle bm-cal__resize-handle--start"
279
294
  draggable="true"
280
295
  (dragstart)="handleResizeDragStart($event, 'start')"
281
296
  (dragend)="dragEnd.emit()"
@@ -285,13 +300,13 @@ export class EventBarComponent {
285
300
  <ng-container *ngTemplateOutlet="contentTpl; context: tplCtx"></ng-container>
286
301
  </ng-container>
287
302
  <ng-template #defaultMulti>
288
- <span class="event-title" [class.event-title--on-light]="wantsDarkText">{{ isRecurring ? '↻ ' : '' }}{{ renderedTitle }}</span>
303
+ <span class="bm-cal__event-title" [class.bm-cal__event-title--on-light]="wantsDarkText">{{ isRecurring ? '↻ ' : '' }}{{ renderedTitle }}</span>
289
304
  </ng-template>
290
305
  <ng-container *ngIf="badgesTpl">
291
306
  <ng-container *ngTemplateOutlet="badgesTpl; context: tplCtx"></ng-container>
292
307
  </ng-container>
293
- <div *ngIf="item.segment.isEnd && !ghost"
294
- class="resize-handle resize-handle--end"
308
+ <div *ngIf="isEnd && !ghost"
309
+ class="bm-cal__resize-handle bm-cal__resize-handle--end"
295
310
  draggable="true"
296
311
  (dragstart)="handleResizeDragStart($event, 'end')"
297
312
  (dragend)="dragEnd.emit()"
@@ -303,17 +318,31 @@ export class EventBarComponent {
303
318
  }]
304
319
  }], () => [{ type: i1.EventRenderService, decorators: [{
305
320
  type: Optional
306
- }] }], { item: [{
307
- type: Input
321
+ }] }], { event: [{
322
+ type: Input,
323
+ args: [{ required: true }]
324
+ }], isStart: [{
325
+ type: Input,
326
+ args: [{ required: true }]
327
+ }], isEnd: [{
328
+ type: Input,
329
+ args: [{ required: true }]
330
+ }], dayIndex: [{
331
+ type: Input,
332
+ args: [{ required: true }]
333
+ }], daySpan: [{
334
+ type: Input,
335
+ args: [{ required: true }]
336
+ }], column: [{
337
+ type: Input,
338
+ args: [{ required: true }]
308
339
  }], weekDates: [{
309
340
  type: Input
310
341
  }], ghost: [{
311
342
  type: Input
312
343
  }], clickThresholdMs: [{
313
344
  type: Input
314
- }], selectedEventId: [{
315
- type: Input
316
- }], selectedInstanceDate: [{
345
+ }], isSelected: [{
317
346
  type: Input
318
347
  }], eventClick: [{
319
348
  type: Output
@@ -324,5 +353,5 @@ export class EventBarComponent {
324
353
  }], dragEnd: [{
325
354
  type: Output
326
355
  }] }); })();
327
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(EventBarComponent, { className: "EventBarComponent", filePath: "components/eventbar.ts", lineNumber: 83 }); })();
356
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(EventBarComponent, { className: "EventBarComponent", filePath: "components/eventbar.ts", lineNumber: 94 }); })();
328
357
  //# sourceMappingURL=EventBar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EventBar.js","sourceRoot":"","sources":["../../src/components/EventBar.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EventBar.js","sourceRoot":"","sources":["../../src/components/EventBar.ts"],"names":[],"mappings":"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"}