@bimetal/calendar-angular-components 0.35.0 → 0.36.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 (74) hide show
  1. package/dist/binding/controller.d.ts +10 -1
  2. package/dist/binding/controller.d.ts.map +1 -1
  3. package/dist/binding/controller.js +11 -1
  4. package/dist/binding/controller.js.map +1 -1
  5. package/dist/binding/index.d.ts +4 -2
  6. package/dist/binding/index.d.ts.map +1 -1
  7. package/dist/binding/index.js +5 -2
  8. package/dist/binding/index.js.map +1 -1
  9. package/dist/binding/services/pointer-gesture.service.d.ts +26 -0
  10. package/dist/binding/services/pointer-gesture.service.d.ts.map +1 -0
  11. package/dist/binding/services/pointer-gesture.service.js +37 -0
  12. package/dist/binding/services/pointer-gesture.service.js.map +1 -0
  13. package/dist/components/Calendar.d.ts +21 -4
  14. package/dist/components/Calendar.d.ts.map +1 -1
  15. package/dist/components/Calendar.js +121 -30
  16. package/dist/components/Calendar.js.map +1 -1
  17. package/dist/components/CalendarHeader.d.ts +3 -0
  18. package/dist/components/CalendarHeader.d.ts.map +1 -1
  19. package/dist/components/CalendarHeader.js +10 -4
  20. package/dist/components/CalendarHeader.js.map +1 -1
  21. package/dist/components/CategoryFilter.d.ts +3 -0
  22. package/dist/components/CategoryFilter.d.ts.map +1 -1
  23. package/dist/components/CategoryFilter.js +9 -5
  24. package/dist/components/CategoryFilter.js.map +1 -1
  25. package/dist/components/EventBar.d.ts +11 -4
  26. package/dist/components/EventBar.d.ts.map +1 -1
  27. package/dist/components/EventBar.js +87 -32
  28. package/dist/components/EventBar.js.map +1 -1
  29. package/dist/components/EventDialog.d.ts +6 -4
  30. package/dist/components/EventDialog.d.ts.map +1 -1
  31. package/dist/components/EventDialog.js +81 -44
  32. package/dist/components/EventDialog.js.map +1 -1
  33. package/dist/components/EventHistory.d.ts +14 -10
  34. package/dist/components/EventHistory.d.ts.map +1 -1
  35. package/dist/components/EventHistory.js +59 -56
  36. package/dist/components/EventHistory.js.map +1 -1
  37. package/dist/styles/index.css.d.ts +3 -0
  38. package/dist/views/day/DayView.d.ts +26 -4
  39. package/dist/views/day/DayView.d.ts.map +1 -1
  40. package/dist/views/day/DayView.js +56 -17
  41. package/dist/views/day/DayView.js.map +1 -1
  42. package/dist/views/month/MonthView.d.ts +14 -3
  43. package/dist/views/month/MonthView.d.ts.map +1 -1
  44. package/dist/views/month/MonthView.js +55 -7
  45. package/dist/views/month/MonthView.js.map +1 -1
  46. package/dist/views/month/WeekRow.d.ts +19 -3
  47. package/dist/views/month/WeekRow.d.ts.map +1 -1
  48. package/dist/views/month/WeekRow.js +73 -34
  49. package/dist/views/month/WeekRow.js.map +1 -1
  50. package/dist/views/resource/ResourceView.d.ts +28 -1
  51. package/dist/views/resource/ResourceView.d.ts.map +1 -1
  52. package/dist/views/resource/ResourceView.js +78 -21
  53. package/dist/views/resource/ResourceView.js.map +1 -1
  54. package/dist/views/timeline/TimelineView.d.ts +25 -3
  55. package/dist/views/timeline/TimelineView.d.ts.map +1 -1
  56. package/dist/views/timeline/TimelineView.js +77 -16
  57. package/dist/views/timeline/TimelineView.js.map +1 -1
  58. package/dist/views/week/AllDayRow.d.ts +16 -3
  59. package/dist/views/week/AllDayRow.d.ts.map +1 -1
  60. package/dist/views/week/AllDayRow.js +47 -10
  61. package/dist/views/week/AllDayRow.js.map +1 -1
  62. package/dist/views/week/TimeEvent.d.ts +11 -4
  63. package/dist/views/week/TimeEvent.d.ts.map +1 -1
  64. package/dist/views/week/TimeEvent.js +76 -26
  65. package/dist/views/week/TimeEvent.js.map +1 -1
  66. package/dist/views/week/WeekView.d.ts +16 -1
  67. package/dist/views/week/WeekView.d.ts.map +1 -1
  68. package/dist/views/week/WeekView.js +53 -18
  69. package/dist/views/week/WeekView.js.map +1 -1
  70. package/dist/views/year/YearView.d.ts +2 -0
  71. package/dist/views/year/YearView.d.ts.map +1 -1
  72. package/dist/views/year/YearView.js +17 -1
  73. package/dist/views/year/YearView.js.map +1 -1
  74. package/package.json +15 -12
@@ -6,6 +6,9 @@ export declare class CategoryFilterComponent {
6
6
  categories: Category[];
7
7
  hiddenCategories: ReadonlySet<string>;
8
8
  toggle: EventEmitter<string>;
9
+ trackCategory(_: number, cat: {
10
+ name: string;
11
+ }): string;
9
12
  static ɵfac: i0.ɵɵFactoryDeclaration<CategoryFilterComponent, never>;
10
13
  static ɵcmp: i0.ɵɵComponentDeclaration<CategoryFilterComponent, "cal-category-filter", never, { "categories": { "alias": "categories"; "required": false; }; "hiddenCategories": { "alias": "hiddenCategories"; "required": false; }; }, { "toggle": "toggle"; }, never, never, true, never>;
11
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CategoryFilter.d.ts","sourceRoot":"","sources":["../../src/components/CategoryFilter.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,YAAY,EAAE,MAAM,eAAe,CAAC;AAEvE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;;AAEpD,qGAAqG;AACrG,qBAiBa,uBAAuB;IACzB,UAAU,EAAE,QAAQ,EAAE,CAAM;IAC5B,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAa;IACjD,MAAM,uBAA8B;yCAHnC,uBAAuB;2CAAvB,uBAAuB;CAInC"}
1
+ {"version":3,"file":"CategoryFilter.d.ts","sourceRoot":"","sources":["../../src/components/CategoryFilter.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,YAAY,EAAE,MAAM,eAAe,CAAC;AAEvE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;;AAEpD,qGAAqG;AACrG,qBAoBa,uBAAuB;IACzB,UAAU,EAAE,QAAQ,EAAE,CAAM;IAC5B,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAa;IACjD,MAAM,uBAA8B;IAC9C,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE;yCAJnC,uBAAuB;2CAAvB,uBAAuB;CAMnC"}
@@ -23,16 +23,17 @@ function CategoryFilterComponent_div_0_Template(rf, ctx) { if (rf & 1) {
23
23
  } if (rf & 2) {
24
24
  const ctx_r2 = i0.ɵɵnextContext();
25
25
  i0.ɵɵadvance();
26
- i0.ɵɵproperty("ngForOf", ctx_r2.categories);
26
+ i0.ɵɵproperty("ngForOf", ctx_r2.categories)("ngForTrackBy", ctx_r2.trackCategory);
27
27
  } }
28
28
  /** Toggleable category-filter pills; clicking a pill emits its name to hide/show matching events. */
29
29
  export class CategoryFilterComponent {
30
30
  categories = [];
31
31
  hiddenCategories = new Set();
32
32
  toggle = new EventEmitter();
33
+ trackCategory(_, cat) { return cat.name; }
33
34
  static ɵfac = function CategoryFilterComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CategoryFilterComponent)(); };
34
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CategoryFilterComponent, selectors: [["cal-category-filter"]], hostAttrs: [2, "display", "contents"], inputs: { categories: "categories", hiddenCategories: "hiddenCategories" }, outputs: { toggle: "toggle" }, decls: 1, vars: 1, consts: [["class", "bm-cal-category-filter", 4, "ngIf"], [1, "bm-cal-category-filter"], ["type", "button", 3, "class", "background-color", "click", 4, "ngFor", "ngForOf"], ["type", "button", 3, "click"]], template: function CategoryFilterComponent_Template(rf, ctx) { if (rf & 1) {
35
- i0.ɵɵtemplate(0, CategoryFilterComponent_div_0_Template, 2, 1, "div", 0);
35
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CategoryFilterComponent, selectors: [["cal-category-filter"]], hostAttrs: [2, "display", "contents"], inputs: { categories: "categories", hiddenCategories: "hiddenCategories" }, outputs: { toggle: "toggle" }, decls: 1, vars: 1, consts: [["class", "bm-cal-category-filter", 4, "ngIf"], [1, "bm-cal-category-filter"], ["type", "button", 3, "class", "background-color", "click", 4, "ngFor", "ngForOf", "ngForTrackBy"], ["type", "button", 3, "click"]], template: function CategoryFilterComponent_Template(rf, ctx) { if (rf & 1) {
36
+ i0.ɵɵtemplate(0, CategoryFilterComponent_div_0_Template, 2, 2, "div", 0);
36
37
  } if (rf & 2) {
37
38
  i0.ɵɵproperty("ngIf", ctx.categories.length > 0);
38
39
  } }, dependencies: [CommonModule, i1.NgForOf, i1.NgIf], encapsulation: 2 });
@@ -46,7 +47,10 @@ export class CategoryFilterComponent {
46
47
  imports: [CommonModule],
47
48
  template: `
48
49
  <div class="bm-cal-category-filter" *ngIf="categories.length > 0">
49
- <button *ngFor="let cat of categories"
50
+ <!-- trackBy (bimetal-131 R1): categories churn only on setConfig, but when
51
+ they do, an un-tracked ngFor rebuilds every pill and a focused one
52
+ drops focus to body — the M4 class. Name is the category identity. -->
53
+ <button *ngFor="let cat of categories; trackBy: trackCategory"
50
54
  [class]="'bm-cal-category-filter__pill' + (hiddenCategories.has(cat.name) ? ' bm-cal-category-filter__pill--hidden' : '')"
51
55
  [style.background-color]="cat.color"
52
56
  (click)="toggle.emit(cat.name)"
@@ -63,5 +67,5 @@ export class CategoryFilterComponent {
63
67
  }], toggle: [{
64
68
  type: Output
65
69
  }] }); })();
66
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CategoryFilterComponent, { className: "CategoryFilterComponent", filePath: "components/categoryfilter.ts", lineNumber: 23 }); })();
70
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CategoryFilterComponent, { className: "CategoryFilterComponent", filePath: "components/categoryfilter.ts", lineNumber: 26 }); })();
67
71
  //# sourceMappingURL=CategoryFilter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CategoryFilter.js","sourceRoot":"","sources":["../../src/components/CategoryFilter.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;;;;;IAWzC,iCAIgB;IADd,sNAAS,+BAAqB,KAAC;IAE/B,YACF;IAAA,iBAAS;;;;IALP,yIAA0H;IAC1H,gDAAoC;IAGpC,cACF;IADE,4CACF;;;IAPF,8BAAkE;IAChE,oFAIgB;IAGlB,iBAAM;;;IAPoB,cAAa;IAAb,2CAAa;;AAR3C,qGAAqG;AAkBrG,MAAM,OAAO,uBAAuB;IACzB,UAAU,GAAe,EAAE,CAAC;IAC5B,gBAAgB,GAAwB,IAAI,GAAG,EAAE,CAAC;IACjD,MAAM,GAAG,IAAI,YAAY,EAAU,CAAC;iHAHnC,uBAAuB;6DAAvB,uBAAuB;YAXhC,wEAAkE;;YAA7B,gDAA2B;4BAFxD,YAAY;;iFAaX,uBAAuB;cAjBnC,SAAS;eAAC;gBACT,QAAQ,EAAE,qBAAqB;gBAC/B,UAAU,EAAE,IAAI;gBAChB,IAAI,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE;gBACpC,OAAO,EAAE,CAAC,YAAY,CAAC;gBACvB,QAAQ,EAAE;;;;;;;;;;GAUT;aACF;gBAEU,UAAU;kBAAlB,KAAK;YACG,gBAAgB;kBAAxB,KAAK;YACI,MAAM;kBAAf,MAAM;;kFAHI,uBAAuB"}
1
+ {"version":3,"file":"CategoryFilter.js","sourceRoot":"","sources":["../../src/components/CategoryFilter.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;;;;;IAczC,iCAIgB;IADd,sNAAS,+BAAqB,KAAC;IAE/B,YACF;IAAA,iBAAS;;;;IALP,yIAA0H;IAC1H,gDAAoC;IAGpC,cACF;IADE,4CACF;;;IAVF,8BAAkE;IAIhE,oFAIgB;IAGlB,iBAAM;;;IAPoB,cAAe;IAAA,AAAf,2CAAe,sCAAsB;;AAXnE,qGAAqG;AAqBrG,MAAM,OAAO,uBAAuB;IACzB,UAAU,GAAe,EAAE,CAAC;IAC5B,gBAAgB,GAAwB,IAAI,GAAG,EAAE,CAAC;IACjD,MAAM,GAAG,IAAI,YAAY,EAAU,CAAC;IAC9C,aAAa,CAAC,CAAS,EAAE,GAAqB,IAAI,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;iHAJzD,uBAAuB;6DAAvB,uBAAuB;YAdhC,wEAAkE;;YAA7B,gDAA2B;4BAFxD,YAAY;;iFAgBX,uBAAuB;cApBnC,SAAS;eAAC;gBACT,QAAQ,EAAE,qBAAqB;gBAC/B,UAAU,EAAE,IAAI;gBAChB,IAAI,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE;gBACpC,OAAO,EAAE,CAAC,YAAY,CAAC;gBACvB,QAAQ,EAAE;;;;;;;;;;;;;GAaT;aACF;gBAEU,UAAU;kBAAlB,KAAK;YACG,gBAAgB;kBAAxB,KAAK;YACI,MAAM;kBAAf,MAAM;;kFAHI,uBAAuB"}
@@ -1,7 +1,8 @@
1
+ import type { CalendarConfig } from '../binding/index.js';
1
2
  import { EventEmitter } from '@angular/core';
2
3
  import type { CalendarDateTime, CalendarEvent } from '@bimetal/calendar-core';
3
4
  import { type DragInfo } from '@bimetal/calendar-headless';
4
- import { EventRenderService } from '../binding/index.js';
5
+ import { EventRenderService, CalendarPointerGestureService } from '../binding/index.js';
5
6
  import * as i0 from "@angular/core";
6
7
  /**
7
8
  * v0.30 Slice 3 (Angular identity-treue): now `OnPush` with DECOMPOSED @Inputs — the stable
@@ -13,7 +14,10 @@ import * as i0 from "@angular/core";
13
14
  */
14
15
  export declare class EventBarComponent {
15
16
  private renderService?;
17
+ private gesture?;
16
18
  event: CalendarEvent;
19
+ /** Resolved calendar config (mcp-92: locale-aware time display). */
20
+ config: CalendarConfig;
17
21
  isStart: boolean;
18
22
  isEnd: boolean;
19
23
  dayIndex: number;
@@ -37,7 +41,8 @@ export declare class EventBarComponent {
37
41
  /** Native `dragend` der Source — bubbelt aus Body und Resize-Handles. */
38
42
  dragEnd: EventEmitter<void>;
39
43
  private click;
40
- constructor(renderService?: EventRenderService | undefined);
44
+ constructor(renderService?: EventRenderService | undefined, gesture?: CalendarPointerGestureService | undefined);
45
+ get pointerMode(): boolean;
41
46
  /** v0.30 Slice 3 perf probe: a template binding evaluates ONLY on a real view refresh
42
47
  * (unlike ngDoCheck), so this counts REAL leaf re-renders. Returns null → no attribute. */
43
48
  probe(): null;
@@ -63,11 +68,13 @@ export declare class EventBarComponent {
63
68
  get borderRadius(): string;
64
69
  get startTime(): string;
65
70
  handleMouseDown(): void;
71
+ handlePointerDown(e: PointerEvent): void;
72
+ handleResizePointerDown(e: PointerEvent, edge: 'start' | 'end'): void;
66
73
  handleDragStart(e: DragEvent): void;
67
74
  handleResizeDragStart(e: DragEvent, edge: 'start' | 'end'): void;
68
75
  handleClick(e: MouseEvent): void;
69
76
  handleDoubleClick(e: MouseEvent): void;
70
- static ɵfac: i0.ɵɵFactoryDeclaration<EventBarComponent, [{ optional: true; }]>;
71
- 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>;
77
+ static ɵfac: i0.ɵɵFactoryDeclaration<EventBarComponent, [{ optional: true; }, { optional: true; }]>;
78
+ static ɵcmp: i0.ɵɵComponentDeclaration<EventBarComponent, "cal-event-bar", never, { "event": { "alias": "event"; "required": true; }; "config": { "alias": "config"; "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>;
72
79
  }
73
80
  //# 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,EAAqC,MAAM,eAAe,CAAC;AAE1G,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAG9E,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;IAGrF,OAAO,KAAK,MAAM,GAGjB;IACD,IAAI,OAAO,YAAgE;IAC3E,IAAI,SAAS,YAAgE;IAG7E,IAAI,WAAW,WAId;IACD,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;yCAzGpB,iBAAiB;2CAAjB,iBAAiB;CA+G7B"}
1
+ {"version":3,"file":"EventBar.d.ts","sourceRoot":"","sources":["../../src/components/EventBar.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAA4B,YAAY,EAAqC,MAAM,eAAe,CAAC;AAE1G,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAG9E,OAAO,EAA6F,KAAK,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAGtJ,OAAO,EAAE,kBAAkB,EAAG,6BAA6B,EAAe,MAAM,qBAAqB,CAAC;;AAEtG;;;;;;;GAOG;AACH,qBAiFa,iBAAiB;IAwBd,OAAO,CAAC,aAAa,CAAC;IAEtB,OAAO,CAAC,OAAO,CAAC;IAxBH,KAAK,EAAG,aAAa,CAAC;IACjD,oEAAoE;IACzC,MAAM,EAAG,cAAc,CAAC;IACxB,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;gBAGd,aAAa,CAAC,EAAE,kBAAkB,YAAA,EAElC,OAAO,CAAC,EAAE,6BAA6B,YAAA;IAE7D,IAAI,WAAW,IAAI,OAAO,CAA2B;IAErD;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;IAGrF,OAAO,KAAK,MAAM,GAGjB;IACD,IAAI,OAAO,YAAgE;IAC3E,IAAI,SAAS,YAAgE;IAG7E,IAAI,WAAW,WAId;IACD,IAAI,UAAU,WAA4D;IAC1E,IAAI,OAAO,WAAsC;IACjD,IAAI,YAAY,WAIf;IACD,IAAI,SAAS,WAEZ;IAED,eAAe;IAIf,iBAAiB,CAAC,CAAC,EAAE,YAAY;IAgBjC,uBAAuB,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,GAAG,KAAK;IAQ9D,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;yCAxIpB,iBAAiB;2CAAjB,iBAAiB;CA8I7B"}
@@ -2,9 +2,10 @@ import { Component, Input, Output, EventEmitter, Optional, ChangeDetectionStrate
2
2
  import { CommonModule } from '@angular/common';
3
3
  import { daysBetween } from '@bimetal/temporal';
4
4
  import { getRecurrenceInstanceMetadata, isExpandedRecurrenceInstance } from '@bimetal/calendar-core';
5
- import { buildDragInfo, createClickIntent, writeCalendarDragData, installTransparentDragImage, toTimeStr, eventBarWantsDarkText } from '@bimetal/calendar-headless';
5
+ import { buildDragInfo, createClickIntent, writeCalendarDragData, eventBarWantsDarkText } from '@bimetal/calendar-headless';
6
+ import { installTransparentDragImage } from '@bimetal/a11y-dom';
6
7
  import { probeRender } from '@bimetal/angular';
7
- import { EventRenderService } from '../binding/index.js';
8
+ import { EventRenderService, CalendarPointerGestureService, formatTime } from '../binding/index.js';
8
9
  import * as i0 from "@angular/core";
9
10
  import * as i1 from "../binding/index.js";
10
11
  import * as i2 from "@angular/common";
@@ -51,16 +52,16 @@ function EventBarComponent_div_0_ng_container_4_Template(rf, ctx) { if (rf & 1)
51
52
  function EventBarComponent_div_0_Template(rf, ctx) { if (rf & 1) {
52
53
  const _r1 = i0.ɵɵgetCurrentView();
53
54
  i0.ɵɵelementStart(0, "div", 4);
54
- i0.ɵɵlistener("mousedown", function EventBarComponent_div_0_Template_div_mousedown_0_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleMouseDown()); })("dragstart", function EventBarComponent_div_0_Template_div_dragstart_0_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleDragStart($event)); })("dragend", function EventBarComponent_div_0_Template_div_dragend_0_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.dragEnd.emit()); })("click", function EventBarComponent_div_0_Template_div_click_0_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleClick($event)); })("dblclick", function EventBarComponent_div_0_Template_div_dblclick_0_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleDoubleClick($event)); });
55
+ i0.ɵɵlistener("pointerdown", function EventBarComponent_div_0_Template_div_pointerdown_0_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handlePointerDown($event)); })("mousedown", function EventBarComponent_div_0_Template_div_mousedown_0_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.pointerMode || ctx_r1.handleMouseDown()); })("dragstart", function EventBarComponent_div_0_Template_div_dragstart_0_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.pointerMode || ctx_r1.handleDragStart($event)); })("dragend", function EventBarComponent_div_0_Template_div_dragend_0_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.pointerMode || ctx_r1.dragEnd.emit()); })("click", function EventBarComponent_div_0_Template_div_click_0_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleClick($event)); })("dblclick", function EventBarComponent_div_0_Template_div_dblclick_0_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleDoubleClick($event)); });
55
56
  i0.ɵɵtemplate(1, EventBarComponent_div_0_ng_container_1_Template, 2, 2, "ng-container", 5)(2, EventBarComponent_div_0_ng_template_2_Template, 5, 5, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor)(4, EventBarComponent_div_0_ng_container_4_Template, 2, 2, "ng-container", 6);
56
57
  i0.ɵɵelementEnd();
57
58
  } if (rf & 2) {
58
59
  const defaultCompact_r3 = i0.ɵɵreference(3);
59
60
  const ctx_r1 = i0.ɵɵnextContext();
60
- i0.ɵɵclassMap("bm-cal__event-bar bm-cal__event-bar--single" + ctx_r1.ghostClass + ctx_r1.selectedClass + ctx_r1.lockedClass + ctx_r1.slotsClassName);
61
+ i0.ɵɵclassMap("bm-cal__event-bar bm-cal__event-bar--single" + ctx_r1.ghostClass + ctx_r1.selectedClass + ctx_r1.lockedClass + (ctx_r1.pointerMode && (ctx_r1.canDrag || ctx_r1.canResize) ? " bm-cal__event-bar--pointer" : "") + ctx_r1.slotsClassName);
61
62
  i0.ɵɵstyleProp("grid-column", ctx_r1.gridColumn)("grid-row", ctx_r1.gridRow);
62
63
  i0.ɵɵproperty("ngStyle", ctx_r1.slotsStyle)("title", ctx_r1.renderedTitle);
63
- i0.ɵɵattribute("data-r", ctx_r1.probe())("draggable", ctx_r1.canDrag);
64
+ i0.ɵɵattribute("data-r", ctx_r1.probe())("draggable", ctx_r1.pointerMode ? null : ctx_r1.canDrag);
64
65
  i0.ɵɵadvance();
65
66
  i0.ɵɵproperty("ngIf", ctx_r1.contentTpl)("ngIfElse", defaultCompact_r3);
66
67
  i0.ɵɵadvance(3);
@@ -69,8 +70,11 @@ function EventBarComponent_div_0_Template(rf, ctx) { if (rf & 1) {
69
70
  function EventBarComponent_ng_template_1_div_1_Template(rf, ctx) { if (rf & 1) {
70
71
  const _r5 = i0.ɵɵgetCurrentView();
71
72
  i0.ɵɵelementStart(0, "div", 13);
72
- i0.ɵɵlistener("dragstart", function EventBarComponent_ng_template_1_div_1_Template_div_dragstart_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.handleResizeDragStart($event, "start")); })("dragend", function EventBarComponent_ng_template_1_div_1_Template_div_dragend_0_listener() { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.dragEnd.emit()); })("mousedown", function EventBarComponent_ng_template_1_div_1_Template_div_mousedown_0_listener($event) { i0.ɵɵrestoreView(_r5); return i0.ɵɵresetView($event.stopPropagation()); });
73
+ i0.ɵɵlistener("pointerdown", function EventBarComponent_ng_template_1_div_1_Template_div_pointerdown_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.handleResizePointerDown($event, "start")); })("dragstart", function EventBarComponent_ng_template_1_div_1_Template_div_dragstart_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.pointerMode || ctx_r1.handleResizeDragStart($event, "start")); })("dragend", function EventBarComponent_ng_template_1_div_1_Template_div_dragend_0_listener() { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.pointerMode || ctx_r1.dragEnd.emit()); })("mousedown", function EventBarComponent_ng_template_1_div_1_Template_div_mousedown_0_listener($event) { i0.ɵɵrestoreView(_r5); return i0.ɵɵresetView($event.stopPropagation()); });
73
74
  i0.ɵɵelementEnd();
75
+ } if (rf & 2) {
76
+ const ctx_r1 = i0.ɵɵnextContext(2);
77
+ i0.ɵɵattribute("draggable", ctx_r1.pointerMode ? null : true);
74
78
  } }
75
79
  function EventBarComponent_ng_template_1_ng_container_2_ng_container_1_Template(rf, ctx) { if (rf & 1) {
76
80
  i0.ɵɵelementContainer(0);
@@ -109,22 +113,25 @@ function EventBarComponent_ng_template_1_ng_container_5_Template(rf, ctx) { if (
109
113
  function EventBarComponent_ng_template_1_div_6_Template(rf, ctx) { if (rf & 1) {
110
114
  const _r6 = i0.ɵɵgetCurrentView();
111
115
  i0.ɵɵelementStart(0, "div", 15);
112
- i0.ɵɵlistener("dragstart", function EventBarComponent_ng_template_1_div_6_Template_div_dragstart_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.handleResizeDragStart($event, "end")); })("dragend", function EventBarComponent_ng_template_1_div_6_Template_div_dragend_0_listener() { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.dragEnd.emit()); })("mousedown", function EventBarComponent_ng_template_1_div_6_Template_div_mousedown_0_listener($event) { i0.ɵɵrestoreView(_r6); return i0.ɵɵresetView($event.stopPropagation()); });
116
+ i0.ɵɵlistener("pointerdown", function EventBarComponent_ng_template_1_div_6_Template_div_pointerdown_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.handleResizePointerDown($event, "end")); })("dragstart", function EventBarComponent_ng_template_1_div_6_Template_div_dragstart_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.pointerMode || ctx_r1.handleResizeDragStart($event, "end")); })("dragend", function EventBarComponent_ng_template_1_div_6_Template_div_dragend_0_listener() { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.pointerMode || ctx_r1.dragEnd.emit()); })("mousedown", function EventBarComponent_ng_template_1_div_6_Template_div_mousedown_0_listener($event) { i0.ɵɵrestoreView(_r6); return i0.ɵɵresetView($event.stopPropagation()); });
113
117
  i0.ɵɵelementEnd();
118
+ } if (rf & 2) {
119
+ const ctx_r1 = i0.ɵɵnextContext(2);
120
+ i0.ɵɵattribute("draggable", ctx_r1.pointerMode ? null : true);
114
121
  } }
115
122
  function EventBarComponent_ng_template_1_Template(rf, ctx) { if (rf & 1) {
116
123
  const _r4 = i0.ɵɵgetCurrentView();
117
124
  i0.ɵɵelementStart(0, "div", 4);
118
- i0.ɵɵlistener("mousedown", function EventBarComponent_ng_template_1_Template_div_mousedown_0_listener() { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleMouseDown()); })("dragstart", function EventBarComponent_ng_template_1_Template_div_dragstart_0_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleDragStart($event)); })("dragend", function EventBarComponent_ng_template_1_Template_div_dragend_0_listener() { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.dragEnd.emit()); })("click", function EventBarComponent_ng_template_1_Template_div_click_0_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleClick($event)); })("dblclick", function EventBarComponent_ng_template_1_Template_div_dblclick_0_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleDoubleClick($event)); });
119
- i0.ɵɵtemplate(1, EventBarComponent_ng_template_1_div_1_Template, 1, 0, "div", 11)(2, EventBarComponent_ng_template_1_ng_container_2_Template, 2, 2, "ng-container", 5)(3, EventBarComponent_ng_template_1_ng_template_3_Template, 2, 4, "ng-template", null, 2, i0.ɵɵtemplateRefExtractor)(5, EventBarComponent_ng_template_1_ng_container_5_Template, 2, 2, "ng-container", 6)(6, EventBarComponent_ng_template_1_div_6_Template, 1, 0, "div", 12);
125
+ i0.ɵɵlistener("pointerdown", function EventBarComponent_ng_template_1_Template_div_pointerdown_0_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handlePointerDown($event)); })("mousedown", function EventBarComponent_ng_template_1_Template_div_mousedown_0_listener() { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.pointerMode || ctx_r1.handleMouseDown()); })("dragstart", function EventBarComponent_ng_template_1_Template_div_dragstart_0_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.pointerMode || ctx_r1.handleDragStart($event)); })("dragend", function EventBarComponent_ng_template_1_Template_div_dragend_0_listener() { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.pointerMode || ctx_r1.dragEnd.emit()); })("click", function EventBarComponent_ng_template_1_Template_div_click_0_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleClick($event)); })("dblclick", function EventBarComponent_ng_template_1_Template_div_dblclick_0_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleDoubleClick($event)); });
126
+ i0.ɵɵtemplate(1, EventBarComponent_ng_template_1_div_1_Template, 1, 1, "div", 11)(2, EventBarComponent_ng_template_1_ng_container_2_Template, 2, 2, "ng-container", 5)(3, EventBarComponent_ng_template_1_ng_template_3_Template, 2, 4, "ng-template", null, 2, i0.ɵɵtemplateRefExtractor)(5, EventBarComponent_ng_template_1_ng_container_5_Template, 2, 2, "ng-container", 6)(6, EventBarComponent_ng_template_1_div_6_Template, 1, 1, "div", 12);
120
127
  i0.ɵɵelementEnd();
121
128
  } if (rf & 2) {
122
129
  const defaultMulti_r7 = i0.ɵɵreference(4);
123
130
  const ctx_r1 = i0.ɵɵnextContext();
124
- i0.ɵɵclassMap("bm-cal__event-bar bm-cal__event-bar--multi" + ctx_r1.ghostClass + ctx_r1.selectedClass + ctx_r1.lockedClass + ctx_r1.slotsClassName);
131
+ i0.ɵɵclassMap("bm-cal__event-bar bm-cal__event-bar--multi" + ctx_r1.ghostClass + ctx_r1.selectedClass + ctx_r1.lockedClass + (ctx_r1.pointerMode && (ctx_r1.canDrag || ctx_r1.canResize) ? " bm-cal__event-bar--pointer" : "") + ctx_r1.slotsClassName);
125
132
  i0.ɵɵstyleProp("grid-column", ctx_r1.gridColumn)("grid-row", ctx_r1.gridRow)("background-color", ctx_r1.color)("border-radius", ctx_r1.borderRadius);
126
133
  i0.ɵɵproperty("ngStyle", ctx_r1.slotsStyle)("title", ctx_r1.renderedTitle);
127
- i0.ɵɵattribute("draggable", ctx_r1.canDrag);
134
+ i0.ɵɵattribute("draggable", ctx_r1.pointerMode ? null : ctx_r1.canDrag);
128
135
  i0.ɵɵadvance();
129
136
  i0.ɵɵproperty("ngIf", ctx_r1.isStart && ctx_r1.canResize);
130
137
  i0.ɵɵadvance();
@@ -144,8 +151,11 @@ function EventBarComponent_ng_template_1_Template(rf, ctx) { if (rf & 1) {
144
151
  */
145
152
  export class EventBarComponent {
146
153
  renderService;
154
+ gesture;
147
155
  // v0.30 Slice 3: decomposed from the `LayoutItem` wrapper to a stable `event` ref + primitives.
148
156
  event;
157
+ /** Resolved calendar config (mcp-92: locale-aware time display). */
158
+ config;
149
159
  isStart;
150
160
  isEnd;
151
161
  dayIndex;
@@ -162,9 +172,13 @@ export class EventBarComponent {
162
172
  /** Native `dragend` der Source — bubbelt aus Body und Resize-Handles. */
163
173
  dragEnd = new EventEmitter();
164
174
  click = createClickIntent();
165
- constructor(renderService) {
175
+ constructor(renderService,
176
+ // mcp-57 dual-mode (see TimeEvent.ts).
177
+ gesture) {
166
178
  this.renderService = renderService;
179
+ this.gesture = gesture;
167
180
  }
181
+ get pointerMode() { return !!this.gesture; }
168
182
  /** v0.30 Slice 3 perf probe: a template binding evaluates ONLY on a real view refresh
169
183
  * (unlike ngDoCheck), so this counts REAL leaf re-renders. Returns null → no attribute. */
170
184
  probe() { probeRender(this.event.id); return null; }
@@ -207,11 +221,43 @@ export class EventBarComponent {
207
221
  return `${s}px ${e}px ${e}px ${s}px`;
208
222
  }
209
223
  get startTime() {
210
- return toTimeStr(this.event.timeRange.start);
224
+ return formatTime(this.event.timeRange.start, this.config.locale.code, this.config.core.timezone);
211
225
  }
212
226
  handleMouseDown() {
213
227
  this.click.markMouseDown();
214
228
  }
229
+ handlePointerDown(e) {
230
+ if (!this.pointerMode)
231
+ return;
232
+ this.click.markMouseDown();
233
+ if (!this.canDrag)
234
+ return;
235
+ try {
236
+ e.currentTarget.setPointerCapture?.(e.pointerId);
237
+ }
238
+ catch { /* synthetic */ }
239
+ const barRect = e.currentTarget.getBoundingClientRect();
240
+ const colWidth = barRect.width / this.daySpan;
241
+ // 0-width rect (jsdom/display:none) → NaN grab column → crash in daysBetween.
242
+ const grabColInBar = colWidth > 0
243
+ ? Math.min(Math.max(0, Math.floor((e.clientX - barRect.left) / colWidth)), this.daySpan - 1)
244
+ : 0;
245
+ const grabbedDate = this.weekDates[this.dayIndex + grabColInBar];
246
+ const offset = daysBetween(this.event.timeRange.start, grabbedDate);
247
+ const info = buildDragInfo(this.event, 'move', { dayOffset: offset });
248
+ this.gesture.onPointerDown(info, e.pointerId, e.clientX, e.clientY, () => this.click.markDragged());
249
+ }
250
+ handleResizePointerDown(e, edge) {
251
+ if (!this.pointerMode)
252
+ return;
253
+ e.stopPropagation();
254
+ try {
255
+ e.currentTarget.setPointerCapture?.(e.pointerId);
256
+ }
257
+ catch { /* synthetic */ }
258
+ const info = buildDragInfo(this.event, 'resize', { edge });
259
+ this.gesture.onPointerDown(info, e.pointerId, e.clientX, e.clientY, () => this.click.markDragged());
260
+ }
215
261
  handleDragStart(e) {
216
262
  this.click.markDragged();
217
263
  const bar = e.currentTarget;
@@ -245,8 +291,8 @@ export class EventBarComponent {
245
291
  const rect = e.currentTarget.getBoundingClientRect();
246
292
  this.eventClick.emit({ eventId: this.event.id, rect, instanceDate: this.instanceDate });
247
293
  }
248
- static ɵfac = function EventBarComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || EventBarComponent)(i0.ɵɵdirectiveInject(i1.EventRenderService, 8)); };
249
- 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) {
294
+ static ɵfac = function EventBarComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || EventBarComponent)(i0.ɵɵdirectiveInject(i1.EventRenderService, 8), i0.ɵɵdirectiveInject(i1.CalendarPointerGestureService, 8)); };
295
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: EventBarComponent, selectors: [["cal-event-bar"]], hostAttrs: [2, "display", "contents"], inputs: { event: "event", config: "config", 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", "pointerdown", "mousedown", "dragstart", "dragend", "click", "dblclick", 4, "ngIf", "ngIfElse"], [3, "pointerdown", "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", 3, "pointerdown", "dragstart", "dragend", "mousedown", 4, "ngIf"], ["class", "bm-cal__resize-handle bm-cal__resize-handle--end", 3, "pointerdown", "dragstart", "dragend", "mousedown", 4, "ngIf"], [1, "bm-cal__resize-handle", "bm-cal__resize-handle--start", 3, "pointerdown", "dragstart", "dragend", "mousedown"], [1, "bm-cal__event-title"], [1, "bm-cal__resize-handle", "bm-cal__resize-handle--end", 3, "pointerdown", "dragstart", "dragend", "mousedown"]], template: function EventBarComponent_Template(rf, ctx) { if (rf & 1) {
250
296
  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);
251
297
  } if (rf & 2) {
252
298
  const multiTpl_r8 = i0.ɵɵreference(2);
@@ -264,15 +310,16 @@ export class EventBarComponent {
264
310
  template: `
265
311
  <!-- Compact single-day timed event -->
266
312
  <div *ngIf="isCompact; else multiTpl"
267
- [class]="'bm-cal__event-bar bm-cal__event-bar--single' + ghostClass + selectedClass + lockedClass + slotsClassName"
313
+ [class]="'bm-cal__event-bar bm-cal__event-bar--single' + ghostClass + selectedClass + lockedClass + (pointerMode && (canDrag || canResize) ? ' bm-cal__event-bar--pointer' : '') + slotsClassName"
268
314
  [style.grid-column]="gridColumn"
269
315
  [style.grid-row]="gridRow"
270
316
  [attr.data-r]="probe()"
271
317
  [ngStyle]="slotsStyle"
272
- [attr.draggable]="canDrag"
273
- (mousedown)="handleMouseDown()"
274
- (dragstart)="handleDragStart($event)"
275
- (dragend)="dragEnd.emit()"
318
+ [attr.draggable]="pointerMode ? null : canDrag"
319
+ (pointerdown)="handlePointerDown($event)"
320
+ (mousedown)="pointerMode || handleMouseDown()"
321
+ (dragstart)="pointerMode || handleDragStart($event)"
322
+ (dragend)="pointerMode || dragEnd.emit()"
276
323
  (click)="handleClick($event)"
277
324
  (dblclick)="handleDoubleClick($event)"
278
325
  [title]="renderedTitle">
@@ -292,24 +339,26 @@ export class EventBarComponent {
292
339
  <!-- Multi-day / all-day bar -->
293
340
  <ng-template #multiTpl>
294
341
  <div
295
- [class]="'bm-cal__event-bar bm-cal__event-bar--multi' + ghostClass + selectedClass + lockedClass + slotsClassName"
342
+ [class]="'bm-cal__event-bar bm-cal__event-bar--multi' + ghostClass + selectedClass + lockedClass + (pointerMode && (canDrag || canResize) ? ' bm-cal__event-bar--pointer' : '') + slotsClassName"
296
343
  [style.grid-column]="gridColumn"
297
344
  [style.grid-row]="gridRow"
298
345
  [style.background-color]="color"
299
346
  [style.border-radius]="borderRadius"
300
347
  [ngStyle]="slotsStyle"
301
- [attr.draggable]="canDrag"
302
- (mousedown)="handleMouseDown()"
303
- (dragstart)="handleDragStart($event)"
304
- (dragend)="dragEnd.emit()"
348
+ [attr.draggable]="pointerMode ? null : canDrag"
349
+ (pointerdown)="handlePointerDown($event)"
350
+ (mousedown)="pointerMode || handleMouseDown()"
351
+ (dragstart)="pointerMode || handleDragStart($event)"
352
+ (dragend)="pointerMode || dragEnd.emit()"
305
353
  (click)="handleClick($event)"
306
354
  (dblclick)="handleDoubleClick($event)"
307
355
  [title]="renderedTitle">
308
356
  <div *ngIf="isStart && canResize"
309
357
  class="bm-cal__resize-handle bm-cal__resize-handle--start"
310
- draggable="true"
311
- (dragstart)="handleResizeDragStart($event, 'start')"
312
- (dragend)="dragEnd.emit()"
358
+ [attr.draggable]="pointerMode ? null : true"
359
+ (pointerdown)="handleResizePointerDown($event, 'start')"
360
+ (dragstart)="pointerMode || handleResizeDragStart($event, 'start')"
361
+ (dragend)="pointerMode || dragEnd.emit()"
313
362
  (mousedown)="$event.stopPropagation()">
314
363
  </div>
315
364
  <ng-container *ngIf="contentTpl; else defaultMulti">
@@ -323,9 +372,10 @@ export class EventBarComponent {
323
372
  </ng-container>
324
373
  <div *ngIf="isEnd && canResize"
325
374
  class="bm-cal__resize-handle bm-cal__resize-handle--end"
326
- draggable="true"
327
- (dragstart)="handleResizeDragStart($event, 'end')"
328
- (dragend)="dragEnd.emit()"
375
+ [attr.draggable]="pointerMode ? null : true"
376
+ (pointerdown)="handleResizePointerDown($event, 'end')"
377
+ (dragstart)="pointerMode || handleResizeDragStart($event, 'end')"
378
+ (dragend)="pointerMode || dragEnd.emit()"
329
379
  (mousedown)="$event.stopPropagation()">
330
380
  </div>
331
381
  </div>
@@ -334,9 +384,14 @@ export class EventBarComponent {
334
384
  }]
335
385
  }], () => [{ type: i1.EventRenderService, decorators: [{
336
386
  type: Optional
387
+ }] }, { type: i1.CalendarPointerGestureService, decorators: [{
388
+ type: Optional
337
389
  }] }], { event: [{
338
390
  type: Input,
339
391
  args: [{ required: true }]
392
+ }], config: [{
393
+ type: Input,
394
+ args: [{ required: true }]
340
395
  }], isStart: [{
341
396
  type: Input,
342
397
  args: [{ required: true }]
@@ -369,5 +424,5 @@ export class EventBarComponent {
369
424
  }], dragEnd: [{
370
425
  type: Output
371
426
  }] }); })();
372
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(EventBarComponent, { className: "EventBarComponent", filePath: "components/eventbar.ts", lineNumber: 95 }); })();
427
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(EventBarComponent, { className: "EventBarComponent", filePath: "components/eventbar.ts", lineNumber: 101 }); })();
373
428
  //# 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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"}
@@ -1,6 +1,5 @@
1
1
  import { EventEmitter, AfterViewInit, ElementRef } from '@angular/core';
2
- import type { DialogState, EventDraft } from '@bimetal/calendar-headless';
3
- import type { DomainEvent } from '@bimetal/calendar-data';
2
+ import type { CalendarHistoryEntry, DialogState, EventDraft } from '@bimetal/calendar-headless';
4
3
  import type { CalendarConfig } from '../binding/index.js';
5
4
  import * as i0 from "@angular/core";
6
5
  /**
@@ -12,12 +11,15 @@ export declare class EventDialogComponent implements AfterViewInit {
12
11
  /** Controller-owned dialog state (draft, flags, validation). */
13
12
  dialog: DialogState;
14
13
  config: CalendarConfig;
15
- history: DomainEvent[];
14
+ history: readonly CalendarHistoryEntry[];
16
15
  /** Patch the controlled draft from raw input (controller applies the policy). */
17
16
  setDraft: EventEmitter<Partial<EventDraft>>;
18
17
  /** Assemble + validate + save the held draft (controller owns all of it). */
19
18
  save: EventEmitter<void>;
20
19
  deleteEvent: EventEmitter<string>;
20
+ /** Re-open the dialog on the SERIES MASTER behind an occurrence (mcp-116). Emits the
21
+ * event id; the anchor rect stays with the parent, which owns the dialog state. */
22
+ editSeries: EventEmitter<string>;
21
23
  close: EventEmitter<void>;
22
24
  dialogEl: ElementRef<HTMLDivElement>;
23
25
  showHistory: boolean;
@@ -52,6 +54,6 @@ export declare class EventDialogComponent implements AfterViewInit {
52
54
  handleKeyDown(e: KeyboardEvent): void;
53
55
  handleSave(): void;
54
56
  static ɵfac: i0.ɵɵFactoryDeclaration<EventDialogComponent, never>;
55
- static ɵcmp: i0.ɵɵComponentDeclaration<EventDialogComponent, "cal-event-dialog", never, { "dialog": { "alias": "dialog"; "required": false; }; "config": { "alias": "config"; "required": false; }; "history": { "alias": "history"; "required": false; }; }, { "setDraft": "setDraft"; "save": "save"; "deleteEvent": "deleteEvent"; "close": "close"; }, never, never, true, never>;
57
+ static ɵcmp: i0.ɵɵComponentDeclaration<EventDialogComponent, "cal-event-dialog", never, { "dialog": { "alias": "dialog"; "required": false; }; "config": { "alias": "config"; "required": false; }; "history": { "alias": "history"; "required": false; }; }, { "setDraft": "setDraft"; "save": "save"; "deleteEvent": "deleteEvent"; "editSeries": "editSeries"; "close": "close"; }, never, never, true, never>;
56
58
  }
57
59
  //# sourceMappingURL=EventDialog.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EventDialog.d.ts","sourceRoot":"","sources":["../../src/components/EventDialog.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,YAAY,EAAE,aAAa,EAAa,UAAU,EAAE,MAAM,eAAe,CAAC;AAE7G,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;;AAG1D;;;;GAIG;AACH,qBAkIa,oBAAqB,YAAW,aAAa;IACxD,gEAAgE;IACvD,MAAM,EAAG,WAAW,CAAC;IACrB,MAAM,EAAG,cAAc,CAAC;IACxB,OAAO,EAAE,WAAW,EAAE,CAAM;IACrC,iFAAiF;IACvE,QAAQ,oCAA2C;IAC7D,6EAA6E;IACnE,IAAI,qBAA4B;IAChC,WAAW,uBAA8B;IACzC,KAAK,qBAA4B;IAEpB,QAAQ,EAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IAE7D,WAAW,UAAS;IAGpB,IAAI,KAAK,IAAI,UAAU,CAA8B;IACrD,IAAI,KAAK,0DAAgC;IACzC,IAAI,KAAK,IAAI,OAAO,CAA8B;IAClD,IAAI,UAAU,IAAI,OAAO,CAAmC;IAC5D,IAAI,gBAAgB,IAAI,SAAS,MAAM,EAAE,CAAyC;IAMlF,QAAQ,CAAC,QAAQ,aAA2B;IAE5C,eAAe;IAoBf,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE;IAE1C,WAAW;IACX,WAAW;IAGX,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,OAAO;IAEf,OAAO,CAAC,CAAC,EAAE,KAAK;IAChB,QAAQ,CAAC,CAAC,EAAE,KAAK;IACjB,WAAW,CAAC,CAAC,EAAE,KAAK;IACpB,aAAa,CAAC,CAAC,EAAE,KAAK;IACtB,SAAS,CAAC,CAAC,EAAE,KAAK;IAClB,UAAU,CAAC,CAAC,EAAE,KAAK;IACnB,WAAW,CAAC,CAAC,EAAE,KAAK;IACpB,WAAW,CAAC,CAAC,EAAE,KAAK;IACpB,SAAS,CAAC,CAAC,EAAE,KAAK;IAClB,SAAS,CAAC,CAAC,EAAE,KAAK;IAClB,UAAU,CAAC,CAAC,EAAE,KAAK;IACnB,YAAY,CAAC,CAAC,EAAE,KAAK;IACrB,UAAU,CAAC,CAAC,EAAE,KAAK;IACnB,aAAa,CAAC,CAAC,EAAE,KAAK;IAEtB,aAAa,CAAC,CAAC,EAAE,aAAa;IAO9B,UAAU;yCAhFC,oBAAoB;2CAApB,oBAAoB;CAiFhC"}
1
+ {"version":3,"file":"EventDialog.d.ts","sourceRoot":"","sources":["../../src/components/EventDialog.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,YAAY,EAAE,aAAa,EAAa,UAAU,EAAE,MAAM,eAAe,CAAC;AAE7G,OAAO,KAAK,EAAE,oBAAoB,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAIhG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;;AAG1D;;;;GAIG;AACH,qBAwIa,oBAAqB,YAAW,aAAa;IACxD,gEAAgE;IACvD,MAAM,EAAG,WAAW,CAAC;IACrB,MAAM,EAAG,cAAc,CAAC;IAGxB,OAAO,EAAE,SAAS,oBAAoB,EAAE,CAAM;IACvD,iFAAiF;IACvE,QAAQ,oCAA2C;IAC7D,6EAA6E;IACnE,IAAI,qBAA4B;IAChC,WAAW,uBAA8B;IACnD;wFACoF;IAC1E,UAAU,uBAA8B;IACxC,KAAK,qBAA4B;IAEpB,QAAQ,EAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IAE7D,WAAW,UAAS;IAGpB,IAAI,KAAK,IAAI,UAAU,CAA8B;IACrD,IAAI,KAAK,0DAAgC;IACzC,IAAI,KAAK,IAAI,OAAO,CAA8B;IAClD,IAAI,UAAU,IAAI,OAAO,CAAmC;IAC5D,IAAI,gBAAgB,IAAI,SAAS,MAAM,EAAE,CAAyC;IAMlF,QAAQ,CAAC,QAAQ,aAA2B;IAE5C,eAAe;IAoBf,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE;IAE1C,WAAW;IACX,WAAW;IAGX,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,OAAO;IAEf,OAAO,CAAC,CAAC,EAAE,KAAK;IAChB,QAAQ,CAAC,CAAC,EAAE,KAAK;IACjB,WAAW,CAAC,CAAC,EAAE,KAAK;IACpB,aAAa,CAAC,CAAC,EAAE,KAAK;IACtB,SAAS,CAAC,CAAC,EAAE,KAAK;IAClB,UAAU,CAAC,CAAC,EAAE,KAAK;IACnB,WAAW,CAAC,CAAC,EAAE,KAAK;IACpB,WAAW,CAAC,CAAC,EAAE,KAAK;IACpB,SAAS,CAAC,CAAC,EAAE,KAAK;IAClB,SAAS,CAAC,CAAC,EAAE,KAAK;IAClB,UAAU,CAAC,CAAC,EAAE,KAAK;IACnB,YAAY,CAAC,CAAC,EAAE,KAAK;IACrB,UAAU,CAAC,CAAC,EAAE,KAAK;IACnB,aAAa,CAAC,CAAC,EAAE,KAAK;IAKtB,aAAa,CAAC,CAAC,EAAE,aAAa;IAU9B,UAAU;yCA3FC,oBAAoB;2CAApB,oBAAoB;CA4FhC"}