@acorex/modules 21.0.0-next.5 → 21.0.0-next.7

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 (109) hide show
  1. package/application-management/index.d.ts +1 -0
  2. package/calendar-management/index.d.ts +6 -7
  3. package/document-management/index.d.ts +1545 -174
  4. package/fesm2022/acorex-modules-application-management.mjs +1 -0
  5. package/fesm2022/acorex-modules-application-management.mjs.map +1 -1
  6. package/fesm2022/{acorex-modules-assessment-management-acorex-modules-assessment-management-C4_2RPxG.mjs → acorex-modules-assessment-management-acorex-modules-assessment-management-7S277fXg.mjs} +23 -23
  7. package/fesm2022/acorex-modules-assessment-management-acorex-modules-assessment-management-7S277fXg.mjs.map +1 -0
  8. package/fesm2022/{acorex-modules-assessment-management-answers-viewer-widget-column.component-D2YRh7ro.mjs → acorex-modules-assessment-management-answers-viewer-widget-column.component-FnpwLbkS.mjs} +2 -2
  9. package/fesm2022/{acorex-modules-assessment-management-answers-viewer-widget-column.component-D2YRh7ro.mjs.map → acorex-modules-assessment-management-answers-viewer-widget-column.component-FnpwLbkS.mjs.map} +1 -1
  10. package/fesm2022/{acorex-modules-assessment-management-answers-viewer-widget-edit.component-B-S78gfQ.mjs → acorex-modules-assessment-management-answers-viewer-widget-edit.component-By0ETDZf.mjs} +2 -2
  11. package/fesm2022/{acorex-modules-assessment-management-answers-viewer-widget-edit.component-B-S78gfQ.mjs.map → acorex-modules-assessment-management-answers-viewer-widget-edit.component-By0ETDZf.mjs.map} +1 -1
  12. package/fesm2022/{acorex-modules-assessment-management-answers-viewer-widget-view.component-C1BTgRTR.mjs → acorex-modules-assessment-management-answers-viewer-widget-view.component-DxmjBgIo.mjs} +2 -2
  13. package/fesm2022/{acorex-modules-assessment-management-answers-viewer-widget-view.component-C1BTgRTR.mjs.map → acorex-modules-assessment-management-answers-viewer-widget-view.component-DxmjBgIo.mjs.map} +1 -1
  14. package/fesm2022/{acorex-modules-assessment-management-assessment-case.entity-DwTlClTz.mjs → acorex-modules-assessment-management-assessment-case.entity-CBjAGtV3.mjs} +2 -2
  15. package/fesm2022/{acorex-modules-assessment-management-assessment-case.entity-DwTlClTz.mjs.map → acorex-modules-assessment-management-assessment-case.entity-CBjAGtV3.mjs.map} +1 -1
  16. package/fesm2022/{acorex-modules-assessment-management-assessment-session.entity-BmvacBUU.mjs → acorex-modules-assessment-management-assessment-session.entity-CMnJ44gj.mjs} +2 -2
  17. package/fesm2022/{acorex-modules-assessment-management-assessment-session.entity-BmvacBUU.mjs.map → acorex-modules-assessment-management-assessment-session.entity-CMnJ44gj.mjs.map} +1 -1
  18. package/fesm2022/{acorex-modules-assessment-management-fill-assessment-session.command-D7ZNQBo8.mjs → acorex-modules-assessment-management-fill-assessment-session.command-8OhZEoAp.mjs} +3 -3
  19. package/fesm2022/{acorex-modules-assessment-management-fill-assessment-session.command-D7ZNQBo8.mjs.map → acorex-modules-assessment-management-fill-assessment-session.command-8OhZEoAp.mjs.map} +1 -1
  20. package/fesm2022/{acorex-modules-assessment-management-preview-questionnaire.command-BQxlJax7.mjs → acorex-modules-assessment-management-preview-questionnaire.command-CUybKZFY.mjs} +4 -4
  21. package/fesm2022/{acorex-modules-assessment-management-preview-questionnaire.command-BQxlJax7.mjs.map → acorex-modules-assessment-management-preview-questionnaire.command-CUybKZFY.mjs.map} +1 -1
  22. package/fesm2022/{acorex-modules-assessment-management-question-bank-item.entity-CIjS5M1b.mjs → acorex-modules-assessment-management-question-bank-item.entity-C9gxvSqN.mjs} +2 -2
  23. package/fesm2022/{acorex-modules-assessment-management-question-bank-item.entity-CIjS5M1b.mjs.map → acorex-modules-assessment-management-question-bank-item.entity-C9gxvSqN.mjs.map} +1 -1
  24. package/fesm2022/{acorex-modules-assessment-management-questionnaire-builder-edit.component-DAYiqBeA.mjs → acorex-modules-assessment-management-questionnaire-builder-edit.component-CUCT7Tcg.mjs} +2 -2
  25. package/fesm2022/{acorex-modules-assessment-management-questionnaire-builder-edit.component-DAYiqBeA.mjs.map → acorex-modules-assessment-management-questionnaire-builder-edit.component-CUCT7Tcg.mjs.map} +1 -1
  26. package/fesm2022/{acorex-modules-assessment-management-questionnaire-builder-view.component-BTXwZu9a.mjs → acorex-modules-assessment-management-questionnaire-builder-view.component-QhZAjnIv.mjs} +2 -2
  27. package/fesm2022/{acorex-modules-assessment-management-questionnaire-builder-view.component-BTXwZu9a.mjs.map → acorex-modules-assessment-management-questionnaire-builder-view.component-QhZAjnIv.mjs.map} +1 -1
  28. package/fesm2022/{acorex-modules-assessment-management-questionnaire-builder.component-BAR6Uee-.mjs → acorex-modules-assessment-management-questionnaire-builder.component-CvdVE1TW.mjs} +3 -3
  29. package/fesm2022/{acorex-modules-assessment-management-questionnaire-builder.component-BAR6Uee-.mjs.map → acorex-modules-assessment-management-questionnaire-builder.component-CvdVE1TW.mjs.map} +1 -1
  30. package/fesm2022/{acorex-modules-assessment-management-questionnaire-viewer-popup.component-DZ4TltLI.mjs → acorex-modules-assessment-management-questionnaire-viewer-popup.component-iDPvZ1Iu.mjs} +2 -2
  31. package/fesm2022/{acorex-modules-assessment-management-questionnaire-viewer-popup.component-DZ4TltLI.mjs.map → acorex-modules-assessment-management-questionnaire-viewer-popup.component-iDPvZ1Iu.mjs.map} +1 -1
  32. package/fesm2022/{acorex-modules-assessment-management-questionnaire-viewer.service-B2GV_e0o.mjs → acorex-modules-assessment-management-questionnaire-viewer.service-C2bz2R0N.mjs} +2 -2
  33. package/fesm2022/{acorex-modules-assessment-management-questionnaire-viewer.service-B2GV_e0o.mjs.map → acorex-modules-assessment-management-questionnaire-viewer.service-C2bz2R0N.mjs.map} +1 -1
  34. package/fesm2022/{acorex-modules-assessment-management-questionnaire.entity-mOtlUkUO.mjs → acorex-modules-assessment-management-questionnaire.entity-kvgtbI_h.mjs} +2 -2
  35. package/fesm2022/{acorex-modules-assessment-management-questionnaire.entity-mOtlUkUO.mjs.map → acorex-modules-assessment-management-questionnaire.entity-kvgtbI_h.mjs.map} +1 -1
  36. package/fesm2022/{acorex-modules-assessment-management-view-session-answers.command-BQ-3r9YQ.mjs → acorex-modules-assessment-management-view-session-answers.command-Dfl4QTDD.mjs} +3 -3
  37. package/fesm2022/{acorex-modules-assessment-management-view-session-answers.command-BQ-3r9YQ.mjs.map → acorex-modules-assessment-management-view-session-answers.command-Dfl4QTDD.mjs.map} +1 -1
  38. package/fesm2022/acorex-modules-assessment-management.mjs +1 -1
  39. package/fesm2022/acorex-modules-calendar-management.mjs +46 -74
  40. package/fesm2022/acorex-modules-calendar-management.mjs.map +1 -1
  41. package/fesm2022/acorex-modules-common.mjs +6 -3
  42. package/fesm2022/acorex-modules-common.mjs.map +1 -1
  43. package/fesm2022/{acorex-modules-document-management-attachment-widget.component-Bnp1l18X.mjs → acorex-modules-document-management-attachment-widget.component-zsWIFXD7.mjs} +2 -2
  44. package/fesm2022/{acorex-modules-document-management-attachment-widget.component-Bnp1l18X.mjs.map → acorex-modules-document-management-attachment-widget.component-zsWIFXD7.mjs.map} +1 -1
  45. package/fesm2022/{acorex-modules-document-management-details-view.component-TfRh2Jom.mjs → acorex-modules-document-management-details-view.component-DD7P_Xz7.mjs} +2 -2
  46. package/fesm2022/{acorex-modules-document-management-details-view.component-TfRh2Jom.mjs.map → acorex-modules-document-management-details-view.component-DD7P_Xz7.mjs.map} +1 -1
  47. package/fesm2022/{acorex-modules-document-management-document-signature-popup.component-nKUvSQuz.mjs → acorex-modules-document-management-document-signature-popup.component-DsCP-XfJ.mjs} +5 -5
  48. package/fesm2022/{acorex-modules-document-management-document-signature-popup.component-nKUvSQuz.mjs.map → acorex-modules-document-management-document-signature-popup.component-DsCP-XfJ.mjs.map} +1 -1
  49. package/fesm2022/{acorex-modules-document-management-drive-choose.component-CPQC_Qxe.mjs → acorex-modules-document-management-drive-choose.component-FUlvIsJu.mjs} +7 -7
  50. package/fesm2022/{acorex-modules-document-management-drive-choose.component-CPQC_Qxe.mjs.map → acorex-modules-document-management-drive-choose.component-FUlvIsJu.mjs.map} +1 -1
  51. package/fesm2022/{acorex-modules-document-management-large-icons-view.component-BP_4qwha.mjs → acorex-modules-document-management-large-icons-view.component-Dzc3SOKz.mjs} +2 -2
  52. package/fesm2022/{acorex-modules-document-management-large-icons-view.component-BP_4qwha.mjs.map → acorex-modules-document-management-large-icons-view.component-Dzc3SOKz.mjs.map} +1 -1
  53. package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-CP9Ra0z9.mjs → acorex-modules-document-management-large-tiles-view.component-DrRbFkP4.mjs} +2 -2
  54. package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-CP9Ra0z9.mjs.map → acorex-modules-document-management-large-tiles-view.component-DrRbFkP4.mjs.map} +1 -1
  55. package/fesm2022/{acorex-modules-document-management-link-dialog.component-nJmv07CR.mjs → acorex-modules-document-management-link-dialog.component-DKGpdhH1.mjs} +3 -3
  56. package/fesm2022/{acorex-modules-document-management-link-dialog.component-nJmv07CR.mjs.map → acorex-modules-document-management-link-dialog.component-DKGpdhH1.mjs.map} +1 -1
  57. package/fesm2022/{acorex-modules-document-management-list-view.component-LhSA_duB.mjs → acorex-modules-document-management-list-view.component-C7cR3m4S.mjs} +2 -2
  58. package/fesm2022/{acorex-modules-document-management-list-view.component-LhSA_duB.mjs.map → acorex-modules-document-management-list-view.component-C7cR3m4S.mjs.map} +1 -1
  59. package/fesm2022/{acorex-modules-document-management-share-dialog.component-DJABAVOV.mjs → acorex-modules-document-management-share-dialog.component-MK4UO_uy.mjs} +3 -3
  60. package/fesm2022/{acorex-modules-document-management-share-dialog.component-DJABAVOV.mjs.map → acorex-modules-document-management-share-dialog.component-MK4UO_uy.mjs.map} +1 -1
  61. package/fesm2022/{acorex-modules-document-management-share-email-dialog.component-Bh_FI1nk.mjs → acorex-modules-document-management-share-email-dialog.component-D5f4T_2K.mjs} +3 -3
  62. package/fesm2022/{acorex-modules-document-management-share-email-dialog.component-Bh_FI1nk.mjs.map → acorex-modules-document-management-share-email-dialog.component-D5f4T_2K.mjs.map} +1 -1
  63. package/fesm2022/{acorex-modules-document-management-small-icons-view.component-BOtJGiPU.mjs → acorex-modules-document-management-small-icons-view.component-BPWvSH3i.mjs} +2 -2
  64. package/fesm2022/{acorex-modules-document-management-small-icons-view.component-BOtJGiPU.mjs.map → acorex-modules-document-management-small-icons-view.component-BPWvSH3i.mjs.map} +1 -1
  65. package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-BiKZ-FyZ.mjs → acorex-modules-document-management-small-tiles-view.component-fIQ4RY_F.mjs} +2 -2
  66. package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-BiKZ-FyZ.mjs.map → acorex-modules-document-management-small-tiles-view.component-fIQ4RY_F.mjs.map} +1 -1
  67. package/fesm2022/acorex-modules-document-management.mjs +9326 -1
  68. package/fesm2022/acorex-modules-document-management.mjs.map +1 -1
  69. package/fesm2022/acorex-modules-human-capital-management-leave-request-task-popover.component-CR4xmtkI.mjs +381 -0
  70. package/fesm2022/acorex-modules-human-capital-management-leave-request-task-popover.component-CR4xmtkI.mjs.map +1 -0
  71. package/fesm2022/acorex-modules-human-capital-management.mjs +5 -2
  72. package/fesm2022/acorex-modules-human-capital-management.mjs.map +1 -1
  73. package/fesm2022/{acorex-modules-platform-management-acorex-modules-platform-management-BIq_sJye.mjs → acorex-modules-platform-management-acorex-modules-platform-management-BOo-XED8.mjs} +2 -2
  74. package/fesm2022/{acorex-modules-platform-management-acorex-modules-platform-management-BIq_sJye.mjs.map → acorex-modules-platform-management-acorex-modules-platform-management-BOo-XED8.mjs.map} +1 -1
  75. package/fesm2022/{acorex-modules-platform-management-menu-list.component-CL-zuLJ1.mjs → acorex-modules-platform-management-menu-list.component-BtQ0O4sx.mjs} +3 -3
  76. package/fesm2022/acorex-modules-platform-management-menu-list.component-BtQ0O4sx.mjs.map +1 -0
  77. package/fesm2022/acorex-modules-platform-management.mjs +1 -1
  78. package/fesm2022/acorex-modules-project-management.mjs +2 -0
  79. package/fesm2022/acorex-modules-project-management.mjs.map +1 -1
  80. package/fesm2022/acorex-modules-report-management.mjs +1 -1
  81. package/fesm2022/acorex-modules-report-management.mjs.map +1 -1
  82. package/fesm2022/acorex-modules-security-management.mjs +3 -1
  83. package/fesm2022/acorex-modules-security-management.mjs.map +1 -1
  84. package/fesm2022/{acorex-modules-settings-management-acorex-modules-settings-management-gQ5Sk1Sj.mjs → acorex-modules-settings-management-acorex-modules-settings-management-R6m7cpPE.mjs} +18 -18
  85. package/fesm2022/{acorex-modules-settings-management-acorex-modules-settings-management-gQ5Sk1Sj.mjs.map → acorex-modules-settings-management-acorex-modules-settings-management-R6m7cpPE.mjs.map} +1 -1
  86. package/fesm2022/{acorex-modules-settings-management-permission-definition.provider-BEDGpTc8.mjs → acorex-modules-settings-management-permission-definition.provider-BNzuJQfL.mjs} +2 -2
  87. package/fesm2022/{acorex-modules-settings-management-permission-definition.provider-BEDGpTc8.mjs.map → acorex-modules-settings-management-permission-definition.provider-BNzuJQfL.mjs.map} +1 -1
  88. package/fesm2022/{acorex-modules-settings-management-setting-page.component-BsA1TfMG.mjs → acorex-modules-settings-management-setting-page.component-B1SnxHdd.mjs} +2 -2
  89. package/fesm2022/{acorex-modules-settings-management-setting-page.component-BsA1TfMG.mjs.map → acorex-modules-settings-management-setting-page.component-B1SnxHdd.mjs.map} +1 -1
  90. package/fesm2022/{acorex-modules-settings-management-setting-view.component-C282orx7.mjs → acorex-modules-settings-management-setting-view.component-BsuZ-NQK.mjs} +2 -2
  91. package/fesm2022/{acorex-modules-settings-management-setting-view.component-C282orx7.mjs.map → acorex-modules-settings-management-setting-view.component-BsuZ-NQK.mjs.map} +1 -1
  92. package/fesm2022/acorex-modules-settings-management.mjs +1 -1
  93. package/fesm2022/{acorex-modules-task-management-task-board.page-CKgZoOGI.mjs → acorex-modules-task-management-task-board.page-Cm8wJD-y.mjs} +529 -73
  94. package/fesm2022/acorex-modules-task-management-task-board.page-Cm8wJD-y.mjs.map +1 -0
  95. package/fesm2022/acorex-modules-task-management.mjs +13 -6
  96. package/fesm2022/acorex-modules-task-management.mjs.map +1 -1
  97. package/fesm2022/acorex-modules-workflow-management.mjs +394 -12
  98. package/fesm2022/acorex-modules-workflow-management.mjs.map +1 -1
  99. package/human-capital-management/index.d.ts +3 -1
  100. package/package.json +2 -2
  101. package/task-management/index.d.ts +31 -4
  102. package/workflow-management/index.d.ts +93 -6
  103. package/fesm2022/acorex-modules-assessment-management-acorex-modules-assessment-management-C4_2RPxG.mjs.map +0 -1
  104. package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-Dk4Z-JSv.mjs +0 -8995
  105. package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-Dk4Z-JSv.mjs.map +0 -1
  106. package/fesm2022/acorex-modules-document-management-drive.component-BzpH_FSJ.mjs +0 -388
  107. package/fesm2022/acorex-modules-document-management-drive.component-BzpH_FSJ.mjs.map +0 -1
  108. package/fesm2022/acorex-modules-platform-management-menu-list.component-CL-zuLJ1.mjs.map +0 -1
  109. package/fesm2022/acorex-modules-task-management-task-board.page-CKgZoOGI.mjs.map +0 -1
@@ -0,0 +1,381 @@
1
+ import * as i1 from '@acorex/components/button';
2
+ import { AXButtonModule } from '@acorex/components/button';
3
+ import * as i2 from '@acorex/components/decorators';
4
+ import { AXDecoratorModule } from '@acorex/components/decorators';
5
+ import * as i4 from '@acorex/core/translation';
6
+ import { AXTranslationModule } from '@acorex/core/translation';
7
+ import { AXPCommandExecutor } from '@acorex/platform/runtime';
8
+ import * as i3 from '@angular/common';
9
+ import { CommonModule } from '@angular/common';
10
+ import * as i0 from '@angular/core';
11
+ import { input, inject, computed, ViewEncapsulation, ChangeDetectionStrategy, Component } from '@angular/core';
12
+ import { AXPLeaveRequestDialogService } from './acorex-modules-human-capital-management.mjs';
13
+ import { AXPSystemStatuses } from '@acorex/platform/common';
14
+
15
+ class AXMLeaveRequestTaskPopoverComponent {
16
+ constructor() {
17
+ this.task = input.required(...(ngDevMode ? [{ debugName: "task" }] : []));
18
+ this.commandExecutor = inject(AXPCommandExecutor);
19
+ this.dialogService = inject(AXPLeaveRequestDialogService);
20
+ this.taskData = computed(() => {
21
+ const task = this.task();
22
+ return (task.data ||
23
+ task.payload);
24
+ }, ...(ngDevMode ? [{ debugName: "taskData" }] : []));
25
+ this.employeeName = computed(() => {
26
+ const data = this.taskData();
27
+ return data?.employee?.person?.displayName || this.task().reporter?.fullName || 'Unknown';
28
+ }, ...(ngDevMode ? [{ debugName: "employeeName" }] : []));
29
+ this.managerName = computed(() => {
30
+ const data = this.taskData();
31
+ return data?.employee?.manager?.person?.displayName || this.task().assignee?.fullName || '';
32
+ }, ...(ngDevMode ? [{ debugName: "managerName" }] : []));
33
+ this.leaveType = computed(() => {
34
+ const data = this.taskData();
35
+ // Extract leave type from task title or data
36
+ const title = this.task().title || '';
37
+ const parts = title.split(' - ');
38
+ return parts.length > 1 ? parts[1] : data?.leaveType?.title || 'N/A';
39
+ }, ...(ngDevMode ? [{ debugName: "leaveType" }] : []));
40
+ this.canApprove = computed(() => {
41
+ const statusId = this.task().status?.id;
42
+ return statusId === AXPSystemStatuses.Pending.name || statusId === AXPSystemStatuses.Rejected.name;
43
+ }, ...(ngDevMode ? [{ debugName: "canApprove" }] : []));
44
+ this.canReject = computed(() => {
45
+ const statusId = this.task().status?.id;
46
+ return statusId === AXPSystemStatuses.Pending.name || statusId === AXPSystemStatuses.Approved.name;
47
+ }, ...(ngDevMode ? [{ debugName: "canReject" }] : []));
48
+ this.canCancel = computed(() => {
49
+ const statusId = this.task().status?.id;
50
+ return statusId === AXPSystemStatuses.Pending.name || statusId === AXPSystemStatuses.Approved.name;
51
+ }, ...(ngDevMode ? [{ debugName: "canCancel" }] : []));
52
+ }
53
+ formatDate(date) {
54
+ return new Intl.DateTimeFormat('en-US', {
55
+ year: 'numeric',
56
+ month: 'short',
57
+ day: 'numeric',
58
+ }).format(new Date(date));
59
+ }
60
+ calculateDuration() {
61
+ const start = new Date(this.task().startDate);
62
+ const end = new Date(this.task().endDate);
63
+ const diffTime = Math.abs(end.getTime() - start.getTime());
64
+ const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));
65
+ return diffDays + 1; // Include both start and end days
66
+ }
67
+ async handleApprove() {
68
+ const task = this.task();
69
+ const leaveRequestId = task.id;
70
+ try {
71
+ const dialogResult = await this.dialogService.showApprovalDialog();
72
+ if (dialogResult?.cancelled) {
73
+ return;
74
+ }
75
+ const commandKey = 'HumanCapitalManagement.LeaveRequest:Approve';
76
+ const result = await this.commandExecutor.execute(commandKey, {
77
+ id: leaveRequestId,
78
+ reason: dialogResult?.reason,
79
+ note: dialogResult?.note,
80
+ });
81
+ if (result?.success) {
82
+ // Optionally emit an event or refresh the task
83
+ console.log('Leave request approved successfully');
84
+ }
85
+ }
86
+ catch (error) {
87
+ console.error('Failed to approve leave request:', error);
88
+ }
89
+ }
90
+ async handleReject() {
91
+ const task = this.task();
92
+ const leaveRequestId = task.id;
93
+ try {
94
+ const dialogResult = await this.dialogService.showRejectionDialog();
95
+ if (dialogResult?.cancelled) {
96
+ return;
97
+ }
98
+ const commandKey = 'HumanCapitalManagement.LeaveRequest:Reject';
99
+ const result = await this.commandExecutor.execute(commandKey, {
100
+ id: leaveRequestId,
101
+ reason: dialogResult?.reason,
102
+ note: dialogResult?.note,
103
+ });
104
+ if (result?.success) {
105
+ console.log('Leave request rejected successfully');
106
+ }
107
+ }
108
+ catch (error) {
109
+ console.error('Failed to reject leave request:', error);
110
+ }
111
+ }
112
+ async handleCancel() {
113
+ const task = this.task();
114
+ const leaveRequestId = task.id;
115
+ try {
116
+ const dialogResult = await this.dialogService.showCancellationDialog();
117
+ if (dialogResult?.cancelled) {
118
+ return;
119
+ }
120
+ const commandKey = 'HumanCapitalManagement.LeaveRequest:Cancel';
121
+ const result = await this.commandExecutor.execute(commandKey, {
122
+ id: leaveRequestId,
123
+ reason: dialogResult?.reason,
124
+ note: dialogResult?.note,
125
+ });
126
+ if (result?.success) {
127
+ console.log('Leave request cancelled successfully');
128
+ }
129
+ }
130
+ catch (error) {
131
+ console.error('Failed to cancel leave request:', error);
132
+ }
133
+ }
134
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXMLeaveRequestTaskPopoverComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
135
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.12", type: AXMLeaveRequestTaskPopoverComponent, isStandalone: true, selector: "axm-leave-request-task-popover", inputs: { task: { classPropertyName: "task", publicName: "task", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
136
+ <div class="leave-request-popover">
137
+ <!-- Employee Info -->
138
+ <div class="leave-request-popover__section">
139
+ <div class="leave-request-popover__section-header">
140
+ <i class="fa-light fa-user"></i>
141
+ <span>Employee Information</span>
142
+ </div>
143
+ <div class="leave-request-popover__section-content">
144
+ <div class="leave-request-popover__info-row">
145
+ <span class="leave-request-popover__label">Employee:</span>
146
+ <span class="leave-request-popover__value">{{ employeeName() }}</span>
147
+ </div>
148
+ @if (managerName(); as manager) {
149
+ <div class="leave-request-popover__info-row">
150
+ <span class="leave-request-popover__label">Manager:</span>
151
+ <span class="leave-request-popover__value">{{ manager }}</span>
152
+ </div>
153
+ }
154
+ </div>
155
+ </div>
156
+
157
+ <!-- Leave Details -->
158
+ <div class="leave-request-popover__section">
159
+ <div class="leave-request-popover__section-header">
160
+ <i class="fa-light fa-calendar"></i>
161
+ <span>Leave Details</span>
162
+ </div>
163
+ <div class="leave-request-popover__section-content">
164
+ <div class="leave-request-popover__info-row">
165
+ <span class="leave-request-popover__label">Leave Type:</span>
166
+ <span class="leave-request-popover__value">{{ leaveType() }}</span>
167
+ </div>
168
+ <div class="leave-request-popover__info-row">
169
+ <span class="leave-request-popover__label">Start Date:</span>
170
+ <span class="leave-request-popover__value">{{ formatDate(task().startDate) }}</span>
171
+ </div>
172
+ <div class="leave-request-popover__info-row">
173
+ <span class="leave-request-popover__label">End Date:</span>
174
+ <span class="leave-request-popover__value">{{ formatDate(task().endDate) }}</span>
175
+ </div>
176
+ <div class="leave-request-popover__info-row">
177
+ <span class="leave-request-popover__label">Duration:</span>
178
+ <span class="leave-request-popover__value">{{ calculateDuration() }} days</span>
179
+ </div>
180
+ </div>
181
+ </div>
182
+
183
+ <!-- Reason -->
184
+ @if (task().description) {
185
+ <div class="leave-request-popover__section">
186
+ <div class="leave-request-popover__section-header">
187
+ <i class="fa-light fa-note-sticky"></i>
188
+ <span>Reason</span>
189
+ </div>
190
+ <div class="leave-request-popover__section-content">
191
+ <p class="leave-request-popover__reason">{{ task().description }}</p>
192
+ </div>
193
+ </div>
194
+ }
195
+
196
+ <!-- Status -->
197
+ <div class="leave-request-popover__section">
198
+ <div class="leave-request-popover__section-header">
199
+ <i class="fa-light fa-flag"></i>
200
+ <span>Status</span>
201
+ </div>
202
+ <div class="leave-request-popover__section-content">
203
+ <div class="leave-request-popover__status-badge" [attr.data-status]="task().status.id">
204
+ {{ task().status.title }}
205
+ </div>
206
+ </div>
207
+ </div>
208
+
209
+ <!-- Actions -->
210
+ <div class="leave-request-popover__actions">
211
+ @if (canApprove()) {
212
+ <ax-button
213
+ [color]="'success'"
214
+ [look]="'blank'"
215
+ [text]="'@general:actions.approve.title' | translate | async"
216
+ (onClick)="handleApprove()"
217
+ class="leave-request-popover__action-btn"
218
+ >
219
+ <ax-prefix>
220
+ <i class="fa-light fa-check"></i>
221
+ </ax-prefix>
222
+ </ax-button>
223
+ }
224
+
225
+ @if (canReject()) {
226
+ <ax-button
227
+ [color]="'danger'"
228
+ [look]="'blank'"
229
+ [text]="'@general:actions.reject.title' | translate | async"
230
+ (onClick)="handleReject()"
231
+ class="leave-request-popover__action-btn"
232
+ >
233
+ <ax-prefix>
234
+ <i class="fa-light fa-xmark"></i>
235
+ </ax-prefix>
236
+ </ax-button>
237
+ }
238
+
239
+ @if (canCancel()) {
240
+ <ax-button
241
+ [color]="'secondary'"
242
+ [look]="'blank'"
243
+ [text]="'@general:actions.cancel.title' | translate | async"
244
+ (onClick)="handleCancel()"
245
+ class="leave-request-popover__action-btn"
246
+ >
247
+ <ax-prefix>
248
+ <i class="fa-light fa-ban"></i>
249
+ </ax-prefix>
250
+ </ax-button>
251
+ }
252
+ </div>
253
+ </div>
254
+ `, isInline: true, styles: [".leave-request-popover{padding:12px;display:flex;flex-direction:column;gap:10px;min-width:280px;max-width:360px}.leave-request-popover__section{display:flex;flex-direction:column;gap:6px}.leave-request-popover__section-header{display:flex;align-items:center;gap:6px;font-weight:600;font-size:13px;color:var(--ax-sys-color-text-primary);padding-bottom:6px;border-bottom:1px solid var(--ax-sys-color-border)}.leave-request-popover__section-header i{font-size:13px;color:var(--ax-sys-color-text-neutral-600)}.leave-request-popover__section-content{display:flex;flex-direction:column;gap:6px}.leave-request-popover__info-row{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;font-size:12px;line-height:1.4}.leave-request-popover__label{color:var(--ax-sys-color-text-neutral-600);font-weight:500;flex-shrink:0}.leave-request-popover__value{color:var(--ax-sys-color-text-primary);text-align:right;word-break:break-word}.leave-request-popover__reason{margin:0;padding:8px;background:var(--ax-sys-color-lighter-surface);border-radius:4px;font-size:12px;line-height:1.4;color:var(--ax-sys-color-text-primary)}.leave-request-popover__status-badge{display:inline-block;padding:3px 10px;border-radius:10px;font-size:11px;font-weight:500;text-transform:capitalize}.leave-request-popover__status-badge[data-status=pending]{background:var(--ax-sys-color-warning-lightest);color:var(--ax-sys-color-warning)}.leave-request-popover__status-badge[data-status=approved]{background:var(--ax-sys-color-success-lightest);color:var(--ax-sys-color-success)}.leave-request-popover__status-badge[data-status=rejected]{background:var(--ax-sys-color-danger-lightest);color:var(--ax-sys-color-danger)}.leave-request-popover__status-badge[data-status=cancelled]{background:var(--ax-sys-color-neutral-lightest);color:var(--ax-sys-color-neutral)}.leave-request-popover__actions{display:flex;gap:6px;flex-wrap:wrap;padding-top:8px;border-top:1px solid var(--ax-sys-color-border)}.leave-request-popover__action-btn{flex:1;min-width:90px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
255
+ }
256
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXMLeaveRequestTaskPopoverComponent, decorators: [{
257
+ type: Component,
258
+ args: [{ selector: 'axm-leave-request-task-popover', template: `
259
+ <div class="leave-request-popover">
260
+ <!-- Employee Info -->
261
+ <div class="leave-request-popover__section">
262
+ <div class="leave-request-popover__section-header">
263
+ <i class="fa-light fa-user"></i>
264
+ <span>Employee Information</span>
265
+ </div>
266
+ <div class="leave-request-popover__section-content">
267
+ <div class="leave-request-popover__info-row">
268
+ <span class="leave-request-popover__label">Employee:</span>
269
+ <span class="leave-request-popover__value">{{ employeeName() }}</span>
270
+ </div>
271
+ @if (managerName(); as manager) {
272
+ <div class="leave-request-popover__info-row">
273
+ <span class="leave-request-popover__label">Manager:</span>
274
+ <span class="leave-request-popover__value">{{ manager }}</span>
275
+ </div>
276
+ }
277
+ </div>
278
+ </div>
279
+
280
+ <!-- Leave Details -->
281
+ <div class="leave-request-popover__section">
282
+ <div class="leave-request-popover__section-header">
283
+ <i class="fa-light fa-calendar"></i>
284
+ <span>Leave Details</span>
285
+ </div>
286
+ <div class="leave-request-popover__section-content">
287
+ <div class="leave-request-popover__info-row">
288
+ <span class="leave-request-popover__label">Leave Type:</span>
289
+ <span class="leave-request-popover__value">{{ leaveType() }}</span>
290
+ </div>
291
+ <div class="leave-request-popover__info-row">
292
+ <span class="leave-request-popover__label">Start Date:</span>
293
+ <span class="leave-request-popover__value">{{ formatDate(task().startDate) }}</span>
294
+ </div>
295
+ <div class="leave-request-popover__info-row">
296
+ <span class="leave-request-popover__label">End Date:</span>
297
+ <span class="leave-request-popover__value">{{ formatDate(task().endDate) }}</span>
298
+ </div>
299
+ <div class="leave-request-popover__info-row">
300
+ <span class="leave-request-popover__label">Duration:</span>
301
+ <span class="leave-request-popover__value">{{ calculateDuration() }} days</span>
302
+ </div>
303
+ </div>
304
+ </div>
305
+
306
+ <!-- Reason -->
307
+ @if (task().description) {
308
+ <div class="leave-request-popover__section">
309
+ <div class="leave-request-popover__section-header">
310
+ <i class="fa-light fa-note-sticky"></i>
311
+ <span>Reason</span>
312
+ </div>
313
+ <div class="leave-request-popover__section-content">
314
+ <p class="leave-request-popover__reason">{{ task().description }}</p>
315
+ </div>
316
+ </div>
317
+ }
318
+
319
+ <!-- Status -->
320
+ <div class="leave-request-popover__section">
321
+ <div class="leave-request-popover__section-header">
322
+ <i class="fa-light fa-flag"></i>
323
+ <span>Status</span>
324
+ </div>
325
+ <div class="leave-request-popover__section-content">
326
+ <div class="leave-request-popover__status-badge" [attr.data-status]="task().status.id">
327
+ {{ task().status.title }}
328
+ </div>
329
+ </div>
330
+ </div>
331
+
332
+ <!-- Actions -->
333
+ <div class="leave-request-popover__actions">
334
+ @if (canApprove()) {
335
+ <ax-button
336
+ [color]="'success'"
337
+ [look]="'blank'"
338
+ [text]="'@general:actions.approve.title' | translate | async"
339
+ (onClick)="handleApprove()"
340
+ class="leave-request-popover__action-btn"
341
+ >
342
+ <ax-prefix>
343
+ <i class="fa-light fa-check"></i>
344
+ </ax-prefix>
345
+ </ax-button>
346
+ }
347
+
348
+ @if (canReject()) {
349
+ <ax-button
350
+ [color]="'danger'"
351
+ [look]="'blank'"
352
+ [text]="'@general:actions.reject.title' | translate | async"
353
+ (onClick)="handleReject()"
354
+ class="leave-request-popover__action-btn"
355
+ >
356
+ <ax-prefix>
357
+ <i class="fa-light fa-xmark"></i>
358
+ </ax-prefix>
359
+ </ax-button>
360
+ }
361
+
362
+ @if (canCancel()) {
363
+ <ax-button
364
+ [color]="'secondary'"
365
+ [look]="'blank'"
366
+ [text]="'@general:actions.cancel.title' | translate | async"
367
+ (onClick)="handleCancel()"
368
+ class="leave-request-popover__action-btn"
369
+ >
370
+ <ax-prefix>
371
+ <i class="fa-light fa-ban"></i>
372
+ </ax-prefix>
373
+ </ax-button>
374
+ }
375
+ </div>
376
+ </div>
377
+ `, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [CommonModule, AXButtonModule, AXDecoratorModule, AXTranslationModule], styles: [".leave-request-popover{padding:12px;display:flex;flex-direction:column;gap:10px;min-width:280px;max-width:360px}.leave-request-popover__section{display:flex;flex-direction:column;gap:6px}.leave-request-popover__section-header{display:flex;align-items:center;gap:6px;font-weight:600;font-size:13px;color:var(--ax-sys-color-text-primary);padding-bottom:6px;border-bottom:1px solid var(--ax-sys-color-border)}.leave-request-popover__section-header i{font-size:13px;color:var(--ax-sys-color-text-neutral-600)}.leave-request-popover__section-content{display:flex;flex-direction:column;gap:6px}.leave-request-popover__info-row{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;font-size:12px;line-height:1.4}.leave-request-popover__label{color:var(--ax-sys-color-text-neutral-600);font-weight:500;flex-shrink:0}.leave-request-popover__value{color:var(--ax-sys-color-text-primary);text-align:right;word-break:break-word}.leave-request-popover__reason{margin:0;padding:8px;background:var(--ax-sys-color-lighter-surface);border-radius:4px;font-size:12px;line-height:1.4;color:var(--ax-sys-color-text-primary)}.leave-request-popover__status-badge{display:inline-block;padding:3px 10px;border-radius:10px;font-size:11px;font-weight:500;text-transform:capitalize}.leave-request-popover__status-badge[data-status=pending]{background:var(--ax-sys-color-warning-lightest);color:var(--ax-sys-color-warning)}.leave-request-popover__status-badge[data-status=approved]{background:var(--ax-sys-color-success-lightest);color:var(--ax-sys-color-success)}.leave-request-popover__status-badge[data-status=rejected]{background:var(--ax-sys-color-danger-lightest);color:var(--ax-sys-color-danger)}.leave-request-popover__status-badge[data-status=cancelled]{background:var(--ax-sys-color-neutral-lightest);color:var(--ax-sys-color-neutral)}.leave-request-popover__actions{display:flex;gap:6px;flex-wrap:wrap;padding-top:8px;border-top:1px solid var(--ax-sys-color-border)}.leave-request-popover__action-btn{flex:1;min-width:90px}\n"] }]
378
+ }], propDecorators: { task: [{ type: i0.Input, args: [{ isSignal: true, alias: "task", required: true }] }] } });
379
+
380
+ export { AXMLeaveRequestTaskPopoverComponent };
381
+ //# sourceMappingURL=acorex-modules-human-capital-management-leave-request-task-popover.component-CR4xmtkI.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-modules-human-capital-management-leave-request-task-popover.component-CR4xmtkI.mjs","sources":["../tmp-esm2022/human-capital-management/lib/features/leave-request/workflow-tasks/leave-request-task-popover.component.js"],"sourcesContent":["import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPCommandExecutor } from '@acorex/platform/runtime';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, inject, input, ViewEncapsulation } from '@angular/core';\nimport { AXPLeaveRequestDialogService } from '../services/leave-request-dialog.service';\nimport { AXPSystemStatuses } from '@acorex/platform/common';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/components/button\";\nimport * as i2 from \"@acorex/components/decorators\";\nimport * as i3 from \"@angular/common\";\nimport * as i4 from \"@acorex/core/translation\";\nexport class AXMLeaveRequestTaskPopoverComponent {\n constructor() {\n this.task = input.required(...(ngDevMode ? [{ debugName: \"task\" }] : []));\n this.commandExecutor = inject(AXPCommandExecutor);\n this.dialogService = inject(AXPLeaveRequestDialogService);\n this.taskData = computed(() => {\n const task = this.task();\n return (task.data ||\n task.payload);\n }, ...(ngDevMode ? [{ debugName: \"taskData\" }] : []));\n this.employeeName = computed(() => {\n const data = this.taskData();\n return data?.employee?.person?.displayName || this.task().reporter?.fullName || 'Unknown';\n }, ...(ngDevMode ? [{ debugName: \"employeeName\" }] : []));\n this.managerName = computed(() => {\n const data = this.taskData();\n return data?.employee?.manager?.person?.displayName || this.task().assignee?.fullName || '';\n }, ...(ngDevMode ? [{ debugName: \"managerName\" }] : []));\n this.leaveType = computed(() => {\n const data = this.taskData();\n // Extract leave type from task title or data\n const title = this.task().title || '';\n const parts = title.split(' - ');\n return parts.length > 1 ? parts[1] : data?.leaveType?.title || 'N/A';\n }, ...(ngDevMode ? [{ debugName: \"leaveType\" }] : []));\n this.canApprove = computed(() => {\n const statusId = this.task().status?.id;\n return statusId === AXPSystemStatuses.Pending.name || statusId === AXPSystemStatuses.Rejected.name;\n }, ...(ngDevMode ? [{ debugName: \"canApprove\" }] : []));\n this.canReject = computed(() => {\n const statusId = this.task().status?.id;\n return statusId === AXPSystemStatuses.Pending.name || statusId === AXPSystemStatuses.Approved.name;\n }, ...(ngDevMode ? [{ debugName: \"canReject\" }] : []));\n this.canCancel = computed(() => {\n const statusId = this.task().status?.id;\n return statusId === AXPSystemStatuses.Pending.name || statusId === AXPSystemStatuses.Approved.name;\n }, ...(ngDevMode ? [{ debugName: \"canCancel\" }] : []));\n }\n formatDate(date) {\n return new Intl.DateTimeFormat('en-US', {\n year: 'numeric',\n month: 'short',\n day: 'numeric',\n }).format(new Date(date));\n }\n calculateDuration() {\n const start = new Date(this.task().startDate);\n const end = new Date(this.task().endDate);\n const diffTime = Math.abs(end.getTime() - start.getTime());\n const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));\n return diffDays + 1; // Include both start and end days\n }\n async handleApprove() {\n const task = this.task();\n const leaveRequestId = task.id;\n try {\n const dialogResult = await this.dialogService.showApprovalDialog();\n if (dialogResult?.cancelled) {\n return;\n }\n const commandKey = 'HumanCapitalManagement.LeaveRequest:Approve';\n const result = await this.commandExecutor.execute(commandKey, {\n id: leaveRequestId,\n reason: dialogResult?.reason,\n note: dialogResult?.note,\n });\n if (result?.success) {\n // Optionally emit an event or refresh the task\n console.log('Leave request approved successfully');\n }\n }\n catch (error) {\n console.error('Failed to approve leave request:', error);\n }\n }\n async handleReject() {\n const task = this.task();\n const leaveRequestId = task.id;\n try {\n const dialogResult = await this.dialogService.showRejectionDialog();\n if (dialogResult?.cancelled) {\n return;\n }\n const commandKey = 'HumanCapitalManagement.LeaveRequest:Reject';\n const result = await this.commandExecutor.execute(commandKey, {\n id: leaveRequestId,\n reason: dialogResult?.reason,\n note: dialogResult?.note,\n });\n if (result?.success) {\n console.log('Leave request rejected successfully');\n }\n }\n catch (error) {\n console.error('Failed to reject leave request:', error);\n }\n }\n async handleCancel() {\n const task = this.task();\n const leaveRequestId = task.id;\n try {\n const dialogResult = await this.dialogService.showCancellationDialog();\n if (dialogResult?.cancelled) {\n return;\n }\n const commandKey = 'HumanCapitalManagement.LeaveRequest:Cancel';\n const result = await this.commandExecutor.execute(commandKey, {\n id: leaveRequestId,\n reason: dialogResult?.reason,\n note: dialogResult?.note,\n });\n if (result?.success) {\n console.log('Leave request cancelled successfully');\n }\n }\n catch (error) {\n console.error('Failed to cancel leave request:', error);\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMLeaveRequestTaskPopoverComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.12\", type: AXMLeaveRequestTaskPopoverComponent, isStandalone: true, selector: \"axm-leave-request-task-popover\", inputs: { task: { classPropertyName: \"task\", publicName: \"task\", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `\n <div class=\"leave-request-popover\">\n <!-- Employee Info -->\n <div class=\"leave-request-popover__section\">\n <div class=\"leave-request-popover__section-header\">\n <i class=\"fa-light fa-user\"></i>\n <span>Employee Information</span>\n </div>\n <div class=\"leave-request-popover__section-content\">\n <div class=\"leave-request-popover__info-row\">\n <span class=\"leave-request-popover__label\">Employee:</span>\n <span class=\"leave-request-popover__value\">{{ employeeName() }}</span>\n </div>\n @if (managerName(); as manager) {\n <div class=\"leave-request-popover__info-row\">\n <span class=\"leave-request-popover__label\">Manager:</span>\n <span class=\"leave-request-popover__value\">{{ manager }}</span>\n </div>\n }\n </div>\n </div>\n\n <!-- Leave Details -->\n <div class=\"leave-request-popover__section\">\n <div class=\"leave-request-popover__section-header\">\n <i class=\"fa-light fa-calendar\"></i>\n <span>Leave Details</span>\n </div>\n <div class=\"leave-request-popover__section-content\">\n <div class=\"leave-request-popover__info-row\">\n <span class=\"leave-request-popover__label\">Leave Type:</span>\n <span class=\"leave-request-popover__value\">{{ leaveType() }}</span>\n </div>\n <div class=\"leave-request-popover__info-row\">\n <span class=\"leave-request-popover__label\">Start Date:</span>\n <span class=\"leave-request-popover__value\">{{ formatDate(task().startDate) }}</span>\n </div>\n <div class=\"leave-request-popover__info-row\">\n <span class=\"leave-request-popover__label\">End Date:</span>\n <span class=\"leave-request-popover__value\">{{ formatDate(task().endDate) }}</span>\n </div>\n <div class=\"leave-request-popover__info-row\">\n <span class=\"leave-request-popover__label\">Duration:</span>\n <span class=\"leave-request-popover__value\">{{ calculateDuration() }} days</span>\n </div>\n </div>\n </div>\n\n <!-- Reason -->\n @if (task().description) {\n <div class=\"leave-request-popover__section\">\n <div class=\"leave-request-popover__section-header\">\n <i class=\"fa-light fa-note-sticky\"></i>\n <span>Reason</span>\n </div>\n <div class=\"leave-request-popover__section-content\">\n <p class=\"leave-request-popover__reason\">{{ task().description }}</p>\n </div>\n </div>\n }\n\n <!-- Status -->\n <div class=\"leave-request-popover__section\">\n <div class=\"leave-request-popover__section-header\">\n <i class=\"fa-light fa-flag\"></i>\n <span>Status</span>\n </div>\n <div class=\"leave-request-popover__section-content\">\n <div class=\"leave-request-popover__status-badge\" [attr.data-status]=\"task().status.id\">\n {{ task().status.title }}\n </div>\n </div>\n </div>\n\n <!-- Actions -->\n <div class=\"leave-request-popover__actions\">\n @if (canApprove()) {\n <ax-button\n [color]=\"'success'\"\n [look]=\"'blank'\"\n [text]=\"'@general:actions.approve.title' | translate | async\"\n (onClick)=\"handleApprove()\"\n class=\"leave-request-popover__action-btn\"\n >\n <ax-prefix>\n <i class=\"fa-light fa-check\"></i>\n </ax-prefix>\n </ax-button>\n }\n\n @if (canReject()) {\n <ax-button\n [color]=\"'danger'\"\n [look]=\"'blank'\"\n [text]=\"'@general:actions.reject.title' | translate | async\"\n (onClick)=\"handleReject()\"\n class=\"leave-request-popover__action-btn\"\n >\n <ax-prefix>\n <i class=\"fa-light fa-xmark\"></i>\n </ax-prefix>\n </ax-button>\n }\n\n @if (canCancel()) {\n <ax-button\n [color]=\"'secondary'\"\n [look]=\"'blank'\"\n [text]=\"'@general:actions.cancel.title' | translate | async\"\n (onClick)=\"handleCancel()\"\n class=\"leave-request-popover__action-btn\"\n >\n <ax-prefix>\n <i class=\"fa-light fa-ban\"></i>\n </ax-prefix>\n </ax-button>\n }\n </div>\n </div>\n `, isInline: true, styles: [\".leave-request-popover{padding:12px;display:flex;flex-direction:column;gap:10px;min-width:280px;max-width:360px}.leave-request-popover__section{display:flex;flex-direction:column;gap:6px}.leave-request-popover__section-header{display:flex;align-items:center;gap:6px;font-weight:600;font-size:13px;color:var(--ax-sys-color-text-primary);padding-bottom:6px;border-bottom:1px solid var(--ax-sys-color-border)}.leave-request-popover__section-header i{font-size:13px;color:var(--ax-sys-color-text-neutral-600)}.leave-request-popover__section-content{display:flex;flex-direction:column;gap:6px}.leave-request-popover__info-row{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;font-size:12px;line-height:1.4}.leave-request-popover__label{color:var(--ax-sys-color-text-neutral-600);font-weight:500;flex-shrink:0}.leave-request-popover__value{color:var(--ax-sys-color-text-primary);text-align:right;word-break:break-word}.leave-request-popover__reason{margin:0;padding:8px;background:var(--ax-sys-color-lighter-surface);border-radius:4px;font-size:12px;line-height:1.4;color:var(--ax-sys-color-text-primary)}.leave-request-popover__status-badge{display:inline-block;padding:3px 10px;border-radius:10px;font-size:11px;font-weight:500;text-transform:capitalize}.leave-request-popover__status-badge[data-status=pending]{background:var(--ax-sys-color-warning-lightest);color:var(--ax-sys-color-warning)}.leave-request-popover__status-badge[data-status=approved]{background:var(--ax-sys-color-success-lightest);color:var(--ax-sys-color-success)}.leave-request-popover__status-badge[data-status=rejected]{background:var(--ax-sys-color-danger-lightest);color:var(--ax-sys-color-danger)}.leave-request-popover__status-badge[data-status=cancelled]{background:var(--ax-sys-color-neutral-lightest);color:var(--ax-sys-color-neutral)}.leave-request-popover__actions{display:flex;gap:6px;flex-wrap:wrap;padding-top:8px;border-top:1px solid var(--ax-sys-color-border)}.leave-request-popover__action-btn{flex:1;min-width:90px}\\n\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"ngmodule\", type: AXButtonModule }, { kind: \"component\", type: i1.AXButtonComponent, selector: \"ax-button\", inputs: [\"disabled\", \"size\", \"tabIndex\", \"color\", \"look\", \"text\", \"toggleable\", \"selected\", \"iconOnly\", \"type\", \"loadingText\"], outputs: [\"onBlur\", \"onFocus\", \"onClick\", \"selectedChange\", \"toggleableChange\", \"lookChange\", \"colorChange\", \"disabledChange\", \"loadingTextChange\"] }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i2.AXDecoratorGenericComponent, selector: \"ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay\" }, { kind: \"ngmodule\", type: AXTranslationModule }, { kind: \"pipe\", type: i3.AsyncPipe, name: \"async\" }, { kind: \"pipe\", type: i4.AXTranslatorPipe, name: \"translate\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.12\", ngImport: i0, type: AXMLeaveRequestTaskPopoverComponent, decorators: [{\n type: Component,\n args: [{ selector: 'axm-leave-request-task-popover', template: `\n <div class=\"leave-request-popover\">\n <!-- Employee Info -->\n <div class=\"leave-request-popover__section\">\n <div class=\"leave-request-popover__section-header\">\n <i class=\"fa-light fa-user\"></i>\n <span>Employee Information</span>\n </div>\n <div class=\"leave-request-popover__section-content\">\n <div class=\"leave-request-popover__info-row\">\n <span class=\"leave-request-popover__label\">Employee:</span>\n <span class=\"leave-request-popover__value\">{{ employeeName() }}</span>\n </div>\n @if (managerName(); as manager) {\n <div class=\"leave-request-popover__info-row\">\n <span class=\"leave-request-popover__label\">Manager:</span>\n <span class=\"leave-request-popover__value\">{{ manager }}</span>\n </div>\n }\n </div>\n </div>\n\n <!-- Leave Details -->\n <div class=\"leave-request-popover__section\">\n <div class=\"leave-request-popover__section-header\">\n <i class=\"fa-light fa-calendar\"></i>\n <span>Leave Details</span>\n </div>\n <div class=\"leave-request-popover__section-content\">\n <div class=\"leave-request-popover__info-row\">\n <span class=\"leave-request-popover__label\">Leave Type:</span>\n <span class=\"leave-request-popover__value\">{{ leaveType() }}</span>\n </div>\n <div class=\"leave-request-popover__info-row\">\n <span class=\"leave-request-popover__label\">Start Date:</span>\n <span class=\"leave-request-popover__value\">{{ formatDate(task().startDate) }}</span>\n </div>\n <div class=\"leave-request-popover__info-row\">\n <span class=\"leave-request-popover__label\">End Date:</span>\n <span class=\"leave-request-popover__value\">{{ formatDate(task().endDate) }}</span>\n </div>\n <div class=\"leave-request-popover__info-row\">\n <span class=\"leave-request-popover__label\">Duration:</span>\n <span class=\"leave-request-popover__value\">{{ calculateDuration() }} days</span>\n </div>\n </div>\n </div>\n\n <!-- Reason -->\n @if (task().description) {\n <div class=\"leave-request-popover__section\">\n <div class=\"leave-request-popover__section-header\">\n <i class=\"fa-light fa-note-sticky\"></i>\n <span>Reason</span>\n </div>\n <div class=\"leave-request-popover__section-content\">\n <p class=\"leave-request-popover__reason\">{{ task().description }}</p>\n </div>\n </div>\n }\n\n <!-- Status -->\n <div class=\"leave-request-popover__section\">\n <div class=\"leave-request-popover__section-header\">\n <i class=\"fa-light fa-flag\"></i>\n <span>Status</span>\n </div>\n <div class=\"leave-request-popover__section-content\">\n <div class=\"leave-request-popover__status-badge\" [attr.data-status]=\"task().status.id\">\n {{ task().status.title }}\n </div>\n </div>\n </div>\n\n <!-- Actions -->\n <div class=\"leave-request-popover__actions\">\n @if (canApprove()) {\n <ax-button\n [color]=\"'success'\"\n [look]=\"'blank'\"\n [text]=\"'@general:actions.approve.title' | translate | async\"\n (onClick)=\"handleApprove()\"\n class=\"leave-request-popover__action-btn\"\n >\n <ax-prefix>\n <i class=\"fa-light fa-check\"></i>\n </ax-prefix>\n </ax-button>\n }\n\n @if (canReject()) {\n <ax-button\n [color]=\"'danger'\"\n [look]=\"'blank'\"\n [text]=\"'@general:actions.reject.title' | translate | async\"\n (onClick)=\"handleReject()\"\n class=\"leave-request-popover__action-btn\"\n >\n <ax-prefix>\n <i class=\"fa-light fa-xmark\"></i>\n </ax-prefix>\n </ax-button>\n }\n\n @if (canCancel()) {\n <ax-button\n [color]=\"'secondary'\"\n [look]=\"'blank'\"\n [text]=\"'@general:actions.cancel.title' | translate | async\"\n (onClick)=\"handleCancel()\"\n class=\"leave-request-popover__action-btn\"\n >\n <ax-prefix>\n <i class=\"fa-light fa-ban\"></i>\n </ax-prefix>\n </ax-button>\n }\n </div>\n </div>\n `, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [CommonModule, AXButtonModule, AXDecoratorModule, AXTranslationModule], styles: [\".leave-request-popover{padding:12px;display:flex;flex-direction:column;gap:10px;min-width:280px;max-width:360px}.leave-request-popover__section{display:flex;flex-direction:column;gap:6px}.leave-request-popover__section-header{display:flex;align-items:center;gap:6px;font-weight:600;font-size:13px;color:var(--ax-sys-color-text-primary);padding-bottom:6px;border-bottom:1px solid var(--ax-sys-color-border)}.leave-request-popover__section-header i{font-size:13px;color:var(--ax-sys-color-text-neutral-600)}.leave-request-popover__section-content{display:flex;flex-direction:column;gap:6px}.leave-request-popover__info-row{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;font-size:12px;line-height:1.4}.leave-request-popover__label{color:var(--ax-sys-color-text-neutral-600);font-weight:500;flex-shrink:0}.leave-request-popover__value{color:var(--ax-sys-color-text-primary);text-align:right;word-break:break-word}.leave-request-popover__reason{margin:0;padding:8px;background:var(--ax-sys-color-lighter-surface);border-radius:4px;font-size:12px;line-height:1.4;color:var(--ax-sys-color-text-primary)}.leave-request-popover__status-badge{display:inline-block;padding:3px 10px;border-radius:10px;font-size:11px;font-weight:500;text-transform:capitalize}.leave-request-popover__status-badge[data-status=pending]{background:var(--ax-sys-color-warning-lightest);color:var(--ax-sys-color-warning)}.leave-request-popover__status-badge[data-status=approved]{background:var(--ax-sys-color-success-lightest);color:var(--ax-sys-color-success)}.leave-request-popover__status-badge[data-status=rejected]{background:var(--ax-sys-color-danger-lightest);color:var(--ax-sys-color-danger)}.leave-request-popover__status-badge[data-status=cancelled]{background:var(--ax-sys-color-neutral-lightest);color:var(--ax-sys-color-neutral)}.leave-request-popover__actions{display:flex;gap:6px;flex-wrap:wrap;padding-top:8px;border-top:1px solid var(--ax-sys-color-border)}.leave-request-popover__action-btn{flex:1;min-width:90px}\\n\"] }]\n }], propDecorators: { task: [{ type: i0.Input, args: [{ isSignal: true, alias: \"task\", required: true }] }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhdmUtcmVxdWVzdC10YXNrLXBvcG92ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2h1bWFuLWNhcGl0YWwtbWFuYWdlbWVudC9zcmMvbGliL2ZlYXR1cmVzL2xlYXZlLXJlcXVlc3Qvd29ya2Zsb3ctdGFza3MvbGVhdmUtcmVxdWVzdC10YXNrLXBvcG92ZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUvRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUN4RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7O0FBK081RCxNQUFNLE9BQU8sbUNBQW1DO0lBN09oRDtRQThPRSxTQUFJLEdBQUcsS0FBSyxDQUFDLFFBQVEsK0NBQVcsQ0FBQztRQUVoQixvQkFBZSxHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQzdDLGtCQUFhLEdBQUcsTUFBTSxDQUFDLDRCQUE0QixDQUFDLENBQUM7UUFFNUQsYUFBUSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDakMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3pCLE9BQU8sQ0FDSixJQUFJLENBQUMsSUFBeUQ7Z0JBQzdELElBQVksQ0FBQyxPQUE0RCxDQUM1RSxDQUFDO1FBQ0osQ0FBQyxvREFBQyxDQUFDO1FBRU8saUJBQVksR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ3JDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUM3QixPQUFPLElBQUksRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFdBQVcsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFLFFBQVEsSUFBSSxTQUFTLENBQUM7UUFDNUYsQ0FBQyx3REFBQyxDQUFDO1FBRU8sZ0JBQVcsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ3BDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUM3QixPQUFPLElBQUksRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxXQUFXLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRSxRQUFRLElBQUksRUFBRSxDQUFDO1FBQzlGLENBQUMsdURBQUMsQ0FBQztRQUVPLGNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ2xDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUM3Qiw2Q0FBNkM7WUFDN0MsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDdEMsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNqQyxPQUFPLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsS0FBSyxJQUFJLEtBQUssQ0FBQztRQUN2RSxDQUFDLHFEQUFDLENBQUM7UUFFTyxlQUFVLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUNuQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztZQUN4QyxPQUFPLFFBQVEsS0FBSyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLFFBQVEsS0FBSyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1FBQ3JHLENBQUMsc0RBQUMsQ0FBQztRQUVPLGNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ2xDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDO1lBQ3hDLE9BQU8sUUFBUSxLQUFLLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksUUFBUSxLQUFLLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7UUFDckcsQ0FBQyxxREFBQyxDQUFDO1FBRU8sY0FBUyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDbEMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUM7WUFDeEMsT0FBTyxRQUFRLEtBQUssaUJBQWlCLENBQUMsT0FBTyxDQUFDLElBQUksSUFBSSxRQUFRLEtBQUssaUJBQWlCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztRQUNyRyxDQUFDLHFEQUFDLENBQUM7S0E2Rko7SUEzRlcsVUFBVSxDQUFDLElBQVU7UUFDN0IsT0FBTyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFO1lBQ3RDLElBQUksRUFBRSxTQUFTO1lBQ2YsS0FBSyxFQUFFLE9BQU87WUFDZCxHQUFHLEVBQUUsU0FBUztTQUNmLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRVMsaUJBQWlCO1FBQ3pCLE1BQU0sS0FBSyxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM5QyxNQUFNLEdBQUcsR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDMUMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLEdBQUcsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDM0QsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxJQUFJLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzdELE9BQU8sUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDLGtDQUFrQztJQUN6RCxDQUFDO0lBRVMsS0FBSyxDQUFDLGFBQWE7UUFDM0IsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3pCLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7UUFFL0IsSUFBSSxDQUFDO1lBQ0gsTUFBTSxZQUFZLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDbkUsSUFBSSxZQUFZLEVBQUUsU0FBUyxFQUFFLENBQUM7Z0JBQzVCLE9BQU87WUFDVCxDQUFDO1lBRUQsTUFBTSxVQUFVLEdBQUcsNkNBQTZDLENBQUM7WUFDakUsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUU7Z0JBQzVELEVBQUUsRUFBRSxjQUFjO2dCQUNsQixNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU07Z0JBQzVCLElBQUksRUFBRSxZQUFZLEVBQUUsSUFBSTthQUN6QixDQUFDLENBQUM7WUFFSCxJQUFJLE1BQU0sRUFBRSxPQUFPLEVBQUUsQ0FBQztnQkFDcEIsK0NBQStDO2dCQUMvQyxPQUFPLENBQUMsR0FBRyxDQUFDLHFDQUFxQyxDQUFDLENBQUM7WUFDckQsQ0FBQztRQUNILENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsT0FBTyxDQUFDLEtBQUssQ0FBQyxrQ0FBa0MsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMzRCxDQUFDO0lBQ0gsQ0FBQztJQUVTLEtBQUssQ0FBQyxZQUFZO1FBQzFCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN6QixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBRS9CLElBQUksQ0FBQztZQUNILE1BQU0sWUFBWSxHQUFHLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQ3BFLElBQUksWUFBWSxFQUFFLFNBQVMsRUFBRSxDQUFDO2dCQUM1QixPQUFPO1lBQ1QsQ0FBQztZQUVELE1BQU0sVUFBVSxHQUFHLDRDQUE0QyxDQUFDO1lBQ2hFLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFO2dCQUM1RCxFQUFFLEVBQUUsY0FBYztnQkFDbEIsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNO2dCQUM1QixJQUFJLEVBQUUsWUFBWSxFQUFFLElBQUk7YUFDekIsQ0FBQyxDQUFDO1lBRUgsSUFBSSxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUM7Z0JBQ3BCLE9BQU8sQ0FBQyxHQUFHLENBQUMscUNBQXFDLENBQUMsQ0FBQztZQUNyRCxDQUFDO1FBQ0gsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixPQUFPLENBQUMsS0FBSyxDQUFDLGlDQUFpQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzFELENBQUM7SUFDSCxDQUFDO0lBRVMsS0FBSyxDQUFDLFlBQVk7UUFDMUIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3pCLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7UUFFL0IsSUFBSSxDQUFDO1lBQ0gsTUFBTSxZQUFZLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLHNCQUFzQixFQUFFLENBQUM7WUFDdkUsSUFBSSxZQUFZLEVBQUUsU0FBUyxFQUFFLENBQUM7Z0JBQzVCLE9BQU87WUFDVCxDQUFDO1lBRUQsTUFBTSxVQUFVLEdBQUcsNENBQTRDLENBQUM7WUFDaEUsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUU7Z0JBQzVELEVBQUUsRUFBRSxjQUFjO2dCQUNsQixNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU07Z0JBQzVCLElBQUksRUFBRSxZQUFZLEVBQUUsSUFBSTthQUN6QixDQUFDLENBQUM7WUFFSCxJQUFJLE1BQU0sRUFBRSxPQUFPLEVBQUUsQ0FBQztnQkFDcEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO1lBQ3RELENBQUM7UUFDSCxDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMsaUNBQWlDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDMUQsQ0FBQztJQUNILENBQUM7K0dBeklVLG1DQUFtQzttR0FBbkMsbUNBQW1DLDBOQTNPcEM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBdUhULHNqRUFrSFMsWUFBWSw4QkFBRSxjQUFjLDZYQUFFLGlCQUFpQixxUEFBRSxtQkFBbUI7OzRGQUVuRSxtQ0FBbUM7a0JBN08vQyxTQUFTOytCQUNFLGdDQUFnQyxZQUNoQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F1SFQsbUJBZ0hnQix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLFdBQzVCLENBQUMsWUFBWSxFQUFFLGNBQWMsRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgeyBBWERlY29yYXRvck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kZWNvcmF0b3JzJztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgQVhQVGFzaywgQVhQVGFza1BvcG92ZXJDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L21vZHVsZXMvdGFzay1tYW5hZ2VtZW50JztcbmltcG9ydCB7IEFYUENvbW1hbmRFeGVjdXRvciB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vcnVudGltZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgY29tcHV0ZWQsIGluamVjdCwgaW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWE1IdW1hbkNhcGl0YWxNYW5hZ2VtZW50TGVhdmVSZXF1ZXN0RW50aXR5TW9kZWwgfSBmcm9tICcuLi8uLi8uLi9lbnRpdGllcy9sZWF2ZS1yZXF1ZXN0L2xlYXZlLXJlcXVlc3QudHlwZXMnO1xuaW1wb3J0IHsgQVhQTGVhdmVSZXF1ZXN0RGlhbG9nU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2xlYXZlLXJlcXVlc3QtZGlhbG9nLnNlcnZpY2UnO1xuaW1wb3J0IHsgQVhQU3lzdGVtU3RhdHVzZXMgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4bS1sZWF2ZS1yZXF1ZXN0LXRhc2stcG9wb3ZlcicsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImxlYXZlLXJlcXVlc3QtcG9wb3ZlclwiPlxuICAgICAgPCEtLSBFbXBsb3llZSBJbmZvIC0tPlxuICAgICAgPGRpdiBjbGFzcz1cImxlYXZlLXJlcXVlc3QtcG9wb3Zlcl9fc2VjdGlvblwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibGVhdmUtcmVxdWVzdC1wb3BvdmVyX19zZWN0aW9uLWhlYWRlclwiPlxuICAgICAgICAgIDxpIGNsYXNzPVwiZmEtbGlnaHQgZmEtdXNlclwiPjwvaT5cbiAgICAgICAgICA8c3Bhbj5FbXBsb3llZSBJbmZvcm1hdGlvbjwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJsZWF2ZS1yZXF1ZXN0LXBvcG92ZXJfX3NlY3Rpb24tY29udGVudFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWF2ZS1yZXF1ZXN0LXBvcG92ZXJfX2luZm8tcm93XCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImxlYXZlLXJlcXVlc3QtcG9wb3Zlcl9fbGFiZWxcIj5FbXBsb3llZTo8L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImxlYXZlLXJlcXVlc3QtcG9wb3Zlcl9fdmFsdWVcIj57eyBlbXBsb3llZU5hbWUoKSB9fTwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICBAaWYgKG1hbmFnZXJOYW1lKCk7IGFzIG1hbmFnZXIpIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWF2ZS1yZXF1ZXN0LXBvcG92ZXJfX2luZm8tcm93XCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGVhdmUtcmVxdWVzdC1wb3BvdmVyX19sYWJlbFwiPk1hbmFnZXI6PC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImxlYXZlLXJlcXVlc3QtcG9wb3Zlcl9fdmFsdWVcIj57eyBtYW5hZ2VyIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8IS0tIExlYXZlIERldGFpbHMgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwibGVhdmUtcmVxdWVzdC1wb3BvdmVyX19zZWN0aW9uXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJsZWF2ZS1yZXF1ZXN0LXBvcG92ZXJfX3NlY3Rpb24taGVhZGVyXCI+XG4gICAgICAgICAgPGkgY2xhc3M9XCJmYS1saWdodCBmYS1jYWxlbmRhclwiPjwvaT5cbiAgICAgICAgICA8c3Bhbj5MZWF2ZSBEZXRhaWxzPC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImxlYXZlLXJlcXVlc3QtcG9wb3Zlcl9fc2VjdGlvbi1jb250ZW50XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxlYXZlLXJlcXVlc3QtcG9wb3Zlcl9faW5mby1yb3dcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGVhdmUtcmVxdWVzdC1wb3BvdmVyX19sYWJlbFwiPkxlYXZlIFR5cGU6PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsZWF2ZS1yZXF1ZXN0LXBvcG92ZXJfX3ZhbHVlXCI+e3sgbGVhdmVUeXBlKCkgfX08L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxlYXZlLXJlcXVlc3QtcG9wb3Zlcl9faW5mby1yb3dcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGVhdmUtcmVxdWVzdC1wb3BvdmVyX19sYWJlbFwiPlN0YXJ0IERhdGU6PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsZWF2ZS1yZXF1ZXN0LXBvcG92ZXJfX3ZhbHVlXCI+e3sgZm9ybWF0RGF0ZSh0YXNrKCkuc3RhcnREYXRlKSB9fTwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVhdmUtcmVxdWVzdC1wb3BvdmVyX19pbmZvLXJvd1wiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsZWF2ZS1yZXF1ZXN0LXBvcG92ZXJfX2xhYmVsXCI+RW5kIERhdGU6PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsZWF2ZS1yZXF1ZXN0LXBvcG92ZXJfX3ZhbHVlXCI+e3sgZm9ybWF0RGF0ZSh0YXNrKCkuZW5kRGF0ZSkgfX08L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxlYXZlLXJlcXVlc3QtcG9wb3Zlcl9faW5mby1yb3dcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGVhdmUtcmVxdWVzdC1wb3BvdmVyX19sYWJlbFwiPkR1cmF0aW9uOjwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGVhdmUtcmVxdWVzdC1wb3BvdmVyX192YWx1ZVwiPnt7IGNhbGN1bGF0ZUR1cmF0aW9uKCkgfX0gZGF5czwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSBSZWFzb24gLS0+XG4gICAgICBAaWYgKHRhc2soKS5kZXNjcmlwdGlvbikge1xuICAgICAgICA8ZGl2IGNsYXNzPVwibGVhdmUtcmVxdWVzdC1wb3BvdmVyX19zZWN0aW9uXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxlYXZlLXJlcXVlc3QtcG9wb3Zlcl9fc2VjdGlvbi1oZWFkZXJcIj5cbiAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEtbGlnaHQgZmEtbm90ZS1zdGlja3lcIj48L2k+XG4gICAgICAgICAgICA8c3Bhbj5SZWFzb248L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxlYXZlLXJlcXVlc3QtcG9wb3Zlcl9fc2VjdGlvbi1jb250ZW50XCI+XG4gICAgICAgICAgICA8cCBjbGFzcz1cImxlYXZlLXJlcXVlc3QtcG9wb3Zlcl9fcmVhc29uXCI+e3sgdGFzaygpLmRlc2NyaXB0aW9uIH19PC9wPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cblxuICAgICAgPCEtLSBTdGF0dXMgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwibGVhdmUtcmVxdWVzdC1wb3BvdmVyX19zZWN0aW9uXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJsZWF2ZS1yZXF1ZXN0LXBvcG92ZXJfX3NlY3Rpb24taGVhZGVyXCI+XG4gICAgICAgICAgPGkgY2xhc3M9XCJmYS1saWdodCBmYS1mbGFnXCI+PC9pPlxuICAgICAgICAgIDxzcGFuPlN0YXR1czwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJsZWF2ZS1yZXF1ZXN0LXBvcG92ZXJfX3NlY3Rpb24tY29udGVudFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWF2ZS1yZXF1ZXN0LXBvcG92ZXJfX3N0YXR1cy1iYWRnZVwiIFthdHRyLmRhdGEtc3RhdHVzXT1cInRhc2soKS5zdGF0dXMuaWRcIj5cbiAgICAgICAgICAgIHt7IHRhc2soKS5zdGF0dXMudGl0bGUgfX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSBBY3Rpb25zIC0tPlxuICAgICAgPGRpdiBjbGFzcz1cImxlYXZlLXJlcXVlc3QtcG9wb3Zlcl9fYWN0aW9uc1wiPlxuICAgICAgICBAaWYgKGNhbkFwcHJvdmUoKSkge1xuICAgICAgICAgIDxheC1idXR0b25cbiAgICAgICAgICAgIFtjb2xvcl09XCInc3VjY2VzcydcIlxuICAgICAgICAgICAgW2xvb2tdPVwiJ2JsYW5rJ1wiXG4gICAgICAgICAgICBbdGV4dF09XCInQGdlbmVyYWw6YWN0aW9ucy5hcHByb3ZlLnRpdGxlJyB8IHRyYW5zbGF0ZSB8IGFzeW5jXCJcbiAgICAgICAgICAgIChvbkNsaWNrKT1cImhhbmRsZUFwcHJvdmUoKVwiXG4gICAgICAgICAgICBjbGFzcz1cImxlYXZlLXJlcXVlc3QtcG9wb3Zlcl9fYWN0aW9uLWJ0blwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGF4LXByZWZpeD5cbiAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYS1saWdodCBmYS1jaGVja1wiPjwvaT5cbiAgICAgICAgICAgIDwvYXgtcHJlZml4PlxuICAgICAgICAgIDwvYXgtYnV0dG9uPlxuICAgICAgICB9XG5cbiAgICAgICAgQGlmIChjYW5SZWplY3QoKSkge1xuICAgICAgICAgIDxheC1idXR0b25cbiAgICAgICAgICAgIFtjb2xvcl09XCInZGFuZ2VyJ1wiXG4gICAgICAgICAgICBbbG9va109XCInYmxhbmsnXCJcbiAgICAgICAgICAgIFt0ZXh0XT1cIidAZ2VuZXJhbDphY3Rpb25zLnJlamVjdC50aXRsZScgfCB0cmFuc2xhdGUgfCBhc3luY1wiXG4gICAgICAgICAgICAob25DbGljayk9XCJoYW5kbGVSZWplY3QoKVwiXG4gICAgICAgICAgICBjbGFzcz1cImxlYXZlLXJlcXVlc3QtcG9wb3Zlcl9fYWN0aW9uLWJ0blwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGF4LXByZWZpeD5cbiAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYS1saWdodCBmYS14bWFya1wiPjwvaT5cbiAgICAgICAgICAgIDwvYXgtcHJlZml4PlxuICAgICAgICAgIDwvYXgtYnV0dG9uPlxuICAgICAgICB9XG5cbiAgICAgICAgQGlmIChjYW5DYW5jZWwoKSkge1xuICAgICAgICAgIDxheC1idXR0b25cbiAgICAgICAgICAgIFtjb2xvcl09XCInc2Vjb25kYXJ5J1wiXG4gICAgICAgICAgICBbbG9va109XCInYmxhbmsnXCJcbiAgICAgICAgICAgIFt0ZXh0XT1cIidAZ2VuZXJhbDphY3Rpb25zLmNhbmNlbC50aXRsZScgfCB0cmFuc2xhdGUgfCBhc3luY1wiXG4gICAgICAgICAgICAob25DbGljayk9XCJoYW5kbGVDYW5jZWwoKVwiXG4gICAgICAgICAgICBjbGFzcz1cImxlYXZlLXJlcXVlc3QtcG9wb3Zlcl9fYWN0aW9uLWJ0blwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGF4LXByZWZpeD5cbiAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYS1saWdodCBmYS1iYW5cIj48L2k+XG4gICAgICAgICAgICA8L2F4LXByZWZpeD5cbiAgICAgICAgICA8L2F4LWJ1dHRvbj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlczogYFxuICAgIC5sZWF2ZS1yZXF1ZXN0LXBvcG92ZXIge1xuICAgICAgcGFkZGluZzogMTJweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgZ2FwOiAxMHB4O1xuICAgICAgbWluLXdpZHRoOiAyODBweDtcbiAgICAgIG1heC13aWR0aDogMzYwcHg7XG4gICAgfVxuXG4gICAgLmxlYXZlLXJlcXVlc3QtcG9wb3Zlcl9fc2VjdGlvbiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGdhcDogNnB4O1xuICAgIH1cblxuICAgIC5sZWF2ZS1yZXF1ZXN0LXBvcG92ZXJfX3NlY3Rpb24taGVhZGVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZ2FwOiA2cHg7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgY29sb3I6IHZhcigtLWF4LXN5cy1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgICAgcGFkZGluZy1ib3R0b206IDZweDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1heC1zeXMtY29sb3ItYm9yZGVyKTtcblxuICAgICAgaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgY29sb3I6IHZhcigtLWF4LXN5cy1jb2xvci10ZXh0LW5ldXRyYWwtNjAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubGVhdmUtcmVxdWVzdC1wb3BvdmVyX19zZWN0aW9uLWNvbnRlbnQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBnYXA6IDZweDtcbiAgICB9XG5cbiAgICAubGVhdmUtcmVxdWVzdC1wb3BvdmVyX19pbmZvLXJvdyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICBnYXA6IDEwcHg7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIH1cblxuICAgIC5sZWF2ZS1yZXF1ZXN0LXBvcG92ZXJfX2xhYmVsIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1heC1zeXMtY29sb3ItdGV4dC1uZXV0cmFsLTYwMCk7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG4gICAgLmxlYXZlLXJlcXVlc3QtcG9wb3Zlcl9fdmFsdWUge1xuICAgICAgY29sb3I6IHZhcigtLWF4LXN5cy1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAgIH1cblxuICAgIC5sZWF2ZS1yZXF1ZXN0LXBvcG92ZXJfX3JlYXNvbiB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiA4cHg7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1heC1zeXMtY29sb3ItbGlnaHRlci1zdXJmYWNlKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICBjb2xvcjogdmFyKC0tYXgtc3lzLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgLmxlYXZlLXJlcXVlc3QtcG9wb3Zlcl9fc3RhdHVzLWJhZGdlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBhZGRpbmc6IDNweCAxMHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcblxuICAgICAgJltkYXRhLXN0YXR1cz0ncGVuZGluZyddIHtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYXgtc3lzLWNvbG9yLXdhcm5pbmctbGlnaHRlc3QpO1xuICAgICAgICBjb2xvcjogdmFyKC0tYXgtc3lzLWNvbG9yLXdhcm5pbmcpO1xuICAgICAgfVxuXG4gICAgICAmW2RhdGEtc3RhdHVzPSdhcHByb3ZlZCddIHtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYXgtc3lzLWNvbG9yLXN1Y2Nlc3MtbGlnaHRlc3QpO1xuICAgICAgICBjb2xvcjogdmFyKC0tYXgtc3lzLWNvbG9yLXN1Y2Nlc3MpO1xuICAgICAgfVxuXG4gICAgICAmW2RhdGEtc3RhdHVzPSdyZWplY3RlZCddIHtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYXgtc3lzLWNvbG9yLWRhbmdlci1saWdodGVzdCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1heC1zeXMtY29sb3ItZGFuZ2VyKTtcbiAgICAgIH1cblxuICAgICAgJltkYXRhLXN0YXR1cz0nY2FuY2VsbGVkJ10ge1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1heC1zeXMtY29sb3ItbmV1dHJhbC1saWdodGVzdCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1heC1zeXMtY29sb3ItbmV1dHJhbCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmxlYXZlLXJlcXVlc3QtcG9wb3Zlcl9fYWN0aW9ucyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZ2FwOiA2cHg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBwYWRkaW5nLXRvcDogOHB4O1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWF4LXN5cy1jb2xvci1ib3JkZXIpO1xuICAgIH1cblxuICAgIC5sZWF2ZS1yZXF1ZXN0LXBvcG92ZXJfX2FjdGlvbi1idG4ge1xuICAgICAgZmxleDogMTtcbiAgICAgIG1pbi13aWR0aDogOTBweDtcbiAgICB9XG4gIGAsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBBWEJ1dHRvbk1vZHVsZSwgQVhEZWNvcmF0b3JNb2R1bGUsIEFYVHJhbnNsYXRpb25Nb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBBWE1MZWF2ZVJlcXVlc3RUYXNrUG9wb3ZlckNvbXBvbmVudCBpbXBsZW1lbnRzIEFYUFRhc2tQb3BvdmVyQ29tcG9uZW50IHtcbiAgdGFzayA9IGlucHV0LnJlcXVpcmVkPEFYUFRhc2s+KCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBjb21tYW5kRXhlY3V0b3IgPSBpbmplY3QoQVhQQ29tbWFuZEV4ZWN1dG9yKTtcbiAgcHJpdmF0ZSByZWFkb25seSBkaWFsb2dTZXJ2aWNlID0gaW5qZWN0KEFYUExlYXZlUmVxdWVzdERpYWxvZ1NlcnZpY2UpO1xuXG4gIHByb3RlY3RlZCB0YXNrRGF0YSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCB0YXNrID0gdGhpcy50YXNrKCk7XG4gICAgcmV0dXJuIChcbiAgICAgICh0YXNrLmRhdGEgYXMgQVhNSHVtYW5DYXBpdGFsTWFuYWdlbWVudExlYXZlUmVxdWVzdEVudGl0eU1vZGVsKSB8fFxuICAgICAgKCh0YXNrIGFzIGFueSkucGF5bG9hZCBhcyBBWE1IdW1hbkNhcGl0YWxNYW5hZ2VtZW50TGVhdmVSZXF1ZXN0RW50aXR5TW9kZWwpXG4gICAgKTtcbiAgfSk7XG5cbiAgcHJvdGVjdGVkIGVtcGxveWVlTmFtZSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBkYXRhID0gdGhpcy50YXNrRGF0YSgpO1xuICAgIHJldHVybiBkYXRhPy5lbXBsb3llZT8ucGVyc29uPy5kaXNwbGF5TmFtZSB8fCB0aGlzLnRhc2soKS5yZXBvcnRlcj8uZnVsbE5hbWUgfHwgJ1Vua25vd24nO1xuICB9KTtcblxuICBwcm90ZWN0ZWQgbWFuYWdlck5hbWUgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgZGF0YSA9IHRoaXMudGFza0RhdGEoKTtcbiAgICByZXR1cm4gZGF0YT8uZW1wbG95ZWU/Lm1hbmFnZXI/LnBlcnNvbj8uZGlzcGxheU5hbWUgfHwgdGhpcy50YXNrKCkuYXNzaWduZWU/LmZ1bGxOYW1lIHx8ICcnO1xuICB9KTtcblxuICBwcm90ZWN0ZWQgbGVhdmVUeXBlID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGRhdGEgPSB0aGlzLnRhc2tEYXRhKCk7XG4gICAgLy8gRXh0cmFjdCBsZWF2ZSB0eXBlIGZyb20gdGFzayB0aXRsZSBvciBkYXRhXG4gICAgY29uc3QgdGl0bGUgPSB0aGlzLnRhc2soKS50aXRsZSB8fCAnJztcbiAgICBjb25zdCBwYXJ0cyA9IHRpdGxlLnNwbGl0KCcgLSAnKTtcbiAgICByZXR1cm4gcGFydHMubGVuZ3RoID4gMSA/IHBhcnRzWzFdIDogZGF0YT8ubGVhdmVUeXBlPy50aXRsZSB8fCAnTi9BJztcbiAgfSk7XG5cbiAgcHJvdGVjdGVkIGNhbkFwcHJvdmUgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3Qgc3RhdHVzSWQgPSB0aGlzLnRhc2soKS5zdGF0dXM/LmlkO1xuICAgIHJldHVybiBzdGF0dXNJZCA9PT0gQVhQU3lzdGVtU3RhdHVzZXMuUGVuZGluZy5uYW1lIHx8IHN0YXR1c0lkID09PSBBWFBTeXN0ZW1TdGF0dXNlcy5SZWplY3RlZC5uYW1lO1xuICB9KTtcblxuICBwcm90ZWN0ZWQgY2FuUmVqZWN0ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IHN0YXR1c0lkID0gdGhpcy50YXNrKCkuc3RhdHVzPy5pZDtcbiAgICByZXR1cm4gc3RhdHVzSWQgPT09IEFYUFN5c3RlbVN0YXR1c2VzLlBlbmRpbmcubmFtZSB8fCBzdGF0dXNJZCA9PT0gQVhQU3lzdGVtU3RhdHVzZXMuQXBwcm92ZWQubmFtZTtcbiAgfSk7XG5cbiAgcHJvdGVjdGVkIGNhbkNhbmNlbCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBzdGF0dXNJZCA9IHRoaXMudGFzaygpLnN0YXR1cz8uaWQ7XG4gICAgcmV0dXJuIHN0YXR1c0lkID09PSBBWFBTeXN0ZW1TdGF0dXNlcy5QZW5kaW5nLm5hbWUgfHwgc3RhdHVzSWQgPT09IEFYUFN5c3RlbVN0YXR1c2VzLkFwcHJvdmVkLm5hbWU7XG4gIH0pO1xuXG4gIHByb3RlY3RlZCBmb3JtYXREYXRlKGRhdGU6IERhdGUpOiBzdHJpbmcge1xuICAgIHJldHVybiBuZXcgSW50bC5EYXRlVGltZUZvcm1hdCgnZW4tVVMnLCB7XG4gICAgICB5ZWFyOiAnbnVtZXJpYycsXG4gICAgICBtb250aDogJ3Nob3J0JyxcbiAgICAgIGRheTogJ251bWVyaWMnLFxuICAgIH0pLmZvcm1hdChuZXcgRGF0ZShkYXRlKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY2FsY3VsYXRlRHVyYXRpb24oKTogbnVtYmVyIHtcbiAgICBjb25zdCBzdGFydCA9IG5ldyBEYXRlKHRoaXMudGFzaygpLnN0YXJ0RGF0ZSk7XG4gICAgY29uc3QgZW5kID0gbmV3IERhdGUodGhpcy50YXNrKCkuZW5kRGF0ZSk7XG4gICAgY29uc3QgZGlmZlRpbWUgPSBNYXRoLmFicyhlbmQuZ2V0VGltZSgpIC0gc3RhcnQuZ2V0VGltZSgpKTtcbiAgICBjb25zdCBkaWZmRGF5cyA9IE1hdGguY2VpbChkaWZmVGltZSAvICgxMDAwICogNjAgKiA2MCAqIDI0KSk7XG4gICAgcmV0dXJuIGRpZmZEYXlzICsgMTsgLy8gSW5jbHVkZSBib3RoIHN0YXJ0IGFuZCBlbmQgZGF5c1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGhhbmRsZUFwcHJvdmUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgdGFzayA9IHRoaXMudGFzaygpO1xuICAgIGNvbnN0IGxlYXZlUmVxdWVzdElkID0gdGFzay5pZDtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBkaWFsb2dSZXN1bHQgPSBhd2FpdCB0aGlzLmRpYWxvZ1NlcnZpY2Uuc2hvd0FwcHJvdmFsRGlhbG9nKCk7XG4gICAgICBpZiAoZGlhbG9nUmVzdWx0Py5jYW5jZWxsZWQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBjb21tYW5kS2V5ID0gJ0h1bWFuQ2FwaXRhbE1hbmFnZW1lbnQuTGVhdmVSZXF1ZXN0OkFwcHJvdmUnO1xuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5jb21tYW5kRXhlY3V0b3IuZXhlY3V0ZShjb21tYW5kS2V5LCB7XG4gICAgICAgIGlkOiBsZWF2ZVJlcXVlc3RJZCxcbiAgICAgICAgcmVhc29uOiBkaWFsb2dSZXN1bHQ/LnJlYXNvbixcbiAgICAgICAgbm90ZTogZGlhbG9nUmVzdWx0Py5ub3RlLFxuICAgICAgfSk7XG5cbiAgICAgIGlmIChyZXN1bHQ/LnN1Y2Nlc3MpIHtcbiAgICAgICAgLy8gT3B0aW9uYWxseSBlbWl0IGFuIGV2ZW50IG9yIHJlZnJlc2ggdGhlIHRhc2tcbiAgICAgICAgY29uc29sZS5sb2coJ0xlYXZlIHJlcXVlc3QgYXBwcm92ZWQgc3VjY2Vzc2Z1bGx5Jyk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBhcHByb3ZlIGxlYXZlIHJlcXVlc3Q6JywgZXJyb3IpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBoYW5kbGVSZWplY3QoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgdGFzayA9IHRoaXMudGFzaygpO1xuICAgIGNvbnN0IGxlYXZlUmVxdWVzdElkID0gdGFzay5pZDtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBkaWFsb2dSZXN1bHQgPSBhd2FpdCB0aGlzLmRpYWxvZ1NlcnZpY2Uuc2hvd1JlamVjdGlvbkRpYWxvZygpO1xuICAgICAgaWYgKGRpYWxvZ1Jlc3VsdD8uY2FuY2VsbGVkKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgY29tbWFuZEtleSA9ICdIdW1hbkNhcGl0YWxNYW5hZ2VtZW50LkxlYXZlUmVxdWVzdDpSZWplY3QnO1xuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5jb21tYW5kRXhlY3V0b3IuZXhlY3V0ZShjb21tYW5kS2V5LCB7XG4gICAgICAgIGlkOiBsZWF2ZVJlcXVlc3RJZCxcbiAgICAgICAgcmVhc29uOiBkaWFsb2dSZXN1bHQ/LnJlYXNvbixcbiAgICAgICAgbm90ZTogZGlhbG9nUmVzdWx0Py5ub3RlLFxuICAgICAgfSk7XG5cbiAgICAgIGlmIChyZXN1bHQ/LnN1Y2Nlc3MpIHtcbiAgICAgICAgY29uc29sZS5sb2coJ0xlYXZlIHJlcXVlc3QgcmVqZWN0ZWQgc3VjY2Vzc2Z1bGx5Jyk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byByZWplY3QgbGVhdmUgcmVxdWVzdDonLCBlcnJvcik7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGhhbmRsZUNhbmNlbCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCB0YXNrID0gdGhpcy50YXNrKCk7XG4gICAgY29uc3QgbGVhdmVSZXF1ZXN0SWQgPSB0YXNrLmlkO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGRpYWxvZ1Jlc3VsdCA9IGF3YWl0IHRoaXMuZGlhbG9nU2VydmljZS5zaG93Q2FuY2VsbGF0aW9uRGlhbG9nKCk7XG4gICAgICBpZiAoZGlhbG9nUmVzdWx0Py5jYW5jZWxsZWQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBjb21tYW5kS2V5ID0gJ0h1bWFuQ2FwaXRhbE1hbmFnZW1lbnQuTGVhdmVSZXF1ZXN0OkNhbmNlbCc7XG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLmNvbW1hbmRFeGVjdXRvci5leGVjdXRlKGNvbW1hbmRLZXksIHtcbiAgICAgICAgaWQ6IGxlYXZlUmVxdWVzdElkLFxuICAgICAgICByZWFzb246IGRpYWxvZ1Jlc3VsdD8ucmVhc29uLFxuICAgICAgICBub3RlOiBkaWFsb2dSZXN1bHQ/Lm5vdGUsXG4gICAgICB9KTtcblxuICAgICAgaWYgKHJlc3VsdD8uc3VjY2Vzcykge1xuICAgICAgICBjb25zb2xlLmxvZygnTGVhdmUgcmVxdWVzdCBjYW5jZWxsZWQgc3VjY2Vzc2Z1bGx5Jyk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBjYW5jZWwgbGVhdmUgcmVxdWVzdDonLCBlcnJvcik7XG4gICAgfVxuICB9XG59XG4iXX0="],"names":[],"mappings":"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"}
@@ -1,11 +1,11 @@
1
1
  import { AXTranslationService } from '@acorex/core/translation';
2
2
  import { AXPWorkflowTaskProvider, AXP_WORKFLOW_TASK_PROVIDER } from '@acorex/modules/task-management';
3
- import { AXPSystemStatuses, AXPStatusProvider, systemStatusToDefinition, AXPSystemStatusType, AXP_STATUS_PROVIDERS, AXP_MENU_PROVIDER } from '@acorex/platform/common';
4
- import { AXPEntityService, AXP_ENTITY_DEFINITION_LOADER } from '@acorex/platform/layout/entity';
5
3
  import { AXPCommandExecutor, AXPCommandEventsService, AXPRuntimeModule } from '@acorex/platform/runtime';
6
4
  import * as i0 from '@angular/core';
7
5
  import { inject, Injectable, DestroyRef, signal, NgModule, Injector } from '@angular/core';
8
6
  import { AXPLayoutBuilderService } from '@acorex/platform/layout/builder';
7
+ import { AXPEntityService, AXP_ENTITY_DEFINITION_LOADER } from '@acorex/platform/layout/entity';
8
+ import { AXPSystemStatuses, AXPStatusProvider, systemStatusToDefinition, AXPSystemStatusType, AXP_STATUS_PROVIDERS, AXP_MENU_PROVIDER } from '@acorex/platform/common';
9
9
  import { AXPTaskBadgeProvider, AXP_TASK_BADGE_PROVIDERS } from '@acorex/platform/layout/components';
10
10
  import { AXP_IDENTIFIER_RULES } from '@acorex/modules/identifier-management';
11
11
  import { AXP_MODULE_MANIFEST_PROVIDER, AXP_FEATURE_DEFINITION_PROVIDER } from '@acorex/platform/core';
@@ -391,6 +391,9 @@ class AXMLeaveRequestTaskProvider extends AXPWorkflowTaskProvider {
391
391
  return 'medium';
392
392
  }
393
393
  }
394
+ getComponent() {
395
+ return () => import('./acorex-modules-human-capital-management-leave-request-task-popover.component-CR4xmtkI.mjs').then((m) => m.AXMLeaveRequestTaskPopoverComponent);
396
+ }
394
397
  }
395
398
 
396
399
  //#endregion