@bimetal/calendar-angular-components 0.34.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 (92) hide show
  1. package/LICENSE +57 -129
  2. package/README.md +1 -1
  3. package/dist/binding/controller.d.ts +10 -1
  4. package/dist/binding/controller.d.ts.map +1 -1
  5. package/dist/binding/controller.js +11 -1
  6. package/dist/binding/controller.js.map +1 -1
  7. package/dist/binding/index.d.ts +5 -5
  8. package/dist/binding/index.d.ts.map +1 -1
  9. package/dist/binding/index.js +5 -5
  10. package/dist/binding/index.js.map +1 -1
  11. package/dist/binding/services/event-render.service.d.ts +9 -0
  12. package/dist/binding/services/event-render.service.d.ts.map +1 -1
  13. package/dist/binding/services/event-render.service.js +11 -0
  14. package/dist/binding/services/event-render.service.js.map +1 -1
  15. package/dist/binding/services/pointer-gesture.service.d.ts +26 -0
  16. package/dist/binding/services/pointer-gesture.service.d.ts.map +1 -0
  17. package/dist/binding/services/pointer-gesture.service.js +37 -0
  18. package/dist/binding/services/pointer-gesture.service.js.map +1 -0
  19. package/dist/components/Calendar.d.ts +47 -8
  20. package/dist/components/Calendar.d.ts.map +1 -1
  21. package/dist/components/Calendar.js +183 -63
  22. package/dist/components/Calendar.js.map +1 -1
  23. package/dist/components/CalendarHeader.d.ts +12 -1
  24. package/dist/components/CalendarHeader.d.ts.map +1 -1
  25. package/dist/components/CalendarHeader.js +66 -14
  26. package/dist/components/CalendarHeader.js.map +1 -1
  27. package/dist/components/CategoryFilter.d.ts +4 -0
  28. package/dist/components/CategoryFilter.d.ts.map +1 -1
  29. package/dist/components/CategoryFilter.js +10 -5
  30. package/dist/components/CategoryFilter.js.map +1 -1
  31. package/dist/components/EventBar.d.ts +15 -4
  32. package/dist/components/EventBar.d.ts.map +1 -1
  33. package/dist/components/EventBar.js +108 -37
  34. package/dist/components/EventBar.js.map +1 -1
  35. package/dist/components/EventDialog.d.ts +11 -4
  36. package/dist/components/EventDialog.d.ts.map +1 -1
  37. package/dist/components/EventDialog.js +86 -44
  38. package/dist/components/EventDialog.js.map +1 -1
  39. package/dist/components/EventHistory.d.ts +14 -9
  40. package/dist/components/EventHistory.d.ts.map +1 -1
  41. package/dist/components/EventHistory.js +59 -55
  42. package/dist/components/EventHistory.js.map +1 -1
  43. package/dist/components/UndoToast.d.ts +9 -5
  44. package/dist/components/UndoToast.d.ts.map +1 -1
  45. package/dist/components/UndoToast.js +16 -27
  46. package/dist/components/UndoToast.js.map +1 -1
  47. package/dist/index.d.ts +0 -2
  48. package/dist/index.d.ts.map +1 -1
  49. package/dist/index.js +0 -2
  50. package/dist/index.js.map +1 -1
  51. package/dist/styles/index.css.d.ts +3 -0
  52. package/dist/views/agenda/AgendaView.d.ts +1 -0
  53. package/dist/views/agenda/AgendaView.d.ts.map +1 -1
  54. package/dist/views/agenda/AgendaView.js +9 -2
  55. package/dist/views/agenda/AgendaView.js.map +1 -1
  56. package/dist/views/day/DayView.d.ts +30 -4
  57. package/dist/views/day/DayView.d.ts.map +1 -1
  58. package/dist/views/day/DayView.js +61 -17
  59. package/dist/views/day/DayView.js.map +1 -1
  60. package/dist/views/month/MonthView.d.ts +21 -4
  61. package/dist/views/month/MonthView.d.ts.map +1 -1
  62. package/dist/views/month/MonthView.js +66 -12
  63. package/dist/views/month/MonthView.js.map +1 -1
  64. package/dist/views/month/WeekRow.d.ts +28 -4
  65. package/dist/views/month/WeekRow.d.ts.map +1 -1
  66. package/dist/views/month/WeekRow.js +100 -29
  67. package/dist/views/month/WeekRow.js.map +1 -1
  68. package/dist/views/resource/ResourceView.d.ts +32 -1
  69. package/dist/views/resource/ResourceView.d.ts.map +1 -1
  70. package/dist/views/resource/ResourceView.js +84 -22
  71. package/dist/views/resource/ResourceView.js.map +1 -1
  72. package/dist/views/timeline/TimelineView.d.ts +29 -3
  73. package/dist/views/timeline/TimelineView.d.ts.map +1 -1
  74. package/dist/views/timeline/TimelineView.js +83 -17
  75. package/dist/views/timeline/TimelineView.js.map +1 -1
  76. package/dist/views/week/AllDayRow.d.ts +21 -3
  77. package/dist/views/week/AllDayRow.d.ts.map +1 -1
  78. package/dist/views/week/AllDayRow.js +60 -13
  79. package/dist/views/week/AllDayRow.js.map +1 -1
  80. package/dist/views/week/TimeEvent.d.ts +20 -4
  81. package/dist/views/week/TimeEvent.d.ts.map +1 -1
  82. package/dist/views/week/TimeEvent.js +101 -31
  83. package/dist/views/week/TimeEvent.js.map +1 -1
  84. package/dist/views/week/WeekView.d.ts +25 -2
  85. package/dist/views/week/WeekView.d.ts.map +1 -1
  86. package/dist/views/week/WeekView.js +69 -21
  87. package/dist/views/week/WeekView.js.map +1 -1
  88. package/dist/views/year/YearView.d.ts +11 -4
  89. package/dist/views/year/YearView.d.ts.map +1 -1
  90. package/dist/views/year/YearView.js +26 -5
  91. package/dist/views/year/YearView.js.map +1 -1
  92. package/package.json +16 -13
@@ -1,9 +1,11 @@
1
1
  import { Component, Input, Output, EventEmitter, Optional, ChangeDetectionStrategy } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
- import { daysBetween, getRecurrenceInstanceMetadata, isExpandedRecurrenceInstance } from '@bimetal/calendar-core';
4
- import { buildDragInfo, createClickIntent, writeCalendarDragData, installTransparentDragImage, toTimeStr, eventBarWantsDarkText } from '@bimetal/calendar-headless';
3
+ import { daysBetween } from '@bimetal/temporal';
4
+ import { getRecurrenceInstanceMetadata, isExpandedRecurrenceInstance } from '@bimetal/calendar-core';
5
+ import { buildDragInfo, createClickIntent, writeCalendarDragData, eventBarWantsDarkText } from '@bimetal/calendar-headless';
6
+ import { installTransparentDragImage } from '@bimetal/a11y-dom';
5
7
  import { probeRender } from '@bimetal/angular';
6
- import { EventRenderService } from '../binding/index.js';
8
+ import { EventRenderService, CalendarPointerGestureService, formatTime } from '../binding/index.js';
7
9
  import * as i0 from "@angular/core";
8
10
  import * as i1 from "../binding/index.js";
9
11
  import * as i2 from "@angular/common";
@@ -50,16 +52,16 @@ function EventBarComponent_div_0_ng_container_4_Template(rf, ctx) { if (rf & 1)
50
52
  function EventBarComponent_div_0_Template(rf, ctx) { if (rf & 1) {
51
53
  const _r1 = i0.ɵɵgetCurrentView();
52
54
  i0.ɵɵelementStart(0, "div", 4);
53
- 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)); });
54
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);
55
57
  i0.ɵɵelementEnd();
56
58
  } if (rf & 2) {
57
59
  const defaultCompact_r3 = i0.ɵɵreference(3);
58
60
  const ctx_r1 = i0.ɵɵnextContext();
59
- i0.ɵɵclassMap("bm-cal__event-bar bm-cal__event-bar--single" + ctx_r1.ghostClass + ctx_r1.selectedClass + 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);
60
62
  i0.ɵɵstyleProp("grid-column", ctx_r1.gridColumn)("grid-row", ctx_r1.gridRow);
61
63
  i0.ɵɵproperty("ngStyle", ctx_r1.slotsStyle)("title", ctx_r1.renderedTitle);
62
- i0.ɵɵattribute("data-r", ctx_r1.probe())("draggable", !ctx_r1.ghost);
64
+ i0.ɵɵattribute("data-r", ctx_r1.probe())("draggable", ctx_r1.pointerMode ? null : ctx_r1.canDrag);
63
65
  i0.ɵɵadvance();
64
66
  i0.ɵɵproperty("ngIf", ctx_r1.contentTpl)("ngIfElse", defaultCompact_r3);
65
67
  i0.ɵɵadvance(3);
@@ -68,8 +70,11 @@ function EventBarComponent_div_0_Template(rf, ctx) { if (rf & 1) {
68
70
  function EventBarComponent_ng_template_1_div_1_Template(rf, ctx) { if (rf & 1) {
69
71
  const _r5 = i0.ɵɵgetCurrentView();
70
72
  i0.ɵɵelementStart(0, "div", 13);
71
- 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()); });
72
74
  i0.ɵɵelementEnd();
75
+ } if (rf & 2) {
76
+ const ctx_r1 = i0.ɵɵnextContext(2);
77
+ i0.ɵɵattribute("draggable", ctx_r1.pointerMode ? null : true);
73
78
  } }
74
79
  function EventBarComponent_ng_template_1_ng_container_2_ng_container_1_Template(rf, ctx) { if (rf & 1) {
75
80
  i0.ɵɵelementContainer(0);
@@ -108,30 +113,33 @@ function EventBarComponent_ng_template_1_ng_container_5_Template(rf, ctx) { if (
108
113
  function EventBarComponent_ng_template_1_div_6_Template(rf, ctx) { if (rf & 1) {
109
114
  const _r6 = i0.ɵɵgetCurrentView();
110
115
  i0.ɵɵelementStart(0, "div", 15);
111
- 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()); });
112
117
  i0.ɵɵelementEnd();
118
+ } if (rf & 2) {
119
+ const ctx_r1 = i0.ɵɵnextContext(2);
120
+ i0.ɵɵattribute("draggable", ctx_r1.pointerMode ? null : true);
113
121
  } }
114
122
  function EventBarComponent_ng_template_1_Template(rf, ctx) { if (rf & 1) {
115
123
  const _r4 = i0.ɵɵgetCurrentView();
116
124
  i0.ɵɵelementStart(0, "div", 4);
117
- 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)); });
118
- 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);
119
127
  i0.ɵɵelementEnd();
120
128
  } if (rf & 2) {
121
129
  const defaultMulti_r7 = i0.ɵɵreference(4);
122
130
  const ctx_r1 = i0.ɵɵnextContext();
123
- i0.ɵɵclassMap("bm-cal__event-bar bm-cal__event-bar--multi" + ctx_r1.ghostClass + ctx_r1.selectedClass + 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);
124
132
  i0.ɵɵstyleProp("grid-column", ctx_r1.gridColumn)("grid-row", ctx_r1.gridRow)("background-color", ctx_r1.color)("border-radius", ctx_r1.borderRadius);
125
133
  i0.ɵɵproperty("ngStyle", ctx_r1.slotsStyle)("title", ctx_r1.renderedTitle);
126
- i0.ɵɵattribute("draggable", !ctx_r1.ghost);
134
+ i0.ɵɵattribute("draggable", ctx_r1.pointerMode ? null : ctx_r1.canDrag);
127
135
  i0.ɵɵadvance();
128
- i0.ɵɵproperty("ngIf", ctx_r1.isStart && !ctx_r1.ghost);
136
+ i0.ɵɵproperty("ngIf", ctx_r1.isStart && ctx_r1.canResize);
129
137
  i0.ɵɵadvance();
130
138
  i0.ɵɵproperty("ngIf", ctx_r1.contentTpl)("ngIfElse", defaultMulti_r7);
131
139
  i0.ɵɵadvance(3);
132
140
  i0.ɵɵproperty("ngIf", ctx_r1.badgesTpl);
133
141
  i0.ɵɵadvance();
134
- i0.ɵɵproperty("ngIf", ctx_r1.isEnd && !ctx_r1.ghost);
142
+ i0.ɵɵproperty("ngIf", ctx_r1.isEnd && ctx_r1.canResize);
135
143
  } }
136
144
  /**
137
145
  * v0.30 Slice 3 (Angular identity-treue): now `OnPush` with DECOMPOSED @Inputs — the stable
@@ -143,8 +151,11 @@ function EventBarComponent_ng_template_1_Template(rf, ctx) { if (rf & 1) {
143
151
  */
144
152
  export class EventBarComponent {
145
153
  renderService;
154
+ gesture;
146
155
  // v0.30 Slice 3: decomposed from the `LayoutItem` wrapper to a stable `event` ref + primitives.
147
156
  event;
157
+ /** Resolved calendar config (mcp-92: locale-aware time display). */
158
+ config;
148
159
  isStart;
149
160
  isEnd;
150
161
  dayIndex;
@@ -161,9 +172,13 @@ export class EventBarComponent {
161
172
  /** Native `dragend` der Source — bubbelt aus Body und Resize-Handles. */
162
173
  dragEnd = new EventEmitter();
163
174
  click = createClickIntent();
164
- constructor(renderService) {
175
+ constructor(renderService,
176
+ // mcp-57 dual-mode (see TimeEvent.ts).
177
+ gesture) {
165
178
  this.renderService = renderService;
179
+ this.gesture = gesture;
166
180
  }
181
+ get pointerMode() { return !!this.gesture; }
167
182
  /** v0.30 Slice 3 perf probe: a template binding evaluates ONLY on a real view refresh
168
183
  * (unlike ngDoCheck), so this counts REAL leaf re-renders. Returns null → no attribute. */
169
184
  probe() { probeRender(this.event.id); return null; }
@@ -183,6 +198,21 @@ export class EventBarComponent {
183
198
  get ghostClass() { return this.ghost ? ' bm-cal__event-bar--ghost' : ''; }
184
199
  get instanceDate() { return getRecurrenceInstanceMetadata(this.event)?.instanceDate; }
185
200
  get selectedClass() { return this.isSelected ? ' bm-cal__event-bar--selected' : ''; }
201
+ // ticket-19: same resolved policy the controller enforces on — drop the affordance
202
+ // when locked so the bar doesn't LOOK movable (enforcement backstops it either way).
203
+ get policy() {
204
+ return this.renderService?.resolveInteraction(this.event)
205
+ ?? { draggable: true, resizable: true, editable: true, deletable: true };
206
+ }
207
+ get canDrag() { const p = this.policy; return !this.ghost && p.draggable; }
208
+ get canResize() { const p = this.policy; return !this.ghost && p.resizable; }
209
+ // `--static` drops the grab cursor for any non-draggable event; `--locked` (fully
210
+ // locked) additionally dims it.
211
+ get lockedClass() {
212
+ const p = this.policy;
213
+ return (!this.ghost && !p.draggable ? ' bm-cal__event-bar--static' : '')
214
+ + ((!p.draggable && !p.resizable && !p.editable && !p.deletable) ? ' bm-cal__event-bar--locked' : '');
215
+ }
186
216
  get gridColumn() { return `${this.dayIndex + 1} / span ${this.daySpan}`; }
187
217
  get gridRow() { return String(this.column + 1); }
188
218
  get borderRadius() {
@@ -191,11 +221,43 @@ export class EventBarComponent {
191
221
  return `${s}px ${e}px ${e}px ${s}px`;
192
222
  }
193
223
  get startTime() {
194
- return toTimeStr(this.event.timeRange.start);
224
+ return formatTime(this.event.timeRange.start, this.config.locale.code, this.config.core.timezone);
195
225
  }
196
226
  handleMouseDown() {
197
227
  this.click.markMouseDown();
198
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
+ }
199
261
  handleDragStart(e) {
200
262
  this.click.markDragged();
201
263
  const bar = e.currentTarget;
@@ -229,8 +291,8 @@ export class EventBarComponent {
229
291
  const rect = e.currentTarget.getBoundingClientRect();
230
292
  this.eventClick.emit({ eventId: this.event.id, rect, instanceDate: this.instanceDate });
231
293
  }
232
- static ɵfac = function EventBarComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || EventBarComponent)(i0.ɵɵdirectiveInject(i1.EventRenderService, 8)); };
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) {
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) {
234
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);
235
297
  } if (rf & 2) {
236
298
  const multiTpl_r8 = i0.ɵɵreference(2);
@@ -248,15 +310,16 @@ export class EventBarComponent {
248
310
  template: `
249
311
  <!-- Compact single-day timed event -->
250
312
  <div *ngIf="isCompact; else multiTpl"
251
- [class]="'bm-cal__event-bar bm-cal__event-bar--single' + ghostClass + selectedClass + slotsClassName"
313
+ [class]="'bm-cal__event-bar bm-cal__event-bar--single' + ghostClass + selectedClass + lockedClass + (pointerMode && (canDrag || canResize) ? ' bm-cal__event-bar--pointer' : '') + slotsClassName"
252
314
  [style.grid-column]="gridColumn"
253
315
  [style.grid-row]="gridRow"
254
316
  [attr.data-r]="probe()"
255
317
  [ngStyle]="slotsStyle"
256
- [attr.draggable]="!ghost"
257
- (mousedown)="handleMouseDown()"
258
- (dragstart)="handleDragStart($event)"
259
- (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()"
260
323
  (click)="handleClick($event)"
261
324
  (dblclick)="handleDoubleClick($event)"
262
325
  [title]="renderedTitle">
@@ -276,24 +339,26 @@ export class EventBarComponent {
276
339
  <!-- Multi-day / all-day bar -->
277
340
  <ng-template #multiTpl>
278
341
  <div
279
- [class]="'bm-cal__event-bar bm-cal__event-bar--multi' + ghostClass + selectedClass + slotsClassName"
342
+ [class]="'bm-cal__event-bar bm-cal__event-bar--multi' + ghostClass + selectedClass + lockedClass + (pointerMode && (canDrag || canResize) ? ' bm-cal__event-bar--pointer' : '') + slotsClassName"
280
343
  [style.grid-column]="gridColumn"
281
344
  [style.grid-row]="gridRow"
282
345
  [style.background-color]="color"
283
346
  [style.border-radius]="borderRadius"
284
347
  [ngStyle]="slotsStyle"
285
- [attr.draggable]="!ghost"
286
- (mousedown)="handleMouseDown()"
287
- (dragstart)="handleDragStart($event)"
288
- (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()"
289
353
  (click)="handleClick($event)"
290
354
  (dblclick)="handleDoubleClick($event)"
291
355
  [title]="renderedTitle">
292
- <div *ngIf="isStart && !ghost"
356
+ <div *ngIf="isStart && canResize"
293
357
  class="bm-cal__resize-handle bm-cal__resize-handle--start"
294
- draggable="true"
295
- (dragstart)="handleResizeDragStart($event, 'start')"
296
- (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()"
297
362
  (mousedown)="$event.stopPropagation()">
298
363
  </div>
299
364
  <ng-container *ngIf="contentTpl; else defaultMulti">
@@ -305,11 +370,12 @@ export class EventBarComponent {
305
370
  <ng-container *ngIf="badgesTpl">
306
371
  <ng-container *ngTemplateOutlet="badgesTpl; context: tplCtx"></ng-container>
307
372
  </ng-container>
308
- <div *ngIf="isEnd && !ghost"
373
+ <div *ngIf="isEnd && canResize"
309
374
  class="bm-cal__resize-handle bm-cal__resize-handle--end"
310
- draggable="true"
311
- (dragstart)="handleResizeDragStart($event, 'end')"
312
- (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()"
313
379
  (mousedown)="$event.stopPropagation()">
314
380
  </div>
315
381
  </div>
@@ -318,9 +384,14 @@ export class EventBarComponent {
318
384
  }]
319
385
  }], () => [{ type: i1.EventRenderService, decorators: [{
320
386
  type: Optional
387
+ }] }, { type: i1.CalendarPointerGestureService, decorators: [{
388
+ type: Optional
321
389
  }] }], { event: [{
322
390
  type: Input,
323
391
  args: [{ required: true }]
392
+ }], config: [{
393
+ type: Input,
394
+ args: [{ required: true }]
324
395
  }], isStart: [{
325
396
  type: Input,
326
397
  args: [{ required: true }]
@@ -353,5 +424,5 @@ export class EventBarComponent {
353
424
  }], dragEnd: [{
354
425
  type: Output
355
426
  }] }); })();
356
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(EventBarComponent, { className: "EventBarComponent", filePath: "components/eventbar.ts", lineNumber: 94 }); })();
427
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(EventBarComponent, { className: "EventBarComponent", filePath: "components/eventbar.ts", lineNumber: 101 }); })();
357
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,18 +1,25 @@
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";
5
+ /**
6
+ * Create/edit dialog for a single event. Renders the controller-held draft form
7
+ * and delegates all mutation through `setDraft`/`save`/`deleteEvent`; can also
8
+ * show the event's revision history.
9
+ */
6
10
  export declare class EventDialogComponent implements AfterViewInit {
7
11
  /** Controller-owned dialog state (draft, flags, validation). */
8
12
  dialog: DialogState;
9
13
  config: CalendarConfig;
10
- history: DomainEvent[];
14
+ history: readonly CalendarHistoryEntry[];
11
15
  /** Patch the controlled draft from raw input (controller applies the policy). */
12
16
  setDraft: EventEmitter<Partial<EventDraft>>;
13
17
  /** Assemble + validate + save the held draft (controller owns all of it). */
14
18
  save: EventEmitter<void>;
15
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>;
16
23
  close: EventEmitter<void>;
17
24
  dialogEl: ElementRef<HTMLDivElement>;
18
25
  showHistory: boolean;
@@ -47,6 +54,6 @@ export declare class EventDialogComponent implements AfterViewInit {
47
54
  handleKeyDown(e: KeyboardEvent): void;
48
55
  handleSave(): void;
49
56
  static ɵfac: i0.ɵɵFactoryDeclaration<EventDialogComponent, never>;
50
- 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>;
51
58
  }
52
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,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"}