@acorex/components 19.12.0 → 19.13.0-next.1

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 (145) hide show
  1. package/calendar/lib/calendar-range.component.d.ts +4 -1
  2. package/calendar/lib/calendar.class.d.ts +8 -0
  3. package/calendar/lib/calendar.component.d.ts +2 -0
  4. package/data-pager/lib/data-pager-base.component.d.ts +2 -2
  5. package/data-pager/lib/data-pager-info.component.d.ts +1 -1
  6. package/data-pager/lib/data-pager-input-selector.component.d.ts +1 -1
  7. package/data-pager/lib/data-pager-next-buttons.component.d.ts +1 -1
  8. package/data-pager/lib/data-pager-numeric-selector.component.d.ts +1 -1
  9. package/data-pager/lib/data-pager-pagesize-dropdown.component.d.ts +1 -1
  10. package/data-pager/lib/data-pager-prev-buttons.component.d.ts +1 -1
  11. package/datetime-box/lib/datetime-box.component.d.ts +11 -13
  12. package/datetime-input/lib/datetime-input.component.d.ts +21 -84
  13. package/datetime-picker/lib/datetime-picker.component.d.ts +13 -31
  14. package/fesm2022/acorex-components-action-sheet.mjs +10 -10
  15. package/fesm2022/acorex-components-alert.mjs +8 -8
  16. package/fesm2022/acorex-components-alert.mjs.map +1 -1
  17. package/fesm2022/acorex-components-audio-wave.mjs +7 -7
  18. package/fesm2022/acorex-components-autocomplete.mjs +7 -7
  19. package/fesm2022/acorex-components-avatar.mjs +10 -10
  20. package/fesm2022/acorex-components-badge.mjs +7 -7
  21. package/fesm2022/acorex-components-bottom-navigation.mjs +10 -10
  22. package/fesm2022/acorex-components-breadcrumbs.mjs +10 -10
  23. package/fesm2022/acorex-components-button-group.mjs +10 -10
  24. package/fesm2022/acorex-components-button.mjs +13 -13
  25. package/fesm2022/acorex-components-calendar.mjs +76 -48
  26. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  27. package/fesm2022/acorex-components-check-box.mjs +7 -7
  28. package/fesm2022/acorex-components-chips.mjs +7 -7
  29. package/fesm2022/acorex-components-circular-progress.mjs +7 -7
  30. package/fesm2022/acorex-components-collapse.mjs +10 -10
  31. package/fesm2022/acorex-components-color-box.mjs +7 -7
  32. package/fesm2022/acorex-components-color-palette.mjs +25 -25
  33. package/fesm2022/acorex-components-comment.mjs +28 -28
  34. package/fesm2022/acorex-components-common.mjs +91 -91
  35. package/fesm2022/acorex-components-conversation.mjs +49 -49
  36. package/fesm2022/acorex-components-cron-job.mjs +46 -46
  37. package/fesm2022/acorex-components-data-pager.mjs +45 -45
  38. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  39. package/fesm2022/acorex-components-data-table.mjs +37 -37
  40. package/fesm2022/acorex-components-datetime-box.mjs +34 -32
  41. package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
  42. package/fesm2022/acorex-components-datetime-input.mjs +121 -189
  43. package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
  44. package/fesm2022/acorex-components-datetime-picker.mjs +85 -87
  45. package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
  46. package/fesm2022/acorex-components-decorators.mjs +25 -25
  47. package/fesm2022/acorex-components-dialog.mjs +10 -10
  48. package/fesm2022/acorex-components-drawer.mjs +13 -13
  49. package/fesm2022/acorex-components-dropdown-button.mjs +7 -7
  50. package/fesm2022/acorex-components-dropdown.mjs +13 -13
  51. package/fesm2022/acorex-components-file-explorer.mjs +25 -25
  52. package/fesm2022/acorex-components-file-explorer.mjs.map +1 -1
  53. package/fesm2022/acorex-components-form.mjs +23 -21
  54. package/fesm2022/acorex-components-form.mjs.map +1 -1
  55. package/fesm2022/acorex-components-grid-layout-builder.mjs +10 -10
  56. package/fesm2022/acorex-components-image-editor.mjs +34 -34
  57. package/fesm2022/acorex-components-image.mjs +7 -7
  58. package/fesm2022/acorex-components-json-viewer.mjs +7 -7
  59. package/fesm2022/acorex-components-kbd.mjs +10 -10
  60. package/fesm2022/acorex-components-label.mjs +7 -7
  61. package/fesm2022/acorex-components-list.mjs +7 -7
  62. package/fesm2022/acorex-components-loading-dialog.mjs +10 -10
  63. package/fesm2022/acorex-components-loading.mjs +16 -16
  64. package/fesm2022/acorex-components-map.mjs +10 -10
  65. package/fesm2022/acorex-components-media-viewer.mjs +34 -34
  66. package/fesm2022/acorex-components-menu.mjs +16 -16
  67. package/fesm2022/{acorex-components-modal-acorex-components-modal-Bs1CnBt8.mjs → acorex-components-modal-acorex-components-modal-DWBUhygA.mjs} +132 -42
  68. package/fesm2022/acorex-components-modal-acorex-components-modal-DWBUhygA.mjs.map +1 -0
  69. package/fesm2022/acorex-components-modal-modal-content.component-4ttnaM8r.mjs +187 -0
  70. package/fesm2022/acorex-components-modal-modal-content.component-4ttnaM8r.mjs.map +1 -0
  71. package/fesm2022/acorex-components-modal.mjs +1 -1
  72. package/fesm2022/acorex-components-navbar.mjs +7 -7
  73. package/fesm2022/acorex-components-notification.mjs +10 -10
  74. package/fesm2022/acorex-components-number-box.mjs +7 -7
  75. package/fesm2022/acorex-components-otp.mjs +7 -7
  76. package/fesm2022/acorex-components-page.mjs +10 -10
  77. package/fesm2022/acorex-components-paint.mjs +25 -25
  78. package/fesm2022/acorex-components-password-box.mjs +10 -10
  79. package/fesm2022/acorex-components-pdf-reader.mjs +7 -7
  80. package/fesm2022/acorex-components-phone-box.mjs +7 -7
  81. package/fesm2022/acorex-components-picker.mjs +13 -13
  82. package/fesm2022/acorex-components-popover.mjs +7 -7
  83. package/fesm2022/acorex-components-popup.mjs +10 -10
  84. package/fesm2022/acorex-components-progress-bar.mjs +7 -7
  85. package/fesm2022/acorex-components-qrcode.mjs +7 -7
  86. package/fesm2022/acorex-components-query-builder.mjs +7 -7
  87. package/fesm2022/acorex-components-query-builder.mjs.map +1 -1
  88. package/fesm2022/acorex-components-radio.mjs +7 -7
  89. package/fesm2022/acorex-components-rail-navigation.mjs +13 -13
  90. package/fesm2022/acorex-components-range-slider.mjs +7 -7
  91. package/fesm2022/acorex-components-rate-picker.mjs +7 -7
  92. package/fesm2022/acorex-components-rest-api-generator.mjs +22 -22
  93. package/fesm2022/acorex-components-result.mjs +7 -7
  94. package/fesm2022/acorex-components-routing-progress.mjs +7 -7
  95. package/fesm2022/acorex-components-scheduler.mjs +565 -125
  96. package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
  97. package/fesm2022/acorex-components-scss.mjs +4 -4
  98. package/fesm2022/acorex-components-search-box.mjs +7 -7
  99. package/fesm2022/acorex-components-select-box.mjs +7 -7
  100. package/fesm2022/acorex-components-selection-list.mjs +7 -7
  101. package/fesm2022/acorex-components-side-menu.mjs +13 -13
  102. package/fesm2022/acorex-components-skeleton.mjs +7 -7
  103. package/fesm2022/acorex-components-slider.mjs +7 -7
  104. package/fesm2022/acorex-components-sliding-item.mjs +13 -13
  105. package/fesm2022/acorex-components-step-wizard.mjs +13 -13
  106. package/fesm2022/acorex-components-switch.mjs +10 -10
  107. package/fesm2022/acorex-components-tabs.mjs +13 -13
  108. package/fesm2022/acorex-components-tag-box.mjs +7 -7
  109. package/fesm2022/acorex-components-tag.mjs +7 -7
  110. package/fesm2022/acorex-components-text-area.mjs +7 -7
  111. package/fesm2022/acorex-components-text-box.mjs +10 -10
  112. package/fesm2022/acorex-components-time-line.mjs +10 -10
  113. package/fesm2022/acorex-components-toast.mjs +10 -10
  114. package/fesm2022/acorex-components-toolbar.mjs +7 -7
  115. package/fesm2022/acorex-components-tooltip.mjs +10 -10
  116. package/fesm2022/acorex-components-tree-view.mjs +25 -16
  117. package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
  118. package/fesm2022/acorex-components-uploader.mjs +29 -29
  119. package/fesm2022/acorex-components-uploader.mjs.map +1 -1
  120. package/fesm2022/acorex-components-video-player.mjs +7 -7
  121. package/fesm2022/acorex-components-wysiwyg.mjs +31 -31
  122. package/form/lib/validation-summary.component.d.ts +4 -2
  123. package/modal/lib/modal-content/modal-content.component.d.ts +11 -8
  124. package/modal/lib/modal-state.service.d.ts +5 -4
  125. package/modal/lib/modal.component.d.ts +2 -0
  126. package/modal/lib/modal.service.d.ts +4 -2
  127. package/modal/lib/modal.types.d.ts +15 -1
  128. package/package.json +1 -1
  129. package/scheduler/README.md +2 -2
  130. package/scheduler/index.d.ts +4 -0
  131. package/scheduler/lib/scheduler.class.d.ts +12 -6
  132. package/scheduler/lib/scheduler.component.d.ts +11 -11
  133. package/scheduler/lib/scheduler.module.d.ts +2 -1
  134. package/scheduler/lib/scheduler.service.d.ts +7 -2
  135. package/scheduler/lib/views/agenda/scheduler-agenda-view.component.d.ts +26 -0
  136. package/scheduler/lib/views/day/scheduler-day-view.component.d.ts +5 -4
  137. package/scheduler/lib/views/month/scheduler-month-view.component.d.ts +5 -3
  138. package/scheduler/lib/views/timeline-day/scheduler-timeline-day-view.component.d.ts +28 -0
  139. package/scheduler/lib/views/timeline-month/scheduler-timeline-month-view.component.d.ts +33 -0
  140. package/scheduler/lib/views/timeline-multi-day/scheduler-timeline-multi-day-view.component.d.ts +22 -0
  141. package/scheduler/lib/views/week/scheduler-week-view.component.d.ts +8 -7
  142. package/tree-view/lib/tree-view.component.d.ts +4 -2
  143. package/fesm2022/acorex-components-modal-acorex-components-modal-Bs1CnBt8.mjs.map +0 -1
  144. package/fesm2022/acorex-components-modal-modal-content.component-DhpujG4d.mjs +0 -181
  145. package/fesm2022/acorex-components-modal-modal-content.component-DhpujG4d.mjs.map +0 -1
@@ -2,10 +2,11 @@ import { AXDateTime } from '@acorex/core/date-time';
2
2
  import { AXDayOfWeekName, AXSchedulerActiveAppointmentsInBlock, AXSchedulerAppointmentEvent, AXSchedulerAppointmentsByStartBlock, AXSchedulerAppointmentType, AXSchedulerBlockIdentifier, AXSchedulerSlotEvent, AXSchedulerView } from './scheduler.class';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class AXSchedulerService {
5
+ private formatService;
6
+ readonly HOURS_PER_DAY = 24;
7
+ readonly MINUTES_PER_HOUR = 60;
5
8
  readonly BLOCK_DURATION_MINUTES = 30;
6
9
  readonly MILLISECONDS_PER_MINUTE: number;
7
- readonly MINUTES_PER_HOUR = 60;
8
- readonly HOURS_PER_DAY = 24;
9
10
  readonly MILLISECONDS_PER_DAY: number;
10
11
  /**
11
12
  * Checks if two appointments overlap in time.
@@ -55,6 +56,10 @@ export declare class AXSchedulerService {
55
56
  view: AXSchedulerView;
56
57
  };
57
58
  handleEvent(event: AXSchedulerSlotEvent | AXSchedulerAppointmentEvent, eventOutputMap: any, eventType: 'appointment' | 'slot'): void;
59
+ calculateTimelineLayout(appt: AXSchedulerAppointmentType, startHour: number, endHour: number): {
60
+ left: string;
61
+ width: string;
62
+ } | null;
58
63
  static ɵfac: i0.ɵɵFactoryDeclaration<AXSchedulerService, never>;
59
64
  static ɵprov: i0.ɵɵInjectableDeclaration<AXSchedulerService>;
60
65
  }
@@ -0,0 +1,26 @@
1
+ import { MXBaseComponent } from '@acorex/components/common';
2
+ import { AXDateTime } from '@acorex/core/date-time';
3
+ import { AXSchedulerAppointmentEvent, AXSchedulerAppointmentType, AXSchedulerMultiDayViewAppointmentType, AXSchedulerSlotEvent } from '../../scheduler.class';
4
+ import * as i0 from "@angular/core";
5
+ export declare class AXSchedulerAgendaViewComponent extends MXBaseComponent {
6
+ private schedulerService;
7
+ daysCount: import("@angular/core").InputSignal<number>;
8
+ draggable: import("@angular/core").InputSignal<boolean>;
9
+ calendar: import("@angular/core").InputSignal<string>;
10
+ endHour: import("@angular/core").InputSignal<number>;
11
+ date: import("@angular/core").InputSignal<AXDateTime>;
12
+ startHour: import("@angular/core").InputSignal<number>;
13
+ appointments: import("@angular/core").InputSignal<AXSchedulerAppointmentType[]>;
14
+ multiDayAppointments: import("@angular/core").Signal<AXSchedulerMultiDayViewAppointmentType[]>;
15
+ slotClickedInternal: import("@angular/core").OutputEmitterRef<AXSchedulerSlotEvent>;
16
+ slotDblClickedInternal: import("@angular/core").OutputEmitterRef<AXSchedulerSlotEvent>;
17
+ slotRightClickedInternal: import("@angular/core").OutputEmitterRef<AXSchedulerSlotEvent>;
18
+ appointmentClickedInternal: import("@angular/core").OutputEmitterRef<AXSchedulerAppointmentEvent>;
19
+ appointmentDblClickedInternal: import("@angular/core").OutputEmitterRef<AXSchedulerAppointmentEvent>;
20
+ appointmentRightClickedInternal: import("@angular/core").OutputEmitterRef<AXSchedulerAppointmentEvent>;
21
+ private readonly eventOutputMap;
22
+ handleAppointmentEvent(mouseEvent: MouseEvent, appointment: AXSchedulerAppointmentType): void;
23
+ handleSlotEvent(mouseEvent: MouseEvent, startDate: AXDateTime): void;
24
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXSchedulerAgendaViewComponent, never>;
25
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXSchedulerAgendaViewComponent, "ax-scheduler-agenda-view", never, { "daysCount": { "alias": "daysCount"; "required": false; "isSignal": true; }; "draggable": { "alias": "draggable"; "required": false; "isSignal": true; }; "calendar": { "alias": "calendar"; "required": false; "isSignal": true; }; "endHour": { "alias": "endHour"; "required": true; "isSignal": true; }; "date": { "alias": "date"; "required": true; "isSignal": true; }; "startHour": { "alias": "startHour"; "required": true; "isSignal": true; }; "appointments": { "alias": "appointments"; "required": false; "isSignal": true; }; }, { "slotClickedInternal": "slotClickedInternal"; "slotDblClickedInternal": "slotDblClickedInternal"; "slotRightClickedInternal": "slotRightClickedInternal"; "appointmentClickedInternal": "appointmentClickedInternal"; "appointmentDblClickedInternal": "appointmentDblClickedInternal"; "appointmentRightClickedInternal": "appointmentRightClickedInternal"; }, never, never, true, never>;
26
+ }
@@ -3,9 +3,10 @@ import { AXDateTime } from '@acorex/core/date-time';
3
3
  import { AXSchedulerAppointmentEvent, AXSchedulerAppointmentType, AXSchedulerDayAppointmentLayout, AXSchedulerSlotEvent } from '../../scheduler.class';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class AXSchedulerDayViewComponent extends MXBaseComponent {
6
- private schedulerCalcService;
7
- readonly GAP_WIDTH_PX = 1;
6
+ private schedulerService;
7
+ readonly GAP_PX = 1;
8
8
  draggable: import("@angular/core").InputSignal<boolean>;
9
+ calendar: import("@angular/core").InputSignal<string>;
9
10
  endHour: import("@angular/core").InputSignal<number>;
10
11
  date: import("@angular/core").InputSignal<AXDateTime>;
11
12
  startHour: import("@angular/core").InputSignal<number>;
@@ -27,8 +28,8 @@ export declare class AXSchedulerDayViewComponent extends MXBaseComponent {
27
28
  getAppointmentLayout(key: any): AXSchedulerDayAppointmentLayout | undefined;
28
29
  getAppointmentLeft(key: any): string;
29
30
  getAppointmentWidth(key: any): string;
30
- getAppointmentTransform(key: any): string;
31
+ getAppointmentTop(key: any): string;
31
32
  getAppointmentHeight(key: any): string;
32
33
  static ɵfac: i0.ɵɵFactoryDeclaration<AXSchedulerDayViewComponent, never>;
33
- static ɵcmp: i0.ɵɵComponentDeclaration<AXSchedulerDayViewComponent, "ax-scheduler-day-view", never, { "draggable": { "alias": "draggable"; "required": false; "isSignal": true; }; "endHour": { "alias": "endHour"; "required": true; "isSignal": true; }; "date": { "alias": "date"; "required": true; "isSignal": true; }; "startHour": { "alias": "startHour"; "required": true; "isSignal": true; }; "appointments": { "alias": "appointments"; "required": false; "isSignal": true; }; }, { "slotClickedInternal": "slotClickedInternal"; "slotDblClickedInternal": "slotDblClickedInternal"; "slotRightClickedInternal": "slotRightClickedInternal"; "appointmentClickedInternal": "appointmentClickedInternal"; "appointmentDblClickedInternal": "appointmentDblClickedInternal"; "appointmentRightClickedInternal": "appointmentRightClickedInternal"; }, never, never, true, never>;
34
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXSchedulerDayViewComponent, "ax-scheduler-day-view", never, { "draggable": { "alias": "draggable"; "required": false; "isSignal": true; }; "calendar": { "alias": "calendar"; "required": false; "isSignal": true; }; "endHour": { "alias": "endHour"; "required": true; "isSignal": true; }; "date": { "alias": "date"; "required": true; "isSignal": true; }; "startHour": { "alias": "startHour"; "required": true; "isSignal": true; }; "appointments": { "alias": "appointments"; "required": false; "isSignal": true; }; }, { "slotClickedInternal": "slotClickedInternal"; "slotDblClickedInternal": "slotDblClickedInternal"; "slotRightClickedInternal": "slotRightClickedInternal"; "appointmentClickedInternal": "appointmentClickedInternal"; "appointmentDblClickedInternal": "appointmentDblClickedInternal"; "appointmentRightClickedInternal": "appointmentRightClickedInternal"; }, never, never, true, never>;
34
35
  }
@@ -12,14 +12,16 @@ export type AXSchedulerMonthDayCell = {
12
12
  overflowCount: number;
13
13
  };
14
14
  export declare class AXSchedulerMonthViewComponent extends MXBaseComponent {
15
- private schedulerCalcService;
15
+ private formatService;
16
16
  private calendarService;
17
+ private schedulerService;
17
18
  draggable: import("@angular/core").InputSignal<boolean>;
19
+ calendar: import("@angular/core").InputSignal<string>;
18
20
  date: import("@angular/core").InputSignal<AXDateTime>;
19
21
  appointments: import("@angular/core").InputSignal<AXSchedulerAppointmentType[]>;
20
22
  firstDayOfWeek: import("@angular/core").InputSignal<AXDayOfWeekName>;
21
- readonly MAX_VISIBLE_APPOINTMENTS_PER_DAY = 2;
22
23
  readonly DAYS_IN_WEEK = 7;
24
+ readonly MAX_VISIBLE_APPOINTMENTS_PER_DAY = 2;
23
25
  slotClickedInternal: import("@angular/core").OutputEmitterRef<AXSchedulerSlotEvent>;
24
26
  slotDblClickedInternal: import("@angular/core").OutputEmitterRef<AXSchedulerSlotEvent>;
25
27
  slotRightClickedInternal: import("@angular/core").OutputEmitterRef<AXSchedulerSlotEvent>;
@@ -39,5 +41,5 @@ export declare class AXSchedulerMonthViewComponent extends MXBaseComponent {
39
41
  dayCellLayouts: import("@angular/core").Signal<AXSchedulerMonthDayCell[]>;
40
42
  gridTemplateRowsStyle: import("@angular/core").Signal<string>;
41
43
  static ɵfac: i0.ɵɵFactoryDeclaration<AXSchedulerMonthViewComponent, never>;
42
- static ɵcmp: i0.ɵɵComponentDeclaration<AXSchedulerMonthViewComponent, "ax-scheduler-month-view", never, { "draggable": { "alias": "draggable"; "required": false; "isSignal": true; }; "date": { "alias": "date"; "required": true; "isSignal": true; }; "appointments": { "alias": "appointments"; "required": false; "isSignal": true; }; "firstDayOfWeek": { "alias": "firstDayOfWeek"; "required": false; "isSignal": true; }; }, { "slotClickedInternal": "slotClickedInternal"; "slotDblClickedInternal": "slotDblClickedInternal"; "slotRightClickedInternal": "slotRightClickedInternal"; "appointmentClickedInternal": "appointmentClickedInternal"; "appointmentDblClickedInternal": "appointmentDblClickedInternal"; "appointmentRightClickedInternal": "appointmentRightClickedInternal"; }, never, never, true, never>;
44
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXSchedulerMonthViewComponent, "ax-scheduler-month-view", never, { "draggable": { "alias": "draggable"; "required": false; "isSignal": true; }; "calendar": { "alias": "calendar"; "required": false; "isSignal": true; }; "date": { "alias": "date"; "required": true; "isSignal": true; }; "appointments": { "alias": "appointments"; "required": false; "isSignal": true; }; "firstDayOfWeek": { "alias": "firstDayOfWeek"; "required": false; "isSignal": true; }; }, { "slotClickedInternal": "slotClickedInternal"; "slotDblClickedInternal": "slotDblClickedInternal"; "slotRightClickedInternal": "slotRightClickedInternal"; "appointmentClickedInternal": "appointmentClickedInternal"; "appointmentDblClickedInternal": "appointmentDblClickedInternal"; "appointmentRightClickedInternal": "appointmentRightClickedInternal"; }, never, never, true, never>;
43
45
  }
@@ -0,0 +1,28 @@
1
+ import { MXBaseComponent } from '@acorex/components/common';
2
+ import { AXDateTime } from '@acorex/core/date-time';
3
+ import { AXSchedulerAppointmentEvent, AXSchedulerAppointmentLayout, AXSchedulerAppointmentType, AXSchedulerSlotEvent } from '../../scheduler.class';
4
+ import * as i0 from "@angular/core";
5
+ export declare class AXSchedulerTimelineDayViewComponent extends MXBaseComponent {
6
+ private schedulerService;
7
+ readonly GAP_PX = 1;
8
+ draggable: import("@angular/core").InputSignal<boolean>;
9
+ calendar: import("@angular/core").InputSignal<string>;
10
+ endHour: import("@angular/core").InputSignal<number>;
11
+ date: import("@angular/core").InputSignal<AXDateTime>;
12
+ startHour: import("@angular/core").InputSignal<number>;
13
+ appointments: import("@angular/core").InputSignal<AXSchedulerAppointmentType[]>;
14
+ singleDayAppointments: import("@angular/core").Signal<AXSchedulerAppointmentType[]>;
15
+ slotClickedInternal: import("@angular/core").OutputEmitterRef<AXSchedulerSlotEvent>;
16
+ slotDblClickedInternal: import("@angular/core").OutputEmitterRef<AXSchedulerSlotEvent>;
17
+ slotRightClickedInternal: import("@angular/core").OutputEmitterRef<AXSchedulerSlotEvent>;
18
+ appointmentClickedInternal: import("@angular/core").OutputEmitterRef<AXSchedulerAppointmentEvent>;
19
+ appointmentDblClickedInternal: import("@angular/core").OutputEmitterRef<AXSchedulerAppointmentEvent>;
20
+ appointmentRightClickedInternal: import("@angular/core").OutputEmitterRef<AXSchedulerAppointmentEvent>;
21
+ private readonly eventOutputMap;
22
+ handleAppointmentEvent(mouseEvent: MouseEvent, appointment: AXSchedulerAppointmentType): void;
23
+ handleSlotEvent(mouseEvent: MouseEvent, startDate: AXDateTime): void;
24
+ hoursArray: import("@angular/core").Signal<AXDateTime[]>;
25
+ appointmentLayouts: import("@angular/core").Signal<AXSchedulerAppointmentLayout[]>;
26
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXSchedulerTimelineDayViewComponent, never>;
27
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXSchedulerTimelineDayViewComponent, "ax-scheduler-timeline-day-view", never, { "draggable": { "alias": "draggable"; "required": false; "isSignal": true; }; "calendar": { "alias": "calendar"; "required": false; "isSignal": true; }; "endHour": { "alias": "endHour"; "required": true; "isSignal": true; }; "date": { "alias": "date"; "required": true; "isSignal": true; }; "startHour": { "alias": "startHour"; "required": true; "isSignal": true; }; "appointments": { "alias": "appointments"; "required": false; "isSignal": true; }; }, { "slotClickedInternal": "slotClickedInternal"; "slotDblClickedInternal": "slotDblClickedInternal"; "slotRightClickedInternal": "slotRightClickedInternal"; "appointmentClickedInternal": "appointmentClickedInternal"; "appointmentDblClickedInternal": "appointmentDblClickedInternal"; "appointmentRightClickedInternal": "appointmentRightClickedInternal"; }, never, never, true, never>;
28
+ }
@@ -0,0 +1,33 @@
1
+ import { MXBaseComponent } from '@acorex/components/common';
2
+ import { AXDateTime } from '@acorex/core/date-time';
3
+ import { AXSchedulerAppointmentEvent, AXSchedulerAppointmentType, AXSchedulerSlotEvent } from '../../scheduler.class';
4
+ import * as i0 from "@angular/core";
5
+ export interface MultiDayViewDayData {
6
+ date: AXDateTime;
7
+ visibleAppointments: AXSchedulerAppointmentType[];
8
+ hiddenAppointments: AXSchedulerAppointmentType[];
9
+ moreCount: number;
10
+ }
11
+ export declare class AXSchedulerTimelineMonthViewComponent extends MXBaseComponent {
12
+ private schedulerService;
13
+ private readonly MAX_VISIBLE_APPOINTMENTS_PER_DAY;
14
+ draggable: import("@angular/core").InputSignal<boolean>;
15
+ calendar: import("@angular/core").InputSignal<string>;
16
+ endHour: import("@angular/core").InputSignal<number>;
17
+ date: import("@angular/core").InputSignal<AXDateTime>;
18
+ startHour: import("@angular/core").InputSignal<number>;
19
+ appointments: import("@angular/core").InputSignal<AXSchedulerAppointmentType[]>;
20
+ singleDayAppointments: import("@angular/core").Signal<AXSchedulerAppointmentType[]>;
21
+ monthAppointments: import("@angular/core").Signal<MultiDayViewDayData[]>;
22
+ slotClickedInternal: import("@angular/core").OutputEmitterRef<AXSchedulerSlotEvent>;
23
+ slotDblClickedInternal: import("@angular/core").OutputEmitterRef<AXSchedulerSlotEvent>;
24
+ slotRightClickedInternal: import("@angular/core").OutputEmitterRef<AXSchedulerSlotEvent>;
25
+ appointmentClickedInternal: import("@angular/core").OutputEmitterRef<AXSchedulerAppointmentEvent>;
26
+ appointmentDblClickedInternal: import("@angular/core").OutputEmitterRef<AXSchedulerAppointmentEvent>;
27
+ appointmentRightClickedInternal: import("@angular/core").OutputEmitterRef<AXSchedulerAppointmentEvent>;
28
+ private readonly eventOutputMap;
29
+ handleAppointmentEvent(mouseEvent: MouseEvent, appointment: AXSchedulerAppointmentType): void;
30
+ handleSlotEvent(mouseEvent: MouseEvent, startDate: AXDateTime): void;
31
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXSchedulerTimelineMonthViewComponent, never>;
32
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXSchedulerTimelineMonthViewComponent, "ax-scheduler-timeline-month-view", never, { "draggable": { "alias": "draggable"; "required": false; "isSignal": true; }; "calendar": { "alias": "calendar"; "required": false; "isSignal": true; }; "endHour": { "alias": "endHour"; "required": true; "isSignal": true; }; "date": { "alias": "date"; "required": true; "isSignal": true; }; "startHour": { "alias": "startHour"; "required": true; "isSignal": true; }; "appointments": { "alias": "appointments"; "required": false; "isSignal": true; }; }, { "slotClickedInternal": "slotClickedInternal"; "slotDblClickedInternal": "slotDblClickedInternal"; "slotRightClickedInternal": "slotRightClickedInternal"; "appointmentClickedInternal": "appointmentClickedInternal"; "appointmentDblClickedInternal": "appointmentDblClickedInternal"; "appointmentRightClickedInternal": "appointmentRightClickedInternal"; }, never, never, true, never>;
33
+ }
@@ -0,0 +1,22 @@
1
+ import { MXBaseComponent } from '@acorex/components/common';
2
+ import { AXDateTime } from '@acorex/core/date-time';
3
+ import { AXSchedulerAppointmentEvent, AXSchedulerAppointmentType, AXSchedulerMultiDayViewAppointmentType, AXSchedulerSlotEvent } from '../../scheduler.class';
4
+ import * as i0 from "@angular/core";
5
+ export declare class AXSchedulerTimelineMultiDayViewComponent extends MXBaseComponent {
6
+ daysCount: import("@angular/core").InputSignal<number>;
7
+ draggable: import("@angular/core").InputSignal<boolean>;
8
+ calendar: import("@angular/core").InputSignal<string>;
9
+ endHour: import("@angular/core").InputSignal<number>;
10
+ date: import("@angular/core").InputSignal<AXDateTime>;
11
+ startHour: import("@angular/core").InputSignal<number>;
12
+ appointments: import("@angular/core").InputSignal<AXSchedulerAppointmentType[]>;
13
+ multiDayAppointments: import("@angular/core").Signal<AXSchedulerMultiDayViewAppointmentType[]>;
14
+ slotClickedInternal: import("@angular/core").OutputEmitterRef<AXSchedulerSlotEvent>;
15
+ slotDblClickedInternal: import("@angular/core").OutputEmitterRef<AXSchedulerSlotEvent>;
16
+ slotRightClickedInternal: import("@angular/core").OutputEmitterRef<AXSchedulerSlotEvent>;
17
+ appointmentClickedInternal: import("@angular/core").OutputEmitterRef<AXSchedulerAppointmentEvent>;
18
+ appointmentDblClickedInternal: import("@angular/core").OutputEmitterRef<AXSchedulerAppointmentEvent>;
19
+ appointmentRightClickedInternal: import("@angular/core").OutputEmitterRef<AXSchedulerAppointmentEvent>;
20
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXSchedulerTimelineMultiDayViewComponent, never>;
21
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXSchedulerTimelineMultiDayViewComponent, "ax-scheduler-timeline-multi-day-view", never, { "daysCount": { "alias": "daysCount"; "required": false; "isSignal": true; }; "draggable": { "alias": "draggable"; "required": false; "isSignal": true; }; "calendar": { "alias": "calendar"; "required": false; "isSignal": true; }; "endHour": { "alias": "endHour"; "required": true; "isSignal": true; }; "date": { "alias": "date"; "required": true; "isSignal": true; }; "startHour": { "alias": "startHour"; "required": true; "isSignal": true; }; "appointments": { "alias": "appointments"; "required": false; "isSignal": true; }; }, { "slotClickedInternal": "slotClickedInternal"; "slotDblClickedInternal": "slotDblClickedInternal"; "slotRightClickedInternal": "slotRightClickedInternal"; "appointmentClickedInternal": "appointmentClickedInternal"; "appointmentDblClickedInternal": "appointmentDblClickedInternal"; "appointmentRightClickedInternal": "appointmentRightClickedInternal"; }, never, never, true, never>;
22
+ }
@@ -1,18 +1,21 @@
1
1
  import { MXBaseComponent } from '@acorex/components/common';
2
2
  import { AXDateTime } from '@acorex/core/date-time';
3
- import { AXSchedulerActiveAppointmentsInBlock, AXSchedulerAllDaySlotData, AXSchedulerAppointmentEvent, AXSchedulerAppointmentsByStartBlock, AXSchedulerAppointmentType, AXSchedulerOverflowBadge, AXSchedulerSlotEvent, AXSchedulerWeekAppointmentLayout } from '../../scheduler.class';
3
+ import { AXSchedulerActiveAppointmentsInBlock, AXSchedulerAllDaySlotData, AXSchedulerAppointmentEvent, AXSchedulerAppointmentLayout, AXSchedulerAppointmentsByStartBlock, AXSchedulerAppointmentType, AXSchedulerOverflowBadge, AXSchedulerSlotEvent } from '../../scheduler.class';
4
4
  import * as i0 from "@angular/core";
5
5
  type AXSchedulerGridBadgeInfo = AXSchedulerOverflowBadge & {
6
6
  hiddenAppointments: AXSchedulerAppointmentType[];
7
7
  };
8
8
  export declare class AXSchedulerWeekViewComponent extends MXBaseComponent {
9
- private schedulerCalcService;
10
- readonly GAP_WIDTH_PX = 1;
9
+ private schedulerService;
10
+ readonly GAP_PX = 1;
11
11
  draggable: import("@angular/core").InputSignal<boolean>;
12
+ calendar: import("@angular/core").InputSignal<string>;
12
13
  endHour: import("@angular/core").InputSignal<number>;
13
14
  date: import("@angular/core").InputSignal<AXDateTime>;
14
15
  startHour: import("@angular/core").InputSignal<number>;
15
16
  appointments: import("@angular/core").InputSignal<AXSchedulerAppointmentType[]>;
17
+ allDayAppointments: import("@angular/core").Signal<AXSchedulerAppointmentType[]>;
18
+ singleDayAppointments: import("@angular/core").Signal<AXSchedulerAppointmentType[]>;
16
19
  slotClickedInternal: import("@angular/core").OutputEmitterRef<AXSchedulerSlotEvent>;
17
20
  slotDblClickedInternal: import("@angular/core").OutputEmitterRef<AXSchedulerSlotEvent>;
18
21
  slotRightClickedInternal: import("@angular/core").OutputEmitterRef<AXSchedulerSlotEvent>;
@@ -23,19 +26,17 @@ export declare class AXSchedulerWeekViewComponent extends MXBaseComponent {
23
26
  handleAppointmentEvent(mouseEvent: MouseEvent, appointment: AXSchedulerAppointmentType): void;
24
27
  handleSingleSlotEvent(mouseEvent: MouseEvent, hour: AXDateTime, day: AXDateTime, minuteIndex: number): void;
25
28
  handleAllDaySlotEvent(mouseEvent: MouseEvent, day: AXDateTime): void;
26
- allDayAppointments: import("@angular/core").Signal<AXSchedulerAppointmentType[]>;
27
- singleDayAppointments: import("@angular/core").Signal<AXSchedulerAppointmentType[]>;
28
29
  hoursArray: import("@angular/core").Signal<AXDateTime[]>;
29
30
  daysArray: import("@angular/core").Signal<AXDateTime[]>;
30
31
  totalBlocksPerViewDay: import("@angular/core").Signal<number>;
31
32
  appointmentsByStartBlock: import("@angular/core").Signal<AXSchedulerAppointmentsByStartBlock>;
32
33
  activeAppointmentsInBlock: import("@angular/core").Signal<AXSchedulerActiveAppointmentsInBlock>;
33
- visibleAppointmentsLayout: import("@angular/core").Signal<AXSchedulerWeekAppointmentLayout[]>;
34
+ visibleAppointmentsLayout: import("@angular/core").Signal<AXSchedulerAppointmentLayout[]>;
34
35
  visualOccupancyMap: import("@angular/core").Signal<Map<string, any>>;
35
36
  overflowBadges: import("@angular/core").Signal<AXSchedulerOverflowBadge[]>;
36
37
  allDayAppointmentsPerDay: import("@angular/core").Signal<AXSchedulerAllDaySlotData[]>;
37
38
  overflowBadgesWithData: import("@angular/core").Signal<AXSchedulerGridBadgeInfo[]>;
38
39
  static ɵfac: i0.ɵɵFactoryDeclaration<AXSchedulerWeekViewComponent, never>;
39
- static ɵcmp: i0.ɵɵComponentDeclaration<AXSchedulerWeekViewComponent, "ax-scheduler-week-view", never, { "draggable": { "alias": "draggable"; "required": false; "isSignal": true; }; "endHour": { "alias": "endHour"; "required": true; "isSignal": true; }; "date": { "alias": "date"; "required": true; "isSignal": true; }; "startHour": { "alias": "startHour"; "required": true; "isSignal": true; }; "appointments": { "alias": "appointments"; "required": false; "isSignal": true; }; }, { "slotClickedInternal": "slotClickedInternal"; "slotDblClickedInternal": "slotDblClickedInternal"; "slotRightClickedInternal": "slotRightClickedInternal"; "appointmentClickedInternal": "appointmentClickedInternal"; "appointmentDblClickedInternal": "appointmentDblClickedInternal"; "appointmentRightClickedInternal": "appointmentRightClickedInternal"; }, never, never, true, never>;
40
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXSchedulerWeekViewComponent, "ax-scheduler-week-view", never, { "draggable": { "alias": "draggable"; "required": false; "isSignal": true; }; "calendar": { "alias": "calendar"; "required": false; "isSignal": true; }; "endHour": { "alias": "endHour"; "required": true; "isSignal": true; }; "date": { "alias": "date"; "required": true; "isSignal": true; }; "startHour": { "alias": "startHour"; "required": true; "isSignal": true; }; "appointments": { "alias": "appointments"; "required": false; "isSignal": true; }; }, { "slotClickedInternal": "slotClickedInternal"; "slotDblClickedInternal": "slotDblClickedInternal"; "slotRightClickedInternal": "slotRightClickedInternal"; "appointmentClickedInternal": "appointmentClickedInternal"; "appointmentDblClickedInternal": "appointmentDblClickedInternal"; "appointmentRightClickedInternal": "appointmentRightClickedInternal"; }, never, never, true, never>;
40
41
  }
41
42
  export {};
@@ -35,7 +35,8 @@ export declare class AXTreeViewComponent extends NXComponent {
35
35
  onNodedbClick: import("@angular/core").OutputEmitterRef<AXTreeItemClickBaseEvent>;
36
36
  executorChanges: import("@angular/core").WritableSignal<AXTreeViewOperationMethod>;
37
37
  look: import("@angular/core").InputSignal<AXTreeViewLook>;
38
- itemTemplate: TemplateRef<any> | null;
38
+ itemTemplate?: TemplateRef<unknown>;
39
+ emptyTemplate?: TemplateRef<unknown>;
39
40
  protected platformService: AXPlatform;
40
41
  expandOn: import("@angular/core").InputSignal<AXTreeViewExpandBehavior>;
41
42
  protected handleNodeSelectionClick(event: AXValueChangedEvent, item: unknown): void;
@@ -89,6 +90,7 @@ export declare class AXTreeViewComponent extends NXComponent {
89
90
  protected isNodeLoading(nodeId: string | number): boolean;
90
91
  setNodeLoading(nodeId: string | number, isLoading: boolean): void;
91
92
  executeOnTreeNode(node: unknown, operation: AXTreeViewOperationMethod, value: boolean): void;
93
+ refresh(): void;
92
94
  static ɵfac: i0.ɵɵFactoryDeclaration<AXTreeViewComponent, never>;
93
- static ɵcmp: i0.ɵɵComponentDeclaration<AXTreeViewComponent, "ax-tree-view", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "showCheckbox": { "alias": "showCheckbox"; "required": false; "isSignal": true; }; "selectionMode": { "alias": "selectionMode"; "required": false; "isSignal": true; }; "selectionBehavior": { "alias": "selectionBehavior"; "required": false; "isSignal": true; }; "focusNodeEnabled": { "alias": "focusNodeEnabled"; "required": false; "isSignal": true; }; "valueField": { "alias": "valueField"; "required": false; "isSignal": true; }; "textField": { "alias": "textField"; "required": false; "isSignal": true; }; "visibleField": { "alias": "visibleField"; "required": false; "isSignal": true; }; "disableField": { "alias": "disableField"; "required": false; "isSignal": true; }; "hasChildField": { "alias": "hasChildField"; "required": false; "isSignal": true; }; "selectedField": { "alias": "selectedField"; "required": false; "isSignal": true; }; "expandedField": { "alias": "expandedField"; "required": false; "isSignal": true; }; "tooltipField": { "alias": "tooltipField"; "required": false; "isSignal": true; }; "childrenField": { "alias": "childrenField"; "required": false; "isSignal": true; }; "activeField": { "alias": "activeField"; "required": false; "isSignal": true; }; "indeterminateField": { "alias": "indeterminateField"; "required": false; "isSignal": true; }; "parentField": { "alias": "parentField"; "required": false; "isSignal": true; }; "iconField": { "alias": "iconField"; "required": false; "isSignal": true; }; "toggleIcons": { "alias": "toggleIcons"; "required": false; "isSignal": true; }; "look": { "alias": "look"; "required": false; "isSignal": true; }; "itemTemplate": { "alias": "itemTemplate"; "required": false; }; "expandOn": { "alias": "expandOn"; "required": false; "isSignal": true; }; }, { "onSelectionChanged": "onSelectionChanged"; "onNodeClick": "onNodeClick"; "onCollapsedChanged": "onCollapsedChanged"; "onNodedbClick": "onNodedbClick"; }, never, never, true, never>;
95
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXTreeViewComponent, "ax-tree-view", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "showCheckbox": { "alias": "showCheckbox"; "required": false; "isSignal": true; }; "selectionMode": { "alias": "selectionMode"; "required": false; "isSignal": true; }; "selectionBehavior": { "alias": "selectionBehavior"; "required": false; "isSignal": true; }; "focusNodeEnabled": { "alias": "focusNodeEnabled"; "required": false; "isSignal": true; }; "valueField": { "alias": "valueField"; "required": false; "isSignal": true; }; "textField": { "alias": "textField"; "required": false; "isSignal": true; }; "visibleField": { "alias": "visibleField"; "required": false; "isSignal": true; }; "disableField": { "alias": "disableField"; "required": false; "isSignal": true; }; "hasChildField": { "alias": "hasChildField"; "required": false; "isSignal": true; }; "selectedField": { "alias": "selectedField"; "required": false; "isSignal": true; }; "expandedField": { "alias": "expandedField"; "required": false; "isSignal": true; }; "tooltipField": { "alias": "tooltipField"; "required": false; "isSignal": true; }; "childrenField": { "alias": "childrenField"; "required": false; "isSignal": true; }; "activeField": { "alias": "activeField"; "required": false; "isSignal": true; }; "indeterminateField": { "alias": "indeterminateField"; "required": false; "isSignal": true; }; "parentField": { "alias": "parentField"; "required": false; "isSignal": true; }; "iconField": { "alias": "iconField"; "required": false; "isSignal": true; }; "toggleIcons": { "alias": "toggleIcons"; "required": false; "isSignal": true; }; "look": { "alias": "look"; "required": false; "isSignal": true; }; "itemTemplate": { "alias": "itemTemplate"; "required": false; }; "emptyTemplate": { "alias": "emptyTemplate"; "required": false; }; "expandOn": { "alias": "expandOn"; "required": false; "isSignal": true; }; }, { "onSelectionChanged": "onSelectionChanged"; "onNodeClick": "onNodeClick"; "onCollapsedChanged": "onCollapsedChanged"; "onNodedbClick": "onNodedbClick"; }, never, never, true, never>;
94
96
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-components-modal-acorex-components-modal-Bs1CnBt8.mjs","sources":["../../../../libs/components/modal/src/lib/modal-footer/modal-footer.component.ts","../../../../libs/components/modal/src/lib/modal-footer/modal-footer.component.html","../../../../libs/components/modal/src/lib/modal-state.service.ts","../../../../libs/components/modal/src/lib/modal.component.ts","../../../../libs/components/modal/src/lib/modal.service.ts","../../../../libs/components/modal/src/lib/modal.module.ts","../../../../libs/components/modal/src/acorex-components-modal.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'ax-modal-footer',\n templateUrl: './modal-footer.component.html',\n styleUrl: './modal-footer.component.scss',\n imports: [],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXModalFooterComponent {}\n","<ng-content select=\"ax-modal-footer\">\n <ng-content select=\"ax-prefix\"></ng-content>\n <ng-content select=\"ax-suffix\"></ng-content>\n</ng-content>\n","import { AXOverlayRef, AXOverlayService } from '@acorex/cdk/overlay';\nimport { AXComponentContent, AXComponentInputs } from '@acorex/core/components';\nimport { ComponentRef, inject, Injectable, signal } from '@angular/core';\nimport { AXModalContentComponent } from './modal-content/modal-content.component';\nimport { AXModalOptions, AXModalRef } from './modal.types';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AXModalStateService {\n modalOption = signal<AXModalOptions>(null);\n modalList = new Map<number, AXOverlayRef<AXModalContentComponent>>();\n private overlayService = inject(AXOverlayService);\n\n async open<TResult = any>(content: AXComponentContent, options?: AXModalOptions): Promise<AXModalRef<TResult>> {\n this.modalOption.set(options);\n const randomId = Math.floor(Math.random() * 100000000000);\n const modalContentComp = (await import('./modal-content/modal-content.component')).AXModalContentComponent;\n\n const ref = await this.overlayService.create(modalContentComp, {\n position: options?.position,\n backdrop: options?.backdrop,\n inputs: {\n __content__: content,\n inputs: { ...options?.inputs },\n id: randomId,\n },\n });\n\n this.modalList.set(randomId, ref);\n\n return {\n id: randomId,\n close: (data) => {\n this.close(randomId, data);\n },\n setInputs: (values: AXComponentInputs) => {\n this.setInputs(randomId, values);\n },\n minimize: () => {\n this.minimize(randomId);\n },\n };\n }\n\n async close<TResult = any>(id: number, data?: TResult) {\n const ref = this.modalList.get(id);\n if (!ref) return;\n ref.instance.destroy();\n this.modalList.delete(id);\n }\n\n async setInputs(id: number, values: AXComponentInputs) {\n const ref = this.modalList.get(id);\n if (!ref) return;\n if (ref.instance instanceof ComponentRef) {\n const comRef = ref.instance as ComponentRef<any>;\n Object.entries(values).forEach((v) => {\n comRef.setInput(v[0], v[1]);\n });\n } else {\n ref.instance.context.inputs.set(values);\n }\n }\n\n async minimize(id: number) {\n const ref = this.modalList.get(id);\n if (!ref) return;\n if (ref.instance instanceof ComponentRef) {\n ref.instance.instance.modalSizeHandler();\n } else {\n ref.instance.context.modalSizeHandler();\n }\n }\n}\n","import { NXComponent } from '@acorex/components/common';\nimport { AXComponentInputs } from '@acorex/core/components';\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n signal,\n TemplateRef,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AXModalStateService } from './modal-state.service';\nimport { AXModalOptions, AXModalRef } from './modal.types';\n\n@Component({\n selector: 'ax-modal',\n template: `\n <ng-template #contentTemplate>\n <ng-content></ng-content>\n </ng-template>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXModalComponent extends NXComponent {\n private service = inject(AXModalStateService);\n protected template = viewChild(TemplateRef);\n private ref = signal<AXModalRef<any>>(null);\n\n async open(options?: AXModalOptions) {\n const ref = await this.service.open(this.template(), options);\n this.ref.set(ref);\n return ref;\n }\n\n async close() {\n if (this.ref()) return;\n this.ref().close();\n }\n\n async setInputs(values: AXComponentInputs) {\n if (!this.ref()) return;\n const transform = { inputs: values };\n this.ref().setInputs(transform);\n }\n\n async minimize() {\n if (!this.ref()) return;\n this.ref().minimize();\n }\n}\n","import { AXComponentContent, AXComponentInputs } from '@acorex/core/components';\nimport { inject, Injectable, signal } from '@angular/core';\nimport { AXModalStateService } from './modal-state.service';\nimport { AXModalOptions, AXModalRef } from './modal.types';\n\n@Injectable()\nexport class AXModalService {\n private stateService = inject(AXModalStateService);\n private ref = signal<AXModalRef<any>>(null);\n\n async open(content: AXComponentContent, options?: AXModalOptions) {\n const ref = await this.stateService.open(content, options);\n this.ref.set(ref);\n }\n\n async close() {\n if (!this.ref()) return;\n this.ref().close();\n }\n\n async setInputs(values: AXComponentInputs) {\n if (!this.ref()) return;\n const transform = { inputs: values };\n this.ref().setInputs(transform);\n }\n\n async minimize() {\n if (!this.ref()) return;\n this.ref().minimize();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { AXModalFooterComponent } from './modal-footer/modal-footer.component';\nimport { AXModalComponent } from './modal.component';\nimport { AXModalService } from './modal.service';\n\nconst COMPONENT = [AXModalComponent, AXModalFooterComponent];\n\nconst MODULES = [];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [AXModalService],\n})\nexport class AXModalModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,181 +0,0 @@
1
- import { AXButtonComponent } from '@acorex/components/button';
2
- import { NXComponent } from '@acorex/components/common';
3
- import * as i2 from '@acorex/components/decorators';
4
- import { AXDecoratorModule } from '@acorex/components/decorators';
5
- import { trigger, transition, style, animate } from '@angular/animations';
6
- import * as i1 from '@angular/common';
7
- import { CommonModule } from '@angular/common';
8
- import * as i0 from '@angular/core';
9
- import { input, inject, computed, TemplateRef, model, viewChild, signal, afterNextRender, effect, HostBinding, HostListener, ChangeDetectionStrategy, ViewEncapsulation, Component } from '@angular/core';
10
- import { A as AXModalStateService, a as AXModalFooterComponent } from './acorex-components-modal-acorex-components-modal-Bs1CnBt8.mjs';
11
-
12
- class AXModalContentComponent extends NXComponent {
13
- constructor() {
14
- super(...arguments);
15
- this.__content__ = input.required();
16
- this.serviceState = inject(AXModalStateService);
17
- this.isTemplate = computed(() => this.__content__() instanceof TemplateRef);
18
- this.component = computed(() => this.__content__());
19
- this.template = computed(() => this.__content__());
20
- this.inputs = model();
21
- this.id = input();
22
- this.modalContainer = viewChild('c');
23
- this.modalSizeState = signal('maximize');
24
- this.footer = viewChild(AXModalFooterComponent);
25
- this.isMouseDown = signal(false);
26
- this.offsetX = signal(0);
27
- this.offsetY = signal(0);
28
- this.prevLeft = signal('');
29
- this.prevTop = signal('');
30
- this.backdropState = computed(() => this.serviceState.modalOption()?.backdrop?.enabled);
31
- this.closeHeaderButton = computed(() => this.serviceState.modalOption()?.buttons.close);
32
- this.backdropBackground = computed(() => this.serviceState.modalOption()?.backdrop?.background);
33
- this.backdropClass = computed(() => this.serviceState.modalOption()?.backdrop?.cssClass);
34
- this.backdropCloseOnClick = computed(() => this.serviceState.modalOption()?.backdrop?.closeOnClick);
35
- this.minimizePosition = computed(() => this.serviceState.modalOption()?.buttons.minimize.position);
36
- this.minimizeState = computed(() => this.serviceState.modalOption()?.buttons.minimize.enable);
37
- this.modalSize = computed(() => this.serviceState.modalOption()?.size || 'fit');
38
- this.headerTitle = computed(() => this.serviceState.modalOption()?.title);
39
- this.draggable = computed(() => this.serviceState.modalOption()?.draggable);
40
- this.#init = afterNextRender(() => {
41
- const popFooter = this.nativeElement.querySelector('.ax-modal-footer');
42
- const footer = this.nativeElement.querySelector('.ax-modal-content ax-modal-footer');
43
- if (footer) {
44
- popFooter?.append(footer);
45
- }
46
- });
47
- this.fadeInOut = true;
48
- this.#eff = effect(() => {
49
- const host = this.nativeElement;
50
- if (this.draggable())
51
- host.classList.add('ax-draggable');
52
- if (!this.backdropState())
53
- return;
54
- host.classList.add('ax-backdrop');
55
- if (!this.backdropBackground())
56
- return;
57
- if (this.backdropClass()) {
58
- host.classList.add(this.backdropClass());
59
- }
60
- else {
61
- host.classList.add('ax-default-backdrop');
62
- }
63
- });
64
- }
65
- #init;
66
- closeHandler() {
67
- this.serviceState.close(this.id());
68
- }
69
- pointerDownHandler(e) {
70
- if (!this.draggable() || this.modalSizeState() === 'minimize')
71
- return;
72
- this.isMouseDown.set(true);
73
- this.modalContainer().nativeElement.style.transition = 'none';
74
- this.offsetX.set(e.clientX - this.modalContainer().nativeElement.offsetLeft);
75
- this.offsetY.set(e.clientY - this.modalContainer().nativeElement.offsetTop);
76
- }
77
- modalSizeHandler() {
78
- const index = this.getMapIndexOf(this.serviceState.modalList, this.id());
79
- if (this.modalSizeState() === 'maximize') {
80
- this.modalContainer().nativeElement.style.left = `initial`;
81
- this.modalContainer().nativeElement.style.top = `initial`;
82
- this.modalContainer().nativeElement.style.bottom = `0`;
83
- if (this.backdropState())
84
- this.nativeElement.classList.remove('ax-backdrop');
85
- this.modalContainer().nativeElement.classList.remove('ax-maximize-modal');
86
- this.modalContainer().nativeElement.classList.add(`ax-minimize-modal`);
87
- if (this.minimizePosition() === 'bottom-right') {
88
- this.modalContainer().nativeElement.style.right = `${index * this.modalContainer().nativeElement.offsetWidth}px`;
89
- }
90
- else {
91
- this.modalContainer().nativeElement.style.left = `${index * this.modalContainer().nativeElement.offsetWidth}px`;
92
- }
93
- this.modalSizeState.set('minimize');
94
- }
95
- else {
96
- this.modalContainer().nativeElement.style.bottom = `initial`;
97
- this.modalContainer().nativeElement.style.right = `initial`;
98
- this.modalContainer().nativeElement.style.left = this.prevLeft();
99
- this.modalContainer().nativeElement.style.top = this.prevTop();
100
- if (this.backdropState())
101
- this.nativeElement.classList.add('ax-backdrop');
102
- this.modalContainer().nativeElement.classList.add('ax-maximize-modal');
103
- this.modalContainer().nativeElement.classList.remove(`ax-minimize-modal`);
104
- this.modalSizeState.set('maximize');
105
- }
106
- }
107
- getMapIndexOf(map, targetKey) {
108
- let index = 0;
109
- for (const key of map.keys()) {
110
- if (key === targetKey) {
111
- return index;
112
- }
113
- index++;
114
- }
115
- return -1;
116
- }
117
- pointerMoveHandler(e) {
118
- if (!this.draggable() || this.modalSizeState() === 'minimize')
119
- return;
120
- if (!this.isMouseDown())
121
- return;
122
- this.modalContainer().nativeElement.style.left = `${e.clientX - this.offsetX()}px`;
123
- this.modalContainer().nativeElement.style.top = `${e.clientY - this.offsetY()}px`;
124
- this.prevLeft.set(`${e.clientX - this.offsetX()}px`);
125
- this.prevTop.set(`${e.clientY - this.offsetY()}px`);
126
- }
127
- pointerUpHandler() {
128
- if (!this.draggable() || this.modalSizeState() === 'minimize')
129
- return;
130
- this.modalContainer().nativeElement.style.transition = '0.5s all ease';
131
- this.isMouseDown.set(false);
132
- }
133
- backdropCloseHandler(e) {
134
- if (!this.backdropCloseOnClick())
135
- return;
136
- if (e.target === e.currentTarget) {
137
- this.closeHandler();
138
- }
139
- }
140
- #eff;
141
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: AXModalContentComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
142
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: AXModalContentComponent, isStandalone: true, selector: "ax-modal-content", inputs: { __content__: { classPropertyName: "__content__", publicName: "__content__", isSignal: true, isRequired: true, transformFunction: null }, inputs: { classPropertyName: "inputs", publicName: "inputs", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { inputs: "inputsChange" }, host: { listeners: { "pointermove": "pointerMoveHandler($event)", "pointerup": "pointerUpHandler($event)", "pointerleave": "pointerUpHandler($event)", "click": "backdropCloseHandler($event)" }, properties: { "@fadeInOut": "this.fadeInOut" } }, viewQueries: [{ propertyName: "modalContainer", first: true, predicate: ["c"], descendants: true, isSignal: true }, { propertyName: "footer", first: true, predicate: AXModalFooterComponent, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div #c class=\"ax-modal-container ax-{{ modalSizeState() }}-modal ax-modal-{{ modalSize() }}\">\n <div (pointerdown)=\"pointerDownHandler($event)\" class=\"ax-modal-header\">\n <ax-text>{{ headerTitle() }}</ax-text>\n\n <div>\n @if (minimizeState()) {\n <ax-button class=\"ax-sm\" (onClick)=\"modalSizeHandler()\" look=\"blank\" color=\"primary\">\n @if (modalSizeState() === 'minimize') {\n <ax-icon class=\"ax-icon ax-icon-maximize\"> </ax-icon>\n } @else {\n <ax-icon class=\"ax-icon ax-icon-minimize\"> </ax-icon>\n }\n </ax-button>\n }\n\n @if (closeHeaderButton()) {\n <ax-button class=\"ax-sm\" look=\"blank\" (onClick)=\"closeHandler()\" color=\"danger\">\n <ax-icon class=\"ax-icon ax-icon-close\"> </ax-icon>\n </ax-button>\n }\n </div>\n </div>\n <div class=\"ax-modal-content\">\n @if (isTemplate()) {\n <ng-container [ngTemplateOutlet]=\"this.template()\" [ngTemplateOutletContext]=\"inputs()\"></ng-container>\n } @else {\n <ng-container [ngComponentOutlet]=\"this.component()\" [ngComponentOutletInputs]=\"inputs()\"></ng-container>\n }\n </div>\n <div class=\"ax-modal-footer\"></div>\n</div>\n", styles: ["ax-modal-content{z-index:100;touch-action:none;-webkit-user-select:none;user-select:none}ax-modal-content.ax-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh}ax-modal-content.ax-default-backdrop{background-color:#00000080}ax-modal-content.ax-draggable .ax-modal-header:hover{cursor:move}ax-modal-content .ax-modal-container{position:fixed;z-index:110;background-color:rgba(var(--ax-sys-color-lightest-surface));display:flex;flex-direction:column;justify-content:space-between;border-radius:var(--ax-sys-border-radius);border:1px solid rgba(var(--ax-sys-color-border-lightest-surface));overflow:hidden;transition:.5s all ease;max-height:90vh;max-width:100vw}ax-modal-content .ax-modal-container.ax-modal-full{max-height:100vh!important;width:100%;height:100%}ax-modal-content .ax-modal-container.ax-modal-fit{width:fit-content}@media (min-width: 320px) and (max-width: 640px){ax-modal-content .ax-modal-container.ax-modal-sm,ax-modal-content .ax-modal-container.ax-modal-md,ax-modal-content .ax-modal-container.ax-modal-lg,ax-modal-content .ax-modal-container.ax-modal-fit{width:93vw}}@media (min-width: 768px){ax-modal-content .ax-modal-container.ax-modal-sm{width:55vw}ax-modal-content .ax-modal-container.ax-modal-md{width:65vw}ax-modal-content .ax-modal-container.ax-modal-lg{width:75vw}}@media (min-width: 1280px){ax-modal-content .ax-modal-container.ax-modal-sm{width:30vw}ax-modal-content .ax-modal-container.ax-modal-md{width:50vw}ax-modal-content .ax-modal-container.ax-modal-lg{width:85vw}}@media (min-width: 1536px){ax-modal-content .ax-modal-container.ax-modal-sm{width:25vw}ax-modal-content .ax-modal-container.ax-modal-md{width:40vw}ax-modal-content .ax-modal-container.ax-modal-lg{width:65vw}}ax-modal-content .ax-modal-container.ax-maximize-modal{top:50%;left:50%;transform:translate(-50%,-50%)}ax-modal-content .ax-modal-container.ax-maximize-modal .ax-modal-content{display:block}ax-modal-content .ax-modal-container.ax-maximize-modal .ax-modal-footer{display:block}ax-modal-content .ax-modal-container.ax-minimize-modal .ax-modal-content{display:none}ax-modal-content .ax-modal-container.ax-minimize-modal .ax-modal-footer{display:none}ax-modal-content .ax-modal-container .ax-modal-header,ax-modal-content .ax-modal-container .ax-modal-footer,ax-modal-content .ax-modal-container .ax-modal-content{padding:.5rem}ax-modal-content .ax-modal-container .ax-modal-header,ax-modal-content .ax-modal-container .ax-modal-footer{height:fit-content}ax-modal-content .ax-modal-container .ax-modal-content{overflow:auto;border-block:1px solid rgba(var(--ax-sys-color-border-lightest-surface));flex-grow:1}ax-modal-content .ax-modal-container .ax-modal-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"], exportAs: ["ngComponentOutlet"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: 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.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { 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" }], animations: [
143
- trigger('fadeInOut', [
144
- transition(':enter', [
145
- style({ opacity: 0, transform: 'scale(0.85)' }),
146
- animate('200ms ease-out', style({ opacity: 1, transform: 'scale(1)' })),
147
- ]),
148
- transition(':leave', [animate('200ms ease-in', style({ opacity: 0, transform: 'scale(0.85)' }))]),
149
- ]),
150
- ], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
151
- }
152
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: AXModalContentComponent, decorators: [{
153
- type: Component,
154
- args: [{ selector: 'ax-modal-content', imports: [CommonModule, AXButtonComponent, AXDecoratorModule], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, animations: [
155
- trigger('fadeInOut', [
156
- transition(':enter', [
157
- style({ opacity: 0, transform: 'scale(0.85)' }),
158
- animate('200ms ease-out', style({ opacity: 1, transform: 'scale(1)' })),
159
- ]),
160
- transition(':leave', [animate('200ms ease-in', style({ opacity: 0, transform: 'scale(0.85)' }))]),
161
- ]),
162
- ], template: "<div #c class=\"ax-modal-container ax-{{ modalSizeState() }}-modal ax-modal-{{ modalSize() }}\">\n <div (pointerdown)=\"pointerDownHandler($event)\" class=\"ax-modal-header\">\n <ax-text>{{ headerTitle() }}</ax-text>\n\n <div>\n @if (minimizeState()) {\n <ax-button class=\"ax-sm\" (onClick)=\"modalSizeHandler()\" look=\"blank\" color=\"primary\">\n @if (modalSizeState() === 'minimize') {\n <ax-icon class=\"ax-icon ax-icon-maximize\"> </ax-icon>\n } @else {\n <ax-icon class=\"ax-icon ax-icon-minimize\"> </ax-icon>\n }\n </ax-button>\n }\n\n @if (closeHeaderButton()) {\n <ax-button class=\"ax-sm\" look=\"blank\" (onClick)=\"closeHandler()\" color=\"danger\">\n <ax-icon class=\"ax-icon ax-icon-close\"> </ax-icon>\n </ax-button>\n }\n </div>\n </div>\n <div class=\"ax-modal-content\">\n @if (isTemplate()) {\n <ng-container [ngTemplateOutlet]=\"this.template()\" [ngTemplateOutletContext]=\"inputs()\"></ng-container>\n } @else {\n <ng-container [ngComponentOutlet]=\"this.component()\" [ngComponentOutletInputs]=\"inputs()\"></ng-container>\n }\n </div>\n <div class=\"ax-modal-footer\"></div>\n</div>\n", styles: ["ax-modal-content{z-index:100;touch-action:none;-webkit-user-select:none;user-select:none}ax-modal-content.ax-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh}ax-modal-content.ax-default-backdrop{background-color:#00000080}ax-modal-content.ax-draggable .ax-modal-header:hover{cursor:move}ax-modal-content .ax-modal-container{position:fixed;z-index:110;background-color:rgba(var(--ax-sys-color-lightest-surface));display:flex;flex-direction:column;justify-content:space-between;border-radius:var(--ax-sys-border-radius);border:1px solid rgba(var(--ax-sys-color-border-lightest-surface));overflow:hidden;transition:.5s all ease;max-height:90vh;max-width:100vw}ax-modal-content .ax-modal-container.ax-modal-full{max-height:100vh!important;width:100%;height:100%}ax-modal-content .ax-modal-container.ax-modal-fit{width:fit-content}@media (min-width: 320px) and (max-width: 640px){ax-modal-content .ax-modal-container.ax-modal-sm,ax-modal-content .ax-modal-container.ax-modal-md,ax-modal-content .ax-modal-container.ax-modal-lg,ax-modal-content .ax-modal-container.ax-modal-fit{width:93vw}}@media (min-width: 768px){ax-modal-content .ax-modal-container.ax-modal-sm{width:55vw}ax-modal-content .ax-modal-container.ax-modal-md{width:65vw}ax-modal-content .ax-modal-container.ax-modal-lg{width:75vw}}@media (min-width: 1280px){ax-modal-content .ax-modal-container.ax-modal-sm{width:30vw}ax-modal-content .ax-modal-container.ax-modal-md{width:50vw}ax-modal-content .ax-modal-container.ax-modal-lg{width:85vw}}@media (min-width: 1536px){ax-modal-content .ax-modal-container.ax-modal-sm{width:25vw}ax-modal-content .ax-modal-container.ax-modal-md{width:40vw}ax-modal-content .ax-modal-container.ax-modal-lg{width:65vw}}ax-modal-content .ax-modal-container.ax-maximize-modal{top:50%;left:50%;transform:translate(-50%,-50%)}ax-modal-content .ax-modal-container.ax-maximize-modal .ax-modal-content{display:block}ax-modal-content .ax-modal-container.ax-maximize-modal .ax-modal-footer{display:block}ax-modal-content .ax-modal-container.ax-minimize-modal .ax-modal-content{display:none}ax-modal-content .ax-modal-container.ax-minimize-modal .ax-modal-footer{display:none}ax-modal-content .ax-modal-container .ax-modal-header,ax-modal-content .ax-modal-container .ax-modal-footer,ax-modal-content .ax-modal-container .ax-modal-content{padding:.5rem}ax-modal-content .ax-modal-container .ax-modal-header,ax-modal-content .ax-modal-container .ax-modal-footer{height:fit-content}ax-modal-content .ax-modal-container .ax-modal-content{overflow:auto;border-block:1px solid rgba(var(--ax-sys-color-border-lightest-surface));flex-grow:1}ax-modal-content .ax-modal-container .ax-modal-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem}\n"] }]
163
- }], propDecorators: { pointerMoveHandler: [{
164
- type: HostListener,
165
- args: ['pointermove', ['$event']]
166
- }], pointerUpHandler: [{
167
- type: HostListener,
168
- args: ['pointerup', ['$event']]
169
- }, {
170
- type: HostListener,
171
- args: ['pointerleave', ['$event']]
172
- }], backdropCloseHandler: [{
173
- type: HostListener,
174
- args: ['click', ['$event']]
175
- }], fadeInOut: [{
176
- type: HostBinding,
177
- args: ['@fadeInOut']
178
- }] } });
179
-
180
- export { AXModalContentComponent };
181
- //# sourceMappingURL=acorex-components-modal-modal-content.component-DhpujG4d.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-components-modal-modal-content.component-DhpujG4d.mjs","sources":["../../../../libs/components/modal/src/lib/modal-content/modal-content.component.ts","../../../../libs/components/modal/src/lib/modal-content/modal-content.component.html"],"sourcesContent":["import { AXButtonComponent } from '@acorex/components/button';\nimport { NXComponent } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXComponentContent, AXComponentInputs, AXComponentType } from '@acorex/core/components';\nimport { animate, style, transition, trigger } from '@angular/animations';\nimport { CommonModule } from '@angular/common';\nimport {\n afterNextRender,\n ChangeDetectionStrategy,\n Component,\n computed,\n effect,\n ElementRef,\n HostBinding,\n HostListener,\n inject,\n input,\n model,\n signal,\n TemplateRef,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AXModalFooterComponent } from '../modal-footer/modal-footer.component';\nimport { AXModalStateService } from '../modal-state.service';\n\n@Component({\n selector: 'ax-modal-content',\n templateUrl: './modal-content.component.html',\n styleUrl: './modal-content.component.scss',\n imports: [CommonModule, AXButtonComponent, AXDecoratorModule],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [\n trigger('fadeInOut', [\n transition(':enter', [\n style({ opacity: 0, transform: 'scale(0.85)' }),\n animate('200ms ease-out', style({ opacity: 1, transform: 'scale(1)' })),\n ]),\n transition(':leave', [animate('200ms ease-in', style({ opacity: 0, transform: 'scale(0.85)' }))]),\n ]),\n ],\n})\nexport class AXModalContentComponent extends NXComponent {\n __content__ = input.required<AXComponentContent>();\n\n private serviceState = inject(AXModalStateService);\n protected isTemplate = computed(() => this.__content__() instanceof TemplateRef);\n public component = computed(() => this.__content__() as AXComponentType<any>);\n public template = computed(() => this.__content__() as TemplateRef<any>);\n public inputs = model<AXComponentInputs>();\n public id = input<number>();\n\n protected modalContainer = viewChild<ElementRef>('c');\n protected modalSizeState = signal<'maximize' | 'minimize'>('maximize');\n protected footer = viewChild<AXModalFooterComponent>(AXModalFooterComponent);\n private isMouseDown = signal(false);\n private offsetX = signal(0);\n private offsetY = signal(0);\n private prevLeft = signal('');\n private prevTop = signal('');\n private backdropState = computed(() => this.serviceState.modalOption()?.backdrop?.enabled);\n protected closeHeaderButton = computed(() => this.serviceState.modalOption()?.buttons.close);\n private backdropBackground = computed(() => this.serviceState.modalOption()?.backdrop?.background);\n private backdropClass = computed(() => this.serviceState.modalOption()?.backdrop?.cssClass);\n private backdropCloseOnClick = computed(() => this.serviceState.modalOption()?.backdrop?.closeOnClick);\n private minimizePosition = computed(() => this.serviceState.modalOption()?.buttons.minimize.position);\n protected minimizeState = computed(() => this.serviceState.modalOption()?.buttons.minimize.enable);\n protected modalSize = computed(() => this.serviceState.modalOption()?.size || 'fit');\n protected headerTitle = computed(() => this.serviceState.modalOption()?.title);\n private draggable = computed(() => this.serviceState.modalOption()?.draggable);\n\n #init = afterNextRender(() => {\n const popFooter = this.nativeElement.querySelector<HTMLDivElement>('.ax-modal-footer');\n const footer = this.nativeElement.querySelector<HTMLDivElement>('.ax-modal-content ax-modal-footer');\n if (footer) {\n popFooter?.append(footer);\n }\n });\n\n protected closeHandler() {\n this.serviceState.close(this.id());\n }\n\n protected pointerDownHandler(e: MouseEvent) {\n if (!this.draggable() || this.modalSizeState() === 'minimize') return;\n this.isMouseDown.set(true);\n this.modalContainer().nativeElement.style.transition = 'none';\n this.offsetX.set(e.clientX - this.modalContainer().nativeElement.offsetLeft);\n this.offsetY.set(e.clientY - this.modalContainer().nativeElement.offsetTop);\n }\n\n modalSizeHandler() {\n const index = this.getMapIndexOf(this.serviceState.modalList, this.id());\n\n if (this.modalSizeState() === 'maximize') {\n this.modalContainer().nativeElement.style.left = `initial`;\n this.modalContainer().nativeElement.style.top = `initial`;\n this.modalContainer().nativeElement.style.bottom = `0`;\n\n if (this.backdropState()) this.nativeElement.classList.remove('ax-backdrop');\n this.modalContainer().nativeElement.classList.remove('ax-maximize-modal');\n this.modalContainer().nativeElement.classList.add(`ax-minimize-modal`);\n\n if (this.minimizePosition() === 'bottom-right') {\n this.modalContainer().nativeElement.style.right = `${index * this.modalContainer().nativeElement.offsetWidth}px`;\n } else {\n this.modalContainer().nativeElement.style.left = `${index * this.modalContainer().nativeElement.offsetWidth}px`;\n }\n this.modalSizeState.set('minimize');\n } else {\n this.modalContainer().nativeElement.style.bottom = `initial`;\n this.modalContainer().nativeElement.style.right = `initial`;\n\n this.modalContainer().nativeElement.style.left = this.prevLeft();\n this.modalContainer().nativeElement.style.top = this.prevTop();\n\n if (this.backdropState()) this.nativeElement.classList.add('ax-backdrop');\n this.modalContainer().nativeElement.classList.add('ax-maximize-modal');\n this.modalContainer().nativeElement.classList.remove(`ax-minimize-modal`);\n this.modalSizeState.set('maximize');\n }\n }\n\n private getMapIndexOf(map: Map<any, any>, targetKey: any) {\n let index = 0;\n for (const key of map.keys()) {\n if (key === targetKey) {\n return index;\n }\n index++;\n }\n return -1;\n }\n\n @HostListener('pointermove', ['$event'])\n protected pointerMoveHandler(e: MouseEvent) {\n if (!this.draggable() || this.modalSizeState() === 'minimize') return;\n if (!this.isMouseDown()) return;\n this.modalContainer().nativeElement.style.left = `${e.clientX - this.offsetX()}px`;\n this.modalContainer().nativeElement.style.top = `${e.clientY - this.offsetY()}px`;\n this.prevLeft.set(`${e.clientX - this.offsetX()}px`);\n this.prevTop.set(`${e.clientY - this.offsetY()}px`);\n }\n\n @HostListener('pointerup', ['$event'])\n @HostListener('pointerleave', ['$event'])\n protected pointerUpHandler() {\n if (!this.draggable() || this.modalSizeState() === 'minimize') return;\n this.modalContainer().nativeElement.style.transition = '0.5s all ease';\n this.isMouseDown.set(false);\n }\n\n @HostListener('click', ['$event'])\n protected backdropCloseHandler(e: MouseEvent) {\n if (!this.backdropCloseOnClick()) return;\n if (e.target === e.currentTarget) {\n this.closeHandler();\n }\n }\n\n @HostBinding('@fadeInOut') fadeInOut = true;\n\n #eff = effect(() => {\n const host = this.nativeElement;\n if (this.draggable()) host.classList.add('ax-draggable');\n if (!this.backdropState()) return;\n host.classList.add('ax-backdrop');\n if (!this.backdropBackground()) return;\n if (this.backdropClass()) {\n host.classList.add(this.backdropClass());\n } else {\n host.classList.add('ax-default-backdrop');\n }\n });\n}\n","<div #c class=\"ax-modal-container ax-{{ modalSizeState() }}-modal ax-modal-{{ modalSize() }}\">\n <div (pointerdown)=\"pointerDownHandler($event)\" class=\"ax-modal-header\">\n <ax-text>{{ headerTitle() }}</ax-text>\n\n <div>\n @if (minimizeState()) {\n <ax-button class=\"ax-sm\" (onClick)=\"modalSizeHandler()\" look=\"blank\" color=\"primary\">\n @if (modalSizeState() === 'minimize') {\n <ax-icon class=\"ax-icon ax-icon-maximize\"> </ax-icon>\n } @else {\n <ax-icon class=\"ax-icon ax-icon-minimize\"> </ax-icon>\n }\n </ax-button>\n }\n\n @if (closeHeaderButton()) {\n <ax-button class=\"ax-sm\" look=\"blank\" (onClick)=\"closeHandler()\" color=\"danger\">\n <ax-icon class=\"ax-icon ax-icon-close\"> </ax-icon>\n </ax-button>\n }\n </div>\n </div>\n <div class=\"ax-modal-content\">\n @if (isTemplate()) {\n <ng-container [ngTemplateOutlet]=\"this.template()\" [ngTemplateOutletContext]=\"inputs()\"></ng-container>\n } @else {\n <ng-container [ngComponentOutlet]=\"this.component()\" [ngComponentOutletInputs]=\"inputs()\"></ng-container>\n }\n </div>\n <div class=\"ax-modal-footer\"></div>\n</div>\n"],"names":[],"mappings":"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"}