@acorex/components 20.2.19 → 20.2.21
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.
- package/editor/README.md +3 -0
 - package/editor/index.d.ts +41 -0
 - package/fesm2022/acorex-components-accordion.mjs +12 -12
 - package/fesm2022/acorex-components-accordion.mjs.map +1 -1
 - package/fesm2022/acorex-components-action-sheet.mjs +10 -10
 - package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
 - package/fesm2022/acorex-components-alert.mjs +8 -8
 - package/fesm2022/acorex-components-alert.mjs.map +1 -1
 - package/fesm2022/acorex-components-aspect-ratio.mjs +4 -4
 - package/fesm2022/acorex-components-aspect-ratio.mjs.map +1 -1
 - package/fesm2022/acorex-components-audio-wave.mjs +8 -8
 - package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
 - package/fesm2022/acorex-components-autocomplete.mjs +8 -8
 - package/fesm2022/acorex-components-autocomplete.mjs.map +1 -1
 - package/fesm2022/acorex-components-avatar.mjs +11 -11
 - package/fesm2022/acorex-components-avatar.mjs.map +1 -1
 - package/fesm2022/acorex-components-badge.mjs +8 -8
 - package/fesm2022/acorex-components-badge.mjs.map +1 -1
 - package/fesm2022/acorex-components-bottom-navigation.mjs +11 -11
 - package/fesm2022/acorex-components-bottom-navigation.mjs.map +1 -1
 - package/fesm2022/acorex-components-breadcrumbs.mjs +11 -11
 - package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
 - package/fesm2022/acorex-components-button-group.mjs +13 -13
 - package/fesm2022/acorex-components-button-group.mjs.map +1 -1
 - package/fesm2022/acorex-components-button.mjs +15 -15
 - package/fesm2022/acorex-components-button.mjs.map +1 -1
 - package/fesm2022/acorex-components-calendar.mjs +14 -14
 - package/fesm2022/acorex-components-calendar.mjs.map +1 -1
 - package/fesm2022/acorex-components-check-box.mjs +8 -8
 - package/fesm2022/acorex-components-check-box.mjs.map +1 -1
 - package/fesm2022/acorex-components-chips.mjs +8 -8
 - package/fesm2022/acorex-components-chips.mjs.map +1 -1
 - package/fesm2022/acorex-components-circular-progress.mjs +8 -8
 - package/fesm2022/acorex-components-circular-progress.mjs.map +1 -1
 - package/fesm2022/acorex-components-code-editor.mjs +11 -11
 - package/fesm2022/acorex-components-code-editor.mjs.map +1 -1
 - package/fesm2022/acorex-components-collapse.mjs +10 -10
 - package/fesm2022/acorex-components-collapse.mjs.map +1 -1
 - package/fesm2022/acorex-components-color-box.mjs +9 -9
 - package/fesm2022/acorex-components-color-box.mjs.map +1 -1
 - package/fesm2022/acorex-components-color-palette.mjs +29 -29
 - package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
 - package/fesm2022/acorex-components-command.mjs +8 -8
 - package/fesm2022/acorex-components-command.mjs.map +1 -1
 - package/fesm2022/acorex-components-comment.mjs +30 -30
 - package/fesm2022/acorex-components-comment.mjs.map +1 -1
 - package/fesm2022/acorex-components-conversation.mjs +53 -53
 - package/fesm2022/acorex-components-conversation.mjs.map +1 -1
 - package/fesm2022/acorex-components-cron-job.mjs +53 -53
 - package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
 - package/fesm2022/acorex-components-data-list.mjs +5 -5
 - package/fesm2022/acorex-components-data-list.mjs.map +1 -1
 - package/fesm2022/acorex-components-data-pager.mjs +31 -31
 - package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
 - package/fesm2022/acorex-components-data-table.mjs +37 -37
 - package/fesm2022/acorex-components-data-table.mjs.map +1 -1
 - package/fesm2022/acorex-components-datetime-box.mjs +8 -8
 - package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
 - package/fesm2022/acorex-components-datetime-input.mjs +8 -8
 - package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
 - package/fesm2022/acorex-components-datetime-picker.mjs +9 -9
 - package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
 - package/fesm2022/acorex-components-decorators.mjs +29 -29
 - package/fesm2022/acorex-components-decorators.mjs.map +1 -1
 - package/fesm2022/acorex-components-dialog.mjs +10 -10
 - package/fesm2022/acorex-components-dialog.mjs.map +1 -1
 - package/fesm2022/acorex-components-drawer-2.mjs +11 -11
 - package/fesm2022/acorex-components-drawer-2.mjs.map +1 -1
 - package/fesm2022/acorex-components-drawer.mjs +14 -14
 - package/fesm2022/acorex-components-drawer.mjs.map +1 -1
 - package/fesm2022/acorex-components-dropdown-button.mjs +7 -7
 - package/fesm2022/acorex-components-dropdown-button.mjs.map +1 -1
 - package/fesm2022/acorex-components-dropdown.mjs +15 -15
 - package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
 - package/fesm2022/acorex-components-editor.mjs +180 -0
 - package/fesm2022/acorex-components-editor.mjs.map +1 -0
 - package/fesm2022/acorex-components-file-explorer.mjs +28 -28
 - package/fesm2022/acorex-components-file-explorer.mjs.map +1 -1
 - package/fesm2022/acorex-components-flow-chart.mjs +18 -18
 - package/fesm2022/acorex-components-flow-chart.mjs.map +1 -1
 - package/fesm2022/acorex-components-form.mjs +19 -19
 - package/fesm2022/acorex-components-form.mjs.map +1 -1
 - package/fesm2022/acorex-components-grid-layout-builder.mjs +12 -12
 - package/fesm2022/acorex-components-grid-layout-builder.mjs.map +1 -1
 - package/fesm2022/acorex-components-image-editor.mjs +38 -38
 - package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
 - package/fesm2022/acorex-components-image.mjs +8 -8
 - package/fesm2022/acorex-components-image.mjs.map +1 -1
 - package/fesm2022/acorex-components-json-viewer.mjs +8 -8
 - package/fesm2022/acorex-components-json-viewer.mjs.map +1 -1
 - package/fesm2022/acorex-components-kanban.mjs +4 -4
 - package/fesm2022/acorex-components-kanban.mjs.map +1 -1
 - package/fesm2022/acorex-components-kbd.mjs +7 -7
 - package/fesm2022/acorex-components-kbd.mjs.map +1 -1
 - package/fesm2022/acorex-components-label.mjs +7 -7
 - package/fesm2022/acorex-components-label.mjs.map +1 -1
 - package/fesm2022/acorex-components-list.mjs +8 -8
 - package/fesm2022/acorex-components-list.mjs.map +1 -1
 - package/fesm2022/acorex-components-loading-dialog.mjs +10 -10
 - package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
 - package/fesm2022/acorex-components-loading.mjs +16 -16
 - package/fesm2022/acorex-components-loading.mjs.map +1 -1
 - package/fesm2022/acorex-components-map.mjs +14 -14
 - package/fesm2022/acorex-components-map.mjs.map +1 -1
 - package/fesm2022/acorex-components-media-viewer.mjs +36 -36
 - package/fesm2022/acorex-components-media-viewer.mjs.map +1 -1
 - package/fesm2022/acorex-components-menu.mjs +19 -19
 - package/fesm2022/acorex-components-menu.mjs.map +1 -1
 - package/fesm2022/{acorex-components-modal-acorex-components-modal-CBjZvGmq.mjs → acorex-components-modal-acorex-components-modal-ClSGRCam.mjs} +23 -23
 - package/fesm2022/acorex-components-modal-acorex-components-modal-ClSGRCam.mjs.map +1 -0
 - package/fesm2022/{acorex-components-modal-modal-content.component-CEMHSbv-.mjs → acorex-components-modal-modal-content.component-BC-z7O0z.mjs} +6 -6
 - package/fesm2022/{acorex-components-modal-modal-content.component-CEMHSbv-.mjs.map → acorex-components-modal-modal-content.component-BC-z7O0z.mjs.map} +1 -1
 - package/fesm2022/acorex-components-modal.mjs +1 -1
 - package/fesm2022/acorex-components-navbar.mjs +7 -7
 - package/fesm2022/acorex-components-navbar.mjs.map +1 -1
 - package/fesm2022/acorex-components-notification.mjs +10 -10
 - package/fesm2022/acorex-components-notification.mjs.map +1 -1
 - package/fesm2022/acorex-components-number-box-2.mjs +4 -4
 - package/fesm2022/acorex-components-number-box-2.mjs.map +1 -1
 - package/fesm2022/acorex-components-number-box.mjs +12 -30
 - package/fesm2022/acorex-components-number-box.mjs.map +1 -1
 - package/fesm2022/acorex-components-otp.mjs +8 -8
 - package/fesm2022/acorex-components-otp.mjs.map +1 -1
 - package/fesm2022/acorex-components-page.mjs +10 -10
 - package/fesm2022/acorex-components-page.mjs.map +1 -1
 - package/fesm2022/acorex-components-paint.mjs +27 -27
 - package/fesm2022/acorex-components-paint.mjs.map +1 -1
 - package/fesm2022/acorex-components-password-box.mjs +11 -11
 - package/fesm2022/acorex-components-password-box.mjs.map +1 -1
 - package/fesm2022/acorex-components-pdf-reader.mjs +8 -8
 - package/fesm2022/acorex-components-pdf-reader.mjs.map +1 -1
 - package/fesm2022/acorex-components-phone-box.mjs +8 -8
 - package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
 - package/fesm2022/acorex-components-picker.mjs +15 -15
 - package/fesm2022/acorex-components-picker.mjs.map +1 -1
 - package/fesm2022/acorex-components-popover.mjs +8 -8
 - package/fesm2022/acorex-components-popover.mjs.map +1 -1
 - package/fesm2022/acorex-components-popup.mjs +10 -10
 - package/fesm2022/acorex-components-popup.mjs.map +1 -1
 - package/fesm2022/acorex-components-progress-bar.mjs +7 -7
 - package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
 - package/fesm2022/acorex-components-qrcode.mjs +8 -8
 - package/fesm2022/acorex-components-qrcode.mjs.map +1 -1
 - package/fesm2022/acorex-components-query-builder.mjs +8 -8
 - package/fesm2022/acorex-components-query-builder.mjs.map +1 -1
 - package/fesm2022/acorex-components-radio.mjs +7 -7
 - package/fesm2022/acorex-components-radio.mjs.map +1 -1
 - package/fesm2022/acorex-components-rail-navigation.mjs +15 -15
 - package/fesm2022/acorex-components-rail-navigation.mjs.map +1 -1
 - package/fesm2022/acorex-components-range-slider.mjs +8 -8
 - package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
 - package/fesm2022/acorex-components-rate-picker.mjs +8 -8
 - package/fesm2022/acorex-components-rate-picker.mjs.map +1 -1
 - package/fesm2022/acorex-components-rest-api-generator.mjs +23 -23
 - package/fesm2022/acorex-components-rest-api-generator.mjs.map +1 -1
 - package/fesm2022/acorex-components-result.mjs +7 -7
 - package/fesm2022/acorex-components-result.mjs.map +1 -1
 - package/fesm2022/acorex-components-routing-progress.mjs +7 -7
 - package/fesm2022/acorex-components-routing-progress.mjs.map +1 -1
 - package/fesm2022/acorex-components-rrule.mjs +11 -11
 - package/fesm2022/acorex-components-rrule.mjs.map +1 -1
 - package/fesm2022/acorex-components-scheduler.mjs +43 -43
 - package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
 - package/fesm2022/acorex-components-scss.mjs +4 -4
 - package/fesm2022/acorex-components-scss.mjs.map +1 -1
 - package/fesm2022/acorex-components-search-box.mjs +8 -8
 - package/fesm2022/acorex-components-search-box.mjs.map +1 -1
 - package/fesm2022/acorex-components-select-box.mjs +10 -10
 - package/fesm2022/acorex-components-select-box.mjs.map +1 -1
 - package/fesm2022/acorex-components-selection-list-2.mjs +8 -8
 - package/fesm2022/acorex-components-selection-list-2.mjs.map +1 -1
 - package/fesm2022/acorex-components-selection-list.mjs +8 -8
 - package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
 - package/fesm2022/acorex-components-side-menu.mjs +15 -15
 - package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
 - package/fesm2022/acorex-components-skeleton.mjs +7 -7
 - package/fesm2022/acorex-components-skeleton.mjs.map +1 -1
 - package/fesm2022/acorex-components-slider.mjs +8 -8
 - package/fesm2022/acorex-components-slider.mjs.map +1 -1
 - package/fesm2022/acorex-components-sliding-item.mjs +16 -16
 - package/fesm2022/acorex-components-sliding-item.mjs.map +1 -1
 - package/fesm2022/acorex-components-step-wizard.mjs +15 -15
 - package/fesm2022/acorex-components-step-wizard.mjs.map +1 -1
 - package/fesm2022/acorex-components-switch.mjs +10 -10
 - package/fesm2022/acorex-components-switch.mjs.map +1 -1
 - package/fesm2022/acorex-components-tabs.mjs +15 -15
 - package/fesm2022/acorex-components-tabs.mjs.map +1 -1
 - package/fesm2022/acorex-components-tag-box.mjs +8 -8
 - package/fesm2022/acorex-components-tag-box.mjs.map +1 -1
 - package/fesm2022/acorex-components-tag.mjs +7 -7
 - package/fesm2022/acorex-components-tag.mjs.map +1 -1
 - package/fesm2022/acorex-components-text-area.mjs +7 -7
 - package/fesm2022/acorex-components-text-area.mjs.map +1 -1
 - package/fesm2022/acorex-components-text-box.mjs +11 -11
 - package/fesm2022/acorex-components-text-box.mjs.map +1 -1
 - package/fesm2022/acorex-components-time-duration.mjs +8 -8
 - package/fesm2022/acorex-components-time-duration.mjs.map +1 -1
 - package/fesm2022/acorex-components-time-line.mjs +12 -12
 - package/fesm2022/acorex-components-time-line.mjs.map +1 -1
 - package/fesm2022/acorex-components-toast.mjs +10 -10
 - package/fesm2022/acorex-components-toast.mjs.map +1 -1
 - package/fesm2022/acorex-components-toolbar.mjs +8 -8
 - package/fesm2022/acorex-components-toolbar.mjs.map +1 -1
 - package/fesm2022/acorex-components-tooltip.mjs +11 -11
 - package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
 - package/fesm2022/acorex-components-tree-view.mjs +13 -13
 - package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
 - package/fesm2022/acorex-components-uploader.mjs +23 -23
 - package/fesm2022/acorex-components-uploader.mjs.map +1 -1
 - package/fesm2022/acorex-components-video-player.mjs +8 -8
 - package/fesm2022/acorex-components-video-player.mjs.map +1 -1
 - package/fesm2022/acorex-components-wysiwyg.mjs +37 -37
 - package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
 - package/package.json +25 -12
 - package/fesm2022/acorex-components-modal-acorex-components-modal-CBjZvGmq.mjs.map +0 -1
 
| 
         @@ -636,10 +636,10 @@ class AXSchedulerService { 
     | 
|
| 
       636 
636 
     | 
    
         
             
                    }
         
     | 
| 
       637 
637 
     | 
    
         
             
                    return resourceIds;
         
     | 
| 
       638 
638 
     | 
    
         
             
                }
         
     | 
| 
       639 
     | 
    
         
            -
                static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3. 
     | 
| 
       640 
     | 
    
         
            -
                static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3. 
     | 
| 
      
 639 
     | 
    
         
            +
                static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: AXSchedulerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
         
     | 
| 
      
 640 
     | 
    
         
            +
                static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: AXSchedulerService, providedIn: 'root' }); }
         
     | 
| 
       641 
641 
     | 
    
         
             
            }
         
     | 
| 
       642 
     | 
    
         
            -
            i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3. 
     | 
| 
      
 642 
     | 
    
         
            +
            i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: AXSchedulerService, decorators: [{
         
     | 
| 
       643 
643 
     | 
    
         
             
                        type: Injectable,
         
     | 
| 
       644 
644 
     | 
    
         
             
                        args: [{
         
     | 
| 
       645 
645 
     | 
    
         
             
                                providedIn: 'root',
         
     | 
| 
         @@ -787,10 +787,10 @@ class AXSchedulerAgendaViewComponent extends NXComponent { 
     | 
|
| 
       787 
787 
     | 
    
         
             
                get isReadonly() {
         
     | 
| 
       788 
788 
     | 
    
         
             
                    return this.readonly();
         
     | 
| 
       789 
789 
     | 
    
         
             
                }
         
     | 
| 
       790 
     | 
    
         
            -
                static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3. 
     | 
| 
       791 
     | 
    
         
            -
                static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.4", type: AXSchedulerAgendaViewComponent, isStandalone: true, selector: "ax-scheduler-agenda-view", inputs: { daysCount: { classPropertyName: "daysCount", publicName: "daysCount", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, draggable: { classPropertyName: "draggable", publicName: "draggable", isSignal: true, isRequired: false, transformFunction: null }, hasActions: { classPropertyName: "hasActions", publicName: "hasActions", isSignal: true, isRequired: false, transformFunction: null }, dragStartDelay: { classPropertyName: "dragStartDelay", publicName: "dragStartDelay", isSignal: true, isRequired: false, transformFunction: null }, calendar: { classPropertyName: "calendar", publicName: "calendar", isSignal: true, isRequired: false, transformFunction: null }, date: { classPropertyName: "date", publicName: "date", isSignal: true, isRequired: true, transformFunction: null }, appointments: { classPropertyName: "appointments", publicName: "appointments", isSignal: true, isRequired: false, transformFunction: null }, tooltipTemplate: { classPropertyName: "tooltipTemplate", publicName: "tooltipTemplate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { slotClickedInternal: "slotClickedInternal", slotDblClickedInternal: "slotDblClickedInternal", slotRightClickedInternal: "slotRightClickedInternal", appointmentClickedInternal: "appointmentClickedInternal", appointmentDblClickedInternal: "appointmentDblClickedInternal", appointmentRightClickedInternal: "appointmentRightClickedInternal", onActionClickInternal: "onActionClickInternal", onAppointmentDropInternal: "onAppointmentDropInternal" }, host: { properties: { "class.ax-state-readonly": "this.isReadonly" } }, providers: [{ provide: AXComponent, useExisting: AXSchedulerAgendaViewComponent }], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-scheduler-agenda-container\">\n  @for (dayData of agendaDaysLayout(); track dayData.date.date.getTime()) {\n    <div\n      axDropZone\n      #zone=\"axDropZone\"\n      (onElementDrop)=\"handleDrop($event, dayData.date)\"\n      [class.ax-scheduler-slot-hovered]=\"zone.isHovered()\"\n      [class.ax-state-today]=\"isToday(dayData.date)\"\n      class=\"ax-scheduler-agenda-view-container {{\n        dayData.holiday.state !== 'none' ? (dayData.holiday.holiday?.cssClass ?? 'ax-state-holiday') : ''\n      }}\"\n      (click)=\"handleSlotEvent($event, dayData.date)\"\n      (dblclick)=\"handleSlotEvent($event, dayData.date)\"\n      (contextmenu)=\"handleSlotEvent($event, dayData.date)\"\n      [attr.data-slot-id]=\"dayData.date.format('YYYYMMDD')\"\n    >\n      <div class=\"ax-scheduler-agenda-header-date-day\">\n        <span\n          class=\"ax-scheduler-agenda-header-date-day-char ax-scheduler-truncate\"\n          [axTooltip]=\"dayData.holiday?.holiday?.title ?? ''\"\n          [axTooltipPlacement]=\"'top-start'\"\n        >\n          {{ dayData.date | format: 'date' : { format: 'dddd', calendar: calendar() } | async }}\n          @if (dayData.holiday.state === 'holiday' && dayData.holiday.holiday.title) {\n            ( {{ dayData.holiday.holiday.title }} )\n          }\n        </span>\n        <span class=\"ax-scheduler-agenda-header-date-day-num\">\n          {{ dayData.date | format: 'date' : { format: 'DD', calendar: calendar() } | async }}\n        </span>\n      </div>\n      <div class=\"ax-scheduler-agenda-appointment-container\">\n        @for (segment of dayData.appointments; track segment.id + segment.originalStartDate.getTime()) {\n          <div\n            axDrag\n            [dragCursor]=\"'grab'\"\n            [dragData]=\"segment\"\n            [dragTransition]=\"false\"\n            [dragElementClone]=\"true\"\n            [dragStartDelay]=\"dragStartDelay()\"\n            [dragDisabled]=\"!draggable() || segment.readonly || readonly()\"\n            (pointerdown)=\"getSlotId($event)\"\n            (click)=\"handleAppointmentEvent($event, segment)\"\n            (dblclick)=\"handleAppointmentEvent($event, segment)\"\n            (contextmenu)=\"handleAppointmentEvent($event, segment)\"\n            [title]=\"\n              tooltipTemplate()\n                ? ''\n                : segment.title +\n                  (segment.allDay\n                    ? ' (All Day)'\n                    : ' (' +\n                      (segment.originalStartDate | format: 'time' : { calendar: calendar() } | async) +\n                      ' - ' +\n                      (segment.originalEndDate | format: 'time' : { calendar: calendar() } | async) +\n                      ')')\n            \"\n            class=\"ax-scheduler-agenda-appointment\"\n            [class.all-day-segment]=\"segment.allDay\"\n            [ngClass]=\"segment.cssClass ?? `ax-scheduler-${segment.priority ?? 'primary'}-periority`\"\n            [axTooltipDisabled]=\"tooltipTemplate() ? false : true\"\n            [axTooltip]=\"tooltipTemplate()\"\n            [axTooltipContext]=\"segment\"\n          >\n            <div class=\"ax-scheduler-agenda-appointment-time\">\n              @if (segment.allDay) {\n                <span>{{ '@acorex:dateTime.duration.all-day' | translate | async }}</span>\n              } @else {\n                <span>\n                  {{ segment.originalStartDate | format: 'time' : { format: 'HH:mm', calendar: calendar() } | async }}\n                  -\n                  {{ segment.originalEndDate | format: 'time' : { format: 'HH:mm', calendar: calendar() } | async }}\n                </span>\n              }\n            </div>\n            <ax-title class=\"ax-scheduler-agenda-appointment-title ax-scheduler-truncate\">{{ segment.title }}</ax-title>\n            <!-- Description could go here if needed -->\n            <!-- @if (segment.description) {\n              <ax-subtitle>{{ segment.description }}</ax-subtitle>\n            } -->\n            @if (hasActions()) {\n              <ax-icon\n                class=\"ax-icon ax-icon-more-horizontal ax-scheduler-action-icon\"\n                (click)=\"handleActionClick($event, segment)\"\n              >\n              </ax-icon>\n            }\n          </div>\n        }\n        @if (dayData.appointments.length === 0) {\n          <div class=\"ax-scheduler-agenda-no-appointments\">\n            {{ '@acorex:common.general.no-record' | translate | async }}\n          </div>\n        }\n      </div>\n    </div>\n  }\n</div>\n", styles: ["ax-scheduler-agenda-view .ax-scheduler-agenda-container{height:100%;display:flex;flex-direction:column}ax-scheduler-agenda-view .ax-scheduler-agenda-container .ax-scheduler-agenda-view-container{gap:1rem;display:flex;position:relative;padding-inline:1rem;padding-block:.25rem;border-block-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-agenda-view .ax-scheduler-agenda-container .ax-scheduler-agenda-view-container:last-child{border-block-end-width:0}ax-scheduler-agenda-view .ax-scheduler-agenda-container .ax-scheduler-agenda-view-container.ax-state-today{background-color:rgba(var(--ax-sys-color-primary-surface),.05)}ax-scheduler-agenda-view .ax-scheduler-agenda-container .ax-scheduler-agenda-view-container.ax-state-today .ax-scheduler-agenda-header-date-day{color:rgba(var(--ax-sys-color-primary-surface))}ax-scheduler-agenda-view .ax-scheduler-agenda-container .ax-scheduler-agenda-view-container.ax-state-today .ax-scheduler-agenda-header-date-day .ax-scheduler-month-header-date-day-char{font-weight:500}ax-scheduler-agenda-view .ax-scheduler-agenda-container .ax-scheduler-agenda-view-container.ax-state-today .ax-scheduler-agenda-header-date-day .ax-scheduler-month-header-date-day-num{font-weight:700}ax-scheduler-agenda-view .ax-scheduler-agenda-container .ax-scheduler-agenda-view-container.ax-state-holiday{color:rgba(var(--ax-sys-color-danger-surface))}ax-scheduler-agenda-view .ax-scheduler-agenda-container .ax-scheduler-agenda-view-container.ax-state-holiday.ax-state-today{color:rgba(var(--ax-sys-color-primary-surface))}ax-scheduler-agenda-view .ax-scheduler-agenda-container .ax-scheduler-agenda-view-container .ax-scheduler-agenda-header-date-day{gap:.25rem;display:flex;height:3.5rem;min-width:6rem;max-width:6rem;position:sticky;align-items:start;flex-direction:column;inset-block-start:1rem;justify-content:center}ax-scheduler-agenda-view .ax-scheduler-agenda-container .ax-scheduler-agenda-view-container .ax-scheduler-agenda-header-date-day .ax-scheduler-agenda-header-date-day-char{max-width:100%;font-weight:300}ax-scheduler-agenda-view .ax-scheduler-agenda-container .ax-scheduler-agenda-view-container .ax-scheduler-agenda-header-date-day .ax-scheduler-agenda-header-date-day-num{font-weight:500;font-size:1.25rem}ax-scheduler-agenda-view .ax-scheduler-agenda-container .ax-scheduler-agenda-appointment-container{gap:.25rem;display:flex;align-items:center;flex-direction:column;justify-content:center;width:calc(100% - 7rem)}ax-scheduler-agenda-view .ax-scheduler-agenda-container .ax-scheduler-agenda-appointment-container .ax-scheduler-agenda-appointment{gap:.5rem;width:100%;display:flex;overflow:hidden;align-items:center;flex-direction:row;padding-block:.25rem;padding-inline:.5rem;justify-content:space-between;border-radius:calc(var(--ax-sys-border-radius) / 2)}ax-scheduler-agenda-view .ax-scheduler-agenda-container .ax-scheduler-agenda-appointment-container .ax-scheduler-agenda-appointment.all-day-segment .ax-scheduler-agenda-appointment-time{font-weight:500}ax-scheduler-agenda-view .ax-scheduler-agenda-container .ax-scheduler-agenda-appointment-container .ax-scheduler-agenda-appointment .ax-scheduler-agenda-appointment-time{flex-shrink:0;min-width:5rem;font-size:.9em;opacity:.9}ax-scheduler-agenda-view .ax-scheduler-agenda-container .ax-scheduler-agenda-appointment-container .ax-scheduler-agenda-appointment .ax-scheduler-agenda-appointment-title{width:100%}ax-scheduler-agenda-view .ax-scheduler-agenda-container .ax-scheduler-agenda-appointment-container .ax-scheduler-agenda-appointment .ax-scheduler-action-icon{width:auto;cursor:pointer}ax-scheduler-agenda-view .ax-scheduler-agenda-container .ax-scheduler-agenda-appointment-container .ax-scheduler-agenda-no-appointments{text-align:center;font-style:italic;color:rgba(var(--ax-sys-color-on-surface),.6)}ax-scheduler-agenda-view:not(.ax-state-readonly) .ax-scheduler-agenda-appointment{cursor:pointer}ax-scheduler-agenda-view:not(.ax-state-readonly) .ax-scheduler-agenda-view-container{cursor:pointer;transition-property:background-color;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function)}ax-scheduler-agenda-view:not(.ax-state-readonly) .ax-scheduler-agenda-view-container:hover{background-color:rgba(var(--ax-comp-scheduler-slot-hover-bg, var(--ax-sys-color-primary-surface), .1))}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: AXDragDirective, selector: "[axDrag]", inputs: ["dragData", "dragDisabled", "dragTransition", "dragElementClone", "dropZoneGroup", "dragStartDelay", "dragResetOnDblClick", "dragLockAxis", "dragClonedTemplate", "dragCursor", "dragBoundary", "dragTransitionDuration"], outputs: ["dragPositionChanged"] }, { kind: "directive", type: AXTooltipDirective, selector: "[axTooltip]", inputs: ["axTooltipDisabled", "axTooltip", "axTooltipContext", "axTooltipPlacement", "axTooltipOffsetX", "axTooltipOffsetY", "axTooltipOpenAfter", "axTooltipCloseAfter"] }, { kind: "directive", type: AXDropZoneDirective, selector: "[axDropZone]", inputs: ["dropZoneGroup"], outputs: ["onElementDrop", "onElementHover"], exportAs: ["axDropZone"] }, { kind: "component", type: AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: 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: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: AXFormatPipe, name: "format" }, { kind: "pipe", type: AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
         
     | 
| 
      
 790 
     | 
    
         
            +
                static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: AXSchedulerAgendaViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
         
     | 
| 
      
 791 
     | 
    
         
            +
                static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.6", type: AXSchedulerAgendaViewComponent, isStandalone: true, selector: "ax-scheduler-agenda-view", inputs: { daysCount: { classPropertyName: "daysCount", publicName: "daysCount", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, draggable: { classPropertyName: "draggable", publicName: "draggable", isSignal: true, isRequired: false, transformFunction: null }, hasActions: { classPropertyName: "hasActions", publicName: "hasActions", isSignal: true, isRequired: false, transformFunction: null }, dragStartDelay: { classPropertyName: "dragStartDelay", publicName: "dragStartDelay", isSignal: true, isRequired: false, transformFunction: null }, calendar: { classPropertyName: "calendar", publicName: "calendar", isSignal: true, isRequired: false, transformFunction: null }, date: { classPropertyName: "date", publicName: "date", isSignal: true, isRequired: true, transformFunction: null }, appointments: { classPropertyName: "appointments", publicName: "appointments", isSignal: true, isRequired: false, transformFunction: null }, tooltipTemplate: { classPropertyName: "tooltipTemplate", publicName: "tooltipTemplate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { slotClickedInternal: "slotClickedInternal", slotDblClickedInternal: "slotDblClickedInternal", slotRightClickedInternal: "slotRightClickedInternal", appointmentClickedInternal: "appointmentClickedInternal", appointmentDblClickedInternal: "appointmentDblClickedInternal", appointmentRightClickedInternal: "appointmentRightClickedInternal", onActionClickInternal: "onActionClickInternal", onAppointmentDropInternal: "onAppointmentDropInternal" }, host: { properties: { "class.ax-state-readonly": "this.isReadonly" } }, providers: [{ provide: AXComponent, useExisting: AXSchedulerAgendaViewComponent }], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-scheduler-agenda-container\">\n  @for (dayData of agendaDaysLayout(); track dayData.date.date.getTime()) {\n    <div\n      axDropZone\n      #zone=\"axDropZone\"\n      (onElementDrop)=\"handleDrop($event, dayData.date)\"\n      [class.ax-scheduler-slot-hovered]=\"zone.isHovered()\"\n      [class.ax-state-today]=\"isToday(dayData.date)\"\n      class=\"ax-scheduler-agenda-view-container {{\n        dayData.holiday.state !== 'none' ? (dayData.holiday.holiday?.cssClass ?? 'ax-state-holiday') : ''\n      }}\"\n      (click)=\"handleSlotEvent($event, dayData.date)\"\n      (dblclick)=\"handleSlotEvent($event, dayData.date)\"\n      (contextmenu)=\"handleSlotEvent($event, dayData.date)\"\n      [attr.data-slot-id]=\"dayData.date.format('YYYYMMDD')\"\n    >\n      <div class=\"ax-scheduler-agenda-header-date-day\">\n        <span\n          class=\"ax-scheduler-agenda-header-date-day-char ax-scheduler-truncate\"\n          [axTooltip]=\"dayData.holiday?.holiday?.title ?? ''\"\n          [axTooltipPlacement]=\"'top-start'\"\n        >\n          {{ dayData.date | format: 'date' : { format: 'dddd', calendar: calendar() } | async }}\n          @if (dayData.holiday.state === 'holiday' && dayData.holiday.holiday.title) {\n            ( {{ dayData.holiday.holiday.title }} )\n          }\n        </span>\n        <span class=\"ax-scheduler-agenda-header-date-day-num\">\n          {{ dayData.date | format: 'date' : { format: 'DD', calendar: calendar() } | async }}\n        </span>\n      </div>\n      <div class=\"ax-scheduler-agenda-appointment-container\">\n        @for (segment of dayData.appointments; track segment.id + segment.originalStartDate.getTime()) {\n          <div\n            axDrag\n            [dragCursor]=\"'grab'\"\n            [dragData]=\"segment\"\n            [dragTransition]=\"false\"\n            [dragElementClone]=\"true\"\n            [dragStartDelay]=\"dragStartDelay()\"\n            [dragDisabled]=\"!draggable() || segment.readonly || readonly()\"\n            (pointerdown)=\"getSlotId($event)\"\n            (click)=\"handleAppointmentEvent($event, segment)\"\n            (dblclick)=\"handleAppointmentEvent($event, segment)\"\n            (contextmenu)=\"handleAppointmentEvent($event, segment)\"\n            [title]=\"\n              tooltipTemplate()\n                ? ''\n                : segment.title +\n                  (segment.allDay\n                    ? ' (All Day)'\n                    : ' (' +\n                      (segment.originalStartDate | format: 'time' : { calendar: calendar() } | async) +\n                      ' - ' +\n                      (segment.originalEndDate | format: 'time' : { calendar: calendar() } | async) +\n                      ')')\n            \"\n            class=\"ax-scheduler-agenda-appointment\"\n            [class.all-day-segment]=\"segment.allDay\"\n            [ngClass]=\"segment.cssClass ?? `ax-scheduler-${segment.priority ?? 'primary'}-periority`\"\n            [axTooltipDisabled]=\"tooltipTemplate() ? false : true\"\n            [axTooltip]=\"tooltipTemplate()\"\n            [axTooltipContext]=\"segment\"\n          >\n            <div class=\"ax-scheduler-agenda-appointment-time\">\n              @if (segment.allDay) {\n                <span>{{ '@acorex:dateTime.duration.all-day' | translate | async }}</span>\n              } @else {\n                <span>\n                  {{ segment.originalStartDate | format: 'time' : { format: 'HH:mm', calendar: calendar() } | async }}\n                  -\n                  {{ segment.originalEndDate | format: 'time' : { format: 'HH:mm', calendar: calendar() } | async }}\n                </span>\n              }\n            </div>\n            <ax-title class=\"ax-scheduler-agenda-appointment-title ax-scheduler-truncate\">{{ segment.title }}</ax-title>\n            <!-- Description could go here if needed -->\n            <!-- @if (segment.description) {\n              <ax-subtitle>{{ segment.description }}</ax-subtitle>\n            } -->\n            @if (hasActions()) {\n              <ax-icon\n                class=\"ax-icon ax-icon-more-horizontal ax-scheduler-action-icon\"\n                (click)=\"handleActionClick($event, segment)\"\n              >\n              </ax-icon>\n            }\n          </div>\n        }\n        @if (dayData.appointments.length === 0) {\n          <div class=\"ax-scheduler-agenda-no-appointments\">\n            {{ '@acorex:common.general.no-record' | translate | async }}\n          </div>\n        }\n      </div>\n    </div>\n  }\n</div>\n", styles: ["ax-scheduler-agenda-view .ax-scheduler-agenda-container{height:100%;display:flex;flex-direction:column}ax-scheduler-agenda-view .ax-scheduler-agenda-container .ax-scheduler-agenda-view-container{gap:1rem;display:flex;position:relative;padding-inline:1rem;padding-block:.25rem;border-block-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-agenda-view .ax-scheduler-agenda-container .ax-scheduler-agenda-view-container:last-child{border-block-end-width:0}ax-scheduler-agenda-view .ax-scheduler-agenda-container .ax-scheduler-agenda-view-container.ax-state-today{background-color:rgba(var(--ax-sys-color-primary-surface),.05)}ax-scheduler-agenda-view .ax-scheduler-agenda-container .ax-scheduler-agenda-view-container.ax-state-today .ax-scheduler-agenda-header-date-day{color:rgba(var(--ax-sys-color-primary-surface))}ax-scheduler-agenda-view .ax-scheduler-agenda-container .ax-scheduler-agenda-view-container.ax-state-today .ax-scheduler-agenda-header-date-day .ax-scheduler-month-header-date-day-char{font-weight:500}ax-scheduler-agenda-view .ax-scheduler-agenda-container .ax-scheduler-agenda-view-container.ax-state-today .ax-scheduler-agenda-header-date-day .ax-scheduler-month-header-date-day-num{font-weight:700}ax-scheduler-agenda-view .ax-scheduler-agenda-container .ax-scheduler-agenda-view-container.ax-state-holiday{color:rgba(var(--ax-sys-color-danger-surface))}ax-scheduler-agenda-view .ax-scheduler-agenda-container .ax-scheduler-agenda-view-container.ax-state-holiday.ax-state-today{color:rgba(var(--ax-sys-color-primary-surface))}ax-scheduler-agenda-view .ax-scheduler-agenda-container .ax-scheduler-agenda-view-container .ax-scheduler-agenda-header-date-day{gap:.25rem;display:flex;height:3.5rem;min-width:6rem;max-width:6rem;position:sticky;align-items:start;flex-direction:column;inset-block-start:1rem;justify-content:center}ax-scheduler-agenda-view .ax-scheduler-agenda-container .ax-scheduler-agenda-view-container .ax-scheduler-agenda-header-date-day .ax-scheduler-agenda-header-date-day-char{max-width:100%;font-weight:300}ax-scheduler-agenda-view .ax-scheduler-agenda-container .ax-scheduler-agenda-view-container .ax-scheduler-agenda-header-date-day .ax-scheduler-agenda-header-date-day-num{font-weight:500;font-size:1.25rem}ax-scheduler-agenda-view .ax-scheduler-agenda-container .ax-scheduler-agenda-appointment-container{gap:.25rem;display:flex;align-items:center;flex-direction:column;justify-content:center;width:calc(100% - 7rem)}ax-scheduler-agenda-view .ax-scheduler-agenda-container .ax-scheduler-agenda-appointment-container .ax-scheduler-agenda-appointment{gap:.5rem;width:100%;display:flex;overflow:hidden;align-items:center;flex-direction:row;padding-block:.25rem;padding-inline:.5rem;justify-content:space-between;border-radius:calc(var(--ax-sys-border-radius) / 2)}ax-scheduler-agenda-view .ax-scheduler-agenda-container .ax-scheduler-agenda-appointment-container .ax-scheduler-agenda-appointment.all-day-segment .ax-scheduler-agenda-appointment-time{font-weight:500}ax-scheduler-agenda-view .ax-scheduler-agenda-container .ax-scheduler-agenda-appointment-container .ax-scheduler-agenda-appointment .ax-scheduler-agenda-appointment-time{flex-shrink:0;min-width:5rem;font-size:.9em;opacity:.9}ax-scheduler-agenda-view .ax-scheduler-agenda-container .ax-scheduler-agenda-appointment-container .ax-scheduler-agenda-appointment .ax-scheduler-agenda-appointment-title{width:100%}ax-scheduler-agenda-view .ax-scheduler-agenda-container .ax-scheduler-agenda-appointment-container .ax-scheduler-agenda-appointment .ax-scheduler-action-icon{width:auto;cursor:pointer}ax-scheduler-agenda-view .ax-scheduler-agenda-container .ax-scheduler-agenda-appointment-container .ax-scheduler-agenda-no-appointments{text-align:center;font-style:italic;color:rgba(var(--ax-sys-color-on-surface),.6)}ax-scheduler-agenda-view:not(.ax-state-readonly) .ax-scheduler-agenda-appointment{cursor:pointer}ax-scheduler-agenda-view:not(.ax-state-readonly) .ax-scheduler-agenda-view-container{cursor:pointer;transition-property:background-color;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function)}ax-scheduler-agenda-view:not(.ax-state-readonly) .ax-scheduler-agenda-view-container:hover{background-color:rgba(var(--ax-comp-scheduler-slot-hover-bg, var(--ax-sys-color-primary-surface), .1))}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: AXDragDirective, selector: "[axDrag]", inputs: ["dragData", "dragDisabled", "dragTransition", "dragElementClone", "dropZoneGroup", "dragStartDelay", "dragResetOnDblClick", "dragLockAxis", "dragClonedTemplate", "dragCursor", "dragBoundary", "dragTransitionDuration"], outputs: ["dragPositionChanged"] }, { kind: "directive", type: AXTooltipDirective, selector: "[axTooltip]", inputs: ["axTooltipDisabled", "axTooltip", "axTooltipContext", "axTooltipPlacement", "axTooltipOffsetX", "axTooltipOffsetY", "axTooltipOpenAfter", "axTooltipCloseAfter"] }, { kind: "directive", type: AXDropZoneDirective, selector: "[axDropZone]", inputs: ["dropZoneGroup"], outputs: ["onElementDrop", "onElementHover"], exportAs: ["axDropZone"] }, { kind: "component", type: AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: 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: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: AXFormatPipe, name: "format" }, { kind: "pipe", type: AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
         
     | 
| 
       792 
792 
     | 
    
         
             
            }
         
     | 
| 
       793 
     | 
    
         
            -
            i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3. 
     | 
| 
      
 793 
     | 
    
         
            +
            i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: AXSchedulerAgendaViewComponent, decorators: [{
         
     | 
| 
       794 
794 
     | 
    
         
             
                        type: Component,
         
     | 
| 
       795 
795 
     | 
    
         
             
                        args: [{ selector: 'ax-scheduler-agenda-view', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [
         
     | 
| 
       796 
796 
     | 
    
         
             
                                    NgClass,
         
     | 
| 
         @@ -803,7 +803,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImpor 
     | 
|
| 
       803 
803 
     | 
    
         
             
                                    AXDecoratorIconComponent,
         
     | 
| 
       804 
804 
     | 
    
         
             
                                    AXDecoratorGenericComponent,
         
     | 
| 
       805 
805 
     | 
    
         
             
                                ], providers: [{ provide: AXComponent, useExisting: AXSchedulerAgendaViewComponent }], template: "<div class=\"ax-scheduler-agenda-container\">\n  @for (dayData of agendaDaysLayout(); track dayData.date.date.getTime()) {\n    <div\n      axDropZone\n      #zone=\"axDropZone\"\n      (onElementDrop)=\"handleDrop($event, dayData.date)\"\n      [class.ax-scheduler-slot-hovered]=\"zone.isHovered()\"\n      [class.ax-state-today]=\"isToday(dayData.date)\"\n      class=\"ax-scheduler-agenda-view-container {{\n        dayData.holiday.state !== 'none' ? (dayData.holiday.holiday?.cssClass ?? 'ax-state-holiday') : ''\n      }}\"\n      (click)=\"handleSlotEvent($event, dayData.date)\"\n      (dblclick)=\"handleSlotEvent($event, dayData.date)\"\n      (contextmenu)=\"handleSlotEvent($event, dayData.date)\"\n      [attr.data-slot-id]=\"dayData.date.format('YYYYMMDD')\"\n    >\n      <div class=\"ax-scheduler-agenda-header-date-day\">\n        <span\n          class=\"ax-scheduler-agenda-header-date-day-char ax-scheduler-truncate\"\n          [axTooltip]=\"dayData.holiday?.holiday?.title ?? ''\"\n          [axTooltipPlacement]=\"'top-start'\"\n        >\n          {{ dayData.date | format: 'date' : { format: 'dddd', calendar: calendar() } | async }}\n          @if (dayData.holiday.state === 'holiday' && dayData.holiday.holiday.title) {\n            ( {{ dayData.holiday.holiday.title }} )\n          }\n        </span>\n        <span class=\"ax-scheduler-agenda-header-date-day-num\">\n          {{ dayData.date | format: 'date' : { format: 'DD', calendar: calendar() } | async }}\n        </span>\n      </div>\n      <div class=\"ax-scheduler-agenda-appointment-container\">\n        @for (segment of dayData.appointments; track segment.id + segment.originalStartDate.getTime()) {\n          <div\n            axDrag\n            [dragCursor]=\"'grab'\"\n            [dragData]=\"segment\"\n            [dragTransition]=\"false\"\n            [dragElementClone]=\"true\"\n            [dragStartDelay]=\"dragStartDelay()\"\n            [dragDisabled]=\"!draggable() || segment.readonly || readonly()\"\n            (pointerdown)=\"getSlotId($event)\"\n            (click)=\"handleAppointmentEvent($event, segment)\"\n            (dblclick)=\"handleAppointmentEvent($event, segment)\"\n            (contextmenu)=\"handleAppointmentEvent($event, segment)\"\n            [title]=\"\n              tooltipTemplate()\n                ? ''\n                : segment.title +\n                  (segment.allDay\n                    ? ' (All Day)'\n                    : ' (' +\n                      (segment.originalStartDate | format: 'time' : { calendar: calendar() } | async) +\n                      ' - ' +\n                      (segment.originalEndDate | format: 'time' : { calendar: calendar() } | async) +\n                      ')')\n            \"\n            class=\"ax-scheduler-agenda-appointment\"\n            [class.all-day-segment]=\"segment.allDay\"\n            [ngClass]=\"segment.cssClass ?? `ax-scheduler-${segment.priority ?? 'primary'}-periority`\"\n            [axTooltipDisabled]=\"tooltipTemplate() ? false : true\"\n            [axTooltip]=\"tooltipTemplate()\"\n            [axTooltipContext]=\"segment\"\n          >\n            <div class=\"ax-scheduler-agenda-appointment-time\">\n              @if (segment.allDay) {\n                <span>{{ '@acorex:dateTime.duration.all-day' | translate | async }}</span>\n              } @else {\n                <span>\n                  {{ segment.originalStartDate | format: 'time' : { format: 'HH:mm', calendar: calendar() } | async }}\n                  -\n                  {{ segment.originalEndDate | format: 'time' : { format: 'HH:mm', calendar: calendar() } | async }}\n                </span>\n              }\n            </div>\n            <ax-title class=\"ax-scheduler-agenda-appointment-title ax-scheduler-truncate\">{{ segment.title }}</ax-title>\n            <!-- Description could go here if needed -->\n            <!-- @if (segment.description) {\n              <ax-subtitle>{{ segment.description }}</ax-subtitle>\n            } -->\n            @if (hasActions()) {\n              <ax-icon\n                class=\"ax-icon ax-icon-more-horizontal ax-scheduler-action-icon\"\n                (click)=\"handleActionClick($event, segment)\"\n              >\n              </ax-icon>\n            }\n          </div>\n        }\n        @if (dayData.appointments.length === 0) {\n          <div class=\"ax-scheduler-agenda-no-appointments\">\n            {{ '@acorex:common.general.no-record' | translate | async }}\n          </div>\n        }\n      </div>\n    </div>\n  }\n</div>\n", styles: ["ax-scheduler-agenda-view .ax-scheduler-agenda-container{height:100%;display:flex;flex-direction:column}ax-scheduler-agenda-view .ax-scheduler-agenda-container .ax-scheduler-agenda-view-container{gap:1rem;display:flex;position:relative;padding-inline:1rem;padding-block:.25rem;border-block-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-agenda-view .ax-scheduler-agenda-container .ax-scheduler-agenda-view-container:last-child{border-block-end-width:0}ax-scheduler-agenda-view .ax-scheduler-agenda-container .ax-scheduler-agenda-view-container.ax-state-today{background-color:rgba(var(--ax-sys-color-primary-surface),.05)}ax-scheduler-agenda-view .ax-scheduler-agenda-container .ax-scheduler-agenda-view-container.ax-state-today .ax-scheduler-agenda-header-date-day{color:rgba(var(--ax-sys-color-primary-surface))}ax-scheduler-agenda-view .ax-scheduler-agenda-container .ax-scheduler-agenda-view-container.ax-state-today .ax-scheduler-agenda-header-date-day .ax-scheduler-month-header-date-day-char{font-weight:500}ax-scheduler-agenda-view .ax-scheduler-agenda-container .ax-scheduler-agenda-view-container.ax-state-today .ax-scheduler-agenda-header-date-day .ax-scheduler-month-header-date-day-num{font-weight:700}ax-scheduler-agenda-view .ax-scheduler-agenda-container .ax-scheduler-agenda-view-container.ax-state-holiday{color:rgba(var(--ax-sys-color-danger-surface))}ax-scheduler-agenda-view .ax-scheduler-agenda-container .ax-scheduler-agenda-view-container.ax-state-holiday.ax-state-today{color:rgba(var(--ax-sys-color-primary-surface))}ax-scheduler-agenda-view .ax-scheduler-agenda-container .ax-scheduler-agenda-view-container .ax-scheduler-agenda-header-date-day{gap:.25rem;display:flex;height:3.5rem;min-width:6rem;max-width:6rem;position:sticky;align-items:start;flex-direction:column;inset-block-start:1rem;justify-content:center}ax-scheduler-agenda-view .ax-scheduler-agenda-container .ax-scheduler-agenda-view-container .ax-scheduler-agenda-header-date-day .ax-scheduler-agenda-header-date-day-char{max-width:100%;font-weight:300}ax-scheduler-agenda-view .ax-scheduler-agenda-container .ax-scheduler-agenda-view-container .ax-scheduler-agenda-header-date-day .ax-scheduler-agenda-header-date-day-num{font-weight:500;font-size:1.25rem}ax-scheduler-agenda-view .ax-scheduler-agenda-container .ax-scheduler-agenda-appointment-container{gap:.25rem;display:flex;align-items:center;flex-direction:column;justify-content:center;width:calc(100% - 7rem)}ax-scheduler-agenda-view .ax-scheduler-agenda-container .ax-scheduler-agenda-appointment-container .ax-scheduler-agenda-appointment{gap:.5rem;width:100%;display:flex;overflow:hidden;align-items:center;flex-direction:row;padding-block:.25rem;padding-inline:.5rem;justify-content:space-between;border-radius:calc(var(--ax-sys-border-radius) / 2)}ax-scheduler-agenda-view .ax-scheduler-agenda-container .ax-scheduler-agenda-appointment-container .ax-scheduler-agenda-appointment.all-day-segment .ax-scheduler-agenda-appointment-time{font-weight:500}ax-scheduler-agenda-view .ax-scheduler-agenda-container .ax-scheduler-agenda-appointment-container .ax-scheduler-agenda-appointment .ax-scheduler-agenda-appointment-time{flex-shrink:0;min-width:5rem;font-size:.9em;opacity:.9}ax-scheduler-agenda-view .ax-scheduler-agenda-container .ax-scheduler-agenda-appointment-container .ax-scheduler-agenda-appointment .ax-scheduler-agenda-appointment-title{width:100%}ax-scheduler-agenda-view .ax-scheduler-agenda-container .ax-scheduler-agenda-appointment-container .ax-scheduler-agenda-appointment .ax-scheduler-action-icon{width:auto;cursor:pointer}ax-scheduler-agenda-view .ax-scheduler-agenda-container .ax-scheduler-agenda-appointment-container .ax-scheduler-agenda-no-appointments{text-align:center;font-style:italic;color:rgba(var(--ax-sys-color-on-surface),.6)}ax-scheduler-agenda-view:not(.ax-state-readonly) .ax-scheduler-agenda-appointment{cursor:pointer}ax-scheduler-agenda-view:not(.ax-state-readonly) .ax-scheduler-agenda-view-container{cursor:pointer;transition-property:background-color;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function)}ax-scheduler-agenda-view:not(.ax-state-readonly) .ax-scheduler-agenda-view-container:hover{background-color:rgba(var(--ax-comp-scheduler-slot-hover-bg, var(--ax-sys-color-primary-surface), .1))}\n"] }]
         
     | 
| 
       806 
     | 
    
         
            -
                    }], propDecorators: { isReadonly: [{
         
     | 
| 
      
 806 
     | 
    
         
            +
                    }], propDecorators: { daysCount: [{ type: i0.Input, args: [{ isSignal: true, alias: "daysCount", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], draggable: [{ type: i0.Input, args: [{ isSignal: true, alias: "draggable", required: false }] }], hasActions: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasActions", required: false }] }], dragStartDelay: [{ type: i0.Input, args: [{ isSignal: true, alias: "dragStartDelay", required: false }] }], calendar: [{ type: i0.Input, args: [{ isSignal: true, alias: "calendar", required: false }] }], date: [{ type: i0.Input, args: [{ isSignal: true, alias: "date", required: true }] }], appointments: [{ type: i0.Input, args: [{ isSignal: true, alias: "appointments", required: false }] }], tooltipTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "tooltipTemplate", required: false }] }], slotClickedInternal: [{ type: i0.Output, args: ["slotClickedInternal"] }], slotDblClickedInternal: [{ type: i0.Output, args: ["slotDblClickedInternal"] }], slotRightClickedInternal: [{ type: i0.Output, args: ["slotRightClickedInternal"] }], appointmentClickedInternal: [{ type: i0.Output, args: ["appointmentClickedInternal"] }], appointmentDblClickedInternal: [{ type: i0.Output, args: ["appointmentDblClickedInternal"] }], appointmentRightClickedInternal: [{ type: i0.Output, args: ["appointmentRightClickedInternal"] }], onActionClickInternal: [{ type: i0.Output, args: ["onActionClickInternal"] }], onAppointmentDropInternal: [{ type: i0.Output, args: ["onAppointmentDropInternal"] }], isReadonly: [{
         
     | 
| 
       807 
807 
     | 
    
         
             
                            type: HostBinding,
         
     | 
| 
       808 
808 
     | 
    
         
             
                            args: ['class.ax-state-readonly']
         
     | 
| 
       809 
809 
     | 
    
         
             
                        }] } });
         
     | 
| 
         @@ -1168,10 +1168,10 @@ class AXSchedulerDayViewComponent extends NXComponent { 
     | 
|
| 
       1168 
1168 
     | 
    
         
             
                get isReadonly() {
         
     | 
| 
       1169 
1169 
     | 
    
         
             
                    return this.readonly();
         
     | 
| 
       1170 
1170 
     | 
    
         
             
                }
         
     | 
| 
       1171 
     | 
    
         
            -
                static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3. 
     | 
| 
       1172 
     | 
    
         
            -
                static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.4", type: AXSchedulerDayViewComponent, isStandalone: true, selector: "ax-scheduler-day-view", inputs: { readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, draggable: { classPropertyName: "draggable", publicName: "draggable", isSignal: true, isRequired: false, transformFunction: null }, hasActions: { classPropertyName: "hasActions", publicName: "hasActions", isSignal: true, isRequired: false, transformFunction: null }, dragStartDelay: { classPropertyName: "dragStartDelay", publicName: "dragStartDelay", isSignal: true, isRequired: false, transformFunction: null }, calendar: { classPropertyName: "calendar", publicName: "calendar", isSignal: true, isRequired: false, transformFunction: null }, date: { classPropertyName: "date", publicName: "date", isSignal: true, isRequired: true, transformFunction: null }, endDayHour: { classPropertyName: "endDayHour", publicName: "endDayHour", isSignal: true, isRequired: true, transformFunction: null }, startDayHour: { classPropertyName: "startDayHour", publicName: "startDayHour", isSignal: true, isRequired: true, transformFunction: null }, showCurrentTimeIndicator: { classPropertyName: "showCurrentTimeIndicator", publicName: "showCurrentTimeIndicator", isSignal: true, isRequired: false, transformFunction: null }, appointments: { classPropertyName: "appointments", publicName: "appointments", isSignal: true, isRequired: false, transformFunction: null }, tooltipTemplate: { classPropertyName: "tooltipTemplate", publicName: "tooltipTemplate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { slotClickedInternal: "slotClickedInternal", slotDblClickedInternal: "slotDblClickedInternal", slotRightClickedInternal: "slotRightClickedInternal", appointmentClickedInternal: "appointmentClickedInternal", appointmentDblClickedInternal: "appointmentDblClickedInternal", appointmentRightClickedInternal: "appointmentRightClickedInternal", onActionClickInternal: "onActionClickInternal", onAppointmentDropInternal: "onAppointmentDropInternal" }, host: { properties: { "class.ax-state-readonly": "this.isReadonly" } }, providers: [{ provide: AXComponent, useExisting: AXSchedulerDayViewComponent }], viewQueries: [{ propertyName: "currentTimeLineElement", first: true, predicate: ["currentTimeLine"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-scheduler-day-header\">\n  <div class=\"ax-scheduler-day-header-table\" aria-hidden=\"true\">\n    <div>\n      {{ '@acorex:dateTime.duration.all-day' | translate | async }}\n    </div>\n  </div>\n  <div\n    axDropZone\n    #zone=\"axDropZone\"\n    (onElementDrop)=\"handleAllDayDrop($event)\"\n    [class.ax-scheduler-slot-hovered]=\"zone.isHovered()\"\n    (click)=\"handleAllDaySlotEvent($event)\"\n    (dblclick)=\"handleAllDaySlotEvent($event)\"\n    (contextmenu)=\"handleAllDaySlotEvent($event)\"\n    class=\"ax-scheduler-day-header-table-container\"\n    [attr.data-slot-id]=\"date().format('YYYYMMDD') + '-allday'\"\n  >\n    <div class=\"ax-scheduler-day-header-appointment-container\">\n      @if (allDayAppointments().length) {\n        <div\n          axDrag\n          [dragCursor]=\"'grab'\"\n          [dragTransition]=\"false\"\n          [dragElementClone]=\"true\"\n          [dragStartDelay]=\"dragStartDelay()\"\n          [dragDisabled]=\"!draggable() || allDayAppointments()[0].readonly || readonly()\"\n          (pointerdown)=\"getSlotId($event)\"\n          [dragData]=\"allDayAppointments()[0]\"\n          (click)=\"handleAppointmentEvent($event, allDayAppointments()[0])\"\n          (dblclick)=\"handleAppointmentEvent($event, allDayAppointments()[0])\"\n          (contextmenu)=\"handleAppointmentEvent($event, allDayAppointments()[0])\"\n          [title]=\"tooltipTemplate() ? '' : allDayAppointments()[0].title\"\n          class=\"ax-scheduler-header-day-appointment\"\n          [ngClass]=\"\n            allDayAppointments()[0].cssClass ??\n            `ax-scheduler-${allDayAppointments()[0].priority ?? 'primary'}-periority`\n          \"\n          [axTooltipDisabled]=\"tooltipTemplate() ? false : true\"\n          [axTooltipContext]=\"allDayAppointments()[0]\"\n          [axTooltip]=\"tooltipTemplate()\"\n        >\n          <ax-title>\n            <span class=\"ax-scheduler-truncate\">{{ allDayAppointments()[0].title }}</span>\n            @if (hasActions()) {\n              <ax-icon\n                (click)=\"handleActionClick($event, allDayAppointments()[0])\"\n                class=\"ax-icon ax-icon-more-horizontal ax-scheduler-action-icon\"\n              >\n              </ax-icon>\n            }\n          </ax-title>\n          <ax-subtitle>\n            {{ allDayAppointments()[0].startDate | format: 'date' : { calendar: calendar() } | async }}\n            -\n            {{ allDayAppointments()[0].endDate | format: 'date' : { calendar: calendar() } | async }}\n          </ax-subtitle>\n        </div>\n      }\n      @if (allDayAppointments().length > 1) {\n        <div\n          #moreAppointments\n          class=\"ax-scheduler-day-header-more-tag\"\n          [ngClass]=\"\n            allDayAppointments()[1].cssClass ??\n            `ax-scheduler-${allDayAppointments()[1].priority ?? 'primary'}-periority`\n          \"\n        >\n          {{\n            '@acorex:common.general.more-items'\n              | translate: { params: { number: allDayAppointments().length - 1 } }\n              | async\n          }}\n        </div>\n        <ax-popover [target]=\"moreAppointments\">\n          <div class=\"ax-overlay-pane ax-scheduler-popover\" [class.ax-state-readonly]=\"readonly()\" axDropZone>\n            @for (appointment of allDayAppointments(); track appointment.id; let first = $first) {\n              @if (!first) {\n                <div\n                  axDrag\n                  [dragCursor]=\"'grab'\"\n                  [dragData]=\"appointment\"\n                  [dragTransition]=\"false\"\n                  [dragElementClone]=\"true\"\n                  [dragStartDelay]=\"dragStartDelay()\"\n                  [dragDisabled]=\"!draggable() || appointment.readonly || readonly()\"\n                  (click)=\"handleAppointmentEvent($event, appointment)\"\n                  (dblclick)=\"handleAppointmentEvent($event, appointment)\"\n                  (contextmenu)=\"handleAppointmentEvent($event, appointment)\"\n                  [title]=\"tooltipTemplate() ? '' : appointment.title\"\n                  class=\"ax-scheduler-popover-appointment\"\n                  [ngClass]=\"appointment.cssClass ?? `ax-scheduler-${appointment.priority ?? 'primary'}-periority`\"\n                  [axTooltipDisabled]=\"tooltipTemplate() ? false : true\"\n                  [axTooltipContext]=\"appointment\"\n                  [axTooltip]=\"tooltipTemplate()\"\n                >\n                  <ax-title>\n                    <span class=\"ax-scheduler-truncate\">{{ appointment.title }}</span>\n                    @if (hasActions()) {\n                      <ax-icon\n                        (click)=\"handleActionClick($event, appointment)\"\n                        class=\"ax-icon ax-icon-more-horizontal ax-scheduler-action-icon\"\n                      >\n                      </ax-icon>\n                    }\n                  </ax-title>\n                  <ax-subtitle>\n                    {{ appointment.startDate | format: 'date' : { calendar: calendar() } | async }}\n                    -\n                    {{ appointment.endDate | format: 'date' : { calendar: calendar() } | async }}\n                  </ax-subtitle>\n                </div>\n              }\n            }\n          </div>\n        </ax-popover>\n      }\n    </div>\n  </div>\n</div>\n\n<div class=\"ax-scheduler-day-time-container\">\n  <table class=\"ax-scheduler-day-time\" aria-hidden=\"true\" [border]=\"1\">\n    @for (time of hoursArray(); track time.date.getTime()) {\n      <div>\n        {{ time | format: 'time' : { format: 'HH:mm', calendar: calendar() } | async }}\n      </div>\n    }\n  </table>\n  <div class=\"ax-scheduler-day-table-container\">\n    <!-- Current Time Line Indicator -->\n    @if (showCurrentTimeIndicator() && getCurrentTimePositionWithOffset() !== null) {\n      <div\n        #currentTimeLine\n        class=\"ax-scheduler-current-time-line\"\n        [style.inset-block-start]=\"getCurrentTimePositionWithOffset()\"\n      ></div>\n    }\n    <div class=\"ax-scheduler-day-appointment-container\">\n      @for (appointment of singleDayAppointments(); track appointment.id) {\n        <div\n          axDrag\n          [dragCursor]=\"'grab'\"\n          [dragData]=\"appointment\"\n          [dragTransition]=\"false\"\n          [dragElementClone]=\"true\"\n          [dragStartDelay]=\"dragStartDelay()\"\n          [dragDisabled]=\"!draggable() || appointment.readonly || readonly()\"\n          (pointerdown)=\"getSlotId($event)\"\n          (click)=\"handleAppointmentEvent($event, appointment)\"\n          (dblclick)=\"handleAppointmentEvent($event, appointment)\"\n          (contextmenu)=\"handleAppointmentEvent($event, appointment)\"\n          [title]=\"tooltipTemplate() ? '' : appointment.title\"\n          class=\"ax-scheduler-day-appointment\"\n          [style.width]=\"getAppointmentWidth(appointment.id)\"\n          [style.height]=\"getAppointmentHeight(appointment.id)\"\n          [style.inset-block-start]=\"getAppointmentTop(appointment.id)\"\n          [style.inset-inline-start]=\"getAppointmentLeft(appointment.id)\"\n          [ngClass]=\"appointment.cssClass ?? `ax-scheduler-${appointment.priority ?? 'primary'}-periority`\"\n          [axTooltipDisabled]=\"tooltipTemplate() ? false : true\"\n          [axTooltipContext]=\"appointment\"\n          [axTooltip]=\"tooltipTemplate()\"\n        >\n          <ax-title>\n            <span class=\"ax-scheduler-truncate\">{{ appointment.title }}</span>\n            @if (hasActions()) {\n              <ax-icon\n                (click)=\"handleActionClick($event, appointment)\"\n                class=\"ax-icon ax-icon-more-horizontal ax-scheduler-action-icon\"\n              >\n              </ax-icon>\n            }\n          </ax-title>\n          <ax-subtitle>\n            {{ appointment.originalStartDate | format: 'time' : { calendar: calendar() } | async }} -\n            {{ appointment.originalEndDate | format: 'time' : { calendar: calendar() } | async }}\n          </ax-subtitle>\n        </div>\n      }\n    </div>\n    <div aria-hidden=\"true\" class=\"ax-scheduler-day-slot\">\n      @for (time of hoursArray(); track time.date.getTime()) {\n        <div\n          axDropZone\n          #zone=\"axDropZone\"\n          (onElementDrop)=\"handleSingleDayDrop($event, time)\"\n          [class.ax-scheduler-slot-hovered]=\"zone.isHovered()\"\n          (click)=\"handleSingleSlotEvent($event, time)\"\n          (dblclick)=\"handleSingleSlotEvent($event, time)\"\n          (contextmenu)=\"handleSingleSlotEvent($event, time)\"\n          [attr.data-slot-id]=\"time.format('YYYYMMDD-HHmm')\"\n        ></div>\n        <div\n          axDropZone\n          #zone2=\"axDropZone\"\n          [class.ax-scheduler-slot-hovered]=\"zone2.isHovered()\"\n          (onElementDrop)=\"handleSingleDayDrop($event, time.add('minute', 30))\"\n          (click)=\"handleSingleSlotEvent($event, time.add('minute', 30))\"\n          (dblclick)=\"handleSingleSlotEvent($event, time.add('minute', 30))\"\n          (contextmenu)=\"handleSingleSlotEvent($event, time.add('minute', 30))\"\n          [attr.data-slot-id]=\"time.add('minute', 30).format('YYYYMMDD-HHmm')\"\n        ></div>\n      }\n    </div>\n  </div>\n</div>\n", styles: ["ax-scheduler-day-view{display:block;position:relative;background-color:inherit;min-width:var(--ax-comp-scheduler-width)}ax-scheduler-day-view .ax-scheduler-day-header{top:0;z-index:10;width:100%;display:flex;position:sticky;background-color:var(--ax-comp-scheduler-all-day-bg, inherit);border-block-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-day-view .ax-scheduler-day-header .ax-scheduler-day-header-table{z-index:10;position:sticky;inset-inline-start:0;background-color:inherit}ax-scheduler-day-view .ax-scheduler-day-header .ax-scheduler-day-header-table div{display:flex;align-items:center;justify-content:center;width:var(--ax-comp-scheduler-basic-view-blocks-width);height:var(--ax-comp-scheduler-basic-view-blocks-height);border-inline-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-day-view .ax-scheduler-day-header .ax-scheduler-day-header-table-container{width:100%;display:flex}ax-scheduler-day-view .ax-scheduler-day-header .ax-scheduler-day-header-table-container .ax-scheduler-day-header-appointment-container{gap:1rem;display:flex;width:calc(100% - 2.5rem)}ax-scheduler-day-view .ax-scheduler-day-header .ax-scheduler-day-header-table-container .ax-scheduler-day-header-appointment-container .ax-scheduler-header-day-appointment{width:100%;display:flex;overflow:hidden;flex-direction:column;padding-inline:.5rem;justify-content:center;border-radius:calc(var(--ax-sys-border-radius) / 2)}ax-scheduler-day-view .ax-scheduler-day-header .ax-scheduler-day-header-table-container .ax-scheduler-day-header-appointment-container .ax-scheduler-day-header-more-tag{display:flex;cursor:pointer;text-wrap:nowrap;flex-direction:column;padding-inline:.5rem;justify-content:center;border-radius:var(--ax-sys-border-radius)}ax-scheduler-day-view .ax-scheduler-day-time-container{width:100%;display:flex;background-color:inherit}ax-scheduler-day-view .ax-scheduler-day-time-container .ax-scheduler-day-time{z-index:15;position:sticky;inset-inline-start:0;background-color:var(--ax-comp-scheduler-all-day-bg, inherit)}ax-scheduler-day-view .ax-scheduler-day-time-container .ax-scheduler-day-time div{display:block;text-align:center;padding-inline:.5rem;width:var(--ax-comp-scheduler-basic-view-blocks-width);height:calc(var(--ax-comp-scheduler-basic-view-blocks-height) * 2);border-inline-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface));position:relative}ax-scheduler-day-view .ax-scheduler-day-time-container .ax-scheduler-day-table-container{width:100%;position:relative}ax-scheduler-day-view .ax-scheduler-day-time-container .ax-scheduler-day-table-container .ax-scheduler-day-appointment-container{top:0;position:absolute;width:calc(100% - 2.5rem)}ax-scheduler-day-view .ax-scheduler-day-time-container .ax-scheduler-day-table-container .ax-scheduler-day-appointment-container .ax-scheduler-day-appointment{width:100%;display:flex;overflow:hidden;position:absolute;inset-inline-start:0;flex-direction:column;padding-block:.25rem;padding-inline:.5rem;border-radius:calc(var(--ax-sys-border-radius) / 2)}ax-scheduler-day-view .ax-scheduler-day-time-container .ax-scheduler-day-table-container .ax-scheduler-day-slot{width:100%}ax-scheduler-day-view .ax-scheduler-day-time-container .ax-scheduler-day-table-container .ax-scheduler-day-slot div{height:var(--ax-comp-scheduler-basic-view-blocks-height);display:block;padding-inline:.5rem;border-block-start:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-day-view .ax-scheduler-day-time-container .ax-scheduler-day-table-container .ax-scheduler-day-slot div:first-child{border-block-start-width:0}ax-scheduler-day-view:not(.ax-state-readonly) .ax-scheduler-header-day-appointment,ax-scheduler-day-view:not(.ax-state-readonly) .ax-scheduler-day-appointment{cursor:pointer}ax-scheduler-day-view:not(.ax-state-readonly) .ax-scheduler-day-header-table-container,ax-scheduler-day-view:not(.ax-state-readonly) .ax-scheduler-day-slot>div{cursor:pointer;transition-property:background-color;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function)}ax-scheduler-day-view:not(.ax-state-readonly) .ax-scheduler-day-header-table-container:hover,ax-scheduler-day-view:not(.ax-state-readonly) .ax-scheduler-day-slot>div:hover{background-color:rgba(var(--ax-comp-scheduler-slot-hover-bg, var(--ax-sys-color-primary-surface), .1))}ax-scheduler-day-view ax-title{display:flex;justify-content:space-between}ax-scheduler-day-view ax-title .ax-scheduler-action-icon{width:auto;cursor:pointer}ax-scheduler-day-view .ax-scheduler-current-time-line{left:0;right:0;height:2px}ax-scheduler-day-view .ax-scheduler-current-time-line:before{top:-5px;inset-inline-start:-6px}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: AXDragDirective, selector: "[axDrag]", inputs: ["dragData", "dragDisabled", "dragTransition", "dragElementClone", "dropZoneGroup", "dragStartDelay", "dragResetOnDblClick", "dragLockAxis", "dragClonedTemplate", "dragCursor", "dragBoundary", "dragTransitionDuration"], outputs: ["dragPositionChanged"] }, { kind: "component", type: AXPopoverComponent, selector: "ax-popover", inputs: ["width", "disabled", "offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "backdropClass", "panelClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "directive", type: AXTooltipDirective, selector: "[axTooltip]", inputs: ["axTooltipDisabled", "axTooltip", "axTooltipContext", "axTooltipPlacement", "axTooltipOffsetX", "axTooltipOffsetY", "axTooltipOpenAfter", "axTooltipCloseAfter"] }, { kind: "directive", type: AXDropZoneDirective, selector: "[axDropZone]", inputs: ["dropZoneGroup"], outputs: ["onElementDrop", "onElementHover"], exportAs: ["axDropZone"] }, { kind: "component", type: AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: 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: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: AXFormatPipe, name: "format" }, { kind: "pipe", type: AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
         
     | 
| 
      
 1171 
     | 
    
         
            +
                static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: AXSchedulerDayViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
         
     | 
| 
      
 1172 
     | 
    
         
            +
                static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.6", type: AXSchedulerDayViewComponent, isStandalone: true, selector: "ax-scheduler-day-view", inputs: { readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, draggable: { classPropertyName: "draggable", publicName: "draggable", isSignal: true, isRequired: false, transformFunction: null }, hasActions: { classPropertyName: "hasActions", publicName: "hasActions", isSignal: true, isRequired: false, transformFunction: null }, dragStartDelay: { classPropertyName: "dragStartDelay", publicName: "dragStartDelay", isSignal: true, isRequired: false, transformFunction: null }, calendar: { classPropertyName: "calendar", publicName: "calendar", isSignal: true, isRequired: false, transformFunction: null }, date: { classPropertyName: "date", publicName: "date", isSignal: true, isRequired: true, transformFunction: null }, endDayHour: { classPropertyName: "endDayHour", publicName: "endDayHour", isSignal: true, isRequired: true, transformFunction: null }, startDayHour: { classPropertyName: "startDayHour", publicName: "startDayHour", isSignal: true, isRequired: true, transformFunction: null }, showCurrentTimeIndicator: { classPropertyName: "showCurrentTimeIndicator", publicName: "showCurrentTimeIndicator", isSignal: true, isRequired: false, transformFunction: null }, appointments: { classPropertyName: "appointments", publicName: "appointments", isSignal: true, isRequired: false, transformFunction: null }, tooltipTemplate: { classPropertyName: "tooltipTemplate", publicName: "tooltipTemplate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { slotClickedInternal: "slotClickedInternal", slotDblClickedInternal: "slotDblClickedInternal", slotRightClickedInternal: "slotRightClickedInternal", appointmentClickedInternal: "appointmentClickedInternal", appointmentDblClickedInternal: "appointmentDblClickedInternal", appointmentRightClickedInternal: "appointmentRightClickedInternal", onActionClickInternal: "onActionClickInternal", onAppointmentDropInternal: "onAppointmentDropInternal" }, host: { properties: { "class.ax-state-readonly": "this.isReadonly" } }, providers: [{ provide: AXComponent, useExisting: AXSchedulerDayViewComponent }], viewQueries: [{ propertyName: "currentTimeLineElement", first: true, predicate: ["currentTimeLine"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-scheduler-day-header\">\n  <div class=\"ax-scheduler-day-header-table\" aria-hidden=\"true\">\n    <div>\n      {{ '@acorex:dateTime.duration.all-day' | translate | async }}\n    </div>\n  </div>\n  <div\n    axDropZone\n    #zone=\"axDropZone\"\n    (onElementDrop)=\"handleAllDayDrop($event)\"\n    [class.ax-scheduler-slot-hovered]=\"zone.isHovered()\"\n    (click)=\"handleAllDaySlotEvent($event)\"\n    (dblclick)=\"handleAllDaySlotEvent($event)\"\n    (contextmenu)=\"handleAllDaySlotEvent($event)\"\n    class=\"ax-scheduler-day-header-table-container\"\n    [attr.data-slot-id]=\"date().format('YYYYMMDD') + '-allday'\"\n  >\n    <div class=\"ax-scheduler-day-header-appointment-container\">\n      @if (allDayAppointments().length) {\n        <div\n          axDrag\n          [dragCursor]=\"'grab'\"\n          [dragTransition]=\"false\"\n          [dragElementClone]=\"true\"\n          [dragStartDelay]=\"dragStartDelay()\"\n          [dragDisabled]=\"!draggable() || allDayAppointments()[0].readonly || readonly()\"\n          (pointerdown)=\"getSlotId($event)\"\n          [dragData]=\"allDayAppointments()[0]\"\n          (click)=\"handleAppointmentEvent($event, allDayAppointments()[0])\"\n          (dblclick)=\"handleAppointmentEvent($event, allDayAppointments()[0])\"\n          (contextmenu)=\"handleAppointmentEvent($event, allDayAppointments()[0])\"\n          [title]=\"tooltipTemplate() ? '' : allDayAppointments()[0].title\"\n          class=\"ax-scheduler-header-day-appointment\"\n          [ngClass]=\"\n            allDayAppointments()[0].cssClass ??\n            `ax-scheduler-${allDayAppointments()[0].priority ?? 'primary'}-periority`\n          \"\n          [axTooltipDisabled]=\"tooltipTemplate() ? false : true\"\n          [axTooltipContext]=\"allDayAppointments()[0]\"\n          [axTooltip]=\"tooltipTemplate()\"\n        >\n          <ax-title>\n            <span class=\"ax-scheduler-truncate\">{{ allDayAppointments()[0].title }}</span>\n            @if (hasActions()) {\n              <ax-icon\n                (click)=\"handleActionClick($event, allDayAppointments()[0])\"\n                class=\"ax-icon ax-icon-more-horizontal ax-scheduler-action-icon\"\n              >\n              </ax-icon>\n            }\n          </ax-title>\n          <ax-subtitle>\n            {{ allDayAppointments()[0].startDate | format: 'date' : { calendar: calendar() } | async }}\n            -\n            {{ allDayAppointments()[0].endDate | format: 'date' : { calendar: calendar() } | async }}\n          </ax-subtitle>\n        </div>\n      }\n      @if (allDayAppointments().length > 1) {\n        <div\n          #moreAppointments\n          class=\"ax-scheduler-day-header-more-tag\"\n          [ngClass]=\"\n            allDayAppointments()[1].cssClass ??\n            `ax-scheduler-${allDayAppointments()[1].priority ?? 'primary'}-periority`\n          \"\n        >\n          {{\n            '@acorex:common.general.more-items'\n              | translate: { params: { number: allDayAppointments().length - 1 } }\n              | async\n          }}\n        </div>\n        <ax-popover [target]=\"moreAppointments\">\n          <div class=\"ax-overlay-pane ax-scheduler-popover\" [class.ax-state-readonly]=\"readonly()\" axDropZone>\n            @for (appointment of allDayAppointments(); track appointment.id; let first = $first) {\n              @if (!first) {\n                <div\n                  axDrag\n                  [dragCursor]=\"'grab'\"\n                  [dragData]=\"appointment\"\n                  [dragTransition]=\"false\"\n                  [dragElementClone]=\"true\"\n                  [dragStartDelay]=\"dragStartDelay()\"\n                  [dragDisabled]=\"!draggable() || appointment.readonly || readonly()\"\n                  (click)=\"handleAppointmentEvent($event, appointment)\"\n                  (dblclick)=\"handleAppointmentEvent($event, appointment)\"\n                  (contextmenu)=\"handleAppointmentEvent($event, appointment)\"\n                  [title]=\"tooltipTemplate() ? '' : appointment.title\"\n                  class=\"ax-scheduler-popover-appointment\"\n                  [ngClass]=\"appointment.cssClass ?? `ax-scheduler-${appointment.priority ?? 'primary'}-periority`\"\n                  [axTooltipDisabled]=\"tooltipTemplate() ? false : true\"\n                  [axTooltipContext]=\"appointment\"\n                  [axTooltip]=\"tooltipTemplate()\"\n                >\n                  <ax-title>\n                    <span class=\"ax-scheduler-truncate\">{{ appointment.title }}</span>\n                    @if (hasActions()) {\n                      <ax-icon\n                        (click)=\"handleActionClick($event, appointment)\"\n                        class=\"ax-icon ax-icon-more-horizontal ax-scheduler-action-icon\"\n                      >\n                      </ax-icon>\n                    }\n                  </ax-title>\n                  <ax-subtitle>\n                    {{ appointment.startDate | format: 'date' : { calendar: calendar() } | async }}\n                    -\n                    {{ appointment.endDate | format: 'date' : { calendar: calendar() } | async }}\n                  </ax-subtitle>\n                </div>\n              }\n            }\n          </div>\n        </ax-popover>\n      }\n    </div>\n  </div>\n</div>\n\n<div class=\"ax-scheduler-day-time-container\">\n  <table class=\"ax-scheduler-day-time\" aria-hidden=\"true\" [border]=\"1\">\n    @for (time of hoursArray(); track time.date.getTime()) {\n      <div>\n        {{ time | format: 'time' : { format: 'HH:mm', calendar: calendar() } | async }}\n      </div>\n    }\n  </table>\n  <div class=\"ax-scheduler-day-table-container\">\n    <!-- Current Time Line Indicator -->\n    @if (showCurrentTimeIndicator() && getCurrentTimePositionWithOffset() !== null) {\n      <div\n        #currentTimeLine\n        class=\"ax-scheduler-current-time-line\"\n        [style.inset-block-start]=\"getCurrentTimePositionWithOffset()\"\n      ></div>\n    }\n    <div class=\"ax-scheduler-day-appointment-container\">\n      @for (appointment of singleDayAppointments(); track appointment.id) {\n        <div\n          axDrag\n          [dragCursor]=\"'grab'\"\n          [dragData]=\"appointment\"\n          [dragTransition]=\"false\"\n          [dragElementClone]=\"true\"\n          [dragStartDelay]=\"dragStartDelay()\"\n          [dragDisabled]=\"!draggable() || appointment.readonly || readonly()\"\n          (pointerdown)=\"getSlotId($event)\"\n          (click)=\"handleAppointmentEvent($event, appointment)\"\n          (dblclick)=\"handleAppointmentEvent($event, appointment)\"\n          (contextmenu)=\"handleAppointmentEvent($event, appointment)\"\n          [title]=\"tooltipTemplate() ? '' : appointment.title\"\n          class=\"ax-scheduler-day-appointment\"\n          [style.width]=\"getAppointmentWidth(appointment.id)\"\n          [style.height]=\"getAppointmentHeight(appointment.id)\"\n          [style.inset-block-start]=\"getAppointmentTop(appointment.id)\"\n          [style.inset-inline-start]=\"getAppointmentLeft(appointment.id)\"\n          [ngClass]=\"appointment.cssClass ?? `ax-scheduler-${appointment.priority ?? 'primary'}-periority`\"\n          [axTooltipDisabled]=\"tooltipTemplate() ? false : true\"\n          [axTooltipContext]=\"appointment\"\n          [axTooltip]=\"tooltipTemplate()\"\n        >\n          <ax-title>\n            <span class=\"ax-scheduler-truncate\">{{ appointment.title }}</span>\n            @if (hasActions()) {\n              <ax-icon\n                (click)=\"handleActionClick($event, appointment)\"\n                class=\"ax-icon ax-icon-more-horizontal ax-scheduler-action-icon\"\n              >\n              </ax-icon>\n            }\n          </ax-title>\n          <ax-subtitle>\n            {{ appointment.originalStartDate | format: 'time' : { calendar: calendar() } | async }} -\n            {{ appointment.originalEndDate | format: 'time' : { calendar: calendar() } | async }}\n          </ax-subtitle>\n        </div>\n      }\n    </div>\n    <div aria-hidden=\"true\" class=\"ax-scheduler-day-slot\">\n      @for (time of hoursArray(); track time.date.getTime()) {\n        <div\n          axDropZone\n          #zone=\"axDropZone\"\n          (onElementDrop)=\"handleSingleDayDrop($event, time)\"\n          [class.ax-scheduler-slot-hovered]=\"zone.isHovered()\"\n          (click)=\"handleSingleSlotEvent($event, time)\"\n          (dblclick)=\"handleSingleSlotEvent($event, time)\"\n          (contextmenu)=\"handleSingleSlotEvent($event, time)\"\n          [attr.data-slot-id]=\"time.format('YYYYMMDD-HHmm')\"\n        ></div>\n        <div\n          axDropZone\n          #zone2=\"axDropZone\"\n          [class.ax-scheduler-slot-hovered]=\"zone2.isHovered()\"\n          (onElementDrop)=\"handleSingleDayDrop($event, time.add('minute', 30))\"\n          (click)=\"handleSingleSlotEvent($event, time.add('minute', 30))\"\n          (dblclick)=\"handleSingleSlotEvent($event, time.add('minute', 30))\"\n          (contextmenu)=\"handleSingleSlotEvent($event, time.add('minute', 30))\"\n          [attr.data-slot-id]=\"time.add('minute', 30).format('YYYYMMDD-HHmm')\"\n        ></div>\n      }\n    </div>\n  </div>\n</div>\n", styles: ["ax-scheduler-day-view{display:block;position:relative;background-color:inherit;min-width:var(--ax-comp-scheduler-width)}ax-scheduler-day-view .ax-scheduler-day-header{top:0;z-index:10;width:100%;display:flex;position:sticky;background-color:var(--ax-comp-scheduler-all-day-bg, inherit);border-block-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-day-view .ax-scheduler-day-header .ax-scheduler-day-header-table{z-index:10;position:sticky;inset-inline-start:0;background-color:inherit}ax-scheduler-day-view .ax-scheduler-day-header .ax-scheduler-day-header-table div{display:flex;align-items:center;justify-content:center;width:var(--ax-comp-scheduler-basic-view-blocks-width);height:var(--ax-comp-scheduler-basic-view-blocks-height);border-inline-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-day-view .ax-scheduler-day-header .ax-scheduler-day-header-table-container{width:100%;display:flex}ax-scheduler-day-view .ax-scheduler-day-header .ax-scheduler-day-header-table-container .ax-scheduler-day-header-appointment-container{gap:1rem;display:flex;width:calc(100% - 2.5rem)}ax-scheduler-day-view .ax-scheduler-day-header .ax-scheduler-day-header-table-container .ax-scheduler-day-header-appointment-container .ax-scheduler-header-day-appointment{width:100%;display:flex;overflow:hidden;flex-direction:column;padding-inline:.5rem;justify-content:center;border-radius:calc(var(--ax-sys-border-radius) / 2)}ax-scheduler-day-view .ax-scheduler-day-header .ax-scheduler-day-header-table-container .ax-scheduler-day-header-appointment-container .ax-scheduler-day-header-more-tag{display:flex;cursor:pointer;text-wrap:nowrap;flex-direction:column;padding-inline:.5rem;justify-content:center;border-radius:var(--ax-sys-border-radius)}ax-scheduler-day-view .ax-scheduler-day-time-container{width:100%;display:flex;background-color:inherit}ax-scheduler-day-view .ax-scheduler-day-time-container .ax-scheduler-day-time{z-index:15;position:sticky;inset-inline-start:0;background-color:var(--ax-comp-scheduler-all-day-bg, inherit)}ax-scheduler-day-view .ax-scheduler-day-time-container .ax-scheduler-day-time div{display:block;text-align:center;padding-inline:.5rem;width:var(--ax-comp-scheduler-basic-view-blocks-width);height:calc(var(--ax-comp-scheduler-basic-view-blocks-height) * 2);border-inline-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface));position:relative}ax-scheduler-day-view .ax-scheduler-day-time-container .ax-scheduler-day-table-container{width:100%;position:relative}ax-scheduler-day-view .ax-scheduler-day-time-container .ax-scheduler-day-table-container .ax-scheduler-day-appointment-container{top:0;position:absolute;width:calc(100% - 2.5rem)}ax-scheduler-day-view .ax-scheduler-day-time-container .ax-scheduler-day-table-container .ax-scheduler-day-appointment-container .ax-scheduler-day-appointment{width:100%;display:flex;overflow:hidden;position:absolute;inset-inline-start:0;flex-direction:column;padding-block:.25rem;padding-inline:.5rem;border-radius:calc(var(--ax-sys-border-radius) / 2)}ax-scheduler-day-view .ax-scheduler-day-time-container .ax-scheduler-day-table-container .ax-scheduler-day-slot{width:100%}ax-scheduler-day-view .ax-scheduler-day-time-container .ax-scheduler-day-table-container .ax-scheduler-day-slot div{height:var(--ax-comp-scheduler-basic-view-blocks-height);display:block;padding-inline:.5rem;border-block-start:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-day-view .ax-scheduler-day-time-container .ax-scheduler-day-table-container .ax-scheduler-day-slot div:first-child{border-block-start-width:0}ax-scheduler-day-view:not(.ax-state-readonly) .ax-scheduler-header-day-appointment,ax-scheduler-day-view:not(.ax-state-readonly) .ax-scheduler-day-appointment{cursor:pointer}ax-scheduler-day-view:not(.ax-state-readonly) .ax-scheduler-day-header-table-container,ax-scheduler-day-view:not(.ax-state-readonly) .ax-scheduler-day-slot>div{cursor:pointer;transition-property:background-color;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function)}ax-scheduler-day-view:not(.ax-state-readonly) .ax-scheduler-day-header-table-container:hover,ax-scheduler-day-view:not(.ax-state-readonly) .ax-scheduler-day-slot>div:hover{background-color:rgba(var(--ax-comp-scheduler-slot-hover-bg, var(--ax-sys-color-primary-surface), .1))}ax-scheduler-day-view ax-title{display:flex;justify-content:space-between}ax-scheduler-day-view ax-title .ax-scheduler-action-icon{width:auto;cursor:pointer}ax-scheduler-day-view .ax-scheduler-current-time-line{left:0;right:0;height:2px}ax-scheduler-day-view .ax-scheduler-current-time-line:before{top:-5px;inset-inline-start:-6px}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: AXDragDirective, selector: "[axDrag]", inputs: ["dragData", "dragDisabled", "dragTransition", "dragElementClone", "dropZoneGroup", "dragStartDelay", "dragResetOnDblClick", "dragLockAxis", "dragClonedTemplate", "dragCursor", "dragBoundary", "dragTransitionDuration"], outputs: ["dragPositionChanged"] }, { kind: "component", type: AXPopoverComponent, selector: "ax-popover", inputs: ["width", "disabled", "offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "backdropClass", "panelClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "directive", type: AXTooltipDirective, selector: "[axTooltip]", inputs: ["axTooltipDisabled", "axTooltip", "axTooltipContext", "axTooltipPlacement", "axTooltipOffsetX", "axTooltipOffsetY", "axTooltipOpenAfter", "axTooltipCloseAfter"] }, { kind: "directive", type: AXDropZoneDirective, selector: "[axDropZone]", inputs: ["dropZoneGroup"], outputs: ["onElementDrop", "onElementHover"], exportAs: ["axDropZone"] }, { kind: "component", type: AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: 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: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: AXFormatPipe, name: "format" }, { kind: "pipe", type: AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
         
     | 
| 
       1173 
1173 
     | 
    
         
             
            }
         
     | 
| 
       1174 
     | 
    
         
            -
            i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3. 
     | 
| 
      
 1174 
     | 
    
         
            +
            i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: AXSchedulerDayViewComponent, decorators: [{
         
     | 
| 
       1175 
1175 
     | 
    
         
             
                        type: Component,
         
     | 
| 
       1176 
1176 
     | 
    
         
             
                        args: [{ selector: 'ax-scheduler-day-view', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [
         
     | 
| 
       1177 
1177 
     | 
    
         
             
                                    NgClass,
         
     | 
| 
         @@ -1185,7 +1185,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImpor 
     | 
|
| 
       1185 
1185 
     | 
    
         
             
                                    AXDecoratorIconComponent,
         
     | 
| 
       1186 
1186 
     | 
    
         
             
                                    AXDecoratorGenericComponent,
         
     | 
| 
       1187 
1187 
     | 
    
         
             
                                ], providers: [{ provide: AXComponent, useExisting: AXSchedulerDayViewComponent }], template: "<div class=\"ax-scheduler-day-header\">\n  <div class=\"ax-scheduler-day-header-table\" aria-hidden=\"true\">\n    <div>\n      {{ '@acorex:dateTime.duration.all-day' | translate | async }}\n    </div>\n  </div>\n  <div\n    axDropZone\n    #zone=\"axDropZone\"\n    (onElementDrop)=\"handleAllDayDrop($event)\"\n    [class.ax-scheduler-slot-hovered]=\"zone.isHovered()\"\n    (click)=\"handleAllDaySlotEvent($event)\"\n    (dblclick)=\"handleAllDaySlotEvent($event)\"\n    (contextmenu)=\"handleAllDaySlotEvent($event)\"\n    class=\"ax-scheduler-day-header-table-container\"\n    [attr.data-slot-id]=\"date().format('YYYYMMDD') + '-allday'\"\n  >\n    <div class=\"ax-scheduler-day-header-appointment-container\">\n      @if (allDayAppointments().length) {\n        <div\n          axDrag\n          [dragCursor]=\"'grab'\"\n          [dragTransition]=\"false\"\n          [dragElementClone]=\"true\"\n          [dragStartDelay]=\"dragStartDelay()\"\n          [dragDisabled]=\"!draggable() || allDayAppointments()[0].readonly || readonly()\"\n          (pointerdown)=\"getSlotId($event)\"\n          [dragData]=\"allDayAppointments()[0]\"\n          (click)=\"handleAppointmentEvent($event, allDayAppointments()[0])\"\n          (dblclick)=\"handleAppointmentEvent($event, allDayAppointments()[0])\"\n          (contextmenu)=\"handleAppointmentEvent($event, allDayAppointments()[0])\"\n          [title]=\"tooltipTemplate() ? '' : allDayAppointments()[0].title\"\n          class=\"ax-scheduler-header-day-appointment\"\n          [ngClass]=\"\n            allDayAppointments()[0].cssClass ??\n            `ax-scheduler-${allDayAppointments()[0].priority ?? 'primary'}-periority`\n          \"\n          [axTooltipDisabled]=\"tooltipTemplate() ? false : true\"\n          [axTooltipContext]=\"allDayAppointments()[0]\"\n          [axTooltip]=\"tooltipTemplate()\"\n        >\n          <ax-title>\n            <span class=\"ax-scheduler-truncate\">{{ allDayAppointments()[0].title }}</span>\n            @if (hasActions()) {\n              <ax-icon\n                (click)=\"handleActionClick($event, allDayAppointments()[0])\"\n                class=\"ax-icon ax-icon-more-horizontal ax-scheduler-action-icon\"\n              >\n              </ax-icon>\n            }\n          </ax-title>\n          <ax-subtitle>\n            {{ allDayAppointments()[0].startDate | format: 'date' : { calendar: calendar() } | async }}\n            -\n            {{ allDayAppointments()[0].endDate | format: 'date' : { calendar: calendar() } | async }}\n          </ax-subtitle>\n        </div>\n      }\n      @if (allDayAppointments().length > 1) {\n        <div\n          #moreAppointments\n          class=\"ax-scheduler-day-header-more-tag\"\n          [ngClass]=\"\n            allDayAppointments()[1].cssClass ??\n            `ax-scheduler-${allDayAppointments()[1].priority ?? 'primary'}-periority`\n          \"\n        >\n          {{\n            '@acorex:common.general.more-items'\n              | translate: { params: { number: allDayAppointments().length - 1 } }\n              | async\n          }}\n        </div>\n        <ax-popover [target]=\"moreAppointments\">\n          <div class=\"ax-overlay-pane ax-scheduler-popover\" [class.ax-state-readonly]=\"readonly()\" axDropZone>\n            @for (appointment of allDayAppointments(); track appointment.id; let first = $first) {\n              @if (!first) {\n                <div\n                  axDrag\n                  [dragCursor]=\"'grab'\"\n                  [dragData]=\"appointment\"\n                  [dragTransition]=\"false\"\n                  [dragElementClone]=\"true\"\n                  [dragStartDelay]=\"dragStartDelay()\"\n                  [dragDisabled]=\"!draggable() || appointment.readonly || readonly()\"\n                  (click)=\"handleAppointmentEvent($event, appointment)\"\n                  (dblclick)=\"handleAppointmentEvent($event, appointment)\"\n                  (contextmenu)=\"handleAppointmentEvent($event, appointment)\"\n                  [title]=\"tooltipTemplate() ? '' : appointment.title\"\n                  class=\"ax-scheduler-popover-appointment\"\n                  [ngClass]=\"appointment.cssClass ?? `ax-scheduler-${appointment.priority ?? 'primary'}-periority`\"\n                  [axTooltipDisabled]=\"tooltipTemplate() ? false : true\"\n                  [axTooltipContext]=\"appointment\"\n                  [axTooltip]=\"tooltipTemplate()\"\n                >\n                  <ax-title>\n                    <span class=\"ax-scheduler-truncate\">{{ appointment.title }}</span>\n                    @if (hasActions()) {\n                      <ax-icon\n                        (click)=\"handleActionClick($event, appointment)\"\n                        class=\"ax-icon ax-icon-more-horizontal ax-scheduler-action-icon\"\n                      >\n                      </ax-icon>\n                    }\n                  </ax-title>\n                  <ax-subtitle>\n                    {{ appointment.startDate | format: 'date' : { calendar: calendar() } | async }}\n                    -\n                    {{ appointment.endDate | format: 'date' : { calendar: calendar() } | async }}\n                  </ax-subtitle>\n                </div>\n              }\n            }\n          </div>\n        </ax-popover>\n      }\n    </div>\n  </div>\n</div>\n\n<div class=\"ax-scheduler-day-time-container\">\n  <table class=\"ax-scheduler-day-time\" aria-hidden=\"true\" [border]=\"1\">\n    @for (time of hoursArray(); track time.date.getTime()) {\n      <div>\n        {{ time | format: 'time' : { format: 'HH:mm', calendar: calendar() } | async }}\n      </div>\n    }\n  </table>\n  <div class=\"ax-scheduler-day-table-container\">\n    <!-- Current Time Line Indicator -->\n    @if (showCurrentTimeIndicator() && getCurrentTimePositionWithOffset() !== null) {\n      <div\n        #currentTimeLine\n        class=\"ax-scheduler-current-time-line\"\n        [style.inset-block-start]=\"getCurrentTimePositionWithOffset()\"\n      ></div>\n    }\n    <div class=\"ax-scheduler-day-appointment-container\">\n      @for (appointment of singleDayAppointments(); track appointment.id) {\n        <div\n          axDrag\n          [dragCursor]=\"'grab'\"\n          [dragData]=\"appointment\"\n          [dragTransition]=\"false\"\n          [dragElementClone]=\"true\"\n          [dragStartDelay]=\"dragStartDelay()\"\n          [dragDisabled]=\"!draggable() || appointment.readonly || readonly()\"\n          (pointerdown)=\"getSlotId($event)\"\n          (click)=\"handleAppointmentEvent($event, appointment)\"\n          (dblclick)=\"handleAppointmentEvent($event, appointment)\"\n          (contextmenu)=\"handleAppointmentEvent($event, appointment)\"\n          [title]=\"tooltipTemplate() ? '' : appointment.title\"\n          class=\"ax-scheduler-day-appointment\"\n          [style.width]=\"getAppointmentWidth(appointment.id)\"\n          [style.height]=\"getAppointmentHeight(appointment.id)\"\n          [style.inset-block-start]=\"getAppointmentTop(appointment.id)\"\n          [style.inset-inline-start]=\"getAppointmentLeft(appointment.id)\"\n          [ngClass]=\"appointment.cssClass ?? `ax-scheduler-${appointment.priority ?? 'primary'}-periority`\"\n          [axTooltipDisabled]=\"tooltipTemplate() ? false : true\"\n          [axTooltipContext]=\"appointment\"\n          [axTooltip]=\"tooltipTemplate()\"\n        >\n          <ax-title>\n            <span class=\"ax-scheduler-truncate\">{{ appointment.title }}</span>\n            @if (hasActions()) {\n              <ax-icon\n                (click)=\"handleActionClick($event, appointment)\"\n                class=\"ax-icon ax-icon-more-horizontal ax-scheduler-action-icon\"\n              >\n              </ax-icon>\n            }\n          </ax-title>\n          <ax-subtitle>\n            {{ appointment.originalStartDate | format: 'time' : { calendar: calendar() } | async }} -\n            {{ appointment.originalEndDate | format: 'time' : { calendar: calendar() } | async }}\n          </ax-subtitle>\n        </div>\n      }\n    </div>\n    <div aria-hidden=\"true\" class=\"ax-scheduler-day-slot\">\n      @for (time of hoursArray(); track time.date.getTime()) {\n        <div\n          axDropZone\n          #zone=\"axDropZone\"\n          (onElementDrop)=\"handleSingleDayDrop($event, time)\"\n          [class.ax-scheduler-slot-hovered]=\"zone.isHovered()\"\n          (click)=\"handleSingleSlotEvent($event, time)\"\n          (dblclick)=\"handleSingleSlotEvent($event, time)\"\n          (contextmenu)=\"handleSingleSlotEvent($event, time)\"\n          [attr.data-slot-id]=\"time.format('YYYYMMDD-HHmm')\"\n        ></div>\n        <div\n          axDropZone\n          #zone2=\"axDropZone\"\n          [class.ax-scheduler-slot-hovered]=\"zone2.isHovered()\"\n          (onElementDrop)=\"handleSingleDayDrop($event, time.add('minute', 30))\"\n          (click)=\"handleSingleSlotEvent($event, time.add('minute', 30))\"\n          (dblclick)=\"handleSingleSlotEvent($event, time.add('minute', 30))\"\n          (contextmenu)=\"handleSingleSlotEvent($event, time.add('minute', 30))\"\n          [attr.data-slot-id]=\"time.add('minute', 30).format('YYYYMMDD-HHmm')\"\n        ></div>\n      }\n    </div>\n  </div>\n</div>\n", styles: ["ax-scheduler-day-view{display:block;position:relative;background-color:inherit;min-width:var(--ax-comp-scheduler-width)}ax-scheduler-day-view .ax-scheduler-day-header{top:0;z-index:10;width:100%;display:flex;position:sticky;background-color:var(--ax-comp-scheduler-all-day-bg, inherit);border-block-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-day-view .ax-scheduler-day-header .ax-scheduler-day-header-table{z-index:10;position:sticky;inset-inline-start:0;background-color:inherit}ax-scheduler-day-view .ax-scheduler-day-header .ax-scheduler-day-header-table div{display:flex;align-items:center;justify-content:center;width:var(--ax-comp-scheduler-basic-view-blocks-width);height:var(--ax-comp-scheduler-basic-view-blocks-height);border-inline-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-day-view .ax-scheduler-day-header .ax-scheduler-day-header-table-container{width:100%;display:flex}ax-scheduler-day-view .ax-scheduler-day-header .ax-scheduler-day-header-table-container .ax-scheduler-day-header-appointment-container{gap:1rem;display:flex;width:calc(100% - 2.5rem)}ax-scheduler-day-view .ax-scheduler-day-header .ax-scheduler-day-header-table-container .ax-scheduler-day-header-appointment-container .ax-scheduler-header-day-appointment{width:100%;display:flex;overflow:hidden;flex-direction:column;padding-inline:.5rem;justify-content:center;border-radius:calc(var(--ax-sys-border-radius) / 2)}ax-scheduler-day-view .ax-scheduler-day-header .ax-scheduler-day-header-table-container .ax-scheduler-day-header-appointment-container .ax-scheduler-day-header-more-tag{display:flex;cursor:pointer;text-wrap:nowrap;flex-direction:column;padding-inline:.5rem;justify-content:center;border-radius:var(--ax-sys-border-radius)}ax-scheduler-day-view .ax-scheduler-day-time-container{width:100%;display:flex;background-color:inherit}ax-scheduler-day-view .ax-scheduler-day-time-container .ax-scheduler-day-time{z-index:15;position:sticky;inset-inline-start:0;background-color:var(--ax-comp-scheduler-all-day-bg, inherit)}ax-scheduler-day-view .ax-scheduler-day-time-container .ax-scheduler-day-time div{display:block;text-align:center;padding-inline:.5rem;width:var(--ax-comp-scheduler-basic-view-blocks-width);height:calc(var(--ax-comp-scheduler-basic-view-blocks-height) * 2);border-inline-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface));position:relative}ax-scheduler-day-view .ax-scheduler-day-time-container .ax-scheduler-day-table-container{width:100%;position:relative}ax-scheduler-day-view .ax-scheduler-day-time-container .ax-scheduler-day-table-container .ax-scheduler-day-appointment-container{top:0;position:absolute;width:calc(100% - 2.5rem)}ax-scheduler-day-view .ax-scheduler-day-time-container .ax-scheduler-day-table-container .ax-scheduler-day-appointment-container .ax-scheduler-day-appointment{width:100%;display:flex;overflow:hidden;position:absolute;inset-inline-start:0;flex-direction:column;padding-block:.25rem;padding-inline:.5rem;border-radius:calc(var(--ax-sys-border-radius) / 2)}ax-scheduler-day-view .ax-scheduler-day-time-container .ax-scheduler-day-table-container .ax-scheduler-day-slot{width:100%}ax-scheduler-day-view .ax-scheduler-day-time-container .ax-scheduler-day-table-container .ax-scheduler-day-slot div{height:var(--ax-comp-scheduler-basic-view-blocks-height);display:block;padding-inline:.5rem;border-block-start:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-day-view .ax-scheduler-day-time-container .ax-scheduler-day-table-container .ax-scheduler-day-slot div:first-child{border-block-start-width:0}ax-scheduler-day-view:not(.ax-state-readonly) .ax-scheduler-header-day-appointment,ax-scheduler-day-view:not(.ax-state-readonly) .ax-scheduler-day-appointment{cursor:pointer}ax-scheduler-day-view:not(.ax-state-readonly) .ax-scheduler-day-header-table-container,ax-scheduler-day-view:not(.ax-state-readonly) .ax-scheduler-day-slot>div{cursor:pointer;transition-property:background-color;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function)}ax-scheduler-day-view:not(.ax-state-readonly) .ax-scheduler-day-header-table-container:hover,ax-scheduler-day-view:not(.ax-state-readonly) .ax-scheduler-day-slot>div:hover{background-color:rgba(var(--ax-comp-scheduler-slot-hover-bg, var(--ax-sys-color-primary-surface), .1))}ax-scheduler-day-view ax-title{display:flex;justify-content:space-between}ax-scheduler-day-view ax-title .ax-scheduler-action-icon{width:auto;cursor:pointer}ax-scheduler-day-view .ax-scheduler-current-time-line{left:0;right:0;height:2px}ax-scheduler-day-view .ax-scheduler-current-time-line:before{top:-5px;inset-inline-start:-6px}\n"] }]
         
     | 
| 
       1188 
     | 
    
         
            -
                    }], propDecorators: { isReadonly: [{
         
     | 
| 
      
 1188 
     | 
    
         
            +
                    }], propDecorators: { readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], draggable: [{ type: i0.Input, args: [{ isSignal: true, alias: "draggable", required: false }] }], hasActions: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasActions", required: false }] }], dragStartDelay: [{ type: i0.Input, args: [{ isSignal: true, alias: "dragStartDelay", required: false }] }], calendar: [{ type: i0.Input, args: [{ isSignal: true, alias: "calendar", required: false }] }], date: [{ type: i0.Input, args: [{ isSignal: true, alias: "date", required: true }] }], endDayHour: [{ type: i0.Input, args: [{ isSignal: true, alias: "endDayHour", required: true }] }], startDayHour: [{ type: i0.Input, args: [{ isSignal: true, alias: "startDayHour", required: true }] }], showCurrentTimeIndicator: [{ type: i0.Input, args: [{ isSignal: true, alias: "showCurrentTimeIndicator", required: false }] }], appointments: [{ type: i0.Input, args: [{ isSignal: true, alias: "appointments", required: false }] }], tooltipTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "tooltipTemplate", required: false }] }], currentTimeLineElement: [{ type: i0.ViewChild, args: ['currentTimeLine', { isSignal: true }] }], slotClickedInternal: [{ type: i0.Output, args: ["slotClickedInternal"] }], slotDblClickedInternal: [{ type: i0.Output, args: ["slotDblClickedInternal"] }], slotRightClickedInternal: [{ type: i0.Output, args: ["slotRightClickedInternal"] }], appointmentClickedInternal: [{ type: i0.Output, args: ["appointmentClickedInternal"] }], appointmentDblClickedInternal: [{ type: i0.Output, args: ["appointmentDblClickedInternal"] }], appointmentRightClickedInternal: [{ type: i0.Output, args: ["appointmentRightClickedInternal"] }], onActionClickInternal: [{ type: i0.Output, args: ["onActionClickInternal"] }], onAppointmentDropInternal: [{ type: i0.Output, args: ["onAppointmentDropInternal"] }], isReadonly: [{
         
     | 
| 
       1189 
1189 
     | 
    
         
             
                            type: HostBinding,
         
     | 
| 
       1190 
1190 
     | 
    
         
             
                            args: ['class.ax-state-readonly']
         
     | 
| 
       1191 
1191 
     | 
    
         
             
                        }] } });
         
     | 
| 
         @@ -1417,10 +1417,10 @@ class AXSchedulerMonthViewComponent extends NXComponent { 
     | 
|
| 
       1417 
1417 
     | 
    
         
             
                get isReadonly() {
         
     | 
| 
       1418 
1418 
     | 
    
         
             
                    return this.readonly();
         
     | 
| 
       1419 
1419 
     | 
    
         
             
                }
         
     | 
| 
       1420 
     | 
    
         
            -
                static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3. 
     | 
| 
       1421 
     | 
    
         
            -
                static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.4", type: AXSchedulerMonthViewComponent, isStandalone: true, selector: "ax-scheduler-month-view", inputs: { readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, draggable: { classPropertyName: "draggable", publicName: "draggable", isSignal: true, isRequired: false, transformFunction: null }, hasActions: { classPropertyName: "hasActions", publicName: "hasActions", isSignal: true, isRequired: false, transformFunction: null }, dragStartDelay: { classPropertyName: "dragStartDelay", publicName: "dragStartDelay", isSignal: true, isRequired: false, transformFunction: null }, calendar: { classPropertyName: "calendar", publicName: "calendar", isSignal: true, isRequired: false, transformFunction: null }, date: { classPropertyName: "date", publicName: "date", isSignal: true, isRequired: true, transformFunction: null }, appointments: { classPropertyName: "appointments", publicName: "appointments", isSignal: true, isRequired: false, transformFunction: null }, firstDayOfWeek: { classPropertyName: "firstDayOfWeek", publicName: "firstDayOfWeek", isSignal: true, isRequired: false, transformFunction: null }, tooltipTemplate: { classPropertyName: "tooltipTemplate", publicName: "tooltipTemplate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { slotClickedInternal: "slotClickedInternal", slotDblClickedInternal: "slotDblClickedInternal", slotRightClickedInternal: "slotRightClickedInternal", appointmentClickedInternal: "appointmentClickedInternal", appointmentDblClickedInternal: "appointmentDblClickedInternal", appointmentRightClickedInternal: "appointmentRightClickedInternal", onActionClickInternal: "onActionClickInternal", onAppointmentDropInternal: "onAppointmentDropInternal" }, host: { properties: { "class.ax-state-readonly": "this.isReadonly" } }, providers: [{ provide: AXComponent, useExisting: AXSchedulerMonthViewComponent }], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-scheduler-month-container\">\n  <!-- Weekday Header -->\n  <div class=\"ax-scheduler-month-weekdays\">\n    @for (day of daysArray(); track day.date.getTime()) {\n      <div class=\"ax-scheduler-month-weekday\">\n        {{ day | format: 'date' : { format: 'dddd', calendar: calendar() } | async }}\n      </div>\n    }\n  </div>\n\n  <!-- Calendar Grid -->\n  <div class=\"ax-scheduler-month-grid\" [style.gridTemplateRows]=\"gridTemplateRowsStyle()\">\n    @for (dayCell of dayCellLayouts(); track dayCell.date.date.getTime()) {\n      <div\n        axDropZone\n        #zone=\"axDropZone\"\n        (onElementDrop)=\"handleDrop($event, dayCell.date)\"\n        [class.ax-scheduler-slot-hovered]=\"zone.isHovered()\"\n        (click)=\"handleSlotEvent($event, dayCell.date)\"\n        (dblclick)=\"handleSlotEvent($event, dayCell.date)\"\n        (contextmenu)=\"handleSlotEvent($event, dayCell.date)\"\n        class=\"ax-scheduler-month-day-cell {{\n          dayCell.isHoliday ? (dayCell.holidayCssClass ?? 'ax-state-holiday') : ''\n        }}\"\n        [class.ax-state-today]=\"dayCell.isToday\"\n        [class.ax-other-month]=\"!dayCell.isCurrentMonth\"\n        [attr.data-slot-id]=\"dayCell.date.format('YYYYMMDD')\"\n      >\n        <div class=\"ax-scheduler-month-day-header\">\n          <span class=\"ax-scheduler-month-day-number ax-scheduler-truncate\" [axTooltip]=\"dayCell.holidayTitle ?? ''\">\n            {{ dayCell.date.dayOfMonth }}\n\n            @if (dayCell.holidayTitle) {\n              ( {{ dayCell.holidayTitle }} )\n            }\n          </span>\n        </div>\n        <div class=\"ax-scheduler-month-day-appointments\">\n          <!-- Visible Appointment Segments -->\n          @for (segment of dayCell.visibleAppointments; track segment.id + segment.originalStartDate) {\n            <div\n              axDrag\n              [dragCursor]=\"'grab'\"\n              [dragData]=\"segment\"\n              [dragTransition]=\"false\"\n              [dragElementClone]=\"true\"\n              [dragStartDelay]=\"dragStartDelay()\"\n              [dragDisabled]=\"!draggable() || segment.readonly || readonly()\"\n              (pointerdown)=\"getSlotId($event)\"\n              (click)=\"handleAppointmentEvent($event, segment)\"\n              (dblclick)=\"handleAppointmentEvent($event, segment)\"\n              (contextmenu)=\"handleAppointmentEvent($event, segment)\"\n              [title]=\"\n                tooltipTemplate()\n                  ? ''\n                  : segment.title +\n                    (segment.allDay\n                      ? ''\n                      : ' (' +\n                        (segment.originalStartDate | format: 'time' : { calendar: calendar() } | async) +\n                        ' - ' +\n                        (segment.originalEndDate | format: 'time' : { calendar: calendar() } | async) +\n                        ')')\n              \"\n              [class.all-day-segment]=\"segment.allDay\"\n              class=\"ax-scheduler-month-appointment-chip\"\n              [ngClass]=\"segment.cssClass ?? `ax-scheduler-${segment.priority ?? 'primary'}-periority`\"\n              [class.continuation-to-next]=\"segment.isContinuationToNextDay && !segment.allDay\"\n              [class.continuation-from-prev]=\"segment.isContinuationFromPreviousDay && !segment.allDay\"\n              [axTooltipDisabled]=\"tooltipTemplate() ? false : true\"\n              [axTooltip]=\"tooltipTemplate()\"\n              [axTooltipContext]=\"segment\"\n            >\n              <span class=\"ax-appointment-chip-title\">\n                <span class=\"ax-scheduler-truncate\">{{ segment.title }}</span>\n                @if (hasActions()) {\n                  <ax-icon\n                    (click)=\"handleActionClick($event, segment)\"\n                    class=\"ax-icon ax-icon-more-horizontal ax-scheduler-action-icon\"\n                  >\n                  </ax-icon>\n                }\n              </span>\n              @if (!segment.allDay) {\n                <span>\n                  {{ segment.originalStartDate | format: 'time' : { format: 'HH:mm', calendar: calendar() } | async }}\n                  -\n                  {{ segment.originalEndDate | format: 'time' : { format: 'HH:mm', calendar: calendar() } | async }}\n                </span>\n              }\n            </div>\n          }\n          <!-- Overflow Badge and Popover -->\n          @if (dayCell.overflowCount > 0) {\n            <div #moreAppointments class=\"ax-scheduler-month-overflow-badge\" (click)=\"$event.stopPropagation()\">\n              <!-- Stop propagation to prevent slot click -->\n              +{{\n                '@acorex:common.general.more-items' | translate: { params: { number: dayCell.overflowCount } } | async\n              }}\n            </div>\n            <ax-popover [target]=\"moreAppointments\" placement=\"bottom-start\" trigger=\"click\">\n              <div\n                axDropZone\n                [class.ax-state-readonly]=\"readonly()\"\n                class=\"ax-overlay-pane ax-scheduler-popover ax-scheduler-month-popover-appointment\"\n              >\n                @for (segment of dayCell.hiddenAppointments; track segment.id + segment.originalStartDate) {\n                  <div\n                    axDrag\n                    [dragCursor]=\"'grab'\"\n                    [dragData]=\"segment\"\n                    [dragTransition]=\"false\"\n                    [dragElementClone]=\"true\"\n                    [dragStartDelay]=\"dragStartDelay()\"\n                    [dragDisabled]=\"!draggable() || segment.readonly || readonly()\"\n                    (click)=\"handleAppointmentEvent($event, segment); $event.stopPropagation()\"\n                    (dblclick)=\"handleAppointmentEvent($event, segment); $event.stopPropagation()\"\n                    (contextmenu)=\"handleAppointmentEvent($event, segment); $event.stopPropagation()\"\n                    [title]=\"\n                      tooltipTemplate()\n                        ? ''\n                        : segment.title +\n                          (segment.allDay\n                            ? ''\n                            : ' (' +\n                              (segment.originalStartDate | format: 'time' : { calendar: calendar() } | async) +\n                              ' - ' +\n                              (segment.originalEndDate | format: 'time' : { calendar: calendar() } | async) +\n                              ')')\n                    \"\n                    class=\"ax-scheduler-popover-appointment\"\n                    [class.all-day-segment]=\"segment.allDay\"\n                    [ngClass]=\"segment.cssClass ?? `ax-scheduler-${segment.priority ?? 'primary'}-periority`\"\n                    [axTooltipDisabled]=\"tooltipTemplate() ? false : true\"\n                    [axTooltip]=\"tooltipTemplate()\"\n                    [axTooltipContext]=\"segment\"\n                  >\n                    <span class=\"ax-appointment-chip-title\">\n                      <span class=\"ax-scheduler-truncate\">{{ segment.title }}</span>\n                      @if (hasActions()) {\n                        <ax-icon\n                          (click)=\"handleActionClick($event, segment)\"\n                          class=\"ax-icon ax-icon-more-horizontal ax-scheduler-action-icon\"\n                        >\n                        </ax-icon>\n                      }\n                    </span>\n                    @if (!segment.allDay) {\n                      <span>\n                        {{\n                          segment.originalStartDate | format: 'time' : { format: 'HH:mm', calendar: calendar() } | async\n                        }}\n                        -\n                        {{\n                          segment.originalEndDate | format: 'time' : { format: 'HH:mm', calendar: calendar() } | async\n                        }}\n                      </span>\n                    }\n                  </div>\n                }\n              </div>\n            </ax-popover>\n          }\n        </div>\n      </div>\n    }\n  </div>\n</div>\n", styles: ["ax-scheduler-month-view{height:100%;display:block;background-color:inherit;min-width:var(--ax-comp-scheduler-width)}ax-scheduler-month-view .ax-scheduler-month-container{height:100%;display:flex;flex-direction:column;background-color:inherit}ax-scheduler-month-view .ax-scheduler-month-weekdays{top:0;z-index:10;width:100%;display:grid;flex-shrink:0;position:sticky;padding:.5rem 0;text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));background-color:var(--ax-comp-scheduler-all-day-bg, inherit);border-bottom:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-month-view .ax-scheduler-month-weekdays .ax-scheduler-month-weekday{font-weight:500;font-size:.875rem}ax-scheduler-month-view .ax-scheduler-month-grid{width:100%;flex-grow:1;display:grid;grid-auto-rows:minmax(5rem,auto);grid-template-columns:repeat(7,minmax(0,1fr));border-left:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-month-view .ax-scheduler-month-grid .ax-scheduler-month-day-cell{padding:.25rem;overflow:hidden;position:relative;border-right:1px solid rgba(var(--ax-sys-color-border-lightest-surface));border-bottom:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-month-view .ax-scheduler-month-grid .ax-scheduler-month-day-cell.ax-other-month{background-color:rgba(var(--ax-sys-color-border-lightest-surface),.2)}ax-scheduler-month-view .ax-scheduler-month-grid .ax-scheduler-month-day-cell.ax-other-month .ax-scheduler-month-day-number{color:rgba(var(--ax-sys-color-on-surface),.5)}ax-scheduler-month-view .ax-scheduler-month-grid .ax-scheduler-month-day-cell.ax-state-today{background-color:rgba(var(--ax-sys-color-primary-surface),.05)}ax-scheduler-month-view .ax-scheduler-month-grid .ax-scheduler-month-day-cell.ax-state-today .ax-scheduler-month-day-number{font-weight:700;color:rgba(var(--ax-sys-color-primary-surface))}ax-scheduler-month-view .ax-scheduler-month-grid .ax-scheduler-month-day-cell.ax-state-today.ax-other-month{background-color:rgba(var(--ax-sys-color-primary-surface),.025)}ax-scheduler-month-view .ax-scheduler-month-grid .ax-scheduler-month-day-cell.ax-state-today.ax-other-month .ax-scheduler-month-day-number{color:rgba(var(--ax-sys-color-primary-surface),.5)}ax-scheduler-month-view .ax-scheduler-month-grid .ax-scheduler-month-day-cell.ax-state-holiday .ax-scheduler-month-day-number{font-weight:700;color:rgba(var(--ax-sys-color-danger-surface))}ax-scheduler-month-view .ax-scheduler-month-grid .ax-scheduler-month-day-cell.ax-state-holiday.ax-other-month .ax-scheduler-month-day-number{color:rgba(var(--ax-sys-color-danger-surface),.5)}ax-scheduler-month-view .ax-scheduler-month-grid .ax-scheduler-month-day-cell .ax-scheduler-month-day-header{text-align:center;margin-bottom:.25rem}ax-scheduler-month-view .ax-scheduler-month-grid .ax-scheduler-month-day-cell .ax-scheduler-month-day-header .ax-scheduler-month-day-number{max-width:100%;font-size:.875rem;display:inline-block}ax-scheduler-month-view .ax-scheduler-month-grid .ax-scheduler-month-day-cell .ax-scheduler-month-day-appointments{gap:.125rem;display:flex;overflow:hidden;flex-direction:column}ax-scheduler-month-view .ax-scheduler-month-grid .ax-scheduler-month-day-cell .ax-scheduler-month-day-appointments .ax-scheduler-month-appointment-chip{overflow:hidden;font-size:.75rem;white-space:nowrap;border-radius:.25rem;text-overflow:ellipsis;padding:.125rem .25rem}ax-scheduler-month-view .ax-scheduler-month-grid .ax-scheduler-month-day-cell .ax-scheduler-month-day-appointments .ax-scheduler-month-overflow-badge{cursor:pointer;text-align:left;font-size:.75rem;padding:.125rem 0;margin-top:.125rem}ax-scheduler-month-view .ax-scheduler-month-grid .ax-scheduler-month-day-cell .ax-scheduler-month-day-appointments .ax-scheduler-month-overflow-badge:hover{text-decoration:underline}ax-scheduler-month-view:not(.ax-state-readonly) .ax-scheduler-month-appointment-chip{cursor:pointer}ax-scheduler-month-view:not(.ax-state-readonly) .ax-scheduler-month-day-cell{cursor:pointer;transition-property:background-color;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function)}ax-scheduler-month-view:not(.ax-state-readonly) .ax-scheduler-month-day-cell:hover{background-color:rgba(var(--ax-comp-scheduler-slot-hover-bg, var(--ax-sys-color-primary-surface), .1))}ax-scheduler-month-view:not(.ax-state-readonly) .ax-scheduler-month-day-cell:hover.ax-state-holiday{background-color:rgba(var(--ax-sys-color-danger-surface),.1)}ax-scheduler-month-view .ax-appointment-chip-title{display:flex;justify-content:space-between}ax-scheduler-month-view .ax-appointment-chip-title .ax-scheduler-action-icon{width:auto;cursor:pointer}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: AXDragDirective, selector: "[axDrag]", inputs: ["dragData", "dragDisabled", "dragTransition", "dragElementClone", "dropZoneGroup", "dragStartDelay", "dragResetOnDblClick", "dragLockAxis", "dragClonedTemplate", "dragCursor", "dragBoundary", "dragTransitionDuration"], outputs: ["dragPositionChanged"] }, { kind: "component", type: AXPopoverComponent, selector: "ax-popover", inputs: ["width", "disabled", "offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "backdropClass", "panelClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "directive", type: AXTooltipDirective, selector: "[axTooltip]", inputs: ["axTooltipDisabled", "axTooltip", "axTooltipContext", "axTooltipPlacement", "axTooltipOffsetX", "axTooltipOffsetY", "axTooltipOpenAfter", "axTooltipCloseAfter"] }, { kind: "directive", type: AXDropZoneDirective, selector: "[axDropZone]", inputs: ["dropZoneGroup"], outputs: ["onElementDrop", "onElementHover"], exportAs: ["axDropZone"] }, { kind: "component", type: AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: AXFormatPipe, name: "format" }, { kind: "pipe", type: AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
         
     | 
| 
      
 1420 
     | 
    
         
            +
                static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: AXSchedulerMonthViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
         
     | 
| 
      
 1421 
     | 
    
         
            +
                static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.6", type: AXSchedulerMonthViewComponent, isStandalone: true, selector: "ax-scheduler-month-view", inputs: { readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, draggable: { classPropertyName: "draggable", publicName: "draggable", isSignal: true, isRequired: false, transformFunction: null }, hasActions: { classPropertyName: "hasActions", publicName: "hasActions", isSignal: true, isRequired: false, transformFunction: null }, dragStartDelay: { classPropertyName: "dragStartDelay", publicName: "dragStartDelay", isSignal: true, isRequired: false, transformFunction: null }, calendar: { classPropertyName: "calendar", publicName: "calendar", isSignal: true, isRequired: false, transformFunction: null }, date: { classPropertyName: "date", publicName: "date", isSignal: true, isRequired: true, transformFunction: null }, appointments: { classPropertyName: "appointments", publicName: "appointments", isSignal: true, isRequired: false, transformFunction: null }, firstDayOfWeek: { classPropertyName: "firstDayOfWeek", publicName: "firstDayOfWeek", isSignal: true, isRequired: false, transformFunction: null }, tooltipTemplate: { classPropertyName: "tooltipTemplate", publicName: "tooltipTemplate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { slotClickedInternal: "slotClickedInternal", slotDblClickedInternal: "slotDblClickedInternal", slotRightClickedInternal: "slotRightClickedInternal", appointmentClickedInternal: "appointmentClickedInternal", appointmentDblClickedInternal: "appointmentDblClickedInternal", appointmentRightClickedInternal: "appointmentRightClickedInternal", onActionClickInternal: "onActionClickInternal", onAppointmentDropInternal: "onAppointmentDropInternal" }, host: { properties: { "class.ax-state-readonly": "this.isReadonly" } }, providers: [{ provide: AXComponent, useExisting: AXSchedulerMonthViewComponent }], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-scheduler-month-container\">\n  <!-- Weekday Header -->\n  <div class=\"ax-scheduler-month-weekdays\">\n    @for (day of daysArray(); track day.date.getTime()) {\n      <div class=\"ax-scheduler-month-weekday\">\n        {{ day | format: 'date' : { format: 'dddd', calendar: calendar() } | async }}\n      </div>\n    }\n  </div>\n\n  <!-- Calendar Grid -->\n  <div class=\"ax-scheduler-month-grid\" [style.gridTemplateRows]=\"gridTemplateRowsStyle()\">\n    @for (dayCell of dayCellLayouts(); track dayCell.date.date.getTime()) {\n      <div\n        axDropZone\n        #zone=\"axDropZone\"\n        (onElementDrop)=\"handleDrop($event, dayCell.date)\"\n        [class.ax-scheduler-slot-hovered]=\"zone.isHovered()\"\n        (click)=\"handleSlotEvent($event, dayCell.date)\"\n        (dblclick)=\"handleSlotEvent($event, dayCell.date)\"\n        (contextmenu)=\"handleSlotEvent($event, dayCell.date)\"\n        class=\"ax-scheduler-month-day-cell {{\n          dayCell.isHoliday ? (dayCell.holidayCssClass ?? 'ax-state-holiday') : ''\n        }}\"\n        [class.ax-state-today]=\"dayCell.isToday\"\n        [class.ax-other-month]=\"!dayCell.isCurrentMonth\"\n        [attr.data-slot-id]=\"dayCell.date.format('YYYYMMDD')\"\n      >\n        <div class=\"ax-scheduler-month-day-header\">\n          <span class=\"ax-scheduler-month-day-number ax-scheduler-truncate\" [axTooltip]=\"dayCell.holidayTitle ?? ''\">\n            {{ dayCell.date.dayOfMonth }}\n\n            @if (dayCell.holidayTitle) {\n              ( {{ dayCell.holidayTitle }} )\n            }\n          </span>\n        </div>\n        <div class=\"ax-scheduler-month-day-appointments\">\n          <!-- Visible Appointment Segments -->\n          @for (segment of dayCell.visibleAppointments; track segment.id + segment.originalStartDate) {\n            <div\n              axDrag\n              [dragCursor]=\"'grab'\"\n              [dragData]=\"segment\"\n              [dragTransition]=\"false\"\n              [dragElementClone]=\"true\"\n              [dragStartDelay]=\"dragStartDelay()\"\n              [dragDisabled]=\"!draggable() || segment.readonly || readonly()\"\n              (pointerdown)=\"getSlotId($event)\"\n              (click)=\"handleAppointmentEvent($event, segment)\"\n              (dblclick)=\"handleAppointmentEvent($event, segment)\"\n              (contextmenu)=\"handleAppointmentEvent($event, segment)\"\n              [title]=\"\n                tooltipTemplate()\n                  ? ''\n                  : segment.title +\n                    (segment.allDay\n                      ? ''\n                      : ' (' +\n                        (segment.originalStartDate | format: 'time' : { calendar: calendar() } | async) +\n                        ' - ' +\n                        (segment.originalEndDate | format: 'time' : { calendar: calendar() } | async) +\n                        ')')\n              \"\n              [class.all-day-segment]=\"segment.allDay\"\n              class=\"ax-scheduler-month-appointment-chip\"\n              [ngClass]=\"segment.cssClass ?? `ax-scheduler-${segment.priority ?? 'primary'}-periority`\"\n              [class.continuation-to-next]=\"segment.isContinuationToNextDay && !segment.allDay\"\n              [class.continuation-from-prev]=\"segment.isContinuationFromPreviousDay && !segment.allDay\"\n              [axTooltipDisabled]=\"tooltipTemplate() ? false : true\"\n              [axTooltip]=\"tooltipTemplate()\"\n              [axTooltipContext]=\"segment\"\n            >\n              <span class=\"ax-appointment-chip-title\">\n                <span class=\"ax-scheduler-truncate\">{{ segment.title }}</span>\n                @if (hasActions()) {\n                  <ax-icon\n                    (click)=\"handleActionClick($event, segment)\"\n                    class=\"ax-icon ax-icon-more-horizontal ax-scheduler-action-icon\"\n                  >\n                  </ax-icon>\n                }\n              </span>\n              @if (!segment.allDay) {\n                <span>\n                  {{ segment.originalStartDate | format: 'time' : { format: 'HH:mm', calendar: calendar() } | async }}\n                  -\n                  {{ segment.originalEndDate | format: 'time' : { format: 'HH:mm', calendar: calendar() } | async }}\n                </span>\n              }\n            </div>\n          }\n          <!-- Overflow Badge and Popover -->\n          @if (dayCell.overflowCount > 0) {\n            <div #moreAppointments class=\"ax-scheduler-month-overflow-badge\" (click)=\"$event.stopPropagation()\">\n              <!-- Stop propagation to prevent slot click -->\n              +{{\n                '@acorex:common.general.more-items' | translate: { params: { number: dayCell.overflowCount } } | async\n              }}\n            </div>\n            <ax-popover [target]=\"moreAppointments\" placement=\"bottom-start\" trigger=\"click\">\n              <div\n                axDropZone\n                [class.ax-state-readonly]=\"readonly()\"\n                class=\"ax-overlay-pane ax-scheduler-popover ax-scheduler-month-popover-appointment\"\n              >\n                @for (segment of dayCell.hiddenAppointments; track segment.id + segment.originalStartDate) {\n                  <div\n                    axDrag\n                    [dragCursor]=\"'grab'\"\n                    [dragData]=\"segment\"\n                    [dragTransition]=\"false\"\n                    [dragElementClone]=\"true\"\n                    [dragStartDelay]=\"dragStartDelay()\"\n                    [dragDisabled]=\"!draggable() || segment.readonly || readonly()\"\n                    (click)=\"handleAppointmentEvent($event, segment); $event.stopPropagation()\"\n                    (dblclick)=\"handleAppointmentEvent($event, segment); $event.stopPropagation()\"\n                    (contextmenu)=\"handleAppointmentEvent($event, segment); $event.stopPropagation()\"\n                    [title]=\"\n                      tooltipTemplate()\n                        ? ''\n                        : segment.title +\n                          (segment.allDay\n                            ? ''\n                            : ' (' +\n                              (segment.originalStartDate | format: 'time' : { calendar: calendar() } | async) +\n                              ' - ' +\n                              (segment.originalEndDate | format: 'time' : { calendar: calendar() } | async) +\n                              ')')\n                    \"\n                    class=\"ax-scheduler-popover-appointment\"\n                    [class.all-day-segment]=\"segment.allDay\"\n                    [ngClass]=\"segment.cssClass ?? `ax-scheduler-${segment.priority ?? 'primary'}-periority`\"\n                    [axTooltipDisabled]=\"tooltipTemplate() ? false : true\"\n                    [axTooltip]=\"tooltipTemplate()\"\n                    [axTooltipContext]=\"segment\"\n                  >\n                    <span class=\"ax-appointment-chip-title\">\n                      <span class=\"ax-scheduler-truncate\">{{ segment.title }}</span>\n                      @if (hasActions()) {\n                        <ax-icon\n                          (click)=\"handleActionClick($event, segment)\"\n                          class=\"ax-icon ax-icon-more-horizontal ax-scheduler-action-icon\"\n                        >\n                        </ax-icon>\n                      }\n                    </span>\n                    @if (!segment.allDay) {\n                      <span>\n                        {{\n                          segment.originalStartDate | format: 'time' : { format: 'HH:mm', calendar: calendar() } | async\n                        }}\n                        -\n                        {{\n                          segment.originalEndDate | format: 'time' : { format: 'HH:mm', calendar: calendar() } | async\n                        }}\n                      </span>\n                    }\n                  </div>\n                }\n              </div>\n            </ax-popover>\n          }\n        </div>\n      </div>\n    }\n  </div>\n</div>\n", styles: ["ax-scheduler-month-view{height:100%;display:block;background-color:inherit;min-width:var(--ax-comp-scheduler-width)}ax-scheduler-month-view .ax-scheduler-month-container{height:100%;display:flex;flex-direction:column;background-color:inherit}ax-scheduler-month-view .ax-scheduler-month-weekdays{top:0;z-index:10;width:100%;display:grid;flex-shrink:0;position:sticky;padding:.5rem 0;text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));background-color:var(--ax-comp-scheduler-all-day-bg, inherit);border-bottom:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-month-view .ax-scheduler-month-weekdays .ax-scheduler-month-weekday{font-weight:500;font-size:.875rem}ax-scheduler-month-view .ax-scheduler-month-grid{width:100%;flex-grow:1;display:grid;grid-auto-rows:minmax(5rem,auto);grid-template-columns:repeat(7,minmax(0,1fr));border-left:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-month-view .ax-scheduler-month-grid .ax-scheduler-month-day-cell{padding:.25rem;overflow:hidden;position:relative;border-right:1px solid rgba(var(--ax-sys-color-border-lightest-surface));border-bottom:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-month-view .ax-scheduler-month-grid .ax-scheduler-month-day-cell.ax-other-month{background-color:rgba(var(--ax-sys-color-border-lightest-surface),.2)}ax-scheduler-month-view .ax-scheduler-month-grid .ax-scheduler-month-day-cell.ax-other-month .ax-scheduler-month-day-number{color:rgba(var(--ax-sys-color-on-surface),.5)}ax-scheduler-month-view .ax-scheduler-month-grid .ax-scheduler-month-day-cell.ax-state-today{background-color:rgba(var(--ax-sys-color-primary-surface),.05)}ax-scheduler-month-view .ax-scheduler-month-grid .ax-scheduler-month-day-cell.ax-state-today .ax-scheduler-month-day-number{font-weight:700;color:rgba(var(--ax-sys-color-primary-surface))}ax-scheduler-month-view .ax-scheduler-month-grid .ax-scheduler-month-day-cell.ax-state-today.ax-other-month{background-color:rgba(var(--ax-sys-color-primary-surface),.025)}ax-scheduler-month-view .ax-scheduler-month-grid .ax-scheduler-month-day-cell.ax-state-today.ax-other-month .ax-scheduler-month-day-number{color:rgba(var(--ax-sys-color-primary-surface),.5)}ax-scheduler-month-view .ax-scheduler-month-grid .ax-scheduler-month-day-cell.ax-state-holiday .ax-scheduler-month-day-number{font-weight:700;color:rgba(var(--ax-sys-color-danger-surface))}ax-scheduler-month-view .ax-scheduler-month-grid .ax-scheduler-month-day-cell.ax-state-holiday.ax-other-month .ax-scheduler-month-day-number{color:rgba(var(--ax-sys-color-danger-surface),.5)}ax-scheduler-month-view .ax-scheduler-month-grid .ax-scheduler-month-day-cell .ax-scheduler-month-day-header{text-align:center;margin-bottom:.25rem}ax-scheduler-month-view .ax-scheduler-month-grid .ax-scheduler-month-day-cell .ax-scheduler-month-day-header .ax-scheduler-month-day-number{max-width:100%;font-size:.875rem;display:inline-block}ax-scheduler-month-view .ax-scheduler-month-grid .ax-scheduler-month-day-cell .ax-scheduler-month-day-appointments{gap:.125rem;display:flex;overflow:hidden;flex-direction:column}ax-scheduler-month-view .ax-scheduler-month-grid .ax-scheduler-month-day-cell .ax-scheduler-month-day-appointments .ax-scheduler-month-appointment-chip{overflow:hidden;font-size:.75rem;white-space:nowrap;border-radius:.25rem;text-overflow:ellipsis;padding:.125rem .25rem}ax-scheduler-month-view .ax-scheduler-month-grid .ax-scheduler-month-day-cell .ax-scheduler-month-day-appointments .ax-scheduler-month-overflow-badge{cursor:pointer;text-align:left;font-size:.75rem;padding:.125rem 0;margin-top:.125rem}ax-scheduler-month-view .ax-scheduler-month-grid .ax-scheduler-month-day-cell .ax-scheduler-month-day-appointments .ax-scheduler-month-overflow-badge:hover{text-decoration:underline}ax-scheduler-month-view:not(.ax-state-readonly) .ax-scheduler-month-appointment-chip{cursor:pointer}ax-scheduler-month-view:not(.ax-state-readonly) .ax-scheduler-month-day-cell{cursor:pointer;transition-property:background-color;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function)}ax-scheduler-month-view:not(.ax-state-readonly) .ax-scheduler-month-day-cell:hover{background-color:rgba(var(--ax-comp-scheduler-slot-hover-bg, var(--ax-sys-color-primary-surface), .1))}ax-scheduler-month-view:not(.ax-state-readonly) .ax-scheduler-month-day-cell:hover.ax-state-holiday{background-color:rgba(var(--ax-sys-color-danger-surface),.1)}ax-scheduler-month-view .ax-appointment-chip-title{display:flex;justify-content:space-between}ax-scheduler-month-view .ax-appointment-chip-title .ax-scheduler-action-icon{width:auto;cursor:pointer}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: AXDragDirective, selector: "[axDrag]", inputs: ["dragData", "dragDisabled", "dragTransition", "dragElementClone", "dropZoneGroup", "dragStartDelay", "dragResetOnDblClick", "dragLockAxis", "dragClonedTemplate", "dragCursor", "dragBoundary", "dragTransitionDuration"], outputs: ["dragPositionChanged"] }, { kind: "component", type: AXPopoverComponent, selector: "ax-popover", inputs: ["width", "disabled", "offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "backdropClass", "panelClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "directive", type: AXTooltipDirective, selector: "[axTooltip]", inputs: ["axTooltipDisabled", "axTooltip", "axTooltipContext", "axTooltipPlacement", "axTooltipOffsetX", "axTooltipOffsetY", "axTooltipOpenAfter", "axTooltipCloseAfter"] }, { kind: "directive", type: AXDropZoneDirective, selector: "[axDropZone]", inputs: ["dropZoneGroup"], outputs: ["onElementDrop", "onElementHover"], exportAs: ["axDropZone"] }, { kind: "component", type: AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: AXFormatPipe, name: "format" }, { kind: "pipe", type: AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
         
     | 
| 
       1422 
1422 
     | 
    
         
             
            }
         
     | 
| 
       1423 
     | 
    
         
            -
            i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3. 
     | 
| 
      
 1423 
     | 
    
         
            +
            i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: AXSchedulerMonthViewComponent, decorators: [{
         
     | 
| 
       1424 
1424 
     | 
    
         
             
                        type: Component,
         
     | 
| 
       1425 
1425 
     | 
    
         
             
                        args: [{ selector: 'ax-scheduler-month-view', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [
         
     | 
| 
       1426 
1426 
     | 
    
         
             
                                    NgClass,
         
     | 
| 
         @@ -1433,7 +1433,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImpor 
     | 
|
| 
       1433 
1433 
     | 
    
         
             
                                    AXDropZoneDirective,
         
     | 
| 
       1434 
1434 
     | 
    
         
             
                                    AXDecoratorIconComponent,
         
     | 
| 
       1435 
1435 
     | 
    
         
             
                                ], providers: [{ provide: AXComponent, useExisting: AXSchedulerMonthViewComponent }], template: "<div class=\"ax-scheduler-month-container\">\n  <!-- Weekday Header -->\n  <div class=\"ax-scheduler-month-weekdays\">\n    @for (day of daysArray(); track day.date.getTime()) {\n      <div class=\"ax-scheduler-month-weekday\">\n        {{ day | format: 'date' : { format: 'dddd', calendar: calendar() } | async }}\n      </div>\n    }\n  </div>\n\n  <!-- Calendar Grid -->\n  <div class=\"ax-scheduler-month-grid\" [style.gridTemplateRows]=\"gridTemplateRowsStyle()\">\n    @for (dayCell of dayCellLayouts(); track dayCell.date.date.getTime()) {\n      <div\n        axDropZone\n        #zone=\"axDropZone\"\n        (onElementDrop)=\"handleDrop($event, dayCell.date)\"\n        [class.ax-scheduler-slot-hovered]=\"zone.isHovered()\"\n        (click)=\"handleSlotEvent($event, dayCell.date)\"\n        (dblclick)=\"handleSlotEvent($event, dayCell.date)\"\n        (contextmenu)=\"handleSlotEvent($event, dayCell.date)\"\n        class=\"ax-scheduler-month-day-cell {{\n          dayCell.isHoliday ? (dayCell.holidayCssClass ?? 'ax-state-holiday') : ''\n        }}\"\n        [class.ax-state-today]=\"dayCell.isToday\"\n        [class.ax-other-month]=\"!dayCell.isCurrentMonth\"\n        [attr.data-slot-id]=\"dayCell.date.format('YYYYMMDD')\"\n      >\n        <div class=\"ax-scheduler-month-day-header\">\n          <span class=\"ax-scheduler-month-day-number ax-scheduler-truncate\" [axTooltip]=\"dayCell.holidayTitle ?? ''\">\n            {{ dayCell.date.dayOfMonth }}\n\n            @if (dayCell.holidayTitle) {\n              ( {{ dayCell.holidayTitle }} )\n            }\n          </span>\n        </div>\n        <div class=\"ax-scheduler-month-day-appointments\">\n          <!-- Visible Appointment Segments -->\n          @for (segment of dayCell.visibleAppointments; track segment.id + segment.originalStartDate) {\n            <div\n              axDrag\n              [dragCursor]=\"'grab'\"\n              [dragData]=\"segment\"\n              [dragTransition]=\"false\"\n              [dragElementClone]=\"true\"\n              [dragStartDelay]=\"dragStartDelay()\"\n              [dragDisabled]=\"!draggable() || segment.readonly || readonly()\"\n              (pointerdown)=\"getSlotId($event)\"\n              (click)=\"handleAppointmentEvent($event, segment)\"\n              (dblclick)=\"handleAppointmentEvent($event, segment)\"\n              (contextmenu)=\"handleAppointmentEvent($event, segment)\"\n              [title]=\"\n                tooltipTemplate()\n                  ? ''\n                  : segment.title +\n                    (segment.allDay\n                      ? ''\n                      : ' (' +\n                        (segment.originalStartDate | format: 'time' : { calendar: calendar() } | async) +\n                        ' - ' +\n                        (segment.originalEndDate | format: 'time' : { calendar: calendar() } | async) +\n                        ')')\n              \"\n              [class.all-day-segment]=\"segment.allDay\"\n              class=\"ax-scheduler-month-appointment-chip\"\n              [ngClass]=\"segment.cssClass ?? `ax-scheduler-${segment.priority ?? 'primary'}-periority`\"\n              [class.continuation-to-next]=\"segment.isContinuationToNextDay && !segment.allDay\"\n              [class.continuation-from-prev]=\"segment.isContinuationFromPreviousDay && !segment.allDay\"\n              [axTooltipDisabled]=\"tooltipTemplate() ? false : true\"\n              [axTooltip]=\"tooltipTemplate()\"\n              [axTooltipContext]=\"segment\"\n            >\n              <span class=\"ax-appointment-chip-title\">\n                <span class=\"ax-scheduler-truncate\">{{ segment.title }}</span>\n                @if (hasActions()) {\n                  <ax-icon\n                    (click)=\"handleActionClick($event, segment)\"\n                    class=\"ax-icon ax-icon-more-horizontal ax-scheduler-action-icon\"\n                  >\n                  </ax-icon>\n                }\n              </span>\n              @if (!segment.allDay) {\n                <span>\n                  {{ segment.originalStartDate | format: 'time' : { format: 'HH:mm', calendar: calendar() } | async }}\n                  -\n                  {{ segment.originalEndDate | format: 'time' : { format: 'HH:mm', calendar: calendar() } | async }}\n                </span>\n              }\n            </div>\n          }\n          <!-- Overflow Badge and Popover -->\n          @if (dayCell.overflowCount > 0) {\n            <div #moreAppointments class=\"ax-scheduler-month-overflow-badge\" (click)=\"$event.stopPropagation()\">\n              <!-- Stop propagation to prevent slot click -->\n              +{{\n                '@acorex:common.general.more-items' | translate: { params: { number: dayCell.overflowCount } } | async\n              }}\n            </div>\n            <ax-popover [target]=\"moreAppointments\" placement=\"bottom-start\" trigger=\"click\">\n              <div\n                axDropZone\n                [class.ax-state-readonly]=\"readonly()\"\n                class=\"ax-overlay-pane ax-scheduler-popover ax-scheduler-month-popover-appointment\"\n              >\n                @for (segment of dayCell.hiddenAppointments; track segment.id + segment.originalStartDate) {\n                  <div\n                    axDrag\n                    [dragCursor]=\"'grab'\"\n                    [dragData]=\"segment\"\n                    [dragTransition]=\"false\"\n                    [dragElementClone]=\"true\"\n                    [dragStartDelay]=\"dragStartDelay()\"\n                    [dragDisabled]=\"!draggable() || segment.readonly || readonly()\"\n                    (click)=\"handleAppointmentEvent($event, segment); $event.stopPropagation()\"\n                    (dblclick)=\"handleAppointmentEvent($event, segment); $event.stopPropagation()\"\n                    (contextmenu)=\"handleAppointmentEvent($event, segment); $event.stopPropagation()\"\n                    [title]=\"\n                      tooltipTemplate()\n                        ? ''\n                        : segment.title +\n                          (segment.allDay\n                            ? ''\n                            : ' (' +\n                              (segment.originalStartDate | format: 'time' : { calendar: calendar() } | async) +\n                              ' - ' +\n                              (segment.originalEndDate | format: 'time' : { calendar: calendar() } | async) +\n                              ')')\n                    \"\n                    class=\"ax-scheduler-popover-appointment\"\n                    [class.all-day-segment]=\"segment.allDay\"\n                    [ngClass]=\"segment.cssClass ?? `ax-scheduler-${segment.priority ?? 'primary'}-periority`\"\n                    [axTooltipDisabled]=\"tooltipTemplate() ? false : true\"\n                    [axTooltip]=\"tooltipTemplate()\"\n                    [axTooltipContext]=\"segment\"\n                  >\n                    <span class=\"ax-appointment-chip-title\">\n                      <span class=\"ax-scheduler-truncate\">{{ segment.title }}</span>\n                      @if (hasActions()) {\n                        <ax-icon\n                          (click)=\"handleActionClick($event, segment)\"\n                          class=\"ax-icon ax-icon-more-horizontal ax-scheduler-action-icon\"\n                        >\n                        </ax-icon>\n                      }\n                    </span>\n                    @if (!segment.allDay) {\n                      <span>\n                        {{\n                          segment.originalStartDate | format: 'time' : { format: 'HH:mm', calendar: calendar() } | async\n                        }}\n                        -\n                        {{\n                          segment.originalEndDate | format: 'time' : { format: 'HH:mm', calendar: calendar() } | async\n                        }}\n                      </span>\n                    }\n                  </div>\n                }\n              </div>\n            </ax-popover>\n          }\n        </div>\n      </div>\n    }\n  </div>\n</div>\n", styles: ["ax-scheduler-month-view{height:100%;display:block;background-color:inherit;min-width:var(--ax-comp-scheduler-width)}ax-scheduler-month-view .ax-scheduler-month-container{height:100%;display:flex;flex-direction:column;background-color:inherit}ax-scheduler-month-view .ax-scheduler-month-weekdays{top:0;z-index:10;width:100%;display:grid;flex-shrink:0;position:sticky;padding:.5rem 0;text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));background-color:var(--ax-comp-scheduler-all-day-bg, inherit);border-bottom:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-month-view .ax-scheduler-month-weekdays .ax-scheduler-month-weekday{font-weight:500;font-size:.875rem}ax-scheduler-month-view .ax-scheduler-month-grid{width:100%;flex-grow:1;display:grid;grid-auto-rows:minmax(5rem,auto);grid-template-columns:repeat(7,minmax(0,1fr));border-left:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-month-view .ax-scheduler-month-grid .ax-scheduler-month-day-cell{padding:.25rem;overflow:hidden;position:relative;border-right:1px solid rgba(var(--ax-sys-color-border-lightest-surface));border-bottom:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-month-view .ax-scheduler-month-grid .ax-scheduler-month-day-cell.ax-other-month{background-color:rgba(var(--ax-sys-color-border-lightest-surface),.2)}ax-scheduler-month-view .ax-scheduler-month-grid .ax-scheduler-month-day-cell.ax-other-month .ax-scheduler-month-day-number{color:rgba(var(--ax-sys-color-on-surface),.5)}ax-scheduler-month-view .ax-scheduler-month-grid .ax-scheduler-month-day-cell.ax-state-today{background-color:rgba(var(--ax-sys-color-primary-surface),.05)}ax-scheduler-month-view .ax-scheduler-month-grid .ax-scheduler-month-day-cell.ax-state-today .ax-scheduler-month-day-number{font-weight:700;color:rgba(var(--ax-sys-color-primary-surface))}ax-scheduler-month-view .ax-scheduler-month-grid .ax-scheduler-month-day-cell.ax-state-today.ax-other-month{background-color:rgba(var(--ax-sys-color-primary-surface),.025)}ax-scheduler-month-view .ax-scheduler-month-grid .ax-scheduler-month-day-cell.ax-state-today.ax-other-month .ax-scheduler-month-day-number{color:rgba(var(--ax-sys-color-primary-surface),.5)}ax-scheduler-month-view .ax-scheduler-month-grid .ax-scheduler-month-day-cell.ax-state-holiday .ax-scheduler-month-day-number{font-weight:700;color:rgba(var(--ax-sys-color-danger-surface))}ax-scheduler-month-view .ax-scheduler-month-grid .ax-scheduler-month-day-cell.ax-state-holiday.ax-other-month .ax-scheduler-month-day-number{color:rgba(var(--ax-sys-color-danger-surface),.5)}ax-scheduler-month-view .ax-scheduler-month-grid .ax-scheduler-month-day-cell .ax-scheduler-month-day-header{text-align:center;margin-bottom:.25rem}ax-scheduler-month-view .ax-scheduler-month-grid .ax-scheduler-month-day-cell .ax-scheduler-month-day-header .ax-scheduler-month-day-number{max-width:100%;font-size:.875rem;display:inline-block}ax-scheduler-month-view .ax-scheduler-month-grid .ax-scheduler-month-day-cell .ax-scheduler-month-day-appointments{gap:.125rem;display:flex;overflow:hidden;flex-direction:column}ax-scheduler-month-view .ax-scheduler-month-grid .ax-scheduler-month-day-cell .ax-scheduler-month-day-appointments .ax-scheduler-month-appointment-chip{overflow:hidden;font-size:.75rem;white-space:nowrap;border-radius:.25rem;text-overflow:ellipsis;padding:.125rem .25rem}ax-scheduler-month-view .ax-scheduler-month-grid .ax-scheduler-month-day-cell .ax-scheduler-month-day-appointments .ax-scheduler-month-overflow-badge{cursor:pointer;text-align:left;font-size:.75rem;padding:.125rem 0;margin-top:.125rem}ax-scheduler-month-view .ax-scheduler-month-grid .ax-scheduler-month-day-cell .ax-scheduler-month-day-appointments .ax-scheduler-month-overflow-badge:hover{text-decoration:underline}ax-scheduler-month-view:not(.ax-state-readonly) .ax-scheduler-month-appointment-chip{cursor:pointer}ax-scheduler-month-view:not(.ax-state-readonly) .ax-scheduler-month-day-cell{cursor:pointer;transition-property:background-color;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function)}ax-scheduler-month-view:not(.ax-state-readonly) .ax-scheduler-month-day-cell:hover{background-color:rgba(var(--ax-comp-scheduler-slot-hover-bg, var(--ax-sys-color-primary-surface), .1))}ax-scheduler-month-view:not(.ax-state-readonly) .ax-scheduler-month-day-cell:hover.ax-state-holiday{background-color:rgba(var(--ax-sys-color-danger-surface),.1)}ax-scheduler-month-view .ax-appointment-chip-title{display:flex;justify-content:space-between}ax-scheduler-month-view .ax-appointment-chip-title .ax-scheduler-action-icon{width:auto;cursor:pointer}\n"] }]
         
     | 
| 
       1436 
     | 
    
         
            -
                    }], propDecorators: { isReadonly: [{
         
     | 
| 
      
 1436 
     | 
    
         
            +
                    }], propDecorators: { readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], draggable: [{ type: i0.Input, args: [{ isSignal: true, alias: "draggable", required: false }] }], hasActions: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasActions", required: false }] }], dragStartDelay: [{ type: i0.Input, args: [{ isSignal: true, alias: "dragStartDelay", required: false }] }], calendar: [{ type: i0.Input, args: [{ isSignal: true, alias: "calendar", required: false }] }], date: [{ type: i0.Input, args: [{ isSignal: true, alias: "date", required: true }] }], appointments: [{ type: i0.Input, args: [{ isSignal: true, alias: "appointments", required: false }] }], firstDayOfWeek: [{ type: i0.Input, args: [{ isSignal: true, alias: "firstDayOfWeek", required: false }] }], tooltipTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "tooltipTemplate", required: false }] }], slotClickedInternal: [{ type: i0.Output, args: ["slotClickedInternal"] }], slotDblClickedInternal: [{ type: i0.Output, args: ["slotDblClickedInternal"] }], slotRightClickedInternal: [{ type: i0.Output, args: ["slotRightClickedInternal"] }], appointmentClickedInternal: [{ type: i0.Output, args: ["appointmentClickedInternal"] }], appointmentDblClickedInternal: [{ type: i0.Output, args: ["appointmentDblClickedInternal"] }], appointmentRightClickedInternal: [{ type: i0.Output, args: ["appointmentRightClickedInternal"] }], onActionClickInternal: [{ type: i0.Output, args: ["onActionClickInternal"] }], onAppointmentDropInternal: [{ type: i0.Output, args: ["onAppointmentDropInternal"] }], isReadonly: [{
         
     | 
| 
       1437 
1437 
     | 
    
         
             
                            type: HostBinding,
         
     | 
| 
       1438 
1438 
     | 
    
         
             
                            args: ['class.ax-state-readonly']
         
     | 
| 
       1439 
1439 
     | 
    
         
             
                        }] } });
         
     | 
| 
         @@ -1882,10 +1882,10 @@ class AXSchedulerTimelineDayViewComponent extends NXComponent { 
     | 
|
| 
       1882 
1882 
     | 
    
         
             
                get isReadonly() {
         
     | 
| 
       1883 
1883 
     | 
    
         
             
                    return this.readonly();
         
     | 
| 
       1884 
1884 
     | 
    
         
             
                }
         
     | 
| 
       1885 
     | 
    
         
            -
                static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3. 
     | 
| 
       1886 
     | 
    
         
            -
                static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.4", type: AXSchedulerTimelineDayViewComponent, isStandalone: true, selector: "ax-scheduler-timeline-day-view", inputs: { readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, draggable: { classPropertyName: "draggable", publicName: "draggable", isSignal: true, isRequired: false, transformFunction: null }, hasActions: { classPropertyName: "hasActions", publicName: "hasActions", isSignal: true, isRequired: false, transformFunction: null }, dragStartDelay: { classPropertyName: "dragStartDelay", publicName: "dragStartDelay", isSignal: true, isRequired: false, transformFunction: null }, calendar: { classPropertyName: "calendar", publicName: "calendar", isSignal: true, isRequired: false, transformFunction: null }, showResourceHeaders: { classPropertyName: "showResourceHeaders", publicName: "showResourceHeaders", isSignal: true, isRequired: false, transformFunction: null }, date: { classPropertyName: "date", publicName: "date", isSignal: true, isRequired: true, transformFunction: null }, endDayHour: { classPropertyName: "endDayHour", publicName: "endDayHour", isSignal: true, isRequired: true, transformFunction: null }, startDayHour: { classPropertyName: "startDayHour", publicName: "startDayHour", isSignal: true, isRequired: true, transformFunction: null }, showUnassignedAppointments: { classPropertyName: "showUnassignedAppointments", publicName: "showUnassignedAppointments", isSignal: true, isRequired: false, transformFunction: null }, resources: { classPropertyName: "resources", publicName: "resources", isSignal: true, isRequired: false, transformFunction: null }, showCurrentTimeIndicator: { classPropertyName: "showCurrentTimeIndicator", publicName: "showCurrentTimeIndicator", isSignal: true, isRequired: false, transformFunction: null }, resourceTemplate: { classPropertyName: "resourceTemplate", publicName: "resourceTemplate", isSignal: true, isRequired: false, transformFunction: null }, appointments: { classPropertyName: "appointments", publicName: "appointments", isSignal: true, isRequired: false, transformFunction: null }, tooltipTemplate: { classPropertyName: "tooltipTemplate", publicName: "tooltipTemplate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { slotClickedInternal: "slotClickedInternal", slotDblClickedInternal: "slotDblClickedInternal", slotRightClickedInternal: "slotRightClickedInternal", appointmentClickedInternal: "appointmentClickedInternal", appointmentDblClickedInternal: "appointmentDblClickedInternal", appointmentRightClickedInternal: "appointmentRightClickedInternal", onActionClickInternal: "onActionClickInternal", onAppointmentDropInternal: "onAppointmentDropInternal" }, host: { properties: { "class.ax-state-readonly": "this.isReadonly" } }, providers: [{ provide: AXComponent, useExisting: AXSchedulerTimelineDayViewComponent }], viewQueries: [{ propertyName: "currentTimeLineElement", first: true, predicate: ["currentTimeLine"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@if (resources().length === 0 || !showResourceHeaders()) {\n  <!-- Original layout when no resources -->\n  <div class=\"ax-scheduler-timeline-header\">\n    @for (hour of hoursArray(); track hour.date.getTime()) {\n      <div class=\"ax-scheduler-timeline-header-hours\">\n        <span>{{ hour | format: 'time' : { format: 'HH:mm', calendar: calendar() } | async }}</span>\n      </div>\n    }\n  </div>\n\n  <div class=\"ax-scheduler-timeline-content\">\n    <!-- Current Time Line Indicator -->\n    @if (showCurrentTimeIndicator() && getCurrentTimePositionWithOffset() !== null) {\n      <div\n        class=\"ax-scheduler-current-time-line\"\n        [style.inset-inline-start]=\"getCurrentTimePositionWithOffset()\"\n        #currentTimeLine\n      ></div>\n    }\n    <div class=\"ax-scheduler-timeline-appointment-container\">\n      @for (\n        layout of resources().length === 0 ? appointmentLayouts() : getAppointmentLayoutsForResource(resourceIds()[0]);\n        track layout.appointment.id\n      ) {\n        <div\n          axDrag\n          [dragCursor]=\"'grab'\"\n          [dragTransition]=\"false\"\n          [dragElementClone]=\"true\"\n          [dragStartDelay]=\"dragStartDelay()\"\n          [dragDisabled]=\"!draggable() || layout.appointment.readonly || readonly()\"\n          [dragData]=\"layout.appointment\"\n          (pointerdown)=\"getSlotId($event)\"\n          (click)=\"handleAppointmentEvent($event, layout.appointment)\"\n          (dblclick)=\"handleAppointmentEvent($event, layout.appointment)\"\n          (contextmenu)=\"handleAppointmentEvent($event, layout.appointment)\"\n          [title]=\"tooltipTemplate() ? '' : layout.appointment.title\"\n          [style.width]=\"layout.layoutWidth\"\n          [style.height]=\"layout.layoutHeight\"\n          class=\"ax-scheduler-timeline-appointment\"\n          [style.insetBlockStart]=\"layout.layoutTop\"\n          [style.insetInlineStart]=\"layout.layoutLeft\"\n          [ngClass]=\"\n            layout.appointment.cssClass ?? `ax-scheduler-${layout.appointment.priority ?? 'primary'}-periority`\n          \"\n          [axTooltipDisabled]=\"tooltipTemplate() ? false : true\"\n          [axTooltipContext]=\"layout.appointment\"\n          [axTooltip]=\"tooltipTemplate()\"\n        >\n          <ax-title>\n            <span class=\"ax-scheduler-truncate\">{{ layout.appointment.title }}</span>\n            @if (hasActions()) {\n              <ax-icon\n                (click)=\"handleActionClick($event, layout.appointment)\"\n                class=\"ax-icon ax-icon-more-horizontal ax-scheduler-action-icon\"\n              >\n              </ax-icon>\n            }\n          </ax-title>\n          <ax-subtitle>\n            {{\n              layout.appointment.originalStartDate | format: 'time' : { format: 'HH:mm', calendar: calendar() } | async\n            }}\n            -\n            {{\n              layout.appointment.originalEndDate | format: 'time' : { format: 'HH:mm', calendar: calendar() } | async\n            }}\n          </ax-subtitle>\n        </div>\n      }\n    </div>\n    <div class=\"ax-scheduler-timeline-slot-row\" aria-hidden=\"true\">\n      @for (time of hoursArray(); track time.date.getTime()) {\n        <div\n          axDropZone\n          #zone=\"axDropZone\"\n          (onElementDrop)=\"handleDrop($event, time)\"\n          [class.ax-scheduler-slot-hovered]=\"zone.isHovered()\"\n          class=\"ax-scheduler-timeline-slot-cell\"\n          (click)=\"handleSlotEvent($event, time)\"\n          (dblclick)=\"handleSlotEvent($event, time)\"\n          (contextmenu)=\"handleSlotEvent($event, time)\"\n          [attr.data-slot-id]=\"time.format('YYYYMMDD-HHmm')\"\n        ></div>\n      }\n    </div>\n  </div>\n} @else {\n  <!-- Resource-based layout -->\n  <div class=\"ax-scheduler-timeline-resource-container\">\n    <!-- Single sticky time header for all resources (only show if not used in multi-day) -->\n    @if (showResourceHeaders()) {\n      <div class=\"ax-scheduler-timeline-header ax-scheduler-timeline-header-sticky\">\n        <div class=\"ax-scheduler-timeline-resource-header-placeholder\"><span>Resources</span></div>\n        @for (hour of hoursArray(); track hour.date.getTime()) {\n          <div class=\"ax-scheduler-timeline-header-hours\">\n            <span>{{ hour | format: 'time' : { format: 'HH:mm', calendar: calendar() } | async }}</span>\n          </div>\n        }\n      </div>\n    }\n\n    <!-- Resource rows -->\n    <div class=\"ax-scheduler-timeline-resource-rows\">\n      <!-- Current Time Line Indicator -->\n      @if (showCurrentTimeIndicator() && getCurrentTimePositionWithOffset() !== null) {\n        <div\n          #currentTimeLine\n          class=\"ax-scheduler-current-time-line\"\n          [style.inset-inline-start]=\"getCurrentTimePositionWithOffset()\"\n        ></div>\n      }\n\n      @for (resourceId of resourceIds(); track resourceId) {\n        <div class=\"ax-scheduler-timeline-resource-row\" [style.height]=\"getResourceRowHeight(resourceId)\">\n          @if (showResourceHeaders()) {\n            <!-- Sticky Resource Header -->\n            <div class=\"ax-scheduler-timeline-resource-header ax-scheduler-timeline-resource-header-sticky\">\n              @if (resourceTemplate() && typeof resourceTemplate() !== 'string') {\n                <ng-container\n                  [ngTemplateOutlet]=\"$any(resourceTemplate())\"\n                  [ngTemplateOutletContext]=\"{\n                    $implicit: getResourceContext(resourceId),\n                    resource: getResourceContext(resourceId),\n                    resourceId: resourceId,\n                  }\"\n                ></ng-container>\n              } @else {\n                <span class=\"ax-scheduler-timeline-resource-title\">{{ getResourceTitle(resourceId) }}</span>\n              }\n            </div>\n          }\n\n          <!-- Resource Content -->\n          <div class=\"ax-scheduler-timeline-resource-content\">\n            <div class=\"ax-scheduler-timeline-appointment-container\">\n              @for (layout of getAppointmentLayoutsForResource(resourceId); track layout.appointment.id) {\n                <div\n                  axDrag\n                  [dragCursor]=\"'grab'\"\n                  [dragTransition]=\"false\"\n                  [dragElementClone]=\"true\"\n                  [dragStartDelay]=\"dragStartDelay()\"\n                  [dragDisabled]=\"!draggable() || layout.appointment.readonly || readonly()\"\n                  [dragData]=\"layout.appointment\"\n                  (pointerdown)=\"getSlotId($event)\"\n                  (click)=\"handleAppointmentEvent($event, layout.appointment)\"\n                  (dblclick)=\"handleAppointmentEvent($event, layout.appointment)\"\n                  (contextmenu)=\"handleAppointmentEvent($event, layout.appointment)\"\n                  [title]=\"tooltipTemplate() ? '' : layout.appointment.title\"\n                  [style.width]=\"layout.layoutWidth\"\n                  [style.height]=\"layout.layoutHeight\"\n                  class=\"ax-scheduler-timeline-appointment\"\n                  [style.insetBlockStart]=\"layout.layoutTop\"\n                  [style.insetInlineStart]=\"layout.layoutLeft\"\n                  [ngClass]=\"\n                    layout.appointment.cssClass ?? `ax-scheduler-${layout.appointment.priority ?? 'primary'}-periority`\n                  \"\n                  [axTooltipDisabled]=\"tooltipTemplate() ? false : true\"\n                  [axTooltipContext]=\"layout.appointment\"\n                  [axTooltip]=\"tooltipTemplate()\"\n                >\n                  <ax-title>\n                    <span class=\"ax-scheduler-truncate\">{{ layout.appointment.title }}</span>\n                    @if (hasActions()) {\n                      <ax-icon\n                        (click)=\"handleActionClick($event, layout.appointment)\"\n                        class=\"ax-icon ax-icon-more-horizontal ax-scheduler-action-icon\"\n                      >\n                      </ax-icon>\n                    }\n                  </ax-title>\n                  <ax-subtitle>\n                    {{\n                      layout.appointment.originalStartDate\n                        | format: 'time' : { format: 'HH:mm', calendar: calendar() }\n                        | async\n                    }}\n                    -\n                    {{\n                      layout.appointment.originalEndDate\n                        | format: 'time' : { format: 'HH:mm', calendar: calendar() }\n                        | async\n                    }}\n                  </ax-subtitle>\n                </div>\n              }\n            </div>\n            <div class=\"ax-scheduler-timeline-slot-row\" aria-hidden=\"true\">\n              @for (time of hoursArray(); track time.date.getTime()) {\n                <div\n                  axDropZone\n                  #zone=\"axDropZone\"\n                  (onElementDrop)=\"handleDrop($event, time, resourceId)\"\n                  [class.ax-scheduler-slot-hovered]=\"zone.isHovered()\"\n                  class=\"ax-scheduler-timeline-slot-cell\"\n                  (click)=\"handleSlotEvent($event, time)\"\n                  (dblclick)=\"handleSlotEvent($event, time)\"\n                  (contextmenu)=\"handleSlotEvent($event, time)\"\n                  [attr.data-slot-id]=\"time.format('YYYYMMDD-HHmm')\"\n                  [attr.data-resource-id]=\"resourceId\"\n                ></div>\n              }\n            </div>\n          </div>\n        </div>\n      }\n    </div>\n  </div>\n}\n", styles: ["ax-scheduler-timeline-day-view{height:100%;position:relative;display:inline-flex;flex-direction:column;background-color:inherit}ax-scheduler-timeline-day-view .ax-scheduler-timeline-resource-container{height:auto;display:flex;min-height:100%;overflow:visible;flex-direction:column;background-color:inherit;position:relative}ax-scheduler-timeline-day-view .ax-scheduler-timeline-resource-container .ax-scheduler-timeline-header-sticky{position:sticky;top:0;z-index:10;display:flex;background-color:inherit;border-bottom:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-day-view .ax-scheduler-timeline-resource-container .ax-scheduler-timeline-header-sticky .ax-scheduler-timeline-resource-header-placeholder{left:0;z-index:15;display:flex;position:sticky;align-items:center;justify-content:center;background-color:inherit;width:var(--ax-comp-scheduler-resource-header-width, 8rem);min-width:var(--ax-comp-scheduler-resource-header-width, 8rem);border-right:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-day-view .ax-scheduler-timeline-resource-container .ax-scheduler-timeline-resource-rows{flex:1;overflow:visible;position:relative;background-color:inherit}ax-scheduler-timeline-day-view .ax-scheduler-timeline-resource-container .ax-scheduler-timeline-resource-row{display:flex;min-height:0;border-bottom:1px solid rgba(var(--ax-sys-color-border-lightest-surface));width:max-content;background-color:inherit}ax-scheduler-timeline-day-view .ax-scheduler-timeline-resource-container .ax-scheduler-timeline-resource-row .ax-scheduler-timeline-resource-header{display:flex;padding:.5rem;align-items:center;justify-content:center;background-color:inherit;width:var(--ax-comp-scheduler-resource-header-width, 8rem);min-width:var(--ax-comp-scheduler-resource-header-width, 8rem);border-right:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-day-view .ax-scheduler-timeline-resource-container .ax-scheduler-timeline-resource-row .ax-scheduler-timeline-resource-header.ax-scheduler-timeline-resource-header-sticky{position:sticky;left:0;z-index:15;background-color:inherit}ax-scheduler-timeline-day-view .ax-scheduler-timeline-resource-container .ax-scheduler-timeline-resource-row .ax-scheduler-timeline-resource-header .ax-scheduler-timeline-resource-title{font-weight:500;font-size:.875rem;text-align:center;word-break:break-word}ax-scheduler-timeline-day-view .ax-scheduler-timeline-resource-container .ax-scheduler-timeline-resource-row .ax-scheduler-timeline-resource-content{flex:1;display:flex;flex-direction:column;min-width:0;position:relative}ax-scheduler-timeline-day-view .ax-scheduler-timeline-resource-container .ax-scheduler-timeline-resource-row .ax-scheduler-timeline-resource-content .ax-scheduler-timeline-appointment-container{top:0;width:100%;height:100%;position:absolute}ax-scheduler-timeline-day-view .ax-scheduler-timeline-resource-container .ax-scheduler-timeline-resource-row .ax-scheduler-timeline-resource-content .ax-scheduler-timeline-appointment-container .ax-scheduler-timeline-appointment{width:100%;display:flex;overflow:hidden;position:absolute;inset-inline-start:0;flex-direction:column;padding-block:.25rem;padding-inline:.5rem;border-radius:calc(var(--ax-sys-border-radius) / 2)}ax-scheduler-timeline-day-view .ax-scheduler-timeline-resource-container .ax-scheduler-timeline-resource-row .ax-scheduler-timeline-resource-content .ax-scheduler-timeline-slot-row{height:100%;display:flex;position:relative}ax-scheduler-timeline-day-view .ax-scheduler-timeline-resource-container .ax-scheduler-timeline-resource-row .ax-scheduler-timeline-resource-content .ax-scheduler-timeline-slot-row .ax-scheduler-timeline-slot-cell{width:var(--ax-comp-scheduler-timeline-view-blocks-width);border-inline-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface));position:relative}ax-scheduler-timeline-day-view .ax-scheduler-timeline-resource-container .ax-scheduler-timeline-resource-row .ax-scheduler-timeline-resource-content .ax-scheduler-timeline-slot-row .ax-scheduler-timeline-slot-cell:after{content:\"\";position:absolute;top:0;right:0;width:1px;height:100%;background-color:rgba(var(--ax-sys-color-border-lightest-surface),.3)}ax-scheduler-timeline-day-view .ax-scheduler-timeline-header{top:0;z-index:2;width:100%;display:flex;position:sticky;background-color:var(--ax-comp-scheduler-all-day-bg, inherit);border-block-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-day-view .ax-scheduler-timeline-header .ax-scheduler-timeline-header-hours{position:relative;padding:.25rem .5rem;width:var(--ax-comp-scheduler-timeline-view-blocks-width);border-inline-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-day-view .ax-scheduler-timeline-header .ax-scheduler-timeline-header-hours span{position:sticky;inset-inline-start:.5rem}ax-scheduler-timeline-day-view .ax-scheduler-timeline-content{height:100%;position:relative}ax-scheduler-timeline-day-view .ax-scheduler-timeline-content .ax-scheduler-timeline-appointment-container{top:0;width:100%;height:100%;position:absolute}ax-scheduler-timeline-day-view .ax-scheduler-timeline-content .ax-scheduler-timeline-appointment-container .ax-scheduler-timeline-appointment{width:100%;display:flex;overflow:hidden;position:absolute;inset-inline-start:0;flex-direction:column;padding-block:.25rem;padding-inline:.5rem;border-radius:calc(var(--ax-sys-border-radius) / 2)}ax-scheduler-timeline-day-view .ax-scheduler-timeline-content .ax-scheduler-timeline-slot-row{height:100%;display:flex}ax-scheduler-timeline-day-view .ax-scheduler-timeline-content .ax-scheduler-timeline-slot-row .ax-scheduler-timeline-slot-cell{width:var(--ax-comp-scheduler-timeline-view-blocks-width);border-inline-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-day-view:not(.ax-state-readonly) .ax-scheduler-timeline-appointment{z-index:1;cursor:pointer}ax-scheduler-timeline-day-view:not(.ax-state-readonly) .ax-scheduler-timeline-slot-cell{z-index:0;cursor:pointer;transition-property:background-color;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function)}ax-scheduler-timeline-day-view:not(.ax-state-readonly) .ax-scheduler-timeline-slot-cell:hover{background-color:rgba(var(--ax-comp-scheduler-slot-hover-bg, var(--ax-sys-color-primary-surface), .1))}ax-scheduler-timeline-day-view ax-title{display:flex;justify-content:space-between}ax-scheduler-timeline-day-view ax-title .ax-scheduler-action-icon{width:auto;cursor:pointer}ax-scheduler-timeline-day-view .ax-scheduler-current-time-line{top:0;bottom:0;width:2px}ax-scheduler-timeline-day-view .ax-scheduler-current-time-line:before{top:-6px;inset-inline-start:-5px}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: AXDragDirective, selector: "[axDrag]", inputs: ["dragData", "dragDisabled", "dragTransition", "dragElementClone", "dropZoneGroup", "dragStartDelay", "dragResetOnDblClick", "dragLockAxis", "dragClonedTemplate", "dragCursor", "dragBoundary", "dragTransitionDuration"], outputs: ["dragPositionChanged"] }, { kind: "directive", type: AXTooltipDirective, selector: "[axTooltip]", inputs: ["axTooltipDisabled", "axTooltip", "axTooltipContext", "axTooltipPlacement", "axTooltipOffsetX", "axTooltipOffsetY", "axTooltipOpenAfter", "axTooltipCloseAfter"] }, { kind: "directive", type: AXDropZoneDirective, selector: "[axDropZone]", inputs: ["dropZoneGroup"], outputs: ["onElementDrop", "onElementHover"], exportAs: ["axDropZone"] }, { kind: "component", type: AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: 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: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: AXFormatPipe, name: "format" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
         
     | 
| 
      
 1885 
     | 
    
         
            +
                static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: AXSchedulerTimelineDayViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
         
     | 
| 
      
 1886 
     | 
    
         
            +
                static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.6", type: AXSchedulerTimelineDayViewComponent, isStandalone: true, selector: "ax-scheduler-timeline-day-view", inputs: { readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, draggable: { classPropertyName: "draggable", publicName: "draggable", isSignal: true, isRequired: false, transformFunction: null }, hasActions: { classPropertyName: "hasActions", publicName: "hasActions", isSignal: true, isRequired: false, transformFunction: null }, dragStartDelay: { classPropertyName: "dragStartDelay", publicName: "dragStartDelay", isSignal: true, isRequired: false, transformFunction: null }, calendar: { classPropertyName: "calendar", publicName: "calendar", isSignal: true, isRequired: false, transformFunction: null }, showResourceHeaders: { classPropertyName: "showResourceHeaders", publicName: "showResourceHeaders", isSignal: true, isRequired: false, transformFunction: null }, date: { classPropertyName: "date", publicName: "date", isSignal: true, isRequired: true, transformFunction: null }, endDayHour: { classPropertyName: "endDayHour", publicName: "endDayHour", isSignal: true, isRequired: true, transformFunction: null }, startDayHour: { classPropertyName: "startDayHour", publicName: "startDayHour", isSignal: true, isRequired: true, transformFunction: null }, showUnassignedAppointments: { classPropertyName: "showUnassignedAppointments", publicName: "showUnassignedAppointments", isSignal: true, isRequired: false, transformFunction: null }, resources: { classPropertyName: "resources", publicName: "resources", isSignal: true, isRequired: false, transformFunction: null }, showCurrentTimeIndicator: { classPropertyName: "showCurrentTimeIndicator", publicName: "showCurrentTimeIndicator", isSignal: true, isRequired: false, transformFunction: null }, resourceTemplate: { classPropertyName: "resourceTemplate", publicName: "resourceTemplate", isSignal: true, isRequired: false, transformFunction: null }, appointments: { classPropertyName: "appointments", publicName: "appointments", isSignal: true, isRequired: false, transformFunction: null }, tooltipTemplate: { classPropertyName: "tooltipTemplate", publicName: "tooltipTemplate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { slotClickedInternal: "slotClickedInternal", slotDblClickedInternal: "slotDblClickedInternal", slotRightClickedInternal: "slotRightClickedInternal", appointmentClickedInternal: "appointmentClickedInternal", appointmentDblClickedInternal: "appointmentDblClickedInternal", appointmentRightClickedInternal: "appointmentRightClickedInternal", onActionClickInternal: "onActionClickInternal", onAppointmentDropInternal: "onAppointmentDropInternal" }, host: { properties: { "class.ax-state-readonly": "this.isReadonly" } }, providers: [{ provide: AXComponent, useExisting: AXSchedulerTimelineDayViewComponent }], viewQueries: [{ propertyName: "currentTimeLineElement", first: true, predicate: ["currentTimeLine"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@if (resources().length === 0 || !showResourceHeaders()) {\n  <!-- Original layout when no resources -->\n  <div class=\"ax-scheduler-timeline-header\">\n    @for (hour of hoursArray(); track hour.date.getTime()) {\n      <div class=\"ax-scheduler-timeline-header-hours\">\n        <span>{{ hour | format: 'time' : { format: 'HH:mm', calendar: calendar() } | async }}</span>\n      </div>\n    }\n  </div>\n\n  <div class=\"ax-scheduler-timeline-content\">\n    <!-- Current Time Line Indicator -->\n    @if (showCurrentTimeIndicator() && getCurrentTimePositionWithOffset() !== null) {\n      <div\n        class=\"ax-scheduler-current-time-line\"\n        [style.inset-inline-start]=\"getCurrentTimePositionWithOffset()\"\n        #currentTimeLine\n      ></div>\n    }\n    <div class=\"ax-scheduler-timeline-appointment-container\">\n      @for (\n        layout of resources().length === 0 ? appointmentLayouts() : getAppointmentLayoutsForResource(resourceIds()[0]);\n        track layout.appointment.id\n      ) {\n        <div\n          axDrag\n          [dragCursor]=\"'grab'\"\n          [dragTransition]=\"false\"\n          [dragElementClone]=\"true\"\n          [dragStartDelay]=\"dragStartDelay()\"\n          [dragDisabled]=\"!draggable() || layout.appointment.readonly || readonly()\"\n          [dragData]=\"layout.appointment\"\n          (pointerdown)=\"getSlotId($event)\"\n          (click)=\"handleAppointmentEvent($event, layout.appointment)\"\n          (dblclick)=\"handleAppointmentEvent($event, layout.appointment)\"\n          (contextmenu)=\"handleAppointmentEvent($event, layout.appointment)\"\n          [title]=\"tooltipTemplate() ? '' : layout.appointment.title\"\n          [style.width]=\"layout.layoutWidth\"\n          [style.height]=\"layout.layoutHeight\"\n          class=\"ax-scheduler-timeline-appointment\"\n          [style.insetBlockStart]=\"layout.layoutTop\"\n          [style.insetInlineStart]=\"layout.layoutLeft\"\n          [ngClass]=\"\n            layout.appointment.cssClass ?? `ax-scheduler-${layout.appointment.priority ?? 'primary'}-periority`\n          \"\n          [axTooltipDisabled]=\"tooltipTemplate() ? false : true\"\n          [axTooltipContext]=\"layout.appointment\"\n          [axTooltip]=\"tooltipTemplate()\"\n        >\n          <ax-title>\n            <span class=\"ax-scheduler-truncate\">{{ layout.appointment.title }}</span>\n            @if (hasActions()) {\n              <ax-icon\n                (click)=\"handleActionClick($event, layout.appointment)\"\n                class=\"ax-icon ax-icon-more-horizontal ax-scheduler-action-icon\"\n              >\n              </ax-icon>\n            }\n          </ax-title>\n          <ax-subtitle>\n            {{\n              layout.appointment.originalStartDate | format: 'time' : { format: 'HH:mm', calendar: calendar() } | async\n            }}\n            -\n            {{\n              layout.appointment.originalEndDate | format: 'time' : { format: 'HH:mm', calendar: calendar() } | async\n            }}\n          </ax-subtitle>\n        </div>\n      }\n    </div>\n    <div class=\"ax-scheduler-timeline-slot-row\" aria-hidden=\"true\">\n      @for (time of hoursArray(); track time.date.getTime()) {\n        <div\n          axDropZone\n          #zone=\"axDropZone\"\n          (onElementDrop)=\"handleDrop($event, time)\"\n          [class.ax-scheduler-slot-hovered]=\"zone.isHovered()\"\n          class=\"ax-scheduler-timeline-slot-cell\"\n          (click)=\"handleSlotEvent($event, time)\"\n          (dblclick)=\"handleSlotEvent($event, time)\"\n          (contextmenu)=\"handleSlotEvent($event, time)\"\n          [attr.data-slot-id]=\"time.format('YYYYMMDD-HHmm')\"\n        ></div>\n      }\n    </div>\n  </div>\n} @else {\n  <!-- Resource-based layout -->\n  <div class=\"ax-scheduler-timeline-resource-container\">\n    <!-- Single sticky time header for all resources (only show if not used in multi-day) -->\n    @if (showResourceHeaders()) {\n      <div class=\"ax-scheduler-timeline-header ax-scheduler-timeline-header-sticky\">\n        <div class=\"ax-scheduler-timeline-resource-header-placeholder\"><span>Resources</span></div>\n        @for (hour of hoursArray(); track hour.date.getTime()) {\n          <div class=\"ax-scheduler-timeline-header-hours\">\n            <span>{{ hour | format: 'time' : { format: 'HH:mm', calendar: calendar() } | async }}</span>\n          </div>\n        }\n      </div>\n    }\n\n    <!-- Resource rows -->\n    <div class=\"ax-scheduler-timeline-resource-rows\">\n      <!-- Current Time Line Indicator -->\n      @if (showCurrentTimeIndicator() && getCurrentTimePositionWithOffset() !== null) {\n        <div\n          #currentTimeLine\n          class=\"ax-scheduler-current-time-line\"\n          [style.inset-inline-start]=\"getCurrentTimePositionWithOffset()\"\n        ></div>\n      }\n\n      @for (resourceId of resourceIds(); track resourceId) {\n        <div class=\"ax-scheduler-timeline-resource-row\" [style.height]=\"getResourceRowHeight(resourceId)\">\n          @if (showResourceHeaders()) {\n            <!-- Sticky Resource Header -->\n            <div class=\"ax-scheduler-timeline-resource-header ax-scheduler-timeline-resource-header-sticky\">\n              @if (resourceTemplate() && typeof resourceTemplate() !== 'string') {\n                <ng-container\n                  [ngTemplateOutlet]=\"$any(resourceTemplate())\"\n                  [ngTemplateOutletContext]=\"{\n                    $implicit: getResourceContext(resourceId),\n                    resource: getResourceContext(resourceId),\n                    resourceId: resourceId,\n                  }\"\n                ></ng-container>\n              } @else {\n                <span class=\"ax-scheduler-timeline-resource-title\">{{ getResourceTitle(resourceId) }}</span>\n              }\n            </div>\n          }\n\n          <!-- Resource Content -->\n          <div class=\"ax-scheduler-timeline-resource-content\">\n            <div class=\"ax-scheduler-timeline-appointment-container\">\n              @for (layout of getAppointmentLayoutsForResource(resourceId); track layout.appointment.id) {\n                <div\n                  axDrag\n                  [dragCursor]=\"'grab'\"\n                  [dragTransition]=\"false\"\n                  [dragElementClone]=\"true\"\n                  [dragStartDelay]=\"dragStartDelay()\"\n                  [dragDisabled]=\"!draggable() || layout.appointment.readonly || readonly()\"\n                  [dragData]=\"layout.appointment\"\n                  (pointerdown)=\"getSlotId($event)\"\n                  (click)=\"handleAppointmentEvent($event, layout.appointment)\"\n                  (dblclick)=\"handleAppointmentEvent($event, layout.appointment)\"\n                  (contextmenu)=\"handleAppointmentEvent($event, layout.appointment)\"\n                  [title]=\"tooltipTemplate() ? '' : layout.appointment.title\"\n                  [style.width]=\"layout.layoutWidth\"\n                  [style.height]=\"layout.layoutHeight\"\n                  class=\"ax-scheduler-timeline-appointment\"\n                  [style.insetBlockStart]=\"layout.layoutTop\"\n                  [style.insetInlineStart]=\"layout.layoutLeft\"\n                  [ngClass]=\"\n                    layout.appointment.cssClass ?? `ax-scheduler-${layout.appointment.priority ?? 'primary'}-periority`\n                  \"\n                  [axTooltipDisabled]=\"tooltipTemplate() ? false : true\"\n                  [axTooltipContext]=\"layout.appointment\"\n                  [axTooltip]=\"tooltipTemplate()\"\n                >\n                  <ax-title>\n                    <span class=\"ax-scheduler-truncate\">{{ layout.appointment.title }}</span>\n                    @if (hasActions()) {\n                      <ax-icon\n                        (click)=\"handleActionClick($event, layout.appointment)\"\n                        class=\"ax-icon ax-icon-more-horizontal ax-scheduler-action-icon\"\n                      >\n                      </ax-icon>\n                    }\n                  </ax-title>\n                  <ax-subtitle>\n                    {{\n                      layout.appointment.originalStartDate\n                        | format: 'time' : { format: 'HH:mm', calendar: calendar() }\n                        | async\n                    }}\n                    -\n                    {{\n                      layout.appointment.originalEndDate\n                        | format: 'time' : { format: 'HH:mm', calendar: calendar() }\n                        | async\n                    }}\n                  </ax-subtitle>\n                </div>\n              }\n            </div>\n            <div class=\"ax-scheduler-timeline-slot-row\" aria-hidden=\"true\">\n              @for (time of hoursArray(); track time.date.getTime()) {\n                <div\n                  axDropZone\n                  #zone=\"axDropZone\"\n                  (onElementDrop)=\"handleDrop($event, time, resourceId)\"\n                  [class.ax-scheduler-slot-hovered]=\"zone.isHovered()\"\n                  class=\"ax-scheduler-timeline-slot-cell\"\n                  (click)=\"handleSlotEvent($event, time)\"\n                  (dblclick)=\"handleSlotEvent($event, time)\"\n                  (contextmenu)=\"handleSlotEvent($event, time)\"\n                  [attr.data-slot-id]=\"time.format('YYYYMMDD-HHmm')\"\n                  [attr.data-resource-id]=\"resourceId\"\n                ></div>\n              }\n            </div>\n          </div>\n        </div>\n      }\n    </div>\n  </div>\n}\n", styles: ["ax-scheduler-timeline-day-view{height:100%;position:relative;display:inline-flex;flex-direction:column;background-color:inherit}ax-scheduler-timeline-day-view .ax-scheduler-timeline-resource-container{height:auto;display:flex;min-height:100%;overflow:visible;flex-direction:column;background-color:inherit;position:relative}ax-scheduler-timeline-day-view .ax-scheduler-timeline-resource-container .ax-scheduler-timeline-header-sticky{position:sticky;top:0;z-index:10;display:flex;background-color:inherit;border-bottom:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-day-view .ax-scheduler-timeline-resource-container .ax-scheduler-timeline-header-sticky .ax-scheduler-timeline-resource-header-placeholder{left:0;z-index:15;display:flex;position:sticky;align-items:center;justify-content:center;background-color:inherit;width:var(--ax-comp-scheduler-resource-header-width, 8rem);min-width:var(--ax-comp-scheduler-resource-header-width, 8rem);border-right:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-day-view .ax-scheduler-timeline-resource-container .ax-scheduler-timeline-resource-rows{flex:1;overflow:visible;position:relative;background-color:inherit}ax-scheduler-timeline-day-view .ax-scheduler-timeline-resource-container .ax-scheduler-timeline-resource-row{display:flex;min-height:0;border-bottom:1px solid rgba(var(--ax-sys-color-border-lightest-surface));width:max-content;background-color:inherit}ax-scheduler-timeline-day-view .ax-scheduler-timeline-resource-container .ax-scheduler-timeline-resource-row .ax-scheduler-timeline-resource-header{display:flex;padding:.5rem;align-items:center;justify-content:center;background-color:inherit;width:var(--ax-comp-scheduler-resource-header-width, 8rem);min-width:var(--ax-comp-scheduler-resource-header-width, 8rem);border-right:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-day-view .ax-scheduler-timeline-resource-container .ax-scheduler-timeline-resource-row .ax-scheduler-timeline-resource-header.ax-scheduler-timeline-resource-header-sticky{position:sticky;left:0;z-index:15;background-color:inherit}ax-scheduler-timeline-day-view .ax-scheduler-timeline-resource-container .ax-scheduler-timeline-resource-row .ax-scheduler-timeline-resource-header .ax-scheduler-timeline-resource-title{font-weight:500;font-size:.875rem;text-align:center;word-break:break-word}ax-scheduler-timeline-day-view .ax-scheduler-timeline-resource-container .ax-scheduler-timeline-resource-row .ax-scheduler-timeline-resource-content{flex:1;display:flex;flex-direction:column;min-width:0;position:relative}ax-scheduler-timeline-day-view .ax-scheduler-timeline-resource-container .ax-scheduler-timeline-resource-row .ax-scheduler-timeline-resource-content .ax-scheduler-timeline-appointment-container{top:0;width:100%;height:100%;position:absolute}ax-scheduler-timeline-day-view .ax-scheduler-timeline-resource-container .ax-scheduler-timeline-resource-row .ax-scheduler-timeline-resource-content .ax-scheduler-timeline-appointment-container .ax-scheduler-timeline-appointment{width:100%;display:flex;overflow:hidden;position:absolute;inset-inline-start:0;flex-direction:column;padding-block:.25rem;padding-inline:.5rem;border-radius:calc(var(--ax-sys-border-radius) / 2)}ax-scheduler-timeline-day-view .ax-scheduler-timeline-resource-container .ax-scheduler-timeline-resource-row .ax-scheduler-timeline-resource-content .ax-scheduler-timeline-slot-row{height:100%;display:flex;position:relative}ax-scheduler-timeline-day-view .ax-scheduler-timeline-resource-container .ax-scheduler-timeline-resource-row .ax-scheduler-timeline-resource-content .ax-scheduler-timeline-slot-row .ax-scheduler-timeline-slot-cell{width:var(--ax-comp-scheduler-timeline-view-blocks-width);border-inline-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface));position:relative}ax-scheduler-timeline-day-view .ax-scheduler-timeline-resource-container .ax-scheduler-timeline-resource-row .ax-scheduler-timeline-resource-content .ax-scheduler-timeline-slot-row .ax-scheduler-timeline-slot-cell:after{content:\"\";position:absolute;top:0;right:0;width:1px;height:100%;background-color:rgba(var(--ax-sys-color-border-lightest-surface),.3)}ax-scheduler-timeline-day-view .ax-scheduler-timeline-header{top:0;z-index:2;width:100%;display:flex;position:sticky;background-color:var(--ax-comp-scheduler-all-day-bg, inherit);border-block-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-day-view .ax-scheduler-timeline-header .ax-scheduler-timeline-header-hours{position:relative;padding:.25rem .5rem;width:var(--ax-comp-scheduler-timeline-view-blocks-width);border-inline-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-day-view .ax-scheduler-timeline-header .ax-scheduler-timeline-header-hours span{position:sticky;inset-inline-start:.5rem}ax-scheduler-timeline-day-view .ax-scheduler-timeline-content{height:100%;position:relative}ax-scheduler-timeline-day-view .ax-scheduler-timeline-content .ax-scheduler-timeline-appointment-container{top:0;width:100%;height:100%;position:absolute}ax-scheduler-timeline-day-view .ax-scheduler-timeline-content .ax-scheduler-timeline-appointment-container .ax-scheduler-timeline-appointment{width:100%;display:flex;overflow:hidden;position:absolute;inset-inline-start:0;flex-direction:column;padding-block:.25rem;padding-inline:.5rem;border-radius:calc(var(--ax-sys-border-radius) / 2)}ax-scheduler-timeline-day-view .ax-scheduler-timeline-content .ax-scheduler-timeline-slot-row{height:100%;display:flex}ax-scheduler-timeline-day-view .ax-scheduler-timeline-content .ax-scheduler-timeline-slot-row .ax-scheduler-timeline-slot-cell{width:var(--ax-comp-scheduler-timeline-view-blocks-width);border-inline-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-day-view:not(.ax-state-readonly) .ax-scheduler-timeline-appointment{z-index:1;cursor:pointer}ax-scheduler-timeline-day-view:not(.ax-state-readonly) .ax-scheduler-timeline-slot-cell{z-index:0;cursor:pointer;transition-property:background-color;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function)}ax-scheduler-timeline-day-view:not(.ax-state-readonly) .ax-scheduler-timeline-slot-cell:hover{background-color:rgba(var(--ax-comp-scheduler-slot-hover-bg, var(--ax-sys-color-primary-surface), .1))}ax-scheduler-timeline-day-view ax-title{display:flex;justify-content:space-between}ax-scheduler-timeline-day-view ax-title .ax-scheduler-action-icon{width:auto;cursor:pointer}ax-scheduler-timeline-day-view .ax-scheduler-current-time-line{top:0;bottom:0;width:2px}ax-scheduler-timeline-day-view .ax-scheduler-current-time-line:before{top:-6px;inset-inline-start:-5px}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: AXDragDirective, selector: "[axDrag]", inputs: ["dragData", "dragDisabled", "dragTransition", "dragElementClone", "dropZoneGroup", "dragStartDelay", "dragResetOnDblClick", "dragLockAxis", "dragClonedTemplate", "dragCursor", "dragBoundary", "dragTransitionDuration"], outputs: ["dragPositionChanged"] }, { kind: "directive", type: AXTooltipDirective, selector: "[axTooltip]", inputs: ["axTooltipDisabled", "axTooltip", "axTooltipContext", "axTooltipPlacement", "axTooltipOffsetX", "axTooltipOffsetY", "axTooltipOpenAfter", "axTooltipCloseAfter"] }, { kind: "directive", type: AXDropZoneDirective, selector: "[axDropZone]", inputs: ["dropZoneGroup"], outputs: ["onElementDrop", "onElementHover"], exportAs: ["axDropZone"] }, { kind: "component", type: AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: 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: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: AXFormatPipe, name: "format" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
         
     | 
| 
       1887 
1887 
     | 
    
         
             
            }
         
     | 
| 
       1888 
     | 
    
         
            -
            i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3. 
     | 
| 
      
 1888 
     | 
    
         
            +
            i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: AXSchedulerTimelineDayViewComponent, decorators: [{
         
     | 
| 
       1889 
1889 
     | 
    
         
             
                        type: Component,
         
     | 
| 
       1890 
1890 
     | 
    
         
             
                        args: [{ selector: 'ax-scheduler-timeline-day-view', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [
         
     | 
| 
       1891 
1891 
     | 
    
         
             
                                    NgClass,
         
     | 
| 
         @@ -1898,7 +1898,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImpor 
     | 
|
| 
       1898 
1898 
     | 
    
         
             
                                    AXDecoratorIconComponent,
         
     | 
| 
       1899 
1899 
     | 
    
         
             
                                    AXDecoratorGenericComponent,
         
     | 
| 
       1900 
1900 
     | 
    
         
             
                                ], providers: [{ provide: AXComponent, useExisting: AXSchedulerTimelineDayViewComponent }], template: "@if (resources().length === 0 || !showResourceHeaders()) {\n  <!-- Original layout when no resources -->\n  <div class=\"ax-scheduler-timeline-header\">\n    @for (hour of hoursArray(); track hour.date.getTime()) {\n      <div class=\"ax-scheduler-timeline-header-hours\">\n        <span>{{ hour | format: 'time' : { format: 'HH:mm', calendar: calendar() } | async }}</span>\n      </div>\n    }\n  </div>\n\n  <div class=\"ax-scheduler-timeline-content\">\n    <!-- Current Time Line Indicator -->\n    @if (showCurrentTimeIndicator() && getCurrentTimePositionWithOffset() !== null) {\n      <div\n        class=\"ax-scheduler-current-time-line\"\n        [style.inset-inline-start]=\"getCurrentTimePositionWithOffset()\"\n        #currentTimeLine\n      ></div>\n    }\n    <div class=\"ax-scheduler-timeline-appointment-container\">\n      @for (\n        layout of resources().length === 0 ? appointmentLayouts() : getAppointmentLayoutsForResource(resourceIds()[0]);\n        track layout.appointment.id\n      ) {\n        <div\n          axDrag\n          [dragCursor]=\"'grab'\"\n          [dragTransition]=\"false\"\n          [dragElementClone]=\"true\"\n          [dragStartDelay]=\"dragStartDelay()\"\n          [dragDisabled]=\"!draggable() || layout.appointment.readonly || readonly()\"\n          [dragData]=\"layout.appointment\"\n          (pointerdown)=\"getSlotId($event)\"\n          (click)=\"handleAppointmentEvent($event, layout.appointment)\"\n          (dblclick)=\"handleAppointmentEvent($event, layout.appointment)\"\n          (contextmenu)=\"handleAppointmentEvent($event, layout.appointment)\"\n          [title]=\"tooltipTemplate() ? '' : layout.appointment.title\"\n          [style.width]=\"layout.layoutWidth\"\n          [style.height]=\"layout.layoutHeight\"\n          class=\"ax-scheduler-timeline-appointment\"\n          [style.insetBlockStart]=\"layout.layoutTop\"\n          [style.insetInlineStart]=\"layout.layoutLeft\"\n          [ngClass]=\"\n            layout.appointment.cssClass ?? `ax-scheduler-${layout.appointment.priority ?? 'primary'}-periority`\n          \"\n          [axTooltipDisabled]=\"tooltipTemplate() ? false : true\"\n          [axTooltipContext]=\"layout.appointment\"\n          [axTooltip]=\"tooltipTemplate()\"\n        >\n          <ax-title>\n            <span class=\"ax-scheduler-truncate\">{{ layout.appointment.title }}</span>\n            @if (hasActions()) {\n              <ax-icon\n                (click)=\"handleActionClick($event, layout.appointment)\"\n                class=\"ax-icon ax-icon-more-horizontal ax-scheduler-action-icon\"\n              >\n              </ax-icon>\n            }\n          </ax-title>\n          <ax-subtitle>\n            {{\n              layout.appointment.originalStartDate | format: 'time' : { format: 'HH:mm', calendar: calendar() } | async\n            }}\n            -\n            {{\n              layout.appointment.originalEndDate | format: 'time' : { format: 'HH:mm', calendar: calendar() } | async\n            }}\n          </ax-subtitle>\n        </div>\n      }\n    </div>\n    <div class=\"ax-scheduler-timeline-slot-row\" aria-hidden=\"true\">\n      @for (time of hoursArray(); track time.date.getTime()) {\n        <div\n          axDropZone\n          #zone=\"axDropZone\"\n          (onElementDrop)=\"handleDrop($event, time)\"\n          [class.ax-scheduler-slot-hovered]=\"zone.isHovered()\"\n          class=\"ax-scheduler-timeline-slot-cell\"\n          (click)=\"handleSlotEvent($event, time)\"\n          (dblclick)=\"handleSlotEvent($event, time)\"\n          (contextmenu)=\"handleSlotEvent($event, time)\"\n          [attr.data-slot-id]=\"time.format('YYYYMMDD-HHmm')\"\n        ></div>\n      }\n    </div>\n  </div>\n} @else {\n  <!-- Resource-based layout -->\n  <div class=\"ax-scheduler-timeline-resource-container\">\n    <!-- Single sticky time header for all resources (only show if not used in multi-day) -->\n    @if (showResourceHeaders()) {\n      <div class=\"ax-scheduler-timeline-header ax-scheduler-timeline-header-sticky\">\n        <div class=\"ax-scheduler-timeline-resource-header-placeholder\"><span>Resources</span></div>\n        @for (hour of hoursArray(); track hour.date.getTime()) {\n          <div class=\"ax-scheduler-timeline-header-hours\">\n            <span>{{ hour | format: 'time' : { format: 'HH:mm', calendar: calendar() } | async }}</span>\n          </div>\n        }\n      </div>\n    }\n\n    <!-- Resource rows -->\n    <div class=\"ax-scheduler-timeline-resource-rows\">\n      <!-- Current Time Line Indicator -->\n      @if (showCurrentTimeIndicator() && getCurrentTimePositionWithOffset() !== null) {\n        <div\n          #currentTimeLine\n          class=\"ax-scheduler-current-time-line\"\n          [style.inset-inline-start]=\"getCurrentTimePositionWithOffset()\"\n        ></div>\n      }\n\n      @for (resourceId of resourceIds(); track resourceId) {\n        <div class=\"ax-scheduler-timeline-resource-row\" [style.height]=\"getResourceRowHeight(resourceId)\">\n          @if (showResourceHeaders()) {\n            <!-- Sticky Resource Header -->\n            <div class=\"ax-scheduler-timeline-resource-header ax-scheduler-timeline-resource-header-sticky\">\n              @if (resourceTemplate() && typeof resourceTemplate() !== 'string') {\n                <ng-container\n                  [ngTemplateOutlet]=\"$any(resourceTemplate())\"\n                  [ngTemplateOutletContext]=\"{\n                    $implicit: getResourceContext(resourceId),\n                    resource: getResourceContext(resourceId),\n                    resourceId: resourceId,\n                  }\"\n                ></ng-container>\n              } @else {\n                <span class=\"ax-scheduler-timeline-resource-title\">{{ getResourceTitle(resourceId) }}</span>\n              }\n            </div>\n          }\n\n          <!-- Resource Content -->\n          <div class=\"ax-scheduler-timeline-resource-content\">\n            <div class=\"ax-scheduler-timeline-appointment-container\">\n              @for (layout of getAppointmentLayoutsForResource(resourceId); track layout.appointment.id) {\n                <div\n                  axDrag\n                  [dragCursor]=\"'grab'\"\n                  [dragTransition]=\"false\"\n                  [dragElementClone]=\"true\"\n                  [dragStartDelay]=\"dragStartDelay()\"\n                  [dragDisabled]=\"!draggable() || layout.appointment.readonly || readonly()\"\n                  [dragData]=\"layout.appointment\"\n                  (pointerdown)=\"getSlotId($event)\"\n                  (click)=\"handleAppointmentEvent($event, layout.appointment)\"\n                  (dblclick)=\"handleAppointmentEvent($event, layout.appointment)\"\n                  (contextmenu)=\"handleAppointmentEvent($event, layout.appointment)\"\n                  [title]=\"tooltipTemplate() ? '' : layout.appointment.title\"\n                  [style.width]=\"layout.layoutWidth\"\n                  [style.height]=\"layout.layoutHeight\"\n                  class=\"ax-scheduler-timeline-appointment\"\n                  [style.insetBlockStart]=\"layout.layoutTop\"\n                  [style.insetInlineStart]=\"layout.layoutLeft\"\n                  [ngClass]=\"\n                    layout.appointment.cssClass ?? `ax-scheduler-${layout.appointment.priority ?? 'primary'}-periority`\n                  \"\n                  [axTooltipDisabled]=\"tooltipTemplate() ? false : true\"\n                  [axTooltipContext]=\"layout.appointment\"\n                  [axTooltip]=\"tooltipTemplate()\"\n                >\n                  <ax-title>\n                    <span class=\"ax-scheduler-truncate\">{{ layout.appointment.title }}</span>\n                    @if (hasActions()) {\n                      <ax-icon\n                        (click)=\"handleActionClick($event, layout.appointment)\"\n                        class=\"ax-icon ax-icon-more-horizontal ax-scheduler-action-icon\"\n                      >\n                      </ax-icon>\n                    }\n                  </ax-title>\n                  <ax-subtitle>\n                    {{\n                      layout.appointment.originalStartDate\n                        | format: 'time' : { format: 'HH:mm', calendar: calendar() }\n                        | async\n                    }}\n                    -\n                    {{\n                      layout.appointment.originalEndDate\n                        | format: 'time' : { format: 'HH:mm', calendar: calendar() }\n                        | async\n                    }}\n                  </ax-subtitle>\n                </div>\n              }\n            </div>\n            <div class=\"ax-scheduler-timeline-slot-row\" aria-hidden=\"true\">\n              @for (time of hoursArray(); track time.date.getTime()) {\n                <div\n                  axDropZone\n                  #zone=\"axDropZone\"\n                  (onElementDrop)=\"handleDrop($event, time, resourceId)\"\n                  [class.ax-scheduler-slot-hovered]=\"zone.isHovered()\"\n                  class=\"ax-scheduler-timeline-slot-cell\"\n                  (click)=\"handleSlotEvent($event, time)\"\n                  (dblclick)=\"handleSlotEvent($event, time)\"\n                  (contextmenu)=\"handleSlotEvent($event, time)\"\n                  [attr.data-slot-id]=\"time.format('YYYYMMDD-HHmm')\"\n                  [attr.data-resource-id]=\"resourceId\"\n                ></div>\n              }\n            </div>\n          </div>\n        </div>\n      }\n    </div>\n  </div>\n}\n", styles: ["ax-scheduler-timeline-day-view{height:100%;position:relative;display:inline-flex;flex-direction:column;background-color:inherit}ax-scheduler-timeline-day-view .ax-scheduler-timeline-resource-container{height:auto;display:flex;min-height:100%;overflow:visible;flex-direction:column;background-color:inherit;position:relative}ax-scheduler-timeline-day-view .ax-scheduler-timeline-resource-container .ax-scheduler-timeline-header-sticky{position:sticky;top:0;z-index:10;display:flex;background-color:inherit;border-bottom:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-day-view .ax-scheduler-timeline-resource-container .ax-scheduler-timeline-header-sticky .ax-scheduler-timeline-resource-header-placeholder{left:0;z-index:15;display:flex;position:sticky;align-items:center;justify-content:center;background-color:inherit;width:var(--ax-comp-scheduler-resource-header-width, 8rem);min-width:var(--ax-comp-scheduler-resource-header-width, 8rem);border-right:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-day-view .ax-scheduler-timeline-resource-container .ax-scheduler-timeline-resource-rows{flex:1;overflow:visible;position:relative;background-color:inherit}ax-scheduler-timeline-day-view .ax-scheduler-timeline-resource-container .ax-scheduler-timeline-resource-row{display:flex;min-height:0;border-bottom:1px solid rgba(var(--ax-sys-color-border-lightest-surface));width:max-content;background-color:inherit}ax-scheduler-timeline-day-view .ax-scheduler-timeline-resource-container .ax-scheduler-timeline-resource-row .ax-scheduler-timeline-resource-header{display:flex;padding:.5rem;align-items:center;justify-content:center;background-color:inherit;width:var(--ax-comp-scheduler-resource-header-width, 8rem);min-width:var(--ax-comp-scheduler-resource-header-width, 8rem);border-right:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-day-view .ax-scheduler-timeline-resource-container .ax-scheduler-timeline-resource-row .ax-scheduler-timeline-resource-header.ax-scheduler-timeline-resource-header-sticky{position:sticky;left:0;z-index:15;background-color:inherit}ax-scheduler-timeline-day-view .ax-scheduler-timeline-resource-container .ax-scheduler-timeline-resource-row .ax-scheduler-timeline-resource-header .ax-scheduler-timeline-resource-title{font-weight:500;font-size:.875rem;text-align:center;word-break:break-word}ax-scheduler-timeline-day-view .ax-scheduler-timeline-resource-container .ax-scheduler-timeline-resource-row .ax-scheduler-timeline-resource-content{flex:1;display:flex;flex-direction:column;min-width:0;position:relative}ax-scheduler-timeline-day-view .ax-scheduler-timeline-resource-container .ax-scheduler-timeline-resource-row .ax-scheduler-timeline-resource-content .ax-scheduler-timeline-appointment-container{top:0;width:100%;height:100%;position:absolute}ax-scheduler-timeline-day-view .ax-scheduler-timeline-resource-container .ax-scheduler-timeline-resource-row .ax-scheduler-timeline-resource-content .ax-scheduler-timeline-appointment-container .ax-scheduler-timeline-appointment{width:100%;display:flex;overflow:hidden;position:absolute;inset-inline-start:0;flex-direction:column;padding-block:.25rem;padding-inline:.5rem;border-radius:calc(var(--ax-sys-border-radius) / 2)}ax-scheduler-timeline-day-view .ax-scheduler-timeline-resource-container .ax-scheduler-timeline-resource-row .ax-scheduler-timeline-resource-content .ax-scheduler-timeline-slot-row{height:100%;display:flex;position:relative}ax-scheduler-timeline-day-view .ax-scheduler-timeline-resource-container .ax-scheduler-timeline-resource-row .ax-scheduler-timeline-resource-content .ax-scheduler-timeline-slot-row .ax-scheduler-timeline-slot-cell{width:var(--ax-comp-scheduler-timeline-view-blocks-width);border-inline-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface));position:relative}ax-scheduler-timeline-day-view .ax-scheduler-timeline-resource-container .ax-scheduler-timeline-resource-row .ax-scheduler-timeline-resource-content .ax-scheduler-timeline-slot-row .ax-scheduler-timeline-slot-cell:after{content:\"\";position:absolute;top:0;right:0;width:1px;height:100%;background-color:rgba(var(--ax-sys-color-border-lightest-surface),.3)}ax-scheduler-timeline-day-view .ax-scheduler-timeline-header{top:0;z-index:2;width:100%;display:flex;position:sticky;background-color:var(--ax-comp-scheduler-all-day-bg, inherit);border-block-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-day-view .ax-scheduler-timeline-header .ax-scheduler-timeline-header-hours{position:relative;padding:.25rem .5rem;width:var(--ax-comp-scheduler-timeline-view-blocks-width);border-inline-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-day-view .ax-scheduler-timeline-header .ax-scheduler-timeline-header-hours span{position:sticky;inset-inline-start:.5rem}ax-scheduler-timeline-day-view .ax-scheduler-timeline-content{height:100%;position:relative}ax-scheduler-timeline-day-view .ax-scheduler-timeline-content .ax-scheduler-timeline-appointment-container{top:0;width:100%;height:100%;position:absolute}ax-scheduler-timeline-day-view .ax-scheduler-timeline-content .ax-scheduler-timeline-appointment-container .ax-scheduler-timeline-appointment{width:100%;display:flex;overflow:hidden;position:absolute;inset-inline-start:0;flex-direction:column;padding-block:.25rem;padding-inline:.5rem;border-radius:calc(var(--ax-sys-border-radius) / 2)}ax-scheduler-timeline-day-view .ax-scheduler-timeline-content .ax-scheduler-timeline-slot-row{height:100%;display:flex}ax-scheduler-timeline-day-view .ax-scheduler-timeline-content .ax-scheduler-timeline-slot-row .ax-scheduler-timeline-slot-cell{width:var(--ax-comp-scheduler-timeline-view-blocks-width);border-inline-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-day-view:not(.ax-state-readonly) .ax-scheduler-timeline-appointment{z-index:1;cursor:pointer}ax-scheduler-timeline-day-view:not(.ax-state-readonly) .ax-scheduler-timeline-slot-cell{z-index:0;cursor:pointer;transition-property:background-color;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function)}ax-scheduler-timeline-day-view:not(.ax-state-readonly) .ax-scheduler-timeline-slot-cell:hover{background-color:rgba(var(--ax-comp-scheduler-slot-hover-bg, var(--ax-sys-color-primary-surface), .1))}ax-scheduler-timeline-day-view ax-title{display:flex;justify-content:space-between}ax-scheduler-timeline-day-view ax-title .ax-scheduler-action-icon{width:auto;cursor:pointer}ax-scheduler-timeline-day-view .ax-scheduler-current-time-line{top:0;bottom:0;width:2px}ax-scheduler-timeline-day-view .ax-scheduler-current-time-line:before{top:-6px;inset-inline-start:-5px}\n"] }]
         
     | 
| 
       1901 
     | 
    
         
            -
                    }], propDecorators: { isReadonly: [{
         
     | 
| 
      
 1901 
     | 
    
         
            +
                    }], propDecorators: { readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], draggable: [{ type: i0.Input, args: [{ isSignal: true, alias: "draggable", required: false }] }], hasActions: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasActions", required: false }] }], dragStartDelay: [{ type: i0.Input, args: [{ isSignal: true, alias: "dragStartDelay", required: false }] }], calendar: [{ type: i0.Input, args: [{ isSignal: true, alias: "calendar", required: false }] }], showResourceHeaders: [{ type: i0.Input, args: [{ isSignal: true, alias: "showResourceHeaders", required: false }] }], date: [{ type: i0.Input, args: [{ isSignal: true, alias: "date", required: true }] }], endDayHour: [{ type: i0.Input, args: [{ isSignal: true, alias: "endDayHour", required: true }] }], startDayHour: [{ type: i0.Input, args: [{ isSignal: true, alias: "startDayHour", required: true }] }], showUnassignedAppointments: [{ type: i0.Input, args: [{ isSignal: true, alias: "showUnassignedAppointments", required: false }] }], resources: [{ type: i0.Input, args: [{ isSignal: true, alias: "resources", required: false }] }], showCurrentTimeIndicator: [{ type: i0.Input, args: [{ isSignal: true, alias: "showCurrentTimeIndicator", required: false }] }], resourceTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "resourceTemplate", required: false }] }], appointments: [{ type: i0.Input, args: [{ isSignal: true, alias: "appointments", required: false }] }], tooltipTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "tooltipTemplate", required: false }] }], currentTimeLineElement: [{ type: i0.ViewChild, args: ['currentTimeLine', { isSignal: true }] }], slotClickedInternal: [{ type: i0.Output, args: ["slotClickedInternal"] }], slotDblClickedInternal: [{ type: i0.Output, args: ["slotDblClickedInternal"] }], slotRightClickedInternal: [{ type: i0.Output, args: ["slotRightClickedInternal"] }], appointmentClickedInternal: [{ type: i0.Output, args: ["appointmentClickedInternal"] }], appointmentDblClickedInternal: [{ type: i0.Output, args: ["appointmentDblClickedInternal"] }], appointmentRightClickedInternal: [{ type: i0.Output, args: ["appointmentRightClickedInternal"] }], onActionClickInternal: [{ type: i0.Output, args: ["onActionClickInternal"] }], onAppointmentDropInternal: [{ type: i0.Output, args: ["onAppointmentDropInternal"] }], isReadonly: [{
         
     | 
| 
       1902 
1902 
     | 
    
         
             
                            type: HostBinding,
         
     | 
| 
       1903 
1903 
     | 
    
         
             
                            args: ['class.ax-state-readonly']
         
     | 
| 
       1904 
1904 
     | 
    
         
             
                        }] } });
         
     | 
| 
         @@ -2264,10 +2264,10 @@ class AXSchedulerTimelineMonthViewComponent extends NXComponent { 
     | 
|
| 
       2264 
2264 
     | 
    
         
             
                get isReadonly() {
         
     | 
| 
       2265 
2265 
     | 
    
         
             
                    return this.readonly();
         
     | 
| 
       2266 
2266 
     | 
    
         
             
                }
         
     | 
| 
       2267 
     | 
    
         
            -
                static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3. 
     | 
| 
       2268 
     | 
    
         
            -
                static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.4", type: AXSchedulerTimelineMonthViewComponent, isStandalone: true, selector: "ax-scheduler-timeline-month-view", inputs: { readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, draggable: { classPropertyName: "draggable", publicName: "draggable", isSignal: true, isRequired: false, transformFunction: null }, hasActions: { classPropertyName: "hasActions", publicName: "hasActions", isSignal: true, isRequired: false, transformFunction: null }, dragStartDelay: { classPropertyName: "dragStartDelay", publicName: "dragStartDelay", isSignal: true, isRequired: false, transformFunction: null }, calendar: { classPropertyName: "calendar", publicName: "calendar", isSignal: true, isRequired: false, transformFunction: null }, showResourceHeaders: { classPropertyName: "showResourceHeaders", publicName: "showResourceHeaders", isSignal: true, isRequired: false, transformFunction: null }, date: { classPropertyName: "date", publicName: "date", isSignal: true, isRequired: true, transformFunction: null }, showUnassignedAppointments: { classPropertyName: "showUnassignedAppointments", publicName: "showUnassignedAppointments", isSignal: true, isRequired: false, transformFunction: null }, resources: { classPropertyName: "resources", publicName: "resources", isSignal: true, isRequired: false, transformFunction: null }, showCurrentTimeIndicator: { classPropertyName: "showCurrentTimeIndicator", publicName: "showCurrentTimeIndicator", isSignal: true, isRequired: false, transformFunction: null }, resourceTemplate: { classPropertyName: "resourceTemplate", publicName: "resourceTemplate", isSignal: true, isRequired: false, transformFunction: null }, appointments: { classPropertyName: "appointments", publicName: "appointments", isSignal: true, isRequired: false, transformFunction: null }, tooltipTemplate: { classPropertyName: "tooltipTemplate", publicName: "tooltipTemplate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { slotClickedInternal: "slotClickedInternal", slotDblClickedInternal: "slotDblClickedInternal", slotRightClickedInternal: "slotRightClickedInternal", appointmentClickedInternal: "appointmentClickedInternal", appointmentDblClickedInternal: "appointmentDblClickedInternal", appointmentRightClickedInternal: "appointmentRightClickedInternal", onActionClickInternal: "onActionClickInternal", onAppointmentDropInternal: "onAppointmentDropInternal" }, host: { properties: { "class.ax-state-readonly": "this.isReadonly" } }, providers: [{ provide: AXComponent, useExisting: AXSchedulerTimelineMonthViewComponent }], viewQueries: [{ propertyName: "currentTimeLineElement", first: true, predicate: ["currentTimeLine"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@if (resources().length === 0 || !showResourceHeaders()) {\n  <!-- Original layout when no resources -->\n  <div class=\"ax-scheduler-timeline-month-container\">\n    @for (dayData of processedDayData(); track dayData.date.date.getTime()) {\n      <div>\n        <div class=\"ax-scheduler-timeline-header\">\n          <div\n            [class.ax-state-today]=\"isToday(dayData.date)\"\n            class=\"ax-scheduler-month-header-date-day {{\n              dayData.holiday.state !== 'none' ? (dayData.holiday.holiday?.cssClass ?? 'ax-state-holiday') : ''\n            }}\"\n          >\n            <span\n              class=\"ax-scheduler-month-header-date-day-char ax-scheduler-truncate\"\n              [axTooltip]=\"dayData.holiday.holiday?.title ?? ''\"\n            >\n              {{ dayData.date | format: 'date' : { format: 'dddd', calendar: calendar() } | async }}\n              @if (dayData.holiday.state === 'holiday' && dayData.holiday.holiday.title) {\n                ( {{ dayData.holiday.holiday.title }} )\n              }\n            </span>\n            <span class=\"ax-scheduler-month-header-date-day-num\">\n              {{ dayData.date | format: 'date' : { format: 'DD', calendar: calendar() } | async }}\n            </span>\n          </div>\n        </div>\n\n        <div\n          axDropZone\n          #zone=\"axDropZone\"\n          (onElementDrop)=\"handleDrop($event, dayData.date)\"\n          [class.ax-scheduler-slot-hovered]=\"zone.isHovered()\"\n          class=\"ax-scheduler-timeline-content\"\n          (click)=\"handleSlotEvent($event, dayData.date)\"\n          (dblclick)=\"handleSlotEvent($event, dayData.date)\"\n          (contextmenu)=\"handleSlotEvent($event, dayData.date)\"\n          [attr.data-slot-id]=\"dayData.date.format('YYYYMMDD')\"\n        >\n          <!-- Current Time Line Indicator -->\n          @if (\n            showCurrentTimeIndicator() && shouldShowCurrentTimeForDay(dayData.date) && getCurrentTimePosition() !== null\n          ) {\n            <div\n              class=\"ax-scheduler-current-time-line\"\n              [style.inset-inline-start.%]=\"getCurrentTimePosition()\"\n              #currentTimeLine\n            ></div>\n          }\n          <div class=\"ax-scheduler-timeline-appointment-container\">\n            @for (segment of dayData.visibleAppointments; track segment.id + segment.originalStartDate.getTime()) {\n              <div\n                axDrag\n                [dragData]=\"segment\"\n                [dragCursor]=\"'grab'\"\n                [dragTransition]=\"false\"\n                [dragElementClone]=\"true\"\n                [dragStartDelay]=\"dragStartDelay()\"\n                [dragDisabled]=\"!draggable() || segment.readonly || readonly()\"\n                (pointerdown)=\"getSlotId($event)\"\n                (click)=\"handleAppointmentEvent($event, segment)\"\n                (dblclick)=\"handleAppointmentEvent($event, segment)\"\n                (contextmenu)=\"handleAppointmentEvent($event, segment)\"\n                [title]=\"\n                  tooltipTemplate()\n                    ? ''\n                    : segment.allDay\n                      ? segment.title +\n                        ' (' +\n                        (segment.originalStartDate\n                          | format: 'date' : { format: 'MMM d', calendar: calendar() }\n                          | async) +\n                        ' - ' +\n                        (segment.originalEndDate | format: 'date' : { format: 'MMM d', calendar: calendar() } | async) +\n                        ')'\n                      : segment.title +\n                        ' (' +\n                        (segment.originalStartDate | format: 'time' : { calendar: calendar() } | async) +\n                        ' - ' +\n                        (segment.originalEndDate | format: 'time' : { calendar: calendar() } | async) +\n                        ')'\n                \"\n                class=\"ax-scheduler-timeline-appointment\"\n                [class.all-day-segment]=\"segment.allDay\"\n                [ngClass]=\"segment.cssClass ?? `ax-scheduler-${segment.priority ?? 'primary'}-periority`\"\n                [axTooltipDisabled]=\"tooltipTemplate() ? false : true\"\n                [axTooltip]=\"tooltipTemplate()\"\n                [axTooltipContext]=\"segment\"\n              >\n                <ax-title>\n                  <span class=\"ax-scheduler-truncate\">{{ segment.title }}</span>\n                  @if (hasActions()) {\n                    <ax-icon\n                      (click)=\"handleActionClick($event, segment)\"\n                      class=\"ax-icon ax-icon-more-horizontal ax-scheduler-action-icon\"\n                    >\n                    </ax-icon>\n                  }\n                </ax-title>\n                <!-- Display segment's start/end times or date range -->\n                <ax-subtitle>\n                  @if (segment.allDay) {\n                    {{ segment.originalStartDate | format: 'date' : { format: 'MMM d', calendar: calendar() } | async }}\n                    @if (segment.originalStartDate.getTime() !== segment.originalEndDate.getTime()) {\n                      -\n                      {{ segment.originalEndDate | format: 'date' : { format: 'MMM d', calendar: calendar() } | async }}\n                    }\n                  } @else {\n                    {{ segment.originalStartDate | format: 'time' : { format: 'HH:mm', calendar: calendar() } | async }}\n                    -\n                    {{ segment.originalEndDate | format: 'time' : { format: 'HH:mm', calendar: calendar() } | async }}\n                  }\n                </ax-subtitle>\n              </div>\n            }\n            @if (dayData.moreCount > 0) {\n              <div #moreAppointments class=\"ax-scheduler-month-overflow-badge\" (click)=\"$event.stopPropagation()\">\n                +{{\n                  '@acorex:common.general.more-items' | translate: { params: { number: dayData.moreCount } } | async\n                }}\n              </div>\n              <ax-popover [target]=\"moreAppointments\" placement=\"bottom-start\" trigger=\"click\">\n                <div\n                  axDropZone\n                  [class.ax-state-readonly]=\"readonly()\"\n                  class=\"ax-overlay-pane ax-scheduler-popover ax-scheduler-month-popover-appointment\"\n                >\n                  @for (segment of dayData.hiddenAppointments; track segment.id + segment.originalStartDate.getTime()) {\n                    <div\n                      axDrag\n                      [dragData]=\"segment\"\n                      [dragCursor]=\"'grab'\"\n                      [dragTransition]=\"false\"\n                      [dragElementClone]=\"true\"\n                      [dragStartDelay]=\"dragStartDelay()\"\n                      [dragDisabled]=\"!draggable() || segment.readonly || readonly()\"\n                      (click)=\"handleAppointmentEvent($event, segment); $event.stopPropagation()\"\n                      (dblclick)=\"handleAppointmentEvent($event, segment); $event.stopPropagation()\"\n                      (contextmenu)=\"handleAppointmentEvent($event, segment); $event.stopPropagation()\"\n                      [title]=\"\n                        tooltipTemplate()\n                          ? ''\n                          : segment.allDay\n                            ? segment.title +\n                              ' (' +\n                              (segment.originalStartDate\n                                | format: 'date' : { format: 'MMM d', calendar: calendar() }\n                                | async) +\n                              ' - ' +\n                              (segment.originalEndDate\n                                | format: 'date' : { format: 'MMM d', calendar: calendar() }\n                                | async) +\n                              ')'\n                            : segment.title +\n                              ' (' +\n                              (segment.originalStartDate | format: 'time' : { calendar: calendar() } | async) +\n                              ' - ' +\n                              (segment.originalEndDate | format: 'time' : { calendar: calendar() } | async) +\n                              ')'\n                      \"\n                      class=\"ax-scheduler-popover-appointment\"\n                      [class.all-day-segment]=\"segment.allDay\"\n                      [ngClass]=\"segment.cssClass ?? `ax-scheduler-${segment.priority ?? 'primary'}-periority`\"\n                      [axTooltipDisabled]=\"tooltipTemplate() ? false : true\"\n                      [axTooltip]=\"tooltipTemplate()\"\n                      [axTooltipContext]=\"segment\"\n                    >\n                      <ax-title>\n                        <span class=\"ax-scheduler-truncate\">{{ segment.title }}</span>\n                        @if (hasActions()) {\n                          <ax-icon\n                            (click)=\"handleActionClick($event, segment)\"\n                            class=\"ax-icon ax-icon-more-horizontal ax-scheduler-action-icon\"\n                          >\n                          </ax-icon>\n                        }\n                      </ax-title>\n                      <ax-subtitle>\n                        @if (segment.allDay) {\n                          {{\n                            segment.originalStartDate\n                              | format: 'date' : { format: 'MMM d', calendar: calendar() }\n                              | async\n                          }}\n                          @if (segment.originalStartDate.getTime() !== segment.originalEndDate.getTime()) {\n                            -\n                            {{\n                              segment.originalEndDate\n                                | format: 'date' : { format: 'MMM d', calendar: calendar() }\n                                | async\n                            }}\n                          }\n                        } @else {\n                          {{\n                            segment.originalStartDate\n                              | format: 'time' : { format: 'HH:mm', calendar: calendar() }\n                              | async\n                          }}\n                          -\n                          {{\n                            segment.originalEndDate | format: 'time' : { format: 'HH:mm', calendar: calendar() } | async\n                          }}\n                        }\n                      </ax-subtitle>\n                    </div>\n                  }\n                </div>\n              </ax-popover>\n            }\n          </div>\n        </div>\n      </div>\n    }\n  </div>\n} @else {\n  <!-- Resource-based layout with sticky resources -->\n  <div class=\"ax-scheduler-timeline-month-resource-container\">\n    <!-- Sticky header with resource placeholder and day headers -->\n    @if (showResourceHeaders()) {\n      <div class=\"ax-scheduler-timeline-month-header-sticky\">\n        <div class=\"ax-scheduler-timeline-month-resource-header-placeholder\"><span>Resources</span></div>\n        @for (dayData of processedDayData(); track dayData.date.date.getTime()) {\n          <div class=\"ax-scheduler-timeline-month-day-header\">\n            <div\n              [class.ax-state-today]=\"isToday(dayData.date)\"\n              class=\"ax-scheduler-month-header-date-day {{\n                dayData.holiday?.state !== 'none' ? (dayData.holiday?.holiday?.cssClass ?? 'ax-state-holiday') : ''\n              }}\"\n            >\n              <span\n                class=\"ax-scheduler-month-header-date-day-char ax-scheduler-truncate\"\n                [axTooltip]=\"dayData.holiday?.holiday?.title ?? ''\"\n              >\n                {{ dayData.date | format: 'date' : { format: 'dddd', calendar: calendar() } | async }}\n                @if (dayData.holiday?.state === 'holiday' && dayData.holiday?.holiday?.title) {\n                  ( {{ dayData.holiday.holiday.title }} )\n                }\n              </span>\n              <span class=\"ax-scheduler-month-header-date-day-num\">\n                {{ dayData.date | format: 'date' : { format: 'DD', calendar: calendar() } | async }}\n              </span>\n            </div>\n          </div>\n        }\n      </div>\n    }\n\n    <!-- Resource rows with sticky resource headers -->\n    <div class=\"ax-scheduler-timeline-month-resource-rows\">\n      <!-- Current Time Line Indicator -->\n      @if (showCurrentTimeIndicator() && getCurrentTimePosition() !== null) {\n        <div\n          class=\"ax-scheduler-current-time-line\"\n          [style.inset-inline-start.%]=\"getCurrentTimePosition()\"\n          #currentTimeLine\n        ></div>\n      }\n\n      @for (resourceId of resourceIds(); track resourceId) {\n        <div class=\"ax-scheduler-timeline-month-resource-row\" [style.height]=\"getResourceRowHeight(resourceId)\">\n          @if (showResourceHeaders()) {\n            <!-- Sticky Resource Header -->\n            <div class=\"ax-scheduler-timeline-month-resource-header ax-scheduler-timeline-month-resource-header-sticky\">\n              @if (resourceTemplate() && typeof resourceTemplate() !== 'string') {\n                <ng-container\n                  [ngTemplateOutlet]=\"$any(resourceTemplate())\"\n                  [ngTemplateOutletContext]=\"{\n                    $implicit: getResourceContext(resourceId),\n                    resource: getResourceContext(resourceId),\n                    resourceId: resourceId,\n                  }\"\n                ></ng-container>\n              } @else {\n                <span class=\"ax-scheduler-timeline-month-resource-title\">{{ getResourceTitle(resourceId) }}</span>\n              }\n            </div>\n          }\n\n          <!-- Resource Content -->\n          <div class=\"ax-scheduler-timeline-month-resource-content\">\n            @for (dayData of processedDayData(); track dayData.date.date.getTime()) {\n              <div\n                axDropZone\n                #zone=\"axDropZone\"\n                (onElementDrop)=\"handleDrop($event, dayData.date, resourceId)\"\n                [class.ax-scheduler-slot-hovered]=\"zone.isHovered()\"\n                class=\"ax-scheduler-timeline-content\"\n                (click)=\"handleSlotEvent($event, dayData.date)\"\n                (dblclick)=\"handleSlotEvent($event, dayData.date)\"\n                (contextmenu)=\"handleSlotEvent($event, dayData.date)\"\n                [attr.data-slot-id]=\"dayData.date.format('YYYYMMDD')\"\n                [attr.data-resource-id]=\"resourceId\"\n              >\n                <div class=\"ax-scheduler-timeline-appointment-container\">\n                  @for (\n                    segment of getAppointmentsForResourceAndDay(resourceId, dayData).visible;\n                    track segment.id + segment.originalStartDate.getTime()\n                  ) {\n                    <div\n                      axDrag\n                      [dragData]=\"segment\"\n                      [dragCursor]=\"'grab'\"\n                      [dragTransition]=\"false\"\n                      [dragElementClone]=\"true\"\n                      [dragStartDelay]=\"dragStartDelay()\"\n                      [dragDisabled]=\"!draggable() || segment.readonly || readonly()\"\n                      (pointerdown)=\"getSlotId($event)\"\n                      (click)=\"handleAppointmentEvent($event, segment)\"\n                      (dblclick)=\"handleAppointmentEvent($event, segment)\"\n                      (contextmenu)=\"handleAppointmentEvent($event, segment)\"\n                      [title]=\"\n                        tooltipTemplate()\n                          ? ''\n                          : segment.allDay\n                            ? segment.title +\n                              ' (' +\n                              (segment.originalStartDate\n                                | format: 'date' : { format: 'MMM d', calendar: calendar() }\n                                | async) +\n                              ' - ' +\n                              (segment.originalEndDate\n                                | format: 'date' : { format: 'MMM d', calendar: calendar() }\n                                | async) +\n                              ')'\n                            : segment.title +\n                              ' (' +\n                              (segment.originalStartDate | format: 'time' : { calendar: calendar() } | async) +\n                              ' - ' +\n                              (segment.originalEndDate | format: 'time' : { calendar: calendar() } | async) +\n                              ')'\n                      \"\n                      class=\"ax-scheduler-timeline-appointment\"\n                      [class.all-day-segment]=\"segment.allDay\"\n                      [ngClass]=\"segment.cssClass ?? `ax-scheduler-${segment.priority ?? 'primary'}-periority`\"\n                      [axTooltipDisabled]=\"tooltipTemplate() ? false : true\"\n                      [axTooltip]=\"tooltipTemplate()\"\n                      [axTooltipContext]=\"segment\"\n                    >\n                      <ax-title>\n                        <span class=\"ax-scheduler-truncate\">{{ segment.title }}</span>\n                        @if (hasActions()) {\n                          <ax-icon\n                            (click)=\"handleActionClick($event, segment)\"\n                            class=\"ax-icon ax-icon-more-horizontal ax-scheduler-action-icon\"\n                          >\n                          </ax-icon>\n                        }\n                      </ax-title>\n                      <ax-subtitle>\n                        @if (segment.allDay) {\n                          {{\n                            segment.originalStartDate\n                              | format: 'date' : { format: 'MMM d', calendar: calendar() }\n                              | async\n                          }}\n                          @if (segment.originalStartDate.getTime() !== segment.originalEndDate.getTime()) {\n                            -\n                            {{\n                              segment.originalEndDate\n                                | format: 'date' : { format: 'MMM d', calendar: calendar() }\n                                | async\n                            }}\n                          }\n                        } @else {\n                          {{\n                            segment.originalStartDate\n                              | format: 'time' : { format: 'HH:mm', calendar: calendar() }\n                              | async\n                          }}\n                          -\n                          {{\n                            segment.originalEndDate | format: 'time' : { format: 'HH:mm', calendar: calendar() } | async\n                          }}\n                        }\n                      </ax-subtitle>\n                    </div>\n                  }\n                  @if (getAppointmentsForResourceAndDay(resourceId, dayData).moreCount > 0) {\n                    <div #moreAppointments class=\"ax-scheduler-month-overflow-badge\" (click)=\"$event.stopPropagation()\">\n                      +{{\n                        '@acorex:common.general.more-items'\n                          | translate\n                            : { params: { number: getAppointmentsForResourceAndDay(resourceId, dayData).moreCount } }\n                          | async\n                      }}\n                    </div>\n                    <ax-popover [target]=\"moreAppointments\" placement=\"bottom-start\" trigger=\"click\">\n                      <div\n                        axDropZone\n                        [class.ax-state-readonly]=\"readonly()\"\n                        class=\"ax-overlay-pane ax-scheduler-popover ax-scheduler-month-popover-appointment\"\n                      >\n                        @for (\n                          segment of getAppointmentsForResourceAndDay(resourceId, dayData).hidden;\n                          track segment.id + segment.originalStartDate.getTime()\n                        ) {\n                          <div\n                            axDrag\n                            [dragData]=\"segment\"\n                            [dragCursor]=\"'grab'\"\n                            [dragTransition]=\"false\"\n                            [dragElementClone]=\"true\"\n                            [dragStartDelay]=\"dragStartDelay()\"\n                            [dragDisabled]=\"!draggable() || segment.readonly || readonly()\"\n                            (click)=\"handleAppointmentEvent($event, segment); $event.stopPropagation()\"\n                            (dblclick)=\"handleAppointmentEvent($event, segment); $event.stopPropagation()\"\n                            (contextmenu)=\"handleAppointmentEvent($event, segment); $event.stopPropagation()\"\n                            [title]=\"\n                              tooltipTemplate()\n                                ? ''\n                                : segment.allDay\n                                  ? segment.title +\n                                    ' (' +\n                                    (segment.originalStartDate\n                                      | format: 'date' : { format: 'MMM d', calendar: calendar() }\n                                      | async) +\n                                    ' - ' +\n                                    (segment.originalEndDate\n                                      | format: 'date' : { format: 'MMM d', calendar: calendar() }\n                                      | async) +\n                                    ')'\n                                  : segment.title +\n                                    ' (' +\n                                    (segment.originalStartDate | format: 'time' : { calendar: calendar() } | async) +\n                                    ' - ' +\n                                    (segment.originalEndDate | format: 'time' : { calendar: calendar() } | async) +\n                                    ')'\n                            \"\n                            class=\"ax-scheduler-popover-appointment\"\n                            [class.all-day-segment]=\"segment.allDay\"\n                            [ngClass]=\"segment.cssClass ?? `ax-scheduler-${segment.priority ?? 'primary'}-periority`\"\n                            [axTooltipDisabled]=\"tooltipTemplate() ? false : true\"\n                            [axTooltip]=\"tooltipTemplate()\"\n                            [axTooltipContext]=\"segment\"\n                          >\n                            <ax-title>\n                              <span class=\"ax-scheduler-truncate\">{{ segment.title }}</span>\n                              @if (hasActions()) {\n                                <ax-icon\n                                  (click)=\"handleActionClick($event, segment)\"\n                                  class=\"ax-icon ax-icon-more-horizontal ax-scheduler-action-icon\"\n                                >\n                                </ax-icon>\n                              }\n                            </ax-title>\n                            <ax-subtitle>\n                              @if (segment.allDay) {\n                                {{\n                                  segment.originalStartDate\n                                    | format: 'date' : { format: 'MMM d', calendar: calendar() }\n                                    | async\n                                }}\n                                @if (segment.originalStartDate.getTime() !== segment.originalEndDate.getTime()) {\n                                  -\n                                  {{\n                                    segment.originalEndDate\n                                      | format: 'date' : { format: 'MMM d', calendar: calendar() }\n                                      | async\n                                  }}\n                                }\n                              } @else {\n                                {{\n                                  segment.originalStartDate\n                                    | format: 'time' : { format: 'HH:mm', calendar: calendar() }\n                                    | async\n                                }}\n                                -\n                                {{\n                                  segment.originalEndDate\n                                    | format: 'time' : { format: 'HH:mm', calendar: calendar() }\n                                    | async\n                                }}\n                              }\n                            </ax-subtitle>\n                          </div>\n                        }\n                      </div>\n                    </ax-popover>\n                  }\n                </div>\n              </div>\n            }\n          </div>\n        </div>\n      }\n    </div>\n  </div>\n}\n", styles: ["ax-scheduler-timeline-month-view{height:100%;position:relative;display:inline-flex;flex-direction:column;background-color:inherit}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-container{height:100%;display:flex}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-container .ax-scheduler-timeline-header{width:100%;display:flex;background-color:var(--ax-comp-scheduler-all-day-bg, inherit)}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-container .ax-scheduler-timeline-header .ax-scheduler-month-header-date-day{gap:.25rem;height:4rem;display:flex;position:relative;align-items:start;padding-inline:1rem;flex-direction:column;padding-block:.25rem;justify-content:center;width:var(--ax-comp-scheduler-timeline-month-view-blocks-width, calc(var(--ax-comp-scheduler-timeline-view-blocks-width) / 2));border-block-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface));border-inline-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-container .ax-scheduler-timeline-header .ax-scheduler-month-header-date-day.ax-state-today{color:rgba(var(--ax-sys-color-primary-surface));background-color:rgba(var(--ax-sys-color-primary-surface),.05)}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-container .ax-scheduler-timeline-header .ax-scheduler-month-header-date-day.ax-state-today .ax-scheduler-month-header-date-day-char{font-weight:500}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-container .ax-scheduler-timeline-header .ax-scheduler-month-header-date-day.ax-state-today .ax-scheduler-month-header-date-day-num{font-weight:700}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-container .ax-scheduler-timeline-header .ax-scheduler-month-header-date-day.ax-state-holiday{color:rgba(var(--ax-sys-color-danger-surface))}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-container .ax-scheduler-timeline-header .ax-scheduler-month-header-date-day.ax-state-holiday.ax-state-today{color:rgba(var(--ax-sys-color-primary-surface))}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-container .ax-scheduler-timeline-header .ax-scheduler-month-header-date-day .ax-scheduler-month-header-date-day-char{max-width:100%;position:sticky;font-weight:300;line-height:1rem;inset-inline-start:1rem}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-container .ax-scheduler-timeline-header .ax-scheduler-month-header-date-day .ax-scheduler-month-header-date-day-num{position:sticky;font-weight:500;font-size:1.25rem;inset-inline-start:1rem}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-container .ax-scheduler-timeline-content{padding:.125rem .25rem;position:relative;height:calc(100% - 4rem);width:var(--ax-comp-scheduler-timeline-month-view-blocks-width, calc(var(--ax-comp-scheduler-timeline-view-blocks-width) / 2));border-inline-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-container .ax-scheduler-timeline-content .ax-scheduler-timeline-appointment-container{gap:1px;display:flex;flex-direction:column}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-container .ax-scheduler-timeline-content .ax-scheduler-timeline-appointment-container .ax-scheduler-timeline-appointment{width:100%;display:flex;overflow:hidden;flex-direction:column;padding-block:.25rem;padding-inline:.5rem;border-radius:calc(var(--ax-sys-border-radius) / 2)}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-container .ax-scheduler-timeline-content .ax-scheduler-timeline-appointment-container .ax-scheduler-month-overflow-badge{cursor:pointer;text-align:left;font-size:.75rem;padding:.125rem 0;margin-top:.125rem}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-container .ax-scheduler-timeline-content .ax-scheduler-timeline-appointment-container .ax-scheduler-month-overflow-badge:hover{text-decoration:underline}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-resource-container{height:100%;display:flex;flex-direction:column;background-color:inherit;position:relative}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-resource-container .ax-scheduler-timeline-month-header-sticky{position:sticky;top:0;z-index:10;display:flex;background-color:inherit;border-bottom:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-resource-container .ax-scheduler-timeline-month-header-sticky .ax-scheduler-timeline-month-resource-header-placeholder{left:0;z-index:15;display:flex;position:sticky;align-items:center;justify-content:center;background-color:inherit;width:var(--ax-comp-scheduler-resource-header-width, 8rem);min-width:var(--ax-comp-scheduler-resource-header-width, 8rem);border-right:1px solid rgba(var(--ax-sys-color-border-lightest-surface));padding:.5rem;font-weight:500;font-size:.875rem}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-resource-container .ax-scheduler-timeline-month-header-sticky .ax-scheduler-timeline-month-day-header{flex:1;display:flex;background-color:inherit}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-resource-container .ax-scheduler-timeline-month-header-sticky .ax-scheduler-timeline-month-day-header .ax-scheduler-month-header-date-day{gap:.25rem;height:4rem;display:flex;position:relative;align-items:start;padding-inline:1rem;flex-direction:column;padding-block:.25rem;justify-content:center;width:var(--ax-comp-scheduler-timeline-month-view-blocks-width, calc(var(--ax-comp-scheduler-timeline-view-blocks-width) / 2));min-width:var(--ax-comp-scheduler-timeline-month-view-blocks-width, calc(var(--ax-comp-scheduler-timeline-view-blocks-width) / 2));border-inline-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-resource-container .ax-scheduler-timeline-month-header-sticky .ax-scheduler-timeline-month-day-header .ax-scheduler-month-header-date-day.ax-state-today{color:rgba(var(--ax-sys-color-primary-surface));background-color:rgba(var(--ax-sys-color-primary-surface),.05)}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-resource-container .ax-scheduler-timeline-month-header-sticky .ax-scheduler-timeline-month-day-header .ax-scheduler-month-header-date-day.ax-state-today .ax-scheduler-month-header-date-day-char{font-weight:500}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-resource-container .ax-scheduler-timeline-month-header-sticky .ax-scheduler-timeline-month-day-header .ax-scheduler-month-header-date-day.ax-state-today .ax-scheduler-month-header-date-day-num{font-weight:700}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-resource-container .ax-scheduler-timeline-month-header-sticky .ax-scheduler-timeline-month-day-header .ax-scheduler-month-header-date-day.ax-state-holiday{color:rgba(var(--ax-sys-color-danger-surface))}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-resource-container .ax-scheduler-timeline-month-header-sticky .ax-scheduler-timeline-month-day-header .ax-scheduler-month-header-date-day.ax-state-holiday.ax-state-today{color:rgba(var(--ax-sys-color-primary-surface))}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-resource-container .ax-scheduler-timeline-month-header-sticky .ax-scheduler-timeline-month-day-header .ax-scheduler-month-header-date-day .ax-scheduler-month-header-date-day-char{max-width:100%;position:sticky;font-weight:300;line-height:1rem;inset-inline-start:1rem}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-resource-container .ax-scheduler-timeline-month-header-sticky .ax-scheduler-timeline-month-day-header .ax-scheduler-month-header-date-day .ax-scheduler-month-header-date-day-num{position:sticky;font-weight:500;font-size:1.25rem;inset-inline-start:1rem}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-resource-container .ax-scheduler-timeline-month-resource-rows{flex:1;overflow:visible;position:relative;background-color:inherit}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-resource-container .ax-scheduler-timeline-month-resource-rows .ax-scheduler-timeline-month-resource-row{min-height:0;border-bottom:1px solid rgba(var(--ax-sys-color-border-lightest-surface));width:max-content;background-color:inherit;min-height:3.313rem;display:flex}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-resource-container .ax-scheduler-timeline-month-resource-rows .ax-scheduler-timeline-month-resource-row .ax-scheduler-timeline-month-resource-header{display:flex;padding:.5rem;align-items:center;justify-content:center;background-color:inherit;width:var(--ax-comp-scheduler-resource-header-width, 8rem);min-width:var(--ax-comp-scheduler-resource-header-width, 8rem);border-right:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-resource-container .ax-scheduler-timeline-month-resource-rows .ax-scheduler-timeline-month-resource-row .ax-scheduler-timeline-month-resource-header.ax-scheduler-timeline-month-resource-header-sticky{position:sticky;left:0;z-index:15;background-color:inherit}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-resource-container .ax-scheduler-timeline-month-resource-rows .ax-scheduler-timeline-month-resource-row .ax-scheduler-timeline-month-resource-header .ax-scheduler-timeline-month-resource-title{font-weight:500;font-size:.875rem;text-align:center;word-break:break-word}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-resource-container .ax-scheduler-timeline-month-resource-rows .ax-scheduler-timeline-month-resource-row .ax-scheduler-timeline-month-resource-content{flex:1;display:flex;background-color:inherit}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-resource-container .ax-scheduler-timeline-month-resource-rows .ax-scheduler-timeline-month-resource-row .ax-scheduler-timeline-month-resource-content .ax-scheduler-timeline-content{flex:1;display:flex;position:relative;background-color:inherit;width:var(--ax-comp-scheduler-timeline-month-view-blocks-width, calc(var(--ax-comp-scheduler-timeline-view-blocks-width) / 2));min-width:var(--ax-comp-scheduler-timeline-month-view-blocks-width, calc(var(--ax-comp-scheduler-timeline-view-blocks-width) / 2));border-inline-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-resource-container .ax-scheduler-timeline-month-resource-rows .ax-scheduler-timeline-month-resource-row .ax-scheduler-timeline-month-resource-content .ax-scheduler-timeline-content .ax-scheduler-timeline-appointment-container{gap:var(--ax-comp-scheduler-timeline-month-gap-height, .125rem);display:flex;flex-direction:column;height:100%;overflow:hidden;width:100%;padding-inline:.25rem;padding-block:.125rem}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-resource-container .ax-scheduler-timeline-month-resource-rows .ax-scheduler-timeline-month-resource-row .ax-scheduler-timeline-month-resource-content .ax-scheduler-timeline-content .ax-scheduler-timeline-appointment-container .ax-scheduler-timeline-appointment{width:100%;height:var(--ax-comp-scheduler-timeline-month-appointment-height, 3rem);display:flex;overflow:hidden;flex-direction:column;padding-block:.25rem;padding-inline:.5rem;border-radius:calc(var(--ax-sys-border-radius) / 2);flex-shrink:0}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-resource-container .ax-scheduler-timeline-month-resource-rows .ax-scheduler-timeline-month-resource-row .ax-scheduler-timeline-month-resource-content .ax-scheduler-timeline-content .ax-scheduler-timeline-appointment-container .ax-scheduler-month-overflow-badge{cursor:pointer;text-align:left;font-size:.75rem;padding:.125rem 0;margin-top:.125rem;flex-shrink:0;height:var(--ax-comp-scheduler-timeline-month-more-link-height, .5rem)}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-resource-container .ax-scheduler-timeline-month-resource-rows .ax-scheduler-timeline-month-resource-row .ax-scheduler-timeline-month-resource-content .ax-scheduler-timeline-content .ax-scheduler-timeline-appointment-container .ax-scheduler-month-overflow-badge:hover{text-decoration:underline}ax-scheduler-timeline-month-view:not(.ax-state-readonly) .ax-scheduler-timeline-appointment{cursor:pointer}ax-scheduler-timeline-month-view:not(.ax-state-readonly) .ax-scheduler-timeline-content{cursor:pointer;transition-property:background-color;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function)}ax-scheduler-timeline-month-view:not(.ax-state-readonly) .ax-scheduler-timeline-content:hover{background-color:rgba(var(--ax-comp-scheduler-slot-hover-bg, var(--ax-sys-color-primary-surface), .1))}ax-scheduler-timeline-month-view ax-title{display:flex;justify-content:space-between}ax-scheduler-timeline-month-view ax-title .ax-scheduler-action-icon{width:auto;cursor:pointer}ax-scheduler-timeline-month-view .ax-scheduler-current-time-line{top:0;bottom:0;width:2px}ax-scheduler-timeline-month-view .ax-scheduler-current-time-line:before{top:-6px;inset-inline-start:-5px}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: AXDragDirective, selector: "[axDrag]", inputs: ["dragData", "dragDisabled", "dragTransition", "dragElementClone", "dropZoneGroup", "dragStartDelay", "dragResetOnDblClick", "dragLockAxis", "dragClonedTemplate", "dragCursor", "dragBoundary", "dragTransitionDuration"], outputs: ["dragPositionChanged"] }, { kind: "component", type: AXPopoverComponent, selector: "ax-popover", inputs: ["width", "disabled", "offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "backdropClass", "panelClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "directive", type: AXTooltipDirective, selector: "[axTooltip]", inputs: ["axTooltipDisabled", "axTooltip", "axTooltipContext", "axTooltipPlacement", "axTooltipOffsetX", "axTooltipOffsetY", "axTooltipOpenAfter", "axTooltipCloseAfter"] }, { kind: "directive", type: AXDropZoneDirective, selector: "[axDropZone]", inputs: ["dropZoneGroup"], outputs: ["onElementDrop", "onElementHover"], exportAs: ["axDropZone"] }, { kind: "component", type: AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: 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: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: AXFormatPipe, name: "format" }, { kind: "pipe", type: AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
         
     | 
| 
      
 2267 
     | 
    
         
            +
                static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: AXSchedulerTimelineMonthViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
         
     | 
| 
      
 2268 
     | 
    
         
            +
                static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.6", type: AXSchedulerTimelineMonthViewComponent, isStandalone: true, selector: "ax-scheduler-timeline-month-view", inputs: { readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, draggable: { classPropertyName: "draggable", publicName: "draggable", isSignal: true, isRequired: false, transformFunction: null }, hasActions: { classPropertyName: "hasActions", publicName: "hasActions", isSignal: true, isRequired: false, transformFunction: null }, dragStartDelay: { classPropertyName: "dragStartDelay", publicName: "dragStartDelay", isSignal: true, isRequired: false, transformFunction: null }, calendar: { classPropertyName: "calendar", publicName: "calendar", isSignal: true, isRequired: false, transformFunction: null }, showResourceHeaders: { classPropertyName: "showResourceHeaders", publicName: "showResourceHeaders", isSignal: true, isRequired: false, transformFunction: null }, date: { classPropertyName: "date", publicName: "date", isSignal: true, isRequired: true, transformFunction: null }, showUnassignedAppointments: { classPropertyName: "showUnassignedAppointments", publicName: "showUnassignedAppointments", isSignal: true, isRequired: false, transformFunction: null }, resources: { classPropertyName: "resources", publicName: "resources", isSignal: true, isRequired: false, transformFunction: null }, showCurrentTimeIndicator: { classPropertyName: "showCurrentTimeIndicator", publicName: "showCurrentTimeIndicator", isSignal: true, isRequired: false, transformFunction: null }, resourceTemplate: { classPropertyName: "resourceTemplate", publicName: "resourceTemplate", isSignal: true, isRequired: false, transformFunction: null }, appointments: { classPropertyName: "appointments", publicName: "appointments", isSignal: true, isRequired: false, transformFunction: null }, tooltipTemplate: { classPropertyName: "tooltipTemplate", publicName: "tooltipTemplate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { slotClickedInternal: "slotClickedInternal", slotDblClickedInternal: "slotDblClickedInternal", slotRightClickedInternal: "slotRightClickedInternal", appointmentClickedInternal: "appointmentClickedInternal", appointmentDblClickedInternal: "appointmentDblClickedInternal", appointmentRightClickedInternal: "appointmentRightClickedInternal", onActionClickInternal: "onActionClickInternal", onAppointmentDropInternal: "onAppointmentDropInternal" }, host: { properties: { "class.ax-state-readonly": "this.isReadonly" } }, providers: [{ provide: AXComponent, useExisting: AXSchedulerTimelineMonthViewComponent }], viewQueries: [{ propertyName: "currentTimeLineElement", first: true, predicate: ["currentTimeLine"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@if (resources().length === 0 || !showResourceHeaders()) {\n  <!-- Original layout when no resources -->\n  <div class=\"ax-scheduler-timeline-month-container\">\n    @for (dayData of processedDayData(); track dayData.date.date.getTime()) {\n      <div>\n        <div class=\"ax-scheduler-timeline-header\">\n          <div\n            [class.ax-state-today]=\"isToday(dayData.date)\"\n            class=\"ax-scheduler-month-header-date-day {{\n              dayData.holiday.state !== 'none' ? (dayData.holiday.holiday?.cssClass ?? 'ax-state-holiday') : ''\n            }}\"\n          >\n            <span\n              class=\"ax-scheduler-month-header-date-day-char ax-scheduler-truncate\"\n              [axTooltip]=\"dayData.holiday.holiday?.title ?? ''\"\n            >\n              {{ dayData.date | format: 'date' : { format: 'dddd', calendar: calendar() } | async }}\n              @if (dayData.holiday.state === 'holiday' && dayData.holiday.holiday.title) {\n                ( {{ dayData.holiday.holiday.title }} )\n              }\n            </span>\n            <span class=\"ax-scheduler-month-header-date-day-num\">\n              {{ dayData.date | format: 'date' : { format: 'DD', calendar: calendar() } | async }}\n            </span>\n          </div>\n        </div>\n\n        <div\n          axDropZone\n          #zone=\"axDropZone\"\n          (onElementDrop)=\"handleDrop($event, dayData.date)\"\n          [class.ax-scheduler-slot-hovered]=\"zone.isHovered()\"\n          class=\"ax-scheduler-timeline-content\"\n          (click)=\"handleSlotEvent($event, dayData.date)\"\n          (dblclick)=\"handleSlotEvent($event, dayData.date)\"\n          (contextmenu)=\"handleSlotEvent($event, dayData.date)\"\n          [attr.data-slot-id]=\"dayData.date.format('YYYYMMDD')\"\n        >\n          <!-- Current Time Line Indicator -->\n          @if (\n            showCurrentTimeIndicator() && shouldShowCurrentTimeForDay(dayData.date) && getCurrentTimePosition() !== null\n          ) {\n            <div\n              class=\"ax-scheduler-current-time-line\"\n              [style.inset-inline-start.%]=\"getCurrentTimePosition()\"\n              #currentTimeLine\n            ></div>\n          }\n          <div class=\"ax-scheduler-timeline-appointment-container\">\n            @for (segment of dayData.visibleAppointments; track segment.id + segment.originalStartDate.getTime()) {\n              <div\n                axDrag\n                [dragData]=\"segment\"\n                [dragCursor]=\"'grab'\"\n                [dragTransition]=\"false\"\n                [dragElementClone]=\"true\"\n                [dragStartDelay]=\"dragStartDelay()\"\n                [dragDisabled]=\"!draggable() || segment.readonly || readonly()\"\n                (pointerdown)=\"getSlotId($event)\"\n                (click)=\"handleAppointmentEvent($event, segment)\"\n                (dblclick)=\"handleAppointmentEvent($event, segment)\"\n                (contextmenu)=\"handleAppointmentEvent($event, segment)\"\n                [title]=\"\n                  tooltipTemplate()\n                    ? ''\n                    : segment.allDay\n                      ? segment.title +\n                        ' (' +\n                        (segment.originalStartDate\n                          | format: 'date' : { format: 'MMM d', calendar: calendar() }\n                          | async) +\n                        ' - ' +\n                        (segment.originalEndDate | format: 'date' : { format: 'MMM d', calendar: calendar() } | async) +\n                        ')'\n                      : segment.title +\n                        ' (' +\n                        (segment.originalStartDate | format: 'time' : { calendar: calendar() } | async) +\n                        ' - ' +\n                        (segment.originalEndDate | format: 'time' : { calendar: calendar() } | async) +\n                        ')'\n                \"\n                class=\"ax-scheduler-timeline-appointment\"\n                [class.all-day-segment]=\"segment.allDay\"\n                [ngClass]=\"segment.cssClass ?? `ax-scheduler-${segment.priority ?? 'primary'}-periority`\"\n                [axTooltipDisabled]=\"tooltipTemplate() ? false : true\"\n                [axTooltip]=\"tooltipTemplate()\"\n                [axTooltipContext]=\"segment\"\n              >\n                <ax-title>\n                  <span class=\"ax-scheduler-truncate\">{{ segment.title }}</span>\n                  @if (hasActions()) {\n                    <ax-icon\n                      (click)=\"handleActionClick($event, segment)\"\n                      class=\"ax-icon ax-icon-more-horizontal ax-scheduler-action-icon\"\n                    >\n                    </ax-icon>\n                  }\n                </ax-title>\n                <!-- Display segment's start/end times or date range -->\n                <ax-subtitle>\n                  @if (segment.allDay) {\n                    {{ segment.originalStartDate | format: 'date' : { format: 'MMM d', calendar: calendar() } | async }}\n                    @if (segment.originalStartDate.getTime() !== segment.originalEndDate.getTime()) {\n                      -\n                      {{ segment.originalEndDate | format: 'date' : { format: 'MMM d', calendar: calendar() } | async }}\n                    }\n                  } @else {\n                    {{ segment.originalStartDate | format: 'time' : { format: 'HH:mm', calendar: calendar() } | async }}\n                    -\n                    {{ segment.originalEndDate | format: 'time' : { format: 'HH:mm', calendar: calendar() } | async }}\n                  }\n                </ax-subtitle>\n              </div>\n            }\n            @if (dayData.moreCount > 0) {\n              <div #moreAppointments class=\"ax-scheduler-month-overflow-badge\" (click)=\"$event.stopPropagation()\">\n                +{{\n                  '@acorex:common.general.more-items' | translate: { params: { number: dayData.moreCount } } | async\n                }}\n              </div>\n              <ax-popover [target]=\"moreAppointments\" placement=\"bottom-start\" trigger=\"click\">\n                <div\n                  axDropZone\n                  [class.ax-state-readonly]=\"readonly()\"\n                  class=\"ax-overlay-pane ax-scheduler-popover ax-scheduler-month-popover-appointment\"\n                >\n                  @for (segment of dayData.hiddenAppointments; track segment.id + segment.originalStartDate.getTime()) {\n                    <div\n                      axDrag\n                      [dragData]=\"segment\"\n                      [dragCursor]=\"'grab'\"\n                      [dragTransition]=\"false\"\n                      [dragElementClone]=\"true\"\n                      [dragStartDelay]=\"dragStartDelay()\"\n                      [dragDisabled]=\"!draggable() || segment.readonly || readonly()\"\n                      (click)=\"handleAppointmentEvent($event, segment); $event.stopPropagation()\"\n                      (dblclick)=\"handleAppointmentEvent($event, segment); $event.stopPropagation()\"\n                      (contextmenu)=\"handleAppointmentEvent($event, segment); $event.stopPropagation()\"\n                      [title]=\"\n                        tooltipTemplate()\n                          ? ''\n                          : segment.allDay\n                            ? segment.title +\n                              ' (' +\n                              (segment.originalStartDate\n                                | format: 'date' : { format: 'MMM d', calendar: calendar() }\n                                | async) +\n                              ' - ' +\n                              (segment.originalEndDate\n                                | format: 'date' : { format: 'MMM d', calendar: calendar() }\n                                | async) +\n                              ')'\n                            : segment.title +\n                              ' (' +\n                              (segment.originalStartDate | format: 'time' : { calendar: calendar() } | async) +\n                              ' - ' +\n                              (segment.originalEndDate | format: 'time' : { calendar: calendar() } | async) +\n                              ')'\n                      \"\n                      class=\"ax-scheduler-popover-appointment\"\n                      [class.all-day-segment]=\"segment.allDay\"\n                      [ngClass]=\"segment.cssClass ?? `ax-scheduler-${segment.priority ?? 'primary'}-periority`\"\n                      [axTooltipDisabled]=\"tooltipTemplate() ? false : true\"\n                      [axTooltip]=\"tooltipTemplate()\"\n                      [axTooltipContext]=\"segment\"\n                    >\n                      <ax-title>\n                        <span class=\"ax-scheduler-truncate\">{{ segment.title }}</span>\n                        @if (hasActions()) {\n                          <ax-icon\n                            (click)=\"handleActionClick($event, segment)\"\n                            class=\"ax-icon ax-icon-more-horizontal ax-scheduler-action-icon\"\n                          >\n                          </ax-icon>\n                        }\n                      </ax-title>\n                      <ax-subtitle>\n                        @if (segment.allDay) {\n                          {{\n                            segment.originalStartDate\n                              | format: 'date' : { format: 'MMM d', calendar: calendar() }\n                              | async\n                          }}\n                          @if (segment.originalStartDate.getTime() !== segment.originalEndDate.getTime()) {\n                            -\n                            {{\n                              segment.originalEndDate\n                                | format: 'date' : { format: 'MMM d', calendar: calendar() }\n                                | async\n                            }}\n                          }\n                        } @else {\n                          {{\n                            segment.originalStartDate\n                              | format: 'time' : { format: 'HH:mm', calendar: calendar() }\n                              | async\n                          }}\n                          -\n                          {{\n                            segment.originalEndDate | format: 'time' : { format: 'HH:mm', calendar: calendar() } | async\n                          }}\n                        }\n                      </ax-subtitle>\n                    </div>\n                  }\n                </div>\n              </ax-popover>\n            }\n          </div>\n        </div>\n      </div>\n    }\n  </div>\n} @else {\n  <!-- Resource-based layout with sticky resources -->\n  <div class=\"ax-scheduler-timeline-month-resource-container\">\n    <!-- Sticky header with resource placeholder and day headers -->\n    @if (showResourceHeaders()) {\n      <div class=\"ax-scheduler-timeline-month-header-sticky\">\n        <div class=\"ax-scheduler-timeline-month-resource-header-placeholder\"><span>Resources</span></div>\n        @for (dayData of processedDayData(); track dayData.date.date.getTime()) {\n          <div class=\"ax-scheduler-timeline-month-day-header\">\n            <div\n              [class.ax-state-today]=\"isToday(dayData.date)\"\n              class=\"ax-scheduler-month-header-date-day {{\n                dayData.holiday?.state !== 'none' ? (dayData.holiday?.holiday?.cssClass ?? 'ax-state-holiday') : ''\n              }}\"\n            >\n              <span\n                class=\"ax-scheduler-month-header-date-day-char ax-scheduler-truncate\"\n                [axTooltip]=\"dayData.holiday?.holiday?.title ?? ''\"\n              >\n                {{ dayData.date | format: 'date' : { format: 'dddd', calendar: calendar() } | async }}\n                @if (dayData.holiday?.state === 'holiday' && dayData.holiday?.holiday?.title) {\n                  ( {{ dayData.holiday.holiday.title }} )\n                }\n              </span>\n              <span class=\"ax-scheduler-month-header-date-day-num\">\n                {{ dayData.date | format: 'date' : { format: 'DD', calendar: calendar() } | async }}\n              </span>\n            </div>\n          </div>\n        }\n      </div>\n    }\n\n    <!-- Resource rows with sticky resource headers -->\n    <div class=\"ax-scheduler-timeline-month-resource-rows\">\n      <!-- Current Time Line Indicator -->\n      @if (showCurrentTimeIndicator() && getCurrentTimePosition() !== null) {\n        <div\n          class=\"ax-scheduler-current-time-line\"\n          [style.inset-inline-start.%]=\"getCurrentTimePosition()\"\n          #currentTimeLine\n        ></div>\n      }\n\n      @for (resourceId of resourceIds(); track resourceId) {\n        <div class=\"ax-scheduler-timeline-month-resource-row\" [style.height]=\"getResourceRowHeight(resourceId)\">\n          @if (showResourceHeaders()) {\n            <!-- Sticky Resource Header -->\n            <div class=\"ax-scheduler-timeline-month-resource-header ax-scheduler-timeline-month-resource-header-sticky\">\n              @if (resourceTemplate() && typeof resourceTemplate() !== 'string') {\n                <ng-container\n                  [ngTemplateOutlet]=\"$any(resourceTemplate())\"\n                  [ngTemplateOutletContext]=\"{\n                    $implicit: getResourceContext(resourceId),\n                    resource: getResourceContext(resourceId),\n                    resourceId: resourceId,\n                  }\"\n                ></ng-container>\n              } @else {\n                <span class=\"ax-scheduler-timeline-month-resource-title\">{{ getResourceTitle(resourceId) }}</span>\n              }\n            </div>\n          }\n\n          <!-- Resource Content -->\n          <div class=\"ax-scheduler-timeline-month-resource-content\">\n            @for (dayData of processedDayData(); track dayData.date.date.getTime()) {\n              <div\n                axDropZone\n                #zone=\"axDropZone\"\n                (onElementDrop)=\"handleDrop($event, dayData.date, resourceId)\"\n                [class.ax-scheduler-slot-hovered]=\"zone.isHovered()\"\n                class=\"ax-scheduler-timeline-content\"\n                (click)=\"handleSlotEvent($event, dayData.date)\"\n                (dblclick)=\"handleSlotEvent($event, dayData.date)\"\n                (contextmenu)=\"handleSlotEvent($event, dayData.date)\"\n                [attr.data-slot-id]=\"dayData.date.format('YYYYMMDD')\"\n                [attr.data-resource-id]=\"resourceId\"\n              >\n                <div class=\"ax-scheduler-timeline-appointment-container\">\n                  @for (\n                    segment of getAppointmentsForResourceAndDay(resourceId, dayData).visible;\n                    track segment.id + segment.originalStartDate.getTime()\n                  ) {\n                    <div\n                      axDrag\n                      [dragData]=\"segment\"\n                      [dragCursor]=\"'grab'\"\n                      [dragTransition]=\"false\"\n                      [dragElementClone]=\"true\"\n                      [dragStartDelay]=\"dragStartDelay()\"\n                      [dragDisabled]=\"!draggable() || segment.readonly || readonly()\"\n                      (pointerdown)=\"getSlotId($event)\"\n                      (click)=\"handleAppointmentEvent($event, segment)\"\n                      (dblclick)=\"handleAppointmentEvent($event, segment)\"\n                      (contextmenu)=\"handleAppointmentEvent($event, segment)\"\n                      [title]=\"\n                        tooltipTemplate()\n                          ? ''\n                          : segment.allDay\n                            ? segment.title +\n                              ' (' +\n                              (segment.originalStartDate\n                                | format: 'date' : { format: 'MMM d', calendar: calendar() }\n                                | async) +\n                              ' - ' +\n                              (segment.originalEndDate\n                                | format: 'date' : { format: 'MMM d', calendar: calendar() }\n                                | async) +\n                              ')'\n                            : segment.title +\n                              ' (' +\n                              (segment.originalStartDate | format: 'time' : { calendar: calendar() } | async) +\n                              ' - ' +\n                              (segment.originalEndDate | format: 'time' : { calendar: calendar() } | async) +\n                              ')'\n                      \"\n                      class=\"ax-scheduler-timeline-appointment\"\n                      [class.all-day-segment]=\"segment.allDay\"\n                      [ngClass]=\"segment.cssClass ?? `ax-scheduler-${segment.priority ?? 'primary'}-periority`\"\n                      [axTooltipDisabled]=\"tooltipTemplate() ? false : true\"\n                      [axTooltip]=\"tooltipTemplate()\"\n                      [axTooltipContext]=\"segment\"\n                    >\n                      <ax-title>\n                        <span class=\"ax-scheduler-truncate\">{{ segment.title }}</span>\n                        @if (hasActions()) {\n                          <ax-icon\n                            (click)=\"handleActionClick($event, segment)\"\n                            class=\"ax-icon ax-icon-more-horizontal ax-scheduler-action-icon\"\n                          >\n                          </ax-icon>\n                        }\n                      </ax-title>\n                      <ax-subtitle>\n                        @if (segment.allDay) {\n                          {{\n                            segment.originalStartDate\n                              | format: 'date' : { format: 'MMM d', calendar: calendar() }\n                              | async\n                          }}\n                          @if (segment.originalStartDate.getTime() !== segment.originalEndDate.getTime()) {\n                            -\n                            {{\n                              segment.originalEndDate\n                                | format: 'date' : { format: 'MMM d', calendar: calendar() }\n                                | async\n                            }}\n                          }\n                        } @else {\n                          {{\n                            segment.originalStartDate\n                              | format: 'time' : { format: 'HH:mm', calendar: calendar() }\n                              | async\n                          }}\n                          -\n                          {{\n                            segment.originalEndDate | format: 'time' : { format: 'HH:mm', calendar: calendar() } | async\n                          }}\n                        }\n                      </ax-subtitle>\n                    </div>\n                  }\n                  @if (getAppointmentsForResourceAndDay(resourceId, dayData).moreCount > 0) {\n                    <div #moreAppointments class=\"ax-scheduler-month-overflow-badge\" (click)=\"$event.stopPropagation()\">\n                      +{{\n                        '@acorex:common.general.more-items'\n                          | translate\n                            : { params: { number: getAppointmentsForResourceAndDay(resourceId, dayData).moreCount } }\n                          | async\n                      }}\n                    </div>\n                    <ax-popover [target]=\"moreAppointments\" placement=\"bottom-start\" trigger=\"click\">\n                      <div\n                        axDropZone\n                        [class.ax-state-readonly]=\"readonly()\"\n                        class=\"ax-overlay-pane ax-scheduler-popover ax-scheduler-month-popover-appointment\"\n                      >\n                        @for (\n                          segment of getAppointmentsForResourceAndDay(resourceId, dayData).hidden;\n                          track segment.id + segment.originalStartDate.getTime()\n                        ) {\n                          <div\n                            axDrag\n                            [dragData]=\"segment\"\n                            [dragCursor]=\"'grab'\"\n                            [dragTransition]=\"false\"\n                            [dragElementClone]=\"true\"\n                            [dragStartDelay]=\"dragStartDelay()\"\n                            [dragDisabled]=\"!draggable() || segment.readonly || readonly()\"\n                            (click)=\"handleAppointmentEvent($event, segment); $event.stopPropagation()\"\n                            (dblclick)=\"handleAppointmentEvent($event, segment); $event.stopPropagation()\"\n                            (contextmenu)=\"handleAppointmentEvent($event, segment); $event.stopPropagation()\"\n                            [title]=\"\n                              tooltipTemplate()\n                                ? ''\n                                : segment.allDay\n                                  ? segment.title +\n                                    ' (' +\n                                    (segment.originalStartDate\n                                      | format: 'date' : { format: 'MMM d', calendar: calendar() }\n                                      | async) +\n                                    ' - ' +\n                                    (segment.originalEndDate\n                                      | format: 'date' : { format: 'MMM d', calendar: calendar() }\n                                      | async) +\n                                    ')'\n                                  : segment.title +\n                                    ' (' +\n                                    (segment.originalStartDate | format: 'time' : { calendar: calendar() } | async) +\n                                    ' - ' +\n                                    (segment.originalEndDate | format: 'time' : { calendar: calendar() } | async) +\n                                    ')'\n                            \"\n                            class=\"ax-scheduler-popover-appointment\"\n                            [class.all-day-segment]=\"segment.allDay\"\n                            [ngClass]=\"segment.cssClass ?? `ax-scheduler-${segment.priority ?? 'primary'}-periority`\"\n                            [axTooltipDisabled]=\"tooltipTemplate() ? false : true\"\n                            [axTooltip]=\"tooltipTemplate()\"\n                            [axTooltipContext]=\"segment\"\n                          >\n                            <ax-title>\n                              <span class=\"ax-scheduler-truncate\">{{ segment.title }}</span>\n                              @if (hasActions()) {\n                                <ax-icon\n                                  (click)=\"handleActionClick($event, segment)\"\n                                  class=\"ax-icon ax-icon-more-horizontal ax-scheduler-action-icon\"\n                                >\n                                </ax-icon>\n                              }\n                            </ax-title>\n                            <ax-subtitle>\n                              @if (segment.allDay) {\n                                {{\n                                  segment.originalStartDate\n                                    | format: 'date' : { format: 'MMM d', calendar: calendar() }\n                                    | async\n                                }}\n                                @if (segment.originalStartDate.getTime() !== segment.originalEndDate.getTime()) {\n                                  -\n                                  {{\n                                    segment.originalEndDate\n                                      | format: 'date' : { format: 'MMM d', calendar: calendar() }\n                                      | async\n                                  }}\n                                }\n                              } @else {\n                                {{\n                                  segment.originalStartDate\n                                    | format: 'time' : { format: 'HH:mm', calendar: calendar() }\n                                    | async\n                                }}\n                                -\n                                {{\n                                  segment.originalEndDate\n                                    | format: 'time' : { format: 'HH:mm', calendar: calendar() }\n                                    | async\n                                }}\n                              }\n                            </ax-subtitle>\n                          </div>\n                        }\n                      </div>\n                    </ax-popover>\n                  }\n                </div>\n              </div>\n            }\n          </div>\n        </div>\n      }\n    </div>\n  </div>\n}\n", styles: ["ax-scheduler-timeline-month-view{height:100%;position:relative;display:inline-flex;flex-direction:column;background-color:inherit}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-container{height:100%;display:flex}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-container .ax-scheduler-timeline-header{width:100%;display:flex;background-color:var(--ax-comp-scheduler-all-day-bg, inherit)}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-container .ax-scheduler-timeline-header .ax-scheduler-month-header-date-day{gap:.25rem;height:4rem;display:flex;position:relative;align-items:start;padding-inline:1rem;flex-direction:column;padding-block:.25rem;justify-content:center;width:var(--ax-comp-scheduler-timeline-month-view-blocks-width, calc(var(--ax-comp-scheduler-timeline-view-blocks-width) / 2));border-block-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface));border-inline-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-container .ax-scheduler-timeline-header .ax-scheduler-month-header-date-day.ax-state-today{color:rgba(var(--ax-sys-color-primary-surface));background-color:rgba(var(--ax-sys-color-primary-surface),.05)}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-container .ax-scheduler-timeline-header .ax-scheduler-month-header-date-day.ax-state-today .ax-scheduler-month-header-date-day-char{font-weight:500}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-container .ax-scheduler-timeline-header .ax-scheduler-month-header-date-day.ax-state-today .ax-scheduler-month-header-date-day-num{font-weight:700}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-container .ax-scheduler-timeline-header .ax-scheduler-month-header-date-day.ax-state-holiday{color:rgba(var(--ax-sys-color-danger-surface))}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-container .ax-scheduler-timeline-header .ax-scheduler-month-header-date-day.ax-state-holiday.ax-state-today{color:rgba(var(--ax-sys-color-primary-surface))}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-container .ax-scheduler-timeline-header .ax-scheduler-month-header-date-day .ax-scheduler-month-header-date-day-char{max-width:100%;position:sticky;font-weight:300;line-height:1rem;inset-inline-start:1rem}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-container .ax-scheduler-timeline-header .ax-scheduler-month-header-date-day .ax-scheduler-month-header-date-day-num{position:sticky;font-weight:500;font-size:1.25rem;inset-inline-start:1rem}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-container .ax-scheduler-timeline-content{padding:.125rem .25rem;position:relative;height:calc(100% - 4rem);width:var(--ax-comp-scheduler-timeline-month-view-blocks-width, calc(var(--ax-comp-scheduler-timeline-view-blocks-width) / 2));border-inline-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-container .ax-scheduler-timeline-content .ax-scheduler-timeline-appointment-container{gap:1px;display:flex;flex-direction:column}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-container .ax-scheduler-timeline-content .ax-scheduler-timeline-appointment-container .ax-scheduler-timeline-appointment{width:100%;display:flex;overflow:hidden;flex-direction:column;padding-block:.25rem;padding-inline:.5rem;border-radius:calc(var(--ax-sys-border-radius) / 2)}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-container .ax-scheduler-timeline-content .ax-scheduler-timeline-appointment-container .ax-scheduler-month-overflow-badge{cursor:pointer;text-align:left;font-size:.75rem;padding:.125rem 0;margin-top:.125rem}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-container .ax-scheduler-timeline-content .ax-scheduler-timeline-appointment-container .ax-scheduler-month-overflow-badge:hover{text-decoration:underline}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-resource-container{height:100%;display:flex;flex-direction:column;background-color:inherit;position:relative}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-resource-container .ax-scheduler-timeline-month-header-sticky{position:sticky;top:0;z-index:10;display:flex;background-color:inherit;border-bottom:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-resource-container .ax-scheduler-timeline-month-header-sticky .ax-scheduler-timeline-month-resource-header-placeholder{left:0;z-index:15;display:flex;position:sticky;align-items:center;justify-content:center;background-color:inherit;width:var(--ax-comp-scheduler-resource-header-width, 8rem);min-width:var(--ax-comp-scheduler-resource-header-width, 8rem);border-right:1px solid rgba(var(--ax-sys-color-border-lightest-surface));padding:.5rem;font-weight:500;font-size:.875rem}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-resource-container .ax-scheduler-timeline-month-header-sticky .ax-scheduler-timeline-month-day-header{flex:1;display:flex;background-color:inherit}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-resource-container .ax-scheduler-timeline-month-header-sticky .ax-scheduler-timeline-month-day-header .ax-scheduler-month-header-date-day{gap:.25rem;height:4rem;display:flex;position:relative;align-items:start;padding-inline:1rem;flex-direction:column;padding-block:.25rem;justify-content:center;width:var(--ax-comp-scheduler-timeline-month-view-blocks-width, calc(var(--ax-comp-scheduler-timeline-view-blocks-width) / 2));min-width:var(--ax-comp-scheduler-timeline-month-view-blocks-width, calc(var(--ax-comp-scheduler-timeline-view-blocks-width) / 2));border-inline-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-resource-container .ax-scheduler-timeline-month-header-sticky .ax-scheduler-timeline-month-day-header .ax-scheduler-month-header-date-day.ax-state-today{color:rgba(var(--ax-sys-color-primary-surface));background-color:rgba(var(--ax-sys-color-primary-surface),.05)}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-resource-container .ax-scheduler-timeline-month-header-sticky .ax-scheduler-timeline-month-day-header .ax-scheduler-month-header-date-day.ax-state-today .ax-scheduler-month-header-date-day-char{font-weight:500}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-resource-container .ax-scheduler-timeline-month-header-sticky .ax-scheduler-timeline-month-day-header .ax-scheduler-month-header-date-day.ax-state-today .ax-scheduler-month-header-date-day-num{font-weight:700}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-resource-container .ax-scheduler-timeline-month-header-sticky .ax-scheduler-timeline-month-day-header .ax-scheduler-month-header-date-day.ax-state-holiday{color:rgba(var(--ax-sys-color-danger-surface))}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-resource-container .ax-scheduler-timeline-month-header-sticky .ax-scheduler-timeline-month-day-header .ax-scheduler-month-header-date-day.ax-state-holiday.ax-state-today{color:rgba(var(--ax-sys-color-primary-surface))}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-resource-container .ax-scheduler-timeline-month-header-sticky .ax-scheduler-timeline-month-day-header .ax-scheduler-month-header-date-day .ax-scheduler-month-header-date-day-char{max-width:100%;position:sticky;font-weight:300;line-height:1rem;inset-inline-start:1rem}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-resource-container .ax-scheduler-timeline-month-header-sticky .ax-scheduler-timeline-month-day-header .ax-scheduler-month-header-date-day .ax-scheduler-month-header-date-day-num{position:sticky;font-weight:500;font-size:1.25rem;inset-inline-start:1rem}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-resource-container .ax-scheduler-timeline-month-resource-rows{flex:1;overflow:visible;position:relative;background-color:inherit}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-resource-container .ax-scheduler-timeline-month-resource-rows .ax-scheduler-timeline-month-resource-row{min-height:0;border-bottom:1px solid rgba(var(--ax-sys-color-border-lightest-surface));width:max-content;background-color:inherit;min-height:3.313rem;display:flex}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-resource-container .ax-scheduler-timeline-month-resource-rows .ax-scheduler-timeline-month-resource-row .ax-scheduler-timeline-month-resource-header{display:flex;padding:.5rem;align-items:center;justify-content:center;background-color:inherit;width:var(--ax-comp-scheduler-resource-header-width, 8rem);min-width:var(--ax-comp-scheduler-resource-header-width, 8rem);border-right:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-resource-container .ax-scheduler-timeline-month-resource-rows .ax-scheduler-timeline-month-resource-row .ax-scheduler-timeline-month-resource-header.ax-scheduler-timeline-month-resource-header-sticky{position:sticky;left:0;z-index:15;background-color:inherit}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-resource-container .ax-scheduler-timeline-month-resource-rows .ax-scheduler-timeline-month-resource-row .ax-scheduler-timeline-month-resource-header .ax-scheduler-timeline-month-resource-title{font-weight:500;font-size:.875rem;text-align:center;word-break:break-word}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-resource-container .ax-scheduler-timeline-month-resource-rows .ax-scheduler-timeline-month-resource-row .ax-scheduler-timeline-month-resource-content{flex:1;display:flex;background-color:inherit}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-resource-container .ax-scheduler-timeline-month-resource-rows .ax-scheduler-timeline-month-resource-row .ax-scheduler-timeline-month-resource-content .ax-scheduler-timeline-content{flex:1;display:flex;position:relative;background-color:inherit;width:var(--ax-comp-scheduler-timeline-month-view-blocks-width, calc(var(--ax-comp-scheduler-timeline-view-blocks-width) / 2));min-width:var(--ax-comp-scheduler-timeline-month-view-blocks-width, calc(var(--ax-comp-scheduler-timeline-view-blocks-width) / 2));border-inline-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-resource-container .ax-scheduler-timeline-month-resource-rows .ax-scheduler-timeline-month-resource-row .ax-scheduler-timeline-month-resource-content .ax-scheduler-timeline-content .ax-scheduler-timeline-appointment-container{gap:var(--ax-comp-scheduler-timeline-month-gap-height, .125rem);display:flex;flex-direction:column;height:100%;overflow:hidden;width:100%;padding-inline:.25rem;padding-block:.125rem}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-resource-container .ax-scheduler-timeline-month-resource-rows .ax-scheduler-timeline-month-resource-row .ax-scheduler-timeline-month-resource-content .ax-scheduler-timeline-content .ax-scheduler-timeline-appointment-container .ax-scheduler-timeline-appointment{width:100%;height:var(--ax-comp-scheduler-timeline-month-appointment-height, 3rem);display:flex;overflow:hidden;flex-direction:column;padding-block:.25rem;padding-inline:.5rem;border-radius:calc(var(--ax-sys-border-radius) / 2);flex-shrink:0}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-resource-container .ax-scheduler-timeline-month-resource-rows .ax-scheduler-timeline-month-resource-row .ax-scheduler-timeline-month-resource-content .ax-scheduler-timeline-content .ax-scheduler-timeline-appointment-container .ax-scheduler-month-overflow-badge{cursor:pointer;text-align:left;font-size:.75rem;padding:.125rem 0;margin-top:.125rem;flex-shrink:0;height:var(--ax-comp-scheduler-timeline-month-more-link-height, .5rem)}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-resource-container .ax-scheduler-timeline-month-resource-rows .ax-scheduler-timeline-month-resource-row .ax-scheduler-timeline-month-resource-content .ax-scheduler-timeline-content .ax-scheduler-timeline-appointment-container .ax-scheduler-month-overflow-badge:hover{text-decoration:underline}ax-scheduler-timeline-month-view:not(.ax-state-readonly) .ax-scheduler-timeline-appointment{cursor:pointer}ax-scheduler-timeline-month-view:not(.ax-state-readonly) .ax-scheduler-timeline-content{cursor:pointer;transition-property:background-color;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function)}ax-scheduler-timeline-month-view:not(.ax-state-readonly) .ax-scheduler-timeline-content:hover{background-color:rgba(var(--ax-comp-scheduler-slot-hover-bg, var(--ax-sys-color-primary-surface), .1))}ax-scheduler-timeline-month-view ax-title{display:flex;justify-content:space-between}ax-scheduler-timeline-month-view ax-title .ax-scheduler-action-icon{width:auto;cursor:pointer}ax-scheduler-timeline-month-view .ax-scheduler-current-time-line{top:0;bottom:0;width:2px}ax-scheduler-timeline-month-view .ax-scheduler-current-time-line:before{top:-6px;inset-inline-start:-5px}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: AXDragDirective, selector: "[axDrag]", inputs: ["dragData", "dragDisabled", "dragTransition", "dragElementClone", "dropZoneGroup", "dragStartDelay", "dragResetOnDblClick", "dragLockAxis", "dragClonedTemplate", "dragCursor", "dragBoundary", "dragTransitionDuration"], outputs: ["dragPositionChanged"] }, { kind: "component", type: AXPopoverComponent, selector: "ax-popover", inputs: ["width", "disabled", "offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "backdropClass", "panelClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "directive", type: AXTooltipDirective, selector: "[axTooltip]", inputs: ["axTooltipDisabled", "axTooltip", "axTooltipContext", "axTooltipPlacement", "axTooltipOffsetX", "axTooltipOffsetY", "axTooltipOpenAfter", "axTooltipCloseAfter"] }, { kind: "directive", type: AXDropZoneDirective, selector: "[axDropZone]", inputs: ["dropZoneGroup"], outputs: ["onElementDrop", "onElementHover"], exportAs: ["axDropZone"] }, { kind: "component", type: AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: 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: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: AXFormatPipe, name: "format" }, { kind: "pipe", type: AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
         
     | 
| 
       2269 
2269 
     | 
    
         
             
            }
         
     | 
| 
       2270 
     | 
    
         
            -
            i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3. 
     | 
| 
      
 2270 
     | 
    
         
            +
            i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: AXSchedulerTimelineMonthViewComponent, decorators: [{
         
     | 
| 
       2271 
2271 
     | 
    
         
             
                        type: Component,
         
     | 
| 
       2272 
2272 
     | 
    
         
             
                        args: [{ selector: 'ax-scheduler-timeline-month-view', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [
         
     | 
| 
       2273 
2273 
     | 
    
         
             
                                    NgClass,
         
     | 
| 
         @@ -2282,7 +2282,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImpor 
     | 
|
| 
       2282 
2282 
     | 
    
         
             
                                    AXDecoratorIconComponent,
         
     | 
| 
       2283 
2283 
     | 
    
         
             
                                    AXDecoratorGenericComponent,
         
     | 
| 
       2284 
2284 
     | 
    
         
             
                                ], providers: [{ provide: AXComponent, useExisting: AXSchedulerTimelineMonthViewComponent }], template: "@if (resources().length === 0 || !showResourceHeaders()) {\n  <!-- Original layout when no resources -->\n  <div class=\"ax-scheduler-timeline-month-container\">\n    @for (dayData of processedDayData(); track dayData.date.date.getTime()) {\n      <div>\n        <div class=\"ax-scheduler-timeline-header\">\n          <div\n            [class.ax-state-today]=\"isToday(dayData.date)\"\n            class=\"ax-scheduler-month-header-date-day {{\n              dayData.holiday.state !== 'none' ? (dayData.holiday.holiday?.cssClass ?? 'ax-state-holiday') : ''\n            }}\"\n          >\n            <span\n              class=\"ax-scheduler-month-header-date-day-char ax-scheduler-truncate\"\n              [axTooltip]=\"dayData.holiday.holiday?.title ?? ''\"\n            >\n              {{ dayData.date | format: 'date' : { format: 'dddd', calendar: calendar() } | async }}\n              @if (dayData.holiday.state === 'holiday' && dayData.holiday.holiday.title) {\n                ( {{ dayData.holiday.holiday.title }} )\n              }\n            </span>\n            <span class=\"ax-scheduler-month-header-date-day-num\">\n              {{ dayData.date | format: 'date' : { format: 'DD', calendar: calendar() } | async }}\n            </span>\n          </div>\n        </div>\n\n        <div\n          axDropZone\n          #zone=\"axDropZone\"\n          (onElementDrop)=\"handleDrop($event, dayData.date)\"\n          [class.ax-scheduler-slot-hovered]=\"zone.isHovered()\"\n          class=\"ax-scheduler-timeline-content\"\n          (click)=\"handleSlotEvent($event, dayData.date)\"\n          (dblclick)=\"handleSlotEvent($event, dayData.date)\"\n          (contextmenu)=\"handleSlotEvent($event, dayData.date)\"\n          [attr.data-slot-id]=\"dayData.date.format('YYYYMMDD')\"\n        >\n          <!-- Current Time Line Indicator -->\n          @if (\n            showCurrentTimeIndicator() && shouldShowCurrentTimeForDay(dayData.date) && getCurrentTimePosition() !== null\n          ) {\n            <div\n              class=\"ax-scheduler-current-time-line\"\n              [style.inset-inline-start.%]=\"getCurrentTimePosition()\"\n              #currentTimeLine\n            ></div>\n          }\n          <div class=\"ax-scheduler-timeline-appointment-container\">\n            @for (segment of dayData.visibleAppointments; track segment.id + segment.originalStartDate.getTime()) {\n              <div\n                axDrag\n                [dragData]=\"segment\"\n                [dragCursor]=\"'grab'\"\n                [dragTransition]=\"false\"\n                [dragElementClone]=\"true\"\n                [dragStartDelay]=\"dragStartDelay()\"\n                [dragDisabled]=\"!draggable() || segment.readonly || readonly()\"\n                (pointerdown)=\"getSlotId($event)\"\n                (click)=\"handleAppointmentEvent($event, segment)\"\n                (dblclick)=\"handleAppointmentEvent($event, segment)\"\n                (contextmenu)=\"handleAppointmentEvent($event, segment)\"\n                [title]=\"\n                  tooltipTemplate()\n                    ? ''\n                    : segment.allDay\n                      ? segment.title +\n                        ' (' +\n                        (segment.originalStartDate\n                          | format: 'date' : { format: 'MMM d', calendar: calendar() }\n                          | async) +\n                        ' - ' +\n                        (segment.originalEndDate | format: 'date' : { format: 'MMM d', calendar: calendar() } | async) +\n                        ')'\n                      : segment.title +\n                        ' (' +\n                        (segment.originalStartDate | format: 'time' : { calendar: calendar() } | async) +\n                        ' - ' +\n                        (segment.originalEndDate | format: 'time' : { calendar: calendar() } | async) +\n                        ')'\n                \"\n                class=\"ax-scheduler-timeline-appointment\"\n                [class.all-day-segment]=\"segment.allDay\"\n                [ngClass]=\"segment.cssClass ?? `ax-scheduler-${segment.priority ?? 'primary'}-periority`\"\n                [axTooltipDisabled]=\"tooltipTemplate() ? false : true\"\n                [axTooltip]=\"tooltipTemplate()\"\n                [axTooltipContext]=\"segment\"\n              >\n                <ax-title>\n                  <span class=\"ax-scheduler-truncate\">{{ segment.title }}</span>\n                  @if (hasActions()) {\n                    <ax-icon\n                      (click)=\"handleActionClick($event, segment)\"\n                      class=\"ax-icon ax-icon-more-horizontal ax-scheduler-action-icon\"\n                    >\n                    </ax-icon>\n                  }\n                </ax-title>\n                <!-- Display segment's start/end times or date range -->\n                <ax-subtitle>\n                  @if (segment.allDay) {\n                    {{ segment.originalStartDate | format: 'date' : { format: 'MMM d', calendar: calendar() } | async }}\n                    @if (segment.originalStartDate.getTime() !== segment.originalEndDate.getTime()) {\n                      -\n                      {{ segment.originalEndDate | format: 'date' : { format: 'MMM d', calendar: calendar() } | async }}\n                    }\n                  } @else {\n                    {{ segment.originalStartDate | format: 'time' : { format: 'HH:mm', calendar: calendar() } | async }}\n                    -\n                    {{ segment.originalEndDate | format: 'time' : { format: 'HH:mm', calendar: calendar() } | async }}\n                  }\n                </ax-subtitle>\n              </div>\n            }\n            @if (dayData.moreCount > 0) {\n              <div #moreAppointments class=\"ax-scheduler-month-overflow-badge\" (click)=\"$event.stopPropagation()\">\n                +{{\n                  '@acorex:common.general.more-items' | translate: { params: { number: dayData.moreCount } } | async\n                }}\n              </div>\n              <ax-popover [target]=\"moreAppointments\" placement=\"bottom-start\" trigger=\"click\">\n                <div\n                  axDropZone\n                  [class.ax-state-readonly]=\"readonly()\"\n                  class=\"ax-overlay-pane ax-scheduler-popover ax-scheduler-month-popover-appointment\"\n                >\n                  @for (segment of dayData.hiddenAppointments; track segment.id + segment.originalStartDate.getTime()) {\n                    <div\n                      axDrag\n                      [dragData]=\"segment\"\n                      [dragCursor]=\"'grab'\"\n                      [dragTransition]=\"false\"\n                      [dragElementClone]=\"true\"\n                      [dragStartDelay]=\"dragStartDelay()\"\n                      [dragDisabled]=\"!draggable() || segment.readonly || readonly()\"\n                      (click)=\"handleAppointmentEvent($event, segment); $event.stopPropagation()\"\n                      (dblclick)=\"handleAppointmentEvent($event, segment); $event.stopPropagation()\"\n                      (contextmenu)=\"handleAppointmentEvent($event, segment); $event.stopPropagation()\"\n                      [title]=\"\n                        tooltipTemplate()\n                          ? ''\n                          : segment.allDay\n                            ? segment.title +\n                              ' (' +\n                              (segment.originalStartDate\n                                | format: 'date' : { format: 'MMM d', calendar: calendar() }\n                                | async) +\n                              ' - ' +\n                              (segment.originalEndDate\n                                | format: 'date' : { format: 'MMM d', calendar: calendar() }\n                                | async) +\n                              ')'\n                            : segment.title +\n                              ' (' +\n                              (segment.originalStartDate | format: 'time' : { calendar: calendar() } | async) +\n                              ' - ' +\n                              (segment.originalEndDate | format: 'time' : { calendar: calendar() } | async) +\n                              ')'\n                      \"\n                      class=\"ax-scheduler-popover-appointment\"\n                      [class.all-day-segment]=\"segment.allDay\"\n                      [ngClass]=\"segment.cssClass ?? `ax-scheduler-${segment.priority ?? 'primary'}-periority`\"\n                      [axTooltipDisabled]=\"tooltipTemplate() ? false : true\"\n                      [axTooltip]=\"tooltipTemplate()\"\n                      [axTooltipContext]=\"segment\"\n                    >\n                      <ax-title>\n                        <span class=\"ax-scheduler-truncate\">{{ segment.title }}</span>\n                        @if (hasActions()) {\n                          <ax-icon\n                            (click)=\"handleActionClick($event, segment)\"\n                            class=\"ax-icon ax-icon-more-horizontal ax-scheduler-action-icon\"\n                          >\n                          </ax-icon>\n                        }\n                      </ax-title>\n                      <ax-subtitle>\n                        @if (segment.allDay) {\n                          {{\n                            segment.originalStartDate\n                              | format: 'date' : { format: 'MMM d', calendar: calendar() }\n                              | async\n                          }}\n                          @if (segment.originalStartDate.getTime() !== segment.originalEndDate.getTime()) {\n                            -\n                            {{\n                              segment.originalEndDate\n                                | format: 'date' : { format: 'MMM d', calendar: calendar() }\n                                | async\n                            }}\n                          }\n                        } @else {\n                          {{\n                            segment.originalStartDate\n                              | format: 'time' : { format: 'HH:mm', calendar: calendar() }\n                              | async\n                          }}\n                          -\n                          {{\n                            segment.originalEndDate | format: 'time' : { format: 'HH:mm', calendar: calendar() } | async\n                          }}\n                        }\n                      </ax-subtitle>\n                    </div>\n                  }\n                </div>\n              </ax-popover>\n            }\n          </div>\n        </div>\n      </div>\n    }\n  </div>\n} @else {\n  <!-- Resource-based layout with sticky resources -->\n  <div class=\"ax-scheduler-timeline-month-resource-container\">\n    <!-- Sticky header with resource placeholder and day headers -->\n    @if (showResourceHeaders()) {\n      <div class=\"ax-scheduler-timeline-month-header-sticky\">\n        <div class=\"ax-scheduler-timeline-month-resource-header-placeholder\"><span>Resources</span></div>\n        @for (dayData of processedDayData(); track dayData.date.date.getTime()) {\n          <div class=\"ax-scheduler-timeline-month-day-header\">\n            <div\n              [class.ax-state-today]=\"isToday(dayData.date)\"\n              class=\"ax-scheduler-month-header-date-day {{\n                dayData.holiday?.state !== 'none' ? (dayData.holiday?.holiday?.cssClass ?? 'ax-state-holiday') : ''\n              }}\"\n            >\n              <span\n                class=\"ax-scheduler-month-header-date-day-char ax-scheduler-truncate\"\n                [axTooltip]=\"dayData.holiday?.holiday?.title ?? ''\"\n              >\n                {{ dayData.date | format: 'date' : { format: 'dddd', calendar: calendar() } | async }}\n                @if (dayData.holiday?.state === 'holiday' && dayData.holiday?.holiday?.title) {\n                  ( {{ dayData.holiday.holiday.title }} )\n                }\n              </span>\n              <span class=\"ax-scheduler-month-header-date-day-num\">\n                {{ dayData.date | format: 'date' : { format: 'DD', calendar: calendar() } | async }}\n              </span>\n            </div>\n          </div>\n        }\n      </div>\n    }\n\n    <!-- Resource rows with sticky resource headers -->\n    <div class=\"ax-scheduler-timeline-month-resource-rows\">\n      <!-- Current Time Line Indicator -->\n      @if (showCurrentTimeIndicator() && getCurrentTimePosition() !== null) {\n        <div\n          class=\"ax-scheduler-current-time-line\"\n          [style.inset-inline-start.%]=\"getCurrentTimePosition()\"\n          #currentTimeLine\n        ></div>\n      }\n\n      @for (resourceId of resourceIds(); track resourceId) {\n        <div class=\"ax-scheduler-timeline-month-resource-row\" [style.height]=\"getResourceRowHeight(resourceId)\">\n          @if (showResourceHeaders()) {\n            <!-- Sticky Resource Header -->\n            <div class=\"ax-scheduler-timeline-month-resource-header ax-scheduler-timeline-month-resource-header-sticky\">\n              @if (resourceTemplate() && typeof resourceTemplate() !== 'string') {\n                <ng-container\n                  [ngTemplateOutlet]=\"$any(resourceTemplate())\"\n                  [ngTemplateOutletContext]=\"{\n                    $implicit: getResourceContext(resourceId),\n                    resource: getResourceContext(resourceId),\n                    resourceId: resourceId,\n                  }\"\n                ></ng-container>\n              } @else {\n                <span class=\"ax-scheduler-timeline-month-resource-title\">{{ getResourceTitle(resourceId) }}</span>\n              }\n            </div>\n          }\n\n          <!-- Resource Content -->\n          <div class=\"ax-scheduler-timeline-month-resource-content\">\n            @for (dayData of processedDayData(); track dayData.date.date.getTime()) {\n              <div\n                axDropZone\n                #zone=\"axDropZone\"\n                (onElementDrop)=\"handleDrop($event, dayData.date, resourceId)\"\n                [class.ax-scheduler-slot-hovered]=\"zone.isHovered()\"\n                class=\"ax-scheduler-timeline-content\"\n                (click)=\"handleSlotEvent($event, dayData.date)\"\n                (dblclick)=\"handleSlotEvent($event, dayData.date)\"\n                (contextmenu)=\"handleSlotEvent($event, dayData.date)\"\n                [attr.data-slot-id]=\"dayData.date.format('YYYYMMDD')\"\n                [attr.data-resource-id]=\"resourceId\"\n              >\n                <div class=\"ax-scheduler-timeline-appointment-container\">\n                  @for (\n                    segment of getAppointmentsForResourceAndDay(resourceId, dayData).visible;\n                    track segment.id + segment.originalStartDate.getTime()\n                  ) {\n                    <div\n                      axDrag\n                      [dragData]=\"segment\"\n                      [dragCursor]=\"'grab'\"\n                      [dragTransition]=\"false\"\n                      [dragElementClone]=\"true\"\n                      [dragStartDelay]=\"dragStartDelay()\"\n                      [dragDisabled]=\"!draggable() || segment.readonly || readonly()\"\n                      (pointerdown)=\"getSlotId($event)\"\n                      (click)=\"handleAppointmentEvent($event, segment)\"\n                      (dblclick)=\"handleAppointmentEvent($event, segment)\"\n                      (contextmenu)=\"handleAppointmentEvent($event, segment)\"\n                      [title]=\"\n                        tooltipTemplate()\n                          ? ''\n                          : segment.allDay\n                            ? segment.title +\n                              ' (' +\n                              (segment.originalStartDate\n                                | format: 'date' : { format: 'MMM d', calendar: calendar() }\n                                | async) +\n                              ' - ' +\n                              (segment.originalEndDate\n                                | format: 'date' : { format: 'MMM d', calendar: calendar() }\n                                | async) +\n                              ')'\n                            : segment.title +\n                              ' (' +\n                              (segment.originalStartDate | format: 'time' : { calendar: calendar() } | async) +\n                              ' - ' +\n                              (segment.originalEndDate | format: 'time' : { calendar: calendar() } | async) +\n                              ')'\n                      \"\n                      class=\"ax-scheduler-timeline-appointment\"\n                      [class.all-day-segment]=\"segment.allDay\"\n                      [ngClass]=\"segment.cssClass ?? `ax-scheduler-${segment.priority ?? 'primary'}-periority`\"\n                      [axTooltipDisabled]=\"tooltipTemplate() ? false : true\"\n                      [axTooltip]=\"tooltipTemplate()\"\n                      [axTooltipContext]=\"segment\"\n                    >\n                      <ax-title>\n                        <span class=\"ax-scheduler-truncate\">{{ segment.title }}</span>\n                        @if (hasActions()) {\n                          <ax-icon\n                            (click)=\"handleActionClick($event, segment)\"\n                            class=\"ax-icon ax-icon-more-horizontal ax-scheduler-action-icon\"\n                          >\n                          </ax-icon>\n                        }\n                      </ax-title>\n                      <ax-subtitle>\n                        @if (segment.allDay) {\n                          {{\n                            segment.originalStartDate\n                              | format: 'date' : { format: 'MMM d', calendar: calendar() }\n                              | async\n                          }}\n                          @if (segment.originalStartDate.getTime() !== segment.originalEndDate.getTime()) {\n                            -\n                            {{\n                              segment.originalEndDate\n                                | format: 'date' : { format: 'MMM d', calendar: calendar() }\n                                | async\n                            }}\n                          }\n                        } @else {\n                          {{\n                            segment.originalStartDate\n                              | format: 'time' : { format: 'HH:mm', calendar: calendar() }\n                              | async\n                          }}\n                          -\n                          {{\n                            segment.originalEndDate | format: 'time' : { format: 'HH:mm', calendar: calendar() } | async\n                          }}\n                        }\n                      </ax-subtitle>\n                    </div>\n                  }\n                  @if (getAppointmentsForResourceAndDay(resourceId, dayData).moreCount > 0) {\n                    <div #moreAppointments class=\"ax-scheduler-month-overflow-badge\" (click)=\"$event.stopPropagation()\">\n                      +{{\n                        '@acorex:common.general.more-items'\n                          | translate\n                            : { params: { number: getAppointmentsForResourceAndDay(resourceId, dayData).moreCount } }\n                          | async\n                      }}\n                    </div>\n                    <ax-popover [target]=\"moreAppointments\" placement=\"bottom-start\" trigger=\"click\">\n                      <div\n                        axDropZone\n                        [class.ax-state-readonly]=\"readonly()\"\n                        class=\"ax-overlay-pane ax-scheduler-popover ax-scheduler-month-popover-appointment\"\n                      >\n                        @for (\n                          segment of getAppointmentsForResourceAndDay(resourceId, dayData).hidden;\n                          track segment.id + segment.originalStartDate.getTime()\n                        ) {\n                          <div\n                            axDrag\n                            [dragData]=\"segment\"\n                            [dragCursor]=\"'grab'\"\n                            [dragTransition]=\"false\"\n                            [dragElementClone]=\"true\"\n                            [dragStartDelay]=\"dragStartDelay()\"\n                            [dragDisabled]=\"!draggable() || segment.readonly || readonly()\"\n                            (click)=\"handleAppointmentEvent($event, segment); $event.stopPropagation()\"\n                            (dblclick)=\"handleAppointmentEvent($event, segment); $event.stopPropagation()\"\n                            (contextmenu)=\"handleAppointmentEvent($event, segment); $event.stopPropagation()\"\n                            [title]=\"\n                              tooltipTemplate()\n                                ? ''\n                                : segment.allDay\n                                  ? segment.title +\n                                    ' (' +\n                                    (segment.originalStartDate\n                                      | format: 'date' : { format: 'MMM d', calendar: calendar() }\n                                      | async) +\n                                    ' - ' +\n                                    (segment.originalEndDate\n                                      | format: 'date' : { format: 'MMM d', calendar: calendar() }\n                                      | async) +\n                                    ')'\n                                  : segment.title +\n                                    ' (' +\n                                    (segment.originalStartDate | format: 'time' : { calendar: calendar() } | async) +\n                                    ' - ' +\n                                    (segment.originalEndDate | format: 'time' : { calendar: calendar() } | async) +\n                                    ')'\n                            \"\n                            class=\"ax-scheduler-popover-appointment\"\n                            [class.all-day-segment]=\"segment.allDay\"\n                            [ngClass]=\"segment.cssClass ?? `ax-scheduler-${segment.priority ?? 'primary'}-periority`\"\n                            [axTooltipDisabled]=\"tooltipTemplate() ? false : true\"\n                            [axTooltip]=\"tooltipTemplate()\"\n                            [axTooltipContext]=\"segment\"\n                          >\n                            <ax-title>\n                              <span class=\"ax-scheduler-truncate\">{{ segment.title }}</span>\n                              @if (hasActions()) {\n                                <ax-icon\n                                  (click)=\"handleActionClick($event, segment)\"\n                                  class=\"ax-icon ax-icon-more-horizontal ax-scheduler-action-icon\"\n                                >\n                                </ax-icon>\n                              }\n                            </ax-title>\n                            <ax-subtitle>\n                              @if (segment.allDay) {\n                                {{\n                                  segment.originalStartDate\n                                    | format: 'date' : { format: 'MMM d', calendar: calendar() }\n                                    | async\n                                }}\n                                @if (segment.originalStartDate.getTime() !== segment.originalEndDate.getTime()) {\n                                  -\n                                  {{\n                                    segment.originalEndDate\n                                      | format: 'date' : { format: 'MMM d', calendar: calendar() }\n                                      | async\n                                  }}\n                                }\n                              } @else {\n                                {{\n                                  segment.originalStartDate\n                                    | format: 'time' : { format: 'HH:mm', calendar: calendar() }\n                                    | async\n                                }}\n                                -\n                                {{\n                                  segment.originalEndDate\n                                    | format: 'time' : { format: 'HH:mm', calendar: calendar() }\n                                    | async\n                                }}\n                              }\n                            </ax-subtitle>\n                          </div>\n                        }\n                      </div>\n                    </ax-popover>\n                  }\n                </div>\n              </div>\n            }\n          </div>\n        </div>\n      }\n    </div>\n  </div>\n}\n", styles: ["ax-scheduler-timeline-month-view{height:100%;position:relative;display:inline-flex;flex-direction:column;background-color:inherit}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-container{height:100%;display:flex}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-container .ax-scheduler-timeline-header{width:100%;display:flex;background-color:var(--ax-comp-scheduler-all-day-bg, inherit)}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-container .ax-scheduler-timeline-header .ax-scheduler-month-header-date-day{gap:.25rem;height:4rem;display:flex;position:relative;align-items:start;padding-inline:1rem;flex-direction:column;padding-block:.25rem;justify-content:center;width:var(--ax-comp-scheduler-timeline-month-view-blocks-width, calc(var(--ax-comp-scheduler-timeline-view-blocks-width) / 2));border-block-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface));border-inline-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-container .ax-scheduler-timeline-header .ax-scheduler-month-header-date-day.ax-state-today{color:rgba(var(--ax-sys-color-primary-surface));background-color:rgba(var(--ax-sys-color-primary-surface),.05)}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-container .ax-scheduler-timeline-header .ax-scheduler-month-header-date-day.ax-state-today .ax-scheduler-month-header-date-day-char{font-weight:500}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-container .ax-scheduler-timeline-header .ax-scheduler-month-header-date-day.ax-state-today .ax-scheduler-month-header-date-day-num{font-weight:700}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-container .ax-scheduler-timeline-header .ax-scheduler-month-header-date-day.ax-state-holiday{color:rgba(var(--ax-sys-color-danger-surface))}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-container .ax-scheduler-timeline-header .ax-scheduler-month-header-date-day.ax-state-holiday.ax-state-today{color:rgba(var(--ax-sys-color-primary-surface))}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-container .ax-scheduler-timeline-header .ax-scheduler-month-header-date-day .ax-scheduler-month-header-date-day-char{max-width:100%;position:sticky;font-weight:300;line-height:1rem;inset-inline-start:1rem}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-container .ax-scheduler-timeline-header .ax-scheduler-month-header-date-day .ax-scheduler-month-header-date-day-num{position:sticky;font-weight:500;font-size:1.25rem;inset-inline-start:1rem}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-container .ax-scheduler-timeline-content{padding:.125rem .25rem;position:relative;height:calc(100% - 4rem);width:var(--ax-comp-scheduler-timeline-month-view-blocks-width, calc(var(--ax-comp-scheduler-timeline-view-blocks-width) / 2));border-inline-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-container .ax-scheduler-timeline-content .ax-scheduler-timeline-appointment-container{gap:1px;display:flex;flex-direction:column}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-container .ax-scheduler-timeline-content .ax-scheduler-timeline-appointment-container .ax-scheduler-timeline-appointment{width:100%;display:flex;overflow:hidden;flex-direction:column;padding-block:.25rem;padding-inline:.5rem;border-radius:calc(var(--ax-sys-border-radius) / 2)}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-container .ax-scheduler-timeline-content .ax-scheduler-timeline-appointment-container .ax-scheduler-month-overflow-badge{cursor:pointer;text-align:left;font-size:.75rem;padding:.125rem 0;margin-top:.125rem}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-container .ax-scheduler-timeline-content .ax-scheduler-timeline-appointment-container .ax-scheduler-month-overflow-badge:hover{text-decoration:underline}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-resource-container{height:100%;display:flex;flex-direction:column;background-color:inherit;position:relative}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-resource-container .ax-scheduler-timeline-month-header-sticky{position:sticky;top:0;z-index:10;display:flex;background-color:inherit;border-bottom:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-resource-container .ax-scheduler-timeline-month-header-sticky .ax-scheduler-timeline-month-resource-header-placeholder{left:0;z-index:15;display:flex;position:sticky;align-items:center;justify-content:center;background-color:inherit;width:var(--ax-comp-scheduler-resource-header-width, 8rem);min-width:var(--ax-comp-scheduler-resource-header-width, 8rem);border-right:1px solid rgba(var(--ax-sys-color-border-lightest-surface));padding:.5rem;font-weight:500;font-size:.875rem}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-resource-container .ax-scheduler-timeline-month-header-sticky .ax-scheduler-timeline-month-day-header{flex:1;display:flex;background-color:inherit}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-resource-container .ax-scheduler-timeline-month-header-sticky .ax-scheduler-timeline-month-day-header .ax-scheduler-month-header-date-day{gap:.25rem;height:4rem;display:flex;position:relative;align-items:start;padding-inline:1rem;flex-direction:column;padding-block:.25rem;justify-content:center;width:var(--ax-comp-scheduler-timeline-month-view-blocks-width, calc(var(--ax-comp-scheduler-timeline-view-blocks-width) / 2));min-width:var(--ax-comp-scheduler-timeline-month-view-blocks-width, calc(var(--ax-comp-scheduler-timeline-view-blocks-width) / 2));border-inline-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-resource-container .ax-scheduler-timeline-month-header-sticky .ax-scheduler-timeline-month-day-header .ax-scheduler-month-header-date-day.ax-state-today{color:rgba(var(--ax-sys-color-primary-surface));background-color:rgba(var(--ax-sys-color-primary-surface),.05)}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-resource-container .ax-scheduler-timeline-month-header-sticky .ax-scheduler-timeline-month-day-header .ax-scheduler-month-header-date-day.ax-state-today .ax-scheduler-month-header-date-day-char{font-weight:500}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-resource-container .ax-scheduler-timeline-month-header-sticky .ax-scheduler-timeline-month-day-header .ax-scheduler-month-header-date-day.ax-state-today .ax-scheduler-month-header-date-day-num{font-weight:700}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-resource-container .ax-scheduler-timeline-month-header-sticky .ax-scheduler-timeline-month-day-header .ax-scheduler-month-header-date-day.ax-state-holiday{color:rgba(var(--ax-sys-color-danger-surface))}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-resource-container .ax-scheduler-timeline-month-header-sticky .ax-scheduler-timeline-month-day-header .ax-scheduler-month-header-date-day.ax-state-holiday.ax-state-today{color:rgba(var(--ax-sys-color-primary-surface))}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-resource-container .ax-scheduler-timeline-month-header-sticky .ax-scheduler-timeline-month-day-header .ax-scheduler-month-header-date-day .ax-scheduler-month-header-date-day-char{max-width:100%;position:sticky;font-weight:300;line-height:1rem;inset-inline-start:1rem}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-resource-container .ax-scheduler-timeline-month-header-sticky .ax-scheduler-timeline-month-day-header .ax-scheduler-month-header-date-day .ax-scheduler-month-header-date-day-num{position:sticky;font-weight:500;font-size:1.25rem;inset-inline-start:1rem}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-resource-container .ax-scheduler-timeline-month-resource-rows{flex:1;overflow:visible;position:relative;background-color:inherit}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-resource-container .ax-scheduler-timeline-month-resource-rows .ax-scheduler-timeline-month-resource-row{min-height:0;border-bottom:1px solid rgba(var(--ax-sys-color-border-lightest-surface));width:max-content;background-color:inherit;min-height:3.313rem;display:flex}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-resource-container .ax-scheduler-timeline-month-resource-rows .ax-scheduler-timeline-month-resource-row .ax-scheduler-timeline-month-resource-header{display:flex;padding:.5rem;align-items:center;justify-content:center;background-color:inherit;width:var(--ax-comp-scheduler-resource-header-width, 8rem);min-width:var(--ax-comp-scheduler-resource-header-width, 8rem);border-right:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-resource-container .ax-scheduler-timeline-month-resource-rows .ax-scheduler-timeline-month-resource-row .ax-scheduler-timeline-month-resource-header.ax-scheduler-timeline-month-resource-header-sticky{position:sticky;left:0;z-index:15;background-color:inherit}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-resource-container .ax-scheduler-timeline-month-resource-rows .ax-scheduler-timeline-month-resource-row .ax-scheduler-timeline-month-resource-header .ax-scheduler-timeline-month-resource-title{font-weight:500;font-size:.875rem;text-align:center;word-break:break-word}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-resource-container .ax-scheduler-timeline-month-resource-rows .ax-scheduler-timeline-month-resource-row .ax-scheduler-timeline-month-resource-content{flex:1;display:flex;background-color:inherit}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-resource-container .ax-scheduler-timeline-month-resource-rows .ax-scheduler-timeline-month-resource-row .ax-scheduler-timeline-month-resource-content .ax-scheduler-timeline-content{flex:1;display:flex;position:relative;background-color:inherit;width:var(--ax-comp-scheduler-timeline-month-view-blocks-width, calc(var(--ax-comp-scheduler-timeline-view-blocks-width) / 2));min-width:var(--ax-comp-scheduler-timeline-month-view-blocks-width, calc(var(--ax-comp-scheduler-timeline-view-blocks-width) / 2));border-inline-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-resource-container .ax-scheduler-timeline-month-resource-rows .ax-scheduler-timeline-month-resource-row .ax-scheduler-timeline-month-resource-content .ax-scheduler-timeline-content .ax-scheduler-timeline-appointment-container{gap:var(--ax-comp-scheduler-timeline-month-gap-height, .125rem);display:flex;flex-direction:column;height:100%;overflow:hidden;width:100%;padding-inline:.25rem;padding-block:.125rem}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-resource-container .ax-scheduler-timeline-month-resource-rows .ax-scheduler-timeline-month-resource-row .ax-scheduler-timeline-month-resource-content .ax-scheduler-timeline-content .ax-scheduler-timeline-appointment-container .ax-scheduler-timeline-appointment{width:100%;height:var(--ax-comp-scheduler-timeline-month-appointment-height, 3rem);display:flex;overflow:hidden;flex-direction:column;padding-block:.25rem;padding-inline:.5rem;border-radius:calc(var(--ax-sys-border-radius) / 2);flex-shrink:0}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-resource-container .ax-scheduler-timeline-month-resource-rows .ax-scheduler-timeline-month-resource-row .ax-scheduler-timeline-month-resource-content .ax-scheduler-timeline-content .ax-scheduler-timeline-appointment-container .ax-scheduler-month-overflow-badge{cursor:pointer;text-align:left;font-size:.75rem;padding:.125rem 0;margin-top:.125rem;flex-shrink:0;height:var(--ax-comp-scheduler-timeline-month-more-link-height, .5rem)}ax-scheduler-timeline-month-view .ax-scheduler-timeline-month-resource-container .ax-scheduler-timeline-month-resource-rows .ax-scheduler-timeline-month-resource-row .ax-scheduler-timeline-month-resource-content .ax-scheduler-timeline-content .ax-scheduler-timeline-appointment-container .ax-scheduler-month-overflow-badge:hover{text-decoration:underline}ax-scheduler-timeline-month-view:not(.ax-state-readonly) .ax-scheduler-timeline-appointment{cursor:pointer}ax-scheduler-timeline-month-view:not(.ax-state-readonly) .ax-scheduler-timeline-content{cursor:pointer;transition-property:background-color;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function)}ax-scheduler-timeline-month-view:not(.ax-state-readonly) .ax-scheduler-timeline-content:hover{background-color:rgba(var(--ax-comp-scheduler-slot-hover-bg, var(--ax-sys-color-primary-surface), .1))}ax-scheduler-timeline-month-view ax-title{display:flex;justify-content:space-between}ax-scheduler-timeline-month-view ax-title .ax-scheduler-action-icon{width:auto;cursor:pointer}ax-scheduler-timeline-month-view .ax-scheduler-current-time-line{top:0;bottom:0;width:2px}ax-scheduler-timeline-month-view .ax-scheduler-current-time-line:before{top:-6px;inset-inline-start:-5px}\n"] }]
         
     | 
| 
       2285 
     | 
    
         
            -
                    }], propDecorators: { isReadonly: [{
         
     | 
| 
      
 2285 
     | 
    
         
            +
                    }], propDecorators: { readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], draggable: [{ type: i0.Input, args: [{ isSignal: true, alias: "draggable", required: false }] }], hasActions: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasActions", required: false }] }], dragStartDelay: [{ type: i0.Input, args: [{ isSignal: true, alias: "dragStartDelay", required: false }] }], calendar: [{ type: i0.Input, args: [{ isSignal: true, alias: "calendar", required: false }] }], showResourceHeaders: [{ type: i0.Input, args: [{ isSignal: true, alias: "showResourceHeaders", required: false }] }], date: [{ type: i0.Input, args: [{ isSignal: true, alias: "date", required: true }] }], showUnassignedAppointments: [{ type: i0.Input, args: [{ isSignal: true, alias: "showUnassignedAppointments", required: false }] }], resources: [{ type: i0.Input, args: [{ isSignal: true, alias: "resources", required: false }] }], showCurrentTimeIndicator: [{ type: i0.Input, args: [{ isSignal: true, alias: "showCurrentTimeIndicator", required: false }] }], resourceTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "resourceTemplate", required: false }] }], appointments: [{ type: i0.Input, args: [{ isSignal: true, alias: "appointments", required: false }] }], tooltipTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "tooltipTemplate", required: false }] }], currentTimeLineElement: [{ type: i0.ViewChild, args: ['currentTimeLine', { isSignal: true }] }], slotClickedInternal: [{ type: i0.Output, args: ["slotClickedInternal"] }], slotDblClickedInternal: [{ type: i0.Output, args: ["slotDblClickedInternal"] }], slotRightClickedInternal: [{ type: i0.Output, args: ["slotRightClickedInternal"] }], appointmentClickedInternal: [{ type: i0.Output, args: ["appointmentClickedInternal"] }], appointmentDblClickedInternal: [{ type: i0.Output, args: ["appointmentDblClickedInternal"] }], appointmentRightClickedInternal: [{ type: i0.Output, args: ["appointmentRightClickedInternal"] }], onActionClickInternal: [{ type: i0.Output, args: ["onActionClickInternal"] }], onAppointmentDropInternal: [{ type: i0.Output, args: ["onAppointmentDropInternal"] }], isReadonly: [{
         
     | 
| 
       2286 
2286 
     | 
    
         
             
                            type: HostBinding,
         
     | 
| 
       2287 
2287 
     | 
    
         
             
                            args: ['class.ax-state-readonly']
         
     | 
| 
       2288 
2288 
     | 
    
         
             
                        }] } });
         
     | 
| 
         @@ -2624,13 +2624,13 @@ class AXSchedulerTimelineMultiDayViewComponent extends NXComponent { 
     | 
|
| 
       2624 
2624 
     | 
    
         
             
                    }
         
     | 
| 
       2625 
2625 
     | 
    
         
             
                    return { state: 'none' };
         
     | 
| 
       2626 
2626 
     | 
    
         
             
                }
         
     | 
| 
       2627 
     | 
    
         
            -
                static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3. 
     | 
| 
       2628 
     | 
    
         
            -
                static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.4", type: AXSchedulerTimelineMultiDayViewComponent, isStandalone: true, selector: "ax-scheduler-timeline-multi-day-view", inputs: { daysCount: { classPropertyName: "daysCount", publicName: "daysCount", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, draggable: { classPropertyName: "draggable", publicName: "draggable", isSignal: true, isRequired: false, transformFunction: null }, hasActions: { classPropertyName: "hasActions", publicName: "hasActions", isSignal: true, isRequired: false, transformFunction: null }, dragStartDelay: { classPropertyName: "dragStartDelay", publicName: "dragStartDelay", isSignal: true, isRequired: false, transformFunction: null }, calendar: { classPropertyName: "calendar", publicName: "calendar", isSignal: true, isRequired: false, transformFunction: null }, showResourceHeaders: { classPropertyName: "showResourceHeaders", publicName: "showResourceHeaders", isSignal: true, isRequired: false, transformFunction: null }, date: { classPropertyName: "date", publicName: "date", isSignal: true, isRequired: true, transformFunction: null }, endDayHour: { classPropertyName: "endDayHour", publicName: "endDayHour", isSignal: true, isRequired: true, transformFunction: null }, showCurrentTimeIndicator: { classPropertyName: "showCurrentTimeIndicator", publicName: "showCurrentTimeIndicator", isSignal: true, isRequired: false, transformFunction: null }, startDayHour: { classPropertyName: "startDayHour", publicName: "startDayHour", isSignal: true, isRequired: true, transformFunction: null }, showUnassignedAppointments: { classPropertyName: "showUnassignedAppointments", publicName: "showUnassignedAppointments", isSignal: true, isRequired: false, transformFunction: null }, resources: { classPropertyName: "resources", publicName: "resources", isSignal: true, isRequired: false, transformFunction: null }, resourceTemplate: { classPropertyName: "resourceTemplate", publicName: "resourceTemplate", isSignal: true, isRequired: false, transformFunction: null }, appointments: { classPropertyName: "appointments", publicName: "appointments", isSignal: true, isRequired: false, transformFunction: null }, tooltipTemplate: { classPropertyName: "tooltipTemplate", publicName: "tooltipTemplate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { slotClickedInternal: "slotClickedInternal", slotDblClickedInternal: "slotDblClickedInternal", slotRightClickedInternal: "slotRightClickedInternal", appointmentClickedInternal: "appointmentClickedInternal", appointmentDblClickedInternal: "appointmentDblClickedInternal", appointmentRightClickedInternal: "appointmentRightClickedInternal", onActionClickInternal: "onActionClickInternal", onAppointmentDropInternal: "onAppointmentDropInternal" }, providers: [{ provide: AXComponent, useExisting: AXSchedulerTimelineMultiDayViewComponent }], viewQueries: [{ propertyName: "currentTimeLineElement", first: true, predicate: ["currentTimeLine"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@if (resources().length === 0 || !showResourceHeaders()) {\n  <!-- Original layout when no resources -->\n  <div class=\"ax-scheduler-timeline-day-view-container\">\n    @for (daySlot of daysDataForTimelineViews(); track daySlot.date.date.getTime()) {\n      <div class=\"ax-scheduler-timeline-multi-day-column\">\n        <div\n          [class.ax-state-today]=\"isToday(daySlot.date)\"\n          class=\"ax-scheduler-week-header-date-day {{\n            daySlot.holiday.state !== 'none' ? (daySlot.holiday.holiday?.cssClass ?? 'ax-state-holiday') : ''\n          }}\"\n        >\n          <span\n            class=\"ax-scheduler-week-header-date-day-char ax-scheduler-truncate\"\n            [axTooltip]=\"daySlot.holiday.holiday?.title ?? ''\"\n          >\n            {{ daySlot.date | format: 'date' : { format: 'dddd', calendar: calendar() } | async }}\n            @if (daySlot.holiday.state === 'holiday' && daySlot.holiday.holiday.title) {\n              ( {{ daySlot.holiday.holiday.title }} )\n            }\n          </span>\n          <span class=\"ax-scheduler-week-header-date-day-num\">\n            {{ daySlot.date | format: 'date' : { format: 'DD', calendar: calendar() } | async }}\n          </span>\n        </div>\n        <ax-scheduler-timeline-day-view\n          [date]=\"daySlot.date\"\n          [readonly]=\"readonly()\"\n          [draggable]=\"draggable()\"\n          [resources]=\"resources()\"\n          [endDayHour]=\"endDayHour()\"\n          [hasActions]=\"hasActions()\"\n          [showResourceHeaders]=\"true\"\n          [startDayHour]=\"startDayHour()\"\n          [dragStartDelay]=\"dragStartDelay()\"\n          [tooltipTemplate]=\"tooltipTemplate()\"\n          [showCurrentTimeIndicator]=\"showCurrentTimeIndicator()\"\n          [appointments]=\"daySlot.originalAppointmentsForThisDay\"\n          [showUnassignedAppointments]=\"showUnassignedAppointments()\"\n          (onActionClickInternal)=\"onActionClickInternal.emit($event)\"\n          (slotClickedInternal)=\"slotClickedInternal.emit($event)\"\n          (slotDblClickedInternal)=\"slotDblClickedInternal.emit($event)\"\n          (slotRightClickedInternal)=\"slotRightClickedInternal.emit($event)\"\n          (onAppointmentDropInternal)=\"handleDrop($event, undefined)\"\n          (appointmentClickedInternal)=\"appointmentClickedInternal.emit($event)\"\n          (appointmentDblClickedInternal)=\"appointmentDblClickedInternal.emit($event)\"\n          (appointmentRightClickedInternal)=\"appointmentRightClickedInternal.emit($event)\"\n        >\n        </ax-scheduler-timeline-day-view>\n      </div>\n    }\n  </div>\n} @else {\n  <!-- Resource-based layout for multi-day -->\n  <div\n    class=\"ax-scheduler-timeline-multi-day-resource-container\"\n    [style.--ax-comp-scheduler-hours-count]=\"getHoursCount()\"\n  >\n    <!-- Top header with day names -->\n    <div class=\"ax-scheduler-timeline-multi-day-top-header\">\n      <!-- Resource placeholder -->\n      <div class=\"ax-scheduler-timeline-multi-day-resource-header-placeholder\"></div>\n      <!-- Day headers -->\n      @for (daySlot of daysDataForTimelineViews(); track daySlot.date.date.getTime()) {\n        <div class=\"ax-scheduler-timeline-multi-day-day-header\">\n          <div\n            [class.ax-state-today]=\"isToday(daySlot.date)\"\n            class=\"ax-scheduler-week-header-date-day {{\n              daySlot.holiday.state !== 'none' ? (daySlot.holiday.holiday?.cssClass ?? 'ax-state-holiday') : ''\n            }}\"\n          >\n            <span\n              class=\"ax-scheduler-week-header-date-day-char ax-scheduler-truncate\"\n              [axTooltip]=\"daySlot.holiday.holiday?.title ?? ''\"\n            >\n              {{ daySlot.date | format: 'date' : { format: 'dddd', calendar: calendar() } | async }}\n              @if (daySlot.holiday.state === 'holiday' && daySlot.holiday.holiday.title) {\n                ( {{ daySlot.holiday.holiday.title }} )\n              }\n            </span>\n            <span class=\"ax-scheduler-week-header-date-day-num\">\n              {{ daySlot.date | format: 'date' : { format: 'DD', calendar: calendar() } | async }}\n            </span>\n          </div>\n        </div>\n      }\n    </div>\n\n    <!-- Time header with hours for each day -->\n    <div class=\"ax-scheduler-timeline-multi-day-time-header\">\n      <!-- Resource placeholder -->\n      <div class=\"ax-scheduler-timeline-multi-day-time-header-placeholder\"><span>Resources</span></div>\n      <!-- Time slots for each day -->\n      @for (daySlot of daysDataForTimelineViews(); track daySlot.date.date.getTime()) {\n        <div class=\"ax-scheduler-timeline-multi-day-day-time-slots\">\n          @for (hour of getHoursArray(); track hour.date.getTime()) {\n            <div class=\"ax-scheduler-timeline-multi-day-time-slot\">\n              <span>{{ hour | format: 'time' : { format: 'HH:mm', calendar: calendar() } | async }}</span>\n            </div>\n          }\n        </div>\n      }\n    </div>\n\n    <!-- Main content area -->\n    <div class=\"ax-scheduler-timeline-multi-day-content\">\n      <!-- Resource headers column -->\n      <div class=\"ax-scheduler-timeline-multi-day-resource-headers\">\n        <!-- Resource headers -->\n        @for (resourceId of resourceIds(); track resourceId) {\n          <div\n            class=\"ax-scheduler-timeline-multi-day-resource-header\"\n            [style.height]=\"getResourceRowHeight(resourceId)\"\n          >\n            @if (resourceTemplate() && typeof resourceTemplate() !== 'string') {\n              <ng-container\n                [ngTemplateOutlet]=\"$any(resourceTemplate())\"\n                [ngTemplateOutletContext]=\"{\n                  $implicit: getResourceContext(resourceId),\n                  resource: getResourceContext(resourceId),\n                  resourceId: resourceId,\n                }\"\n              ></ng-container>\n            } @else {\n              <span class=\"ax-scheduler-timeline-resource-title\">{{ getResourceTitle(resourceId) }}</span>\n            }\n          </div>\n        }\n      </div>\n\n      <!-- Days columns -->\n      <div class=\"ax-scheduler-timeline-multi-day-days-container\" #daysContainer>\n        @for (daySlot of daysDataForTimelineViews(); track daySlot.date.date.getTime()) {\n          <div class=\"ax-scheduler-timeline-multi-day-column\">\n            <!-- Current Time Line Indicator for this day -->\n            @if (\n              showCurrentTimeIndicator() &&\n              shouldShowCurrentTimeForDay(daySlot.date) &&\n              getCurrentTimePosition() !== null\n            ) {\n              <div\n                class=\"ax-scheduler-current-time-line\"\n                [style.inset-inline-start.%]=\"getCurrentTimePosition()\"\n                #currentTimeLine\n              ></div>\n            }\n            <!-- Resource rows for this day -->\n            <div class=\"ax-scheduler-timeline-multi-day-resource-rows\">\n              @for (resourceId of resourceIds(); track resourceId) {\n                <div\n                  class=\"ax-scheduler-timeline-multi-day-resource-row\"\n                  [style.height]=\"getResourceRowHeight(resourceId)\"\n                >\n                  <ax-scheduler-timeline-day-view\n                    [date]=\"daySlot.date\"\n                    [readonly]=\"readonly()\"\n                    [draggable]=\"draggable()\"\n                    [resources]=\"\n                      resourceId === 'unassigned' ? [] : [{ id: resourceId, title: getResourceTitle(resourceId) }]\n                    \"\n                    [endDayHour]=\"endDayHour()\"\n                    [hasActions]=\"hasActions()\"\n                    [showResourceHeaders]=\"false\"\n                    [startDayHour]=\"startDayHour()\"\n                    [showCurrentTimeIndicator]=\"false\"\n                    [dragStartDelay]=\"dragStartDelay()\"\n                    [tooltipTemplate]=\"tooltipTemplate()\"\n                    [showUnassignedAppointments]=\"resourceId === 'unassigned'\"\n                    [appointments]=\"\n                      getAppointmentsForResourceAndDay(resourceId, daySlot.originalAppointmentsForThisDay)\n                    \"\n                    (onActionClickInternal)=\"onActionClickInternal.emit($event)\"\n                    (slotClickedInternal)=\"slotClickedInternal.emit($event)\"\n                    (slotDblClickedInternal)=\"slotDblClickedInternal.emit($event)\"\n                    (slotRightClickedInternal)=\"slotRightClickedInternal.emit($event)\"\n                    (onAppointmentDropInternal)=\"handleDrop($event, resourceId)\"\n                    (appointmentClickedInternal)=\"appointmentClickedInternal.emit($event)\"\n                    (appointmentDblClickedInternal)=\"appointmentDblClickedInternal.emit($event)\"\n                    (appointmentRightClickedInternal)=\"appointmentRightClickedInternal.emit($event)\"\n                  >\n                  </ax-scheduler-timeline-day-view>\n                </div>\n              }\n            </div>\n          </div>\n        }\n      </div>\n    </div>\n  </div>\n}\n", styles: ["ax-scheduler-timeline-multi-day-view{background-color:inherit}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-day-view-container{height:100%;display:flex;flex-direction:row;background-color:inherit;position:relative}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-day-view-container .ax-scheduler-week-header-date-day{gap:.25rem;height:4rem;display:flex;position:relative;align-items:start;padding-inline:1rem;flex-direction:column;padding-block:.25rem;justify-content:center;border-inline-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface));border-block-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-day-view-container .ax-scheduler-week-header-date-day.ax-state-today{color:rgba(var(--ax-sys-color-primary-surface));background-color:rgba(var(--ax-sys-color-primary-surface),.05)}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-day-view-container .ax-scheduler-week-header-date-day.ax-state-today .ax-scheduler-week-header-date-day-char{font-weight:500}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-day-view-container .ax-scheduler-week-header-date-day.ax-state-today .ax-scheduler-week-header-date-day-num{font-weight:700}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-day-view-container .ax-scheduler-week-header-date-day.ax-state-holiday{color:rgba(var(--ax-sys-color-danger-surface))}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-day-view-container .ax-scheduler-week-header-date-day.ax-state-holiday.ax-state-today{color:rgba(var(--ax-sys-color-primary-surface))}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-day-view-container .ax-scheduler-week-header-date-day .ax-scheduler-week-header-date-day-char{max-width:100%;position:sticky;font-weight:300;inset-inline-start:1rem}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-day-view-container .ax-scheduler-week-header-date-day .ax-scheduler-week-header-date-day-num{position:sticky;font-weight:500;font-size:1.25rem;inset-inline-start:1rem}ax-scheduler-timeline-multi-day-view ax-scheduler-timeline-day-view{height:calc(100% - 4rem)}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container{height:100%;display:flex;overflow:auto;flex-direction:column;background-color:inherit}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-top-header{position:sticky;top:0;z-index:10;display:flex;flex-direction:row;min-width:max-content;background-color:inherit;border-bottom:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-top-header .ax-scheduler-timeline-multi-day-resource-header-placeholder{width:var(--ax-comp-scheduler-resource-header-width, 8rem);min-width:var(--ax-comp-scheduler-resource-header-width, 8rem);height:4rem;display:flex;align-items:center;justify-content:center;background-color:inherit;border-right:1px solid rgba(var(--ax-sys-color-border-lightest-surface));position:sticky;left:0;z-index:15}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-top-header .ax-scheduler-timeline-multi-day-day-header{width:calc(var(--ax-comp-scheduler-timeline-view-blocks-width) * var(--ax-comp-scheduler-hours-count, 16));min-width:calc(var(--ax-comp-scheduler-timeline-view-blocks-width) * var(--ax-comp-scheduler-hours-count, 16));border-right:1px solid rgba(var(--ax-sys-color-border-lightest-surface));flex-shrink:0}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-top-header .ax-scheduler-timeline-multi-day-day-header .ax-scheduler-week-header-date-day{gap:.25rem;height:4rem;display:flex;position:relative;align-items:start;padding-inline:1rem;flex-direction:column;padding-block:.25rem;justify-content:center}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-top-header .ax-scheduler-timeline-multi-day-day-header .ax-scheduler-week-header-date-day.ax-state-today{color:rgba(var(--ax-sys-color-primary-surface));background-color:rgba(var(--ax-sys-color-primary-surface),.05)}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-top-header .ax-scheduler-timeline-multi-day-day-header .ax-scheduler-week-header-date-day.ax-state-today .ax-scheduler-week-header-date-day-char{font-weight:500}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-top-header .ax-scheduler-timeline-multi-day-day-header .ax-scheduler-week-header-date-day.ax-state-today .ax-scheduler-week-header-date-day-num{font-weight:700}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-top-header .ax-scheduler-timeline-multi-day-day-header .ax-scheduler-week-header-date-day.ax-state-holiday{color:rgba(var(--ax-sys-color-danger-surface))}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-top-header .ax-scheduler-timeline-multi-day-day-header .ax-scheduler-week-header-date-day.ax-state-holiday.ax-state-today{color:rgba(var(--ax-sys-color-primary-surface))}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-top-header .ax-scheduler-timeline-multi-day-day-header .ax-scheduler-week-header-date-day .ax-scheduler-week-header-date-day-char{max-width:100%;font-weight:300;position:sticky;font-size:.75rem;inset-inline-start:calc(var(--ax-comp-scheduler-resource-header-width, 8rem) + 1rem)}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-top-header .ax-scheduler-timeline-multi-day-day-header .ax-scheduler-week-header-date-day .ax-scheduler-week-header-date-day-num{font-weight:500;position:sticky;font-size:1.25rem;inset-inline-start:calc(var(--ax-comp-scheduler-resource-header-width, 8rem) + 1rem)}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-time-header{top:4rem;z-index:10;display:flex;position:sticky;flex-direction:row;min-width:max-content;background-color:inherit;border-bottom:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-time-header .ax-scheduler-timeline-multi-day-time-header-placeholder{z-index:15;height:2rem;display:flex;position:sticky;align-items:center;inset-inline-start:0;justify-content:center;background-color:inherit;width:var(--ax-comp-scheduler-resource-header-width, 8rem);min-width:var(--ax-comp-scheduler-resource-header-width, 8rem);border-right:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-time-header .ax-scheduler-timeline-multi-day-day-time-slots{width:calc(var(--ax-comp-scheduler-timeline-view-blocks-width) * var(--ax-comp-scheduler-hours-count, 16));min-width:calc(var(--ax-comp-scheduler-timeline-view-blocks-width) * var(--ax-comp-scheduler-hours-count, 16));height:2rem;display:flex;flex-direction:row;border-right:1px solid rgba(var(--ax-sys-color-border-lightest-surface));flex-shrink:0;background-color:inherit}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-time-header .ax-scheduler-timeline-multi-day-day-time-slots .ax-scheduler-timeline-multi-day-time-slot{display:flex;flex-shrink:0;position:relative;align-items:center;padding-inline:1rem;width:var(--ax-comp-scheduler-timeline-view-blocks-width);min-width:var(--ax-comp-scheduler-timeline-view-blocks-width);border-right:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-time-header .ax-scheduler-timeline-multi-day-day-time-slots .ax-scheduler-timeline-multi-day-time-slot span{z-index:5;font-weight:400;position:sticky;font-size:.75rem;inset-inline-start:calc(var(--ax-comp-scheduler-resource-header-width, 8rem) + 1rem)}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-content{flex:1;display:flex;min-height:0;width:fit-content;flex-direction:row;background-color:inherit}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-content .ax-scheduler-timeline-multi-day-resource-headers{z-index:15;display:flex;position:sticky;height:fit-content;inset-inline-start:0;flex-direction:column;background-color:inherit;width:var(--ax-comp-scheduler-resource-header-width, 8rem);min-width:var(--ax-comp-scheduler-resource-header-width, 8rem);border-right:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-content .ax-scheduler-timeline-multi-day-resource-headers .ax-scheduler-timeline-multi-day-resource-header{display:flex;align-items:center;justify-content:center;padding:.5rem;border-bottom:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-content .ax-scheduler-timeline-multi-day-resource-headers .ax-scheduler-timeline-multi-day-resource-header .ax-scheduler-timeline-resource-title{font-weight:500;font-size:.875rem;text-align:center;word-break:break-word}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-content .ax-scheduler-timeline-multi-day-days-container{flex:1;display:flex;flex-direction:row;min-width:max-content}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-content .ax-scheduler-timeline-multi-day-days-container .ax-scheduler-timeline-multi-day-column{width:calc(var(--ax-comp-scheduler-timeline-view-blocks-width) * var(--ax-comp-scheduler-hours-count, 16));min-width:calc(var(--ax-comp-scheduler-timeline-view-blocks-width) * var(--ax-comp-scheduler-hours-count, 16));display:flex;flex-direction:column;border-right:1px solid rgba(var(--ax-sys-color-border-lightest-surface));flex-shrink:0;position:relative}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-content .ax-scheduler-timeline-multi-day-days-container .ax-scheduler-timeline-multi-day-column .ax-scheduler-timeline-multi-day-resource-rows{flex:1;display:flex;flex-direction:column}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-content .ax-scheduler-timeline-multi-day-days-container .ax-scheduler-timeline-multi-day-column .ax-scheduler-timeline-multi-day-resource-rows .ax-scheduler-timeline-multi-day-resource-row{border-bottom:1px solid rgba(var(--ax-sys-color-border-lightest-surface));min-height:var(--ax-comp-scheduler-basic-view-blocks-height)}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-content .ax-scheduler-timeline-multi-day-days-container .ax-scheduler-timeline-multi-day-column .ax-scheduler-timeline-multi-day-resource-rows .ax-scheduler-timeline-multi-day-resource-row ax-scheduler-timeline-day-view{height:100%;width:100%;display:block}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-content .ax-scheduler-timeline-multi-day-days-container .ax-scheduler-timeline-multi-day-column .ax-scheduler-timeline-multi-day-resource-rows .ax-scheduler-timeline-multi-day-resource-row ax-scheduler-timeline-day-view .ax-scheduler-timeline-header{display:none}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-content .ax-scheduler-timeline-multi-day-days-container .ax-scheduler-timeline-multi-day-column .ax-scheduler-timeline-multi-day-resource-rows .ax-scheduler-timeline-multi-day-resource-row ax-scheduler-timeline-day-view .ax-scheduler-timeline-content{height:100%;position:relative}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-content .ax-scheduler-timeline-multi-day-days-container .ax-scheduler-timeline-multi-day-column .ax-scheduler-timeline-multi-day-resource-rows .ax-scheduler-timeline-multi-day-resource-row ax-scheduler-timeline-day-view .ax-scheduler-timeline-appointment-container{top:0;width:100%;height:100%;position:absolute}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-content .ax-scheduler-timeline-multi-day-days-container .ax-scheduler-timeline-multi-day-column .ax-scheduler-timeline-multi-day-resource-rows .ax-scheduler-timeline-multi-day-resource-row ax-scheduler-timeline-day-view .ax-scheduler-timeline-appointment-container .ax-scheduler-timeline-appointment{width:100%;display:flex;overflow:hidden;position:absolute;inset-inline-start:0;flex-direction:column;padding-block:.25rem;padding-inline:.5rem;border-radius:calc(var(--ax-sys-border-radius) / 2)}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-content .ax-scheduler-timeline-multi-day-days-container .ax-scheduler-timeline-multi-day-column .ax-scheduler-timeline-multi-day-resource-rows .ax-scheduler-timeline-multi-day-resource-row ax-scheduler-timeline-day-view .ax-scheduler-timeline-slot-row{height:100%;display:flex;position:relative;width:max-content}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-content .ax-scheduler-timeline-multi-day-days-container .ax-scheduler-timeline-multi-day-column .ax-scheduler-timeline-multi-day-resource-rows .ax-scheduler-timeline-multi-day-resource-row ax-scheduler-timeline-day-view .ax-scheduler-timeline-slot-row .ax-scheduler-timeline-slot-cell{width:var(--ax-comp-scheduler-timeline-view-blocks-width);border-inline-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface));position:relative;flex-shrink:0}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-content .ax-scheduler-timeline-multi-day-days-container .ax-scheduler-timeline-multi-day-column .ax-scheduler-timeline-multi-day-resource-rows .ax-scheduler-timeline-multi-day-resource-row ax-scheduler-timeline-day-view .ax-scheduler-timeline-slot-row .ax-scheduler-timeline-slot-cell:after{content:\"\";position:absolute;top:0;right:0;width:1px;height:100%;background-color:rgba(var(--ax-sys-color-border-lightest-surface),.3)}ax-scheduler-timeline-multi-day-view .ax-scheduler-current-time-line{top:0;bottom:0;width:2px}ax-scheduler-timeline-multi-day-view .ax-scheduler-current-time-line:before{top:-6px;inset-inline-start:-5px}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: AXTooltipDirective, selector: "[axTooltip]", inputs: ["axTooltipDisabled", "axTooltip", "axTooltipContext", "axTooltipPlacement", "axTooltipOffsetX", "axTooltipOffsetY", "axTooltipOpenAfter", "axTooltipCloseAfter"] }, { kind: "component", type: AXSchedulerTimelineDayViewComponent, selector: "ax-scheduler-timeline-day-view", inputs: ["readonly", "draggable", "hasActions", "dragStartDelay", "calendar", "showResourceHeaders", "date", "endDayHour", "startDayHour", "showUnassignedAppointments", "resources", "showCurrentTimeIndicator", "resourceTemplate", "appointments", "tooltipTemplate"], outputs: ["slotClickedInternal", "slotDblClickedInternal", "slotRightClickedInternal", "appointmentClickedInternal", "appointmentDblClickedInternal", "appointmentRightClickedInternal", "onActionClickInternal", "onAppointmentDropInternal"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: AXFormatPipe, name: "format" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
         
     | 
| 
      
 2627 
     | 
    
         
            +
                static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: AXSchedulerTimelineMultiDayViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
         
     | 
| 
      
 2628 
     | 
    
         
            +
                static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.6", type: AXSchedulerTimelineMultiDayViewComponent, isStandalone: true, selector: "ax-scheduler-timeline-multi-day-view", inputs: { daysCount: { classPropertyName: "daysCount", publicName: "daysCount", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, draggable: { classPropertyName: "draggable", publicName: "draggable", isSignal: true, isRequired: false, transformFunction: null }, hasActions: { classPropertyName: "hasActions", publicName: "hasActions", isSignal: true, isRequired: false, transformFunction: null }, dragStartDelay: { classPropertyName: "dragStartDelay", publicName: "dragStartDelay", isSignal: true, isRequired: false, transformFunction: null }, calendar: { classPropertyName: "calendar", publicName: "calendar", isSignal: true, isRequired: false, transformFunction: null }, showResourceHeaders: { classPropertyName: "showResourceHeaders", publicName: "showResourceHeaders", isSignal: true, isRequired: false, transformFunction: null }, date: { classPropertyName: "date", publicName: "date", isSignal: true, isRequired: true, transformFunction: null }, endDayHour: { classPropertyName: "endDayHour", publicName: "endDayHour", isSignal: true, isRequired: true, transformFunction: null }, showCurrentTimeIndicator: { classPropertyName: "showCurrentTimeIndicator", publicName: "showCurrentTimeIndicator", isSignal: true, isRequired: false, transformFunction: null }, startDayHour: { classPropertyName: "startDayHour", publicName: "startDayHour", isSignal: true, isRequired: true, transformFunction: null }, showUnassignedAppointments: { classPropertyName: "showUnassignedAppointments", publicName: "showUnassignedAppointments", isSignal: true, isRequired: false, transformFunction: null }, resources: { classPropertyName: "resources", publicName: "resources", isSignal: true, isRequired: false, transformFunction: null }, resourceTemplate: { classPropertyName: "resourceTemplate", publicName: "resourceTemplate", isSignal: true, isRequired: false, transformFunction: null }, appointments: { classPropertyName: "appointments", publicName: "appointments", isSignal: true, isRequired: false, transformFunction: null }, tooltipTemplate: { classPropertyName: "tooltipTemplate", publicName: "tooltipTemplate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { slotClickedInternal: "slotClickedInternal", slotDblClickedInternal: "slotDblClickedInternal", slotRightClickedInternal: "slotRightClickedInternal", appointmentClickedInternal: "appointmentClickedInternal", appointmentDblClickedInternal: "appointmentDblClickedInternal", appointmentRightClickedInternal: "appointmentRightClickedInternal", onActionClickInternal: "onActionClickInternal", onAppointmentDropInternal: "onAppointmentDropInternal" }, providers: [{ provide: AXComponent, useExisting: AXSchedulerTimelineMultiDayViewComponent }], viewQueries: [{ propertyName: "currentTimeLineElement", first: true, predicate: ["currentTimeLine"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@if (resources().length === 0 || !showResourceHeaders()) {\n  <!-- Original layout when no resources -->\n  <div class=\"ax-scheduler-timeline-day-view-container\">\n    @for (daySlot of daysDataForTimelineViews(); track daySlot.date.date.getTime()) {\n      <div class=\"ax-scheduler-timeline-multi-day-column\">\n        <div\n          [class.ax-state-today]=\"isToday(daySlot.date)\"\n          class=\"ax-scheduler-week-header-date-day {{\n            daySlot.holiday.state !== 'none' ? (daySlot.holiday.holiday?.cssClass ?? 'ax-state-holiday') : ''\n          }}\"\n        >\n          <span\n            class=\"ax-scheduler-week-header-date-day-char ax-scheduler-truncate\"\n            [axTooltip]=\"daySlot.holiday.holiday?.title ?? ''\"\n          >\n            {{ daySlot.date | format: 'date' : { format: 'dddd', calendar: calendar() } | async }}\n            @if (daySlot.holiday.state === 'holiday' && daySlot.holiday.holiday.title) {\n              ( {{ daySlot.holiday.holiday.title }} )\n            }\n          </span>\n          <span class=\"ax-scheduler-week-header-date-day-num\">\n            {{ daySlot.date | format: 'date' : { format: 'DD', calendar: calendar() } | async }}\n          </span>\n        </div>\n        <ax-scheduler-timeline-day-view\n          [date]=\"daySlot.date\"\n          [readonly]=\"readonly()\"\n          [draggable]=\"draggable()\"\n          [resources]=\"resources()\"\n          [endDayHour]=\"endDayHour()\"\n          [hasActions]=\"hasActions()\"\n          [showResourceHeaders]=\"true\"\n          [startDayHour]=\"startDayHour()\"\n          [dragStartDelay]=\"dragStartDelay()\"\n          [tooltipTemplate]=\"tooltipTemplate()\"\n          [showCurrentTimeIndicator]=\"showCurrentTimeIndicator()\"\n          [appointments]=\"daySlot.originalAppointmentsForThisDay\"\n          [showUnassignedAppointments]=\"showUnassignedAppointments()\"\n          (onActionClickInternal)=\"onActionClickInternal.emit($event)\"\n          (slotClickedInternal)=\"slotClickedInternal.emit($event)\"\n          (slotDblClickedInternal)=\"slotDblClickedInternal.emit($event)\"\n          (slotRightClickedInternal)=\"slotRightClickedInternal.emit($event)\"\n          (onAppointmentDropInternal)=\"handleDrop($event, undefined)\"\n          (appointmentClickedInternal)=\"appointmentClickedInternal.emit($event)\"\n          (appointmentDblClickedInternal)=\"appointmentDblClickedInternal.emit($event)\"\n          (appointmentRightClickedInternal)=\"appointmentRightClickedInternal.emit($event)\"\n        >\n        </ax-scheduler-timeline-day-view>\n      </div>\n    }\n  </div>\n} @else {\n  <!-- Resource-based layout for multi-day -->\n  <div\n    class=\"ax-scheduler-timeline-multi-day-resource-container\"\n    [style.--ax-comp-scheduler-hours-count]=\"getHoursCount()\"\n  >\n    <!-- Top header with day names -->\n    <div class=\"ax-scheduler-timeline-multi-day-top-header\">\n      <!-- Resource placeholder -->\n      <div class=\"ax-scheduler-timeline-multi-day-resource-header-placeholder\"></div>\n      <!-- Day headers -->\n      @for (daySlot of daysDataForTimelineViews(); track daySlot.date.date.getTime()) {\n        <div class=\"ax-scheduler-timeline-multi-day-day-header\">\n          <div\n            [class.ax-state-today]=\"isToday(daySlot.date)\"\n            class=\"ax-scheduler-week-header-date-day {{\n              daySlot.holiday.state !== 'none' ? (daySlot.holiday.holiday?.cssClass ?? 'ax-state-holiday') : ''\n            }}\"\n          >\n            <span\n              class=\"ax-scheduler-week-header-date-day-char ax-scheduler-truncate\"\n              [axTooltip]=\"daySlot.holiday.holiday?.title ?? ''\"\n            >\n              {{ daySlot.date | format: 'date' : { format: 'dddd', calendar: calendar() } | async }}\n              @if (daySlot.holiday.state === 'holiday' && daySlot.holiday.holiday.title) {\n                ( {{ daySlot.holiday.holiday.title }} )\n              }\n            </span>\n            <span class=\"ax-scheduler-week-header-date-day-num\">\n              {{ daySlot.date | format: 'date' : { format: 'DD', calendar: calendar() } | async }}\n            </span>\n          </div>\n        </div>\n      }\n    </div>\n\n    <!-- Time header with hours for each day -->\n    <div class=\"ax-scheduler-timeline-multi-day-time-header\">\n      <!-- Resource placeholder -->\n      <div class=\"ax-scheduler-timeline-multi-day-time-header-placeholder\"><span>Resources</span></div>\n      <!-- Time slots for each day -->\n      @for (daySlot of daysDataForTimelineViews(); track daySlot.date.date.getTime()) {\n        <div class=\"ax-scheduler-timeline-multi-day-day-time-slots\">\n          @for (hour of getHoursArray(); track hour.date.getTime()) {\n            <div class=\"ax-scheduler-timeline-multi-day-time-slot\">\n              <span>{{ hour | format: 'time' : { format: 'HH:mm', calendar: calendar() } | async }}</span>\n            </div>\n          }\n        </div>\n      }\n    </div>\n\n    <!-- Main content area -->\n    <div class=\"ax-scheduler-timeline-multi-day-content\">\n      <!-- Resource headers column -->\n      <div class=\"ax-scheduler-timeline-multi-day-resource-headers\">\n        <!-- Resource headers -->\n        @for (resourceId of resourceIds(); track resourceId) {\n          <div\n            class=\"ax-scheduler-timeline-multi-day-resource-header\"\n            [style.height]=\"getResourceRowHeight(resourceId)\"\n          >\n            @if (resourceTemplate() && typeof resourceTemplate() !== 'string') {\n              <ng-container\n                [ngTemplateOutlet]=\"$any(resourceTemplate())\"\n                [ngTemplateOutletContext]=\"{\n                  $implicit: getResourceContext(resourceId),\n                  resource: getResourceContext(resourceId),\n                  resourceId: resourceId,\n                }\"\n              ></ng-container>\n            } @else {\n              <span class=\"ax-scheduler-timeline-resource-title\">{{ getResourceTitle(resourceId) }}</span>\n            }\n          </div>\n        }\n      </div>\n\n      <!-- Days columns -->\n      <div class=\"ax-scheduler-timeline-multi-day-days-container\" #daysContainer>\n        @for (daySlot of daysDataForTimelineViews(); track daySlot.date.date.getTime()) {\n          <div class=\"ax-scheduler-timeline-multi-day-column\">\n            <!-- Current Time Line Indicator for this day -->\n            @if (\n              showCurrentTimeIndicator() &&\n              shouldShowCurrentTimeForDay(daySlot.date) &&\n              getCurrentTimePosition() !== null\n            ) {\n              <div\n                class=\"ax-scheduler-current-time-line\"\n                [style.inset-inline-start.%]=\"getCurrentTimePosition()\"\n                #currentTimeLine\n              ></div>\n            }\n            <!-- Resource rows for this day -->\n            <div class=\"ax-scheduler-timeline-multi-day-resource-rows\">\n              @for (resourceId of resourceIds(); track resourceId) {\n                <div\n                  class=\"ax-scheduler-timeline-multi-day-resource-row\"\n                  [style.height]=\"getResourceRowHeight(resourceId)\"\n                >\n                  <ax-scheduler-timeline-day-view\n                    [date]=\"daySlot.date\"\n                    [readonly]=\"readonly()\"\n                    [draggable]=\"draggable()\"\n                    [resources]=\"\n                      resourceId === 'unassigned' ? [] : [{ id: resourceId, title: getResourceTitle(resourceId) }]\n                    \"\n                    [endDayHour]=\"endDayHour()\"\n                    [hasActions]=\"hasActions()\"\n                    [showResourceHeaders]=\"false\"\n                    [startDayHour]=\"startDayHour()\"\n                    [showCurrentTimeIndicator]=\"false\"\n                    [dragStartDelay]=\"dragStartDelay()\"\n                    [tooltipTemplate]=\"tooltipTemplate()\"\n                    [showUnassignedAppointments]=\"resourceId === 'unassigned'\"\n                    [appointments]=\"\n                      getAppointmentsForResourceAndDay(resourceId, daySlot.originalAppointmentsForThisDay)\n                    \"\n                    (onActionClickInternal)=\"onActionClickInternal.emit($event)\"\n                    (slotClickedInternal)=\"slotClickedInternal.emit($event)\"\n                    (slotDblClickedInternal)=\"slotDblClickedInternal.emit($event)\"\n                    (slotRightClickedInternal)=\"slotRightClickedInternal.emit($event)\"\n                    (onAppointmentDropInternal)=\"handleDrop($event, resourceId)\"\n                    (appointmentClickedInternal)=\"appointmentClickedInternal.emit($event)\"\n                    (appointmentDblClickedInternal)=\"appointmentDblClickedInternal.emit($event)\"\n                    (appointmentRightClickedInternal)=\"appointmentRightClickedInternal.emit($event)\"\n                  >\n                  </ax-scheduler-timeline-day-view>\n                </div>\n              }\n            </div>\n          </div>\n        }\n      </div>\n    </div>\n  </div>\n}\n", styles: ["ax-scheduler-timeline-multi-day-view{background-color:inherit}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-day-view-container{height:100%;display:flex;flex-direction:row;background-color:inherit;position:relative}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-day-view-container .ax-scheduler-week-header-date-day{gap:.25rem;height:4rem;display:flex;position:relative;align-items:start;padding-inline:1rem;flex-direction:column;padding-block:.25rem;justify-content:center;border-inline-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface));border-block-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-day-view-container .ax-scheduler-week-header-date-day.ax-state-today{color:rgba(var(--ax-sys-color-primary-surface));background-color:rgba(var(--ax-sys-color-primary-surface),.05)}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-day-view-container .ax-scheduler-week-header-date-day.ax-state-today .ax-scheduler-week-header-date-day-char{font-weight:500}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-day-view-container .ax-scheduler-week-header-date-day.ax-state-today .ax-scheduler-week-header-date-day-num{font-weight:700}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-day-view-container .ax-scheduler-week-header-date-day.ax-state-holiday{color:rgba(var(--ax-sys-color-danger-surface))}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-day-view-container .ax-scheduler-week-header-date-day.ax-state-holiday.ax-state-today{color:rgba(var(--ax-sys-color-primary-surface))}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-day-view-container .ax-scheduler-week-header-date-day .ax-scheduler-week-header-date-day-char{max-width:100%;position:sticky;font-weight:300;inset-inline-start:1rem}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-day-view-container .ax-scheduler-week-header-date-day .ax-scheduler-week-header-date-day-num{position:sticky;font-weight:500;font-size:1.25rem;inset-inline-start:1rem}ax-scheduler-timeline-multi-day-view ax-scheduler-timeline-day-view{height:calc(100% - 4rem)}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container{height:100%;display:flex;overflow:auto;flex-direction:column;background-color:inherit}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-top-header{position:sticky;top:0;z-index:10;display:flex;flex-direction:row;min-width:max-content;background-color:inherit;border-bottom:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-top-header .ax-scheduler-timeline-multi-day-resource-header-placeholder{width:var(--ax-comp-scheduler-resource-header-width, 8rem);min-width:var(--ax-comp-scheduler-resource-header-width, 8rem);height:4rem;display:flex;align-items:center;justify-content:center;background-color:inherit;border-right:1px solid rgba(var(--ax-sys-color-border-lightest-surface));position:sticky;left:0;z-index:15}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-top-header .ax-scheduler-timeline-multi-day-day-header{width:calc(var(--ax-comp-scheduler-timeline-view-blocks-width) * var(--ax-comp-scheduler-hours-count, 16));min-width:calc(var(--ax-comp-scheduler-timeline-view-blocks-width) * var(--ax-comp-scheduler-hours-count, 16));border-right:1px solid rgba(var(--ax-sys-color-border-lightest-surface));flex-shrink:0}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-top-header .ax-scheduler-timeline-multi-day-day-header .ax-scheduler-week-header-date-day{gap:.25rem;height:4rem;display:flex;position:relative;align-items:start;padding-inline:1rem;flex-direction:column;padding-block:.25rem;justify-content:center}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-top-header .ax-scheduler-timeline-multi-day-day-header .ax-scheduler-week-header-date-day.ax-state-today{color:rgba(var(--ax-sys-color-primary-surface));background-color:rgba(var(--ax-sys-color-primary-surface),.05)}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-top-header .ax-scheduler-timeline-multi-day-day-header .ax-scheduler-week-header-date-day.ax-state-today .ax-scheduler-week-header-date-day-char{font-weight:500}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-top-header .ax-scheduler-timeline-multi-day-day-header .ax-scheduler-week-header-date-day.ax-state-today .ax-scheduler-week-header-date-day-num{font-weight:700}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-top-header .ax-scheduler-timeline-multi-day-day-header .ax-scheduler-week-header-date-day.ax-state-holiday{color:rgba(var(--ax-sys-color-danger-surface))}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-top-header .ax-scheduler-timeline-multi-day-day-header .ax-scheduler-week-header-date-day.ax-state-holiday.ax-state-today{color:rgba(var(--ax-sys-color-primary-surface))}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-top-header .ax-scheduler-timeline-multi-day-day-header .ax-scheduler-week-header-date-day .ax-scheduler-week-header-date-day-char{max-width:100%;font-weight:300;position:sticky;font-size:.75rem;inset-inline-start:calc(var(--ax-comp-scheduler-resource-header-width, 8rem) + 1rem)}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-top-header .ax-scheduler-timeline-multi-day-day-header .ax-scheduler-week-header-date-day .ax-scheduler-week-header-date-day-num{font-weight:500;position:sticky;font-size:1.25rem;inset-inline-start:calc(var(--ax-comp-scheduler-resource-header-width, 8rem) + 1rem)}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-time-header{top:4rem;z-index:10;display:flex;position:sticky;flex-direction:row;min-width:max-content;background-color:inherit;border-bottom:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-time-header .ax-scheduler-timeline-multi-day-time-header-placeholder{z-index:15;height:2rem;display:flex;position:sticky;align-items:center;inset-inline-start:0;justify-content:center;background-color:inherit;width:var(--ax-comp-scheduler-resource-header-width, 8rem);min-width:var(--ax-comp-scheduler-resource-header-width, 8rem);border-right:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-time-header .ax-scheduler-timeline-multi-day-day-time-slots{width:calc(var(--ax-comp-scheduler-timeline-view-blocks-width) * var(--ax-comp-scheduler-hours-count, 16));min-width:calc(var(--ax-comp-scheduler-timeline-view-blocks-width) * var(--ax-comp-scheduler-hours-count, 16));height:2rem;display:flex;flex-direction:row;border-right:1px solid rgba(var(--ax-sys-color-border-lightest-surface));flex-shrink:0;background-color:inherit}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-time-header .ax-scheduler-timeline-multi-day-day-time-slots .ax-scheduler-timeline-multi-day-time-slot{display:flex;flex-shrink:0;position:relative;align-items:center;padding-inline:1rem;width:var(--ax-comp-scheduler-timeline-view-blocks-width);min-width:var(--ax-comp-scheduler-timeline-view-blocks-width);border-right:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-time-header .ax-scheduler-timeline-multi-day-day-time-slots .ax-scheduler-timeline-multi-day-time-slot span{z-index:5;font-weight:400;position:sticky;font-size:.75rem;inset-inline-start:calc(var(--ax-comp-scheduler-resource-header-width, 8rem) + 1rem)}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-content{flex:1;display:flex;min-height:0;width:fit-content;flex-direction:row;background-color:inherit}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-content .ax-scheduler-timeline-multi-day-resource-headers{z-index:15;display:flex;position:sticky;height:fit-content;inset-inline-start:0;flex-direction:column;background-color:inherit;width:var(--ax-comp-scheduler-resource-header-width, 8rem);min-width:var(--ax-comp-scheduler-resource-header-width, 8rem);border-right:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-content .ax-scheduler-timeline-multi-day-resource-headers .ax-scheduler-timeline-multi-day-resource-header{display:flex;align-items:center;justify-content:center;padding:.5rem;border-bottom:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-content .ax-scheduler-timeline-multi-day-resource-headers .ax-scheduler-timeline-multi-day-resource-header .ax-scheduler-timeline-resource-title{font-weight:500;font-size:.875rem;text-align:center;word-break:break-word}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-content .ax-scheduler-timeline-multi-day-days-container{flex:1;display:flex;flex-direction:row;min-width:max-content}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-content .ax-scheduler-timeline-multi-day-days-container .ax-scheduler-timeline-multi-day-column{width:calc(var(--ax-comp-scheduler-timeline-view-blocks-width) * var(--ax-comp-scheduler-hours-count, 16));min-width:calc(var(--ax-comp-scheduler-timeline-view-blocks-width) * var(--ax-comp-scheduler-hours-count, 16));display:flex;flex-direction:column;border-right:1px solid rgba(var(--ax-sys-color-border-lightest-surface));flex-shrink:0;position:relative}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-content .ax-scheduler-timeline-multi-day-days-container .ax-scheduler-timeline-multi-day-column .ax-scheduler-timeline-multi-day-resource-rows{flex:1;display:flex;flex-direction:column}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-content .ax-scheduler-timeline-multi-day-days-container .ax-scheduler-timeline-multi-day-column .ax-scheduler-timeline-multi-day-resource-rows .ax-scheduler-timeline-multi-day-resource-row{border-bottom:1px solid rgba(var(--ax-sys-color-border-lightest-surface));min-height:var(--ax-comp-scheduler-basic-view-blocks-height)}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-content .ax-scheduler-timeline-multi-day-days-container .ax-scheduler-timeline-multi-day-column .ax-scheduler-timeline-multi-day-resource-rows .ax-scheduler-timeline-multi-day-resource-row ax-scheduler-timeline-day-view{height:100%;width:100%;display:block}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-content .ax-scheduler-timeline-multi-day-days-container .ax-scheduler-timeline-multi-day-column .ax-scheduler-timeline-multi-day-resource-rows .ax-scheduler-timeline-multi-day-resource-row ax-scheduler-timeline-day-view .ax-scheduler-timeline-header{display:none}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-content .ax-scheduler-timeline-multi-day-days-container .ax-scheduler-timeline-multi-day-column .ax-scheduler-timeline-multi-day-resource-rows .ax-scheduler-timeline-multi-day-resource-row ax-scheduler-timeline-day-view .ax-scheduler-timeline-content{height:100%;position:relative}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-content .ax-scheduler-timeline-multi-day-days-container .ax-scheduler-timeline-multi-day-column .ax-scheduler-timeline-multi-day-resource-rows .ax-scheduler-timeline-multi-day-resource-row ax-scheduler-timeline-day-view .ax-scheduler-timeline-appointment-container{top:0;width:100%;height:100%;position:absolute}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-content .ax-scheduler-timeline-multi-day-days-container .ax-scheduler-timeline-multi-day-column .ax-scheduler-timeline-multi-day-resource-rows .ax-scheduler-timeline-multi-day-resource-row ax-scheduler-timeline-day-view .ax-scheduler-timeline-appointment-container .ax-scheduler-timeline-appointment{width:100%;display:flex;overflow:hidden;position:absolute;inset-inline-start:0;flex-direction:column;padding-block:.25rem;padding-inline:.5rem;border-radius:calc(var(--ax-sys-border-radius) / 2)}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-content .ax-scheduler-timeline-multi-day-days-container .ax-scheduler-timeline-multi-day-column .ax-scheduler-timeline-multi-day-resource-rows .ax-scheduler-timeline-multi-day-resource-row ax-scheduler-timeline-day-view .ax-scheduler-timeline-slot-row{height:100%;display:flex;position:relative;width:max-content}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-content .ax-scheduler-timeline-multi-day-days-container .ax-scheduler-timeline-multi-day-column .ax-scheduler-timeline-multi-day-resource-rows .ax-scheduler-timeline-multi-day-resource-row ax-scheduler-timeline-day-view .ax-scheduler-timeline-slot-row .ax-scheduler-timeline-slot-cell{width:var(--ax-comp-scheduler-timeline-view-blocks-width);border-inline-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface));position:relative;flex-shrink:0}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-content .ax-scheduler-timeline-multi-day-days-container .ax-scheduler-timeline-multi-day-column .ax-scheduler-timeline-multi-day-resource-rows .ax-scheduler-timeline-multi-day-resource-row ax-scheduler-timeline-day-view .ax-scheduler-timeline-slot-row .ax-scheduler-timeline-slot-cell:after{content:\"\";position:absolute;top:0;right:0;width:1px;height:100%;background-color:rgba(var(--ax-sys-color-border-lightest-surface),.3)}ax-scheduler-timeline-multi-day-view .ax-scheduler-current-time-line{top:0;bottom:0;width:2px}ax-scheduler-timeline-multi-day-view .ax-scheduler-current-time-line:before{top:-6px;inset-inline-start:-5px}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: AXTooltipDirective, selector: "[axTooltip]", inputs: ["axTooltipDisabled", "axTooltip", "axTooltipContext", "axTooltipPlacement", "axTooltipOffsetX", "axTooltipOffsetY", "axTooltipOpenAfter", "axTooltipCloseAfter"] }, { kind: "component", type: AXSchedulerTimelineDayViewComponent, selector: "ax-scheduler-timeline-day-view", inputs: ["readonly", "draggable", "hasActions", "dragStartDelay", "calendar", "showResourceHeaders", "date", "endDayHour", "startDayHour", "showUnassignedAppointments", "resources", "showCurrentTimeIndicator", "resourceTemplate", "appointments", "tooltipTemplate"], outputs: ["slotClickedInternal", "slotDblClickedInternal", "slotRightClickedInternal", "appointmentClickedInternal", "appointmentDblClickedInternal", "appointmentRightClickedInternal", "onActionClickInternal", "onAppointmentDropInternal"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: AXFormatPipe, name: "format" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
         
     | 
| 
       2629 
2629 
     | 
    
         
             
            }
         
     | 
| 
       2630 
     | 
    
         
            -
            i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3. 
     | 
| 
      
 2630 
     | 
    
         
            +
            i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: AXSchedulerTimelineMultiDayViewComponent, decorators: [{
         
     | 
| 
       2631 
2631 
     | 
    
         
             
                        type: Component,
         
     | 
| 
       2632 
2632 
     | 
    
         
             
                        args: [{ selector: 'ax-scheduler-timeline-multi-day-view', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [AsyncPipe, NgTemplateOutlet, AXFormatPipe, AXTooltipDirective, AXSchedulerTimelineDayViewComponent], providers: [{ provide: AXComponent, useExisting: AXSchedulerTimelineMultiDayViewComponent }], template: "@if (resources().length === 0 || !showResourceHeaders()) {\n  <!-- Original layout when no resources -->\n  <div class=\"ax-scheduler-timeline-day-view-container\">\n    @for (daySlot of daysDataForTimelineViews(); track daySlot.date.date.getTime()) {\n      <div class=\"ax-scheduler-timeline-multi-day-column\">\n        <div\n          [class.ax-state-today]=\"isToday(daySlot.date)\"\n          class=\"ax-scheduler-week-header-date-day {{\n            daySlot.holiday.state !== 'none' ? (daySlot.holiday.holiday?.cssClass ?? 'ax-state-holiday') : ''\n          }}\"\n        >\n          <span\n            class=\"ax-scheduler-week-header-date-day-char ax-scheduler-truncate\"\n            [axTooltip]=\"daySlot.holiday.holiday?.title ?? ''\"\n          >\n            {{ daySlot.date | format: 'date' : { format: 'dddd', calendar: calendar() } | async }}\n            @if (daySlot.holiday.state === 'holiday' && daySlot.holiday.holiday.title) {\n              ( {{ daySlot.holiday.holiday.title }} )\n            }\n          </span>\n          <span class=\"ax-scheduler-week-header-date-day-num\">\n            {{ daySlot.date | format: 'date' : { format: 'DD', calendar: calendar() } | async }}\n          </span>\n        </div>\n        <ax-scheduler-timeline-day-view\n          [date]=\"daySlot.date\"\n          [readonly]=\"readonly()\"\n          [draggable]=\"draggable()\"\n          [resources]=\"resources()\"\n          [endDayHour]=\"endDayHour()\"\n          [hasActions]=\"hasActions()\"\n          [showResourceHeaders]=\"true\"\n          [startDayHour]=\"startDayHour()\"\n          [dragStartDelay]=\"dragStartDelay()\"\n          [tooltipTemplate]=\"tooltipTemplate()\"\n          [showCurrentTimeIndicator]=\"showCurrentTimeIndicator()\"\n          [appointments]=\"daySlot.originalAppointmentsForThisDay\"\n          [showUnassignedAppointments]=\"showUnassignedAppointments()\"\n          (onActionClickInternal)=\"onActionClickInternal.emit($event)\"\n          (slotClickedInternal)=\"slotClickedInternal.emit($event)\"\n          (slotDblClickedInternal)=\"slotDblClickedInternal.emit($event)\"\n          (slotRightClickedInternal)=\"slotRightClickedInternal.emit($event)\"\n          (onAppointmentDropInternal)=\"handleDrop($event, undefined)\"\n          (appointmentClickedInternal)=\"appointmentClickedInternal.emit($event)\"\n          (appointmentDblClickedInternal)=\"appointmentDblClickedInternal.emit($event)\"\n          (appointmentRightClickedInternal)=\"appointmentRightClickedInternal.emit($event)\"\n        >\n        </ax-scheduler-timeline-day-view>\n      </div>\n    }\n  </div>\n} @else {\n  <!-- Resource-based layout for multi-day -->\n  <div\n    class=\"ax-scheduler-timeline-multi-day-resource-container\"\n    [style.--ax-comp-scheduler-hours-count]=\"getHoursCount()\"\n  >\n    <!-- Top header with day names -->\n    <div class=\"ax-scheduler-timeline-multi-day-top-header\">\n      <!-- Resource placeholder -->\n      <div class=\"ax-scheduler-timeline-multi-day-resource-header-placeholder\"></div>\n      <!-- Day headers -->\n      @for (daySlot of daysDataForTimelineViews(); track daySlot.date.date.getTime()) {\n        <div class=\"ax-scheduler-timeline-multi-day-day-header\">\n          <div\n            [class.ax-state-today]=\"isToday(daySlot.date)\"\n            class=\"ax-scheduler-week-header-date-day {{\n              daySlot.holiday.state !== 'none' ? (daySlot.holiday.holiday?.cssClass ?? 'ax-state-holiday') : ''\n            }}\"\n          >\n            <span\n              class=\"ax-scheduler-week-header-date-day-char ax-scheduler-truncate\"\n              [axTooltip]=\"daySlot.holiday.holiday?.title ?? ''\"\n            >\n              {{ daySlot.date | format: 'date' : { format: 'dddd', calendar: calendar() } | async }}\n              @if (daySlot.holiday.state === 'holiday' && daySlot.holiday.holiday.title) {\n                ( {{ daySlot.holiday.holiday.title }} )\n              }\n            </span>\n            <span class=\"ax-scheduler-week-header-date-day-num\">\n              {{ daySlot.date | format: 'date' : { format: 'DD', calendar: calendar() } | async }}\n            </span>\n          </div>\n        </div>\n      }\n    </div>\n\n    <!-- Time header with hours for each day -->\n    <div class=\"ax-scheduler-timeline-multi-day-time-header\">\n      <!-- Resource placeholder -->\n      <div class=\"ax-scheduler-timeline-multi-day-time-header-placeholder\"><span>Resources</span></div>\n      <!-- Time slots for each day -->\n      @for (daySlot of daysDataForTimelineViews(); track daySlot.date.date.getTime()) {\n        <div class=\"ax-scheduler-timeline-multi-day-day-time-slots\">\n          @for (hour of getHoursArray(); track hour.date.getTime()) {\n            <div class=\"ax-scheduler-timeline-multi-day-time-slot\">\n              <span>{{ hour | format: 'time' : { format: 'HH:mm', calendar: calendar() } | async }}</span>\n            </div>\n          }\n        </div>\n      }\n    </div>\n\n    <!-- Main content area -->\n    <div class=\"ax-scheduler-timeline-multi-day-content\">\n      <!-- Resource headers column -->\n      <div class=\"ax-scheduler-timeline-multi-day-resource-headers\">\n        <!-- Resource headers -->\n        @for (resourceId of resourceIds(); track resourceId) {\n          <div\n            class=\"ax-scheduler-timeline-multi-day-resource-header\"\n            [style.height]=\"getResourceRowHeight(resourceId)\"\n          >\n            @if (resourceTemplate() && typeof resourceTemplate() !== 'string') {\n              <ng-container\n                [ngTemplateOutlet]=\"$any(resourceTemplate())\"\n                [ngTemplateOutletContext]=\"{\n                  $implicit: getResourceContext(resourceId),\n                  resource: getResourceContext(resourceId),\n                  resourceId: resourceId,\n                }\"\n              ></ng-container>\n            } @else {\n              <span class=\"ax-scheduler-timeline-resource-title\">{{ getResourceTitle(resourceId) }}</span>\n            }\n          </div>\n        }\n      </div>\n\n      <!-- Days columns -->\n      <div class=\"ax-scheduler-timeline-multi-day-days-container\" #daysContainer>\n        @for (daySlot of daysDataForTimelineViews(); track daySlot.date.date.getTime()) {\n          <div class=\"ax-scheduler-timeline-multi-day-column\">\n            <!-- Current Time Line Indicator for this day -->\n            @if (\n              showCurrentTimeIndicator() &&\n              shouldShowCurrentTimeForDay(daySlot.date) &&\n              getCurrentTimePosition() !== null\n            ) {\n              <div\n                class=\"ax-scheduler-current-time-line\"\n                [style.inset-inline-start.%]=\"getCurrentTimePosition()\"\n                #currentTimeLine\n              ></div>\n            }\n            <!-- Resource rows for this day -->\n            <div class=\"ax-scheduler-timeline-multi-day-resource-rows\">\n              @for (resourceId of resourceIds(); track resourceId) {\n                <div\n                  class=\"ax-scheduler-timeline-multi-day-resource-row\"\n                  [style.height]=\"getResourceRowHeight(resourceId)\"\n                >\n                  <ax-scheduler-timeline-day-view\n                    [date]=\"daySlot.date\"\n                    [readonly]=\"readonly()\"\n                    [draggable]=\"draggable()\"\n                    [resources]=\"\n                      resourceId === 'unassigned' ? [] : [{ id: resourceId, title: getResourceTitle(resourceId) }]\n                    \"\n                    [endDayHour]=\"endDayHour()\"\n                    [hasActions]=\"hasActions()\"\n                    [showResourceHeaders]=\"false\"\n                    [startDayHour]=\"startDayHour()\"\n                    [showCurrentTimeIndicator]=\"false\"\n                    [dragStartDelay]=\"dragStartDelay()\"\n                    [tooltipTemplate]=\"tooltipTemplate()\"\n                    [showUnassignedAppointments]=\"resourceId === 'unassigned'\"\n                    [appointments]=\"\n                      getAppointmentsForResourceAndDay(resourceId, daySlot.originalAppointmentsForThisDay)\n                    \"\n                    (onActionClickInternal)=\"onActionClickInternal.emit($event)\"\n                    (slotClickedInternal)=\"slotClickedInternal.emit($event)\"\n                    (slotDblClickedInternal)=\"slotDblClickedInternal.emit($event)\"\n                    (slotRightClickedInternal)=\"slotRightClickedInternal.emit($event)\"\n                    (onAppointmentDropInternal)=\"handleDrop($event, resourceId)\"\n                    (appointmentClickedInternal)=\"appointmentClickedInternal.emit($event)\"\n                    (appointmentDblClickedInternal)=\"appointmentDblClickedInternal.emit($event)\"\n                    (appointmentRightClickedInternal)=\"appointmentRightClickedInternal.emit($event)\"\n                  >\n                  </ax-scheduler-timeline-day-view>\n                </div>\n              }\n            </div>\n          </div>\n        }\n      </div>\n    </div>\n  </div>\n}\n", styles: ["ax-scheduler-timeline-multi-day-view{background-color:inherit}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-day-view-container{height:100%;display:flex;flex-direction:row;background-color:inherit;position:relative}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-day-view-container .ax-scheduler-week-header-date-day{gap:.25rem;height:4rem;display:flex;position:relative;align-items:start;padding-inline:1rem;flex-direction:column;padding-block:.25rem;justify-content:center;border-inline-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface));border-block-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-day-view-container .ax-scheduler-week-header-date-day.ax-state-today{color:rgba(var(--ax-sys-color-primary-surface));background-color:rgba(var(--ax-sys-color-primary-surface),.05)}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-day-view-container .ax-scheduler-week-header-date-day.ax-state-today .ax-scheduler-week-header-date-day-char{font-weight:500}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-day-view-container .ax-scheduler-week-header-date-day.ax-state-today .ax-scheduler-week-header-date-day-num{font-weight:700}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-day-view-container .ax-scheduler-week-header-date-day.ax-state-holiday{color:rgba(var(--ax-sys-color-danger-surface))}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-day-view-container .ax-scheduler-week-header-date-day.ax-state-holiday.ax-state-today{color:rgba(var(--ax-sys-color-primary-surface))}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-day-view-container .ax-scheduler-week-header-date-day .ax-scheduler-week-header-date-day-char{max-width:100%;position:sticky;font-weight:300;inset-inline-start:1rem}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-day-view-container .ax-scheduler-week-header-date-day .ax-scheduler-week-header-date-day-num{position:sticky;font-weight:500;font-size:1.25rem;inset-inline-start:1rem}ax-scheduler-timeline-multi-day-view ax-scheduler-timeline-day-view{height:calc(100% - 4rem)}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container{height:100%;display:flex;overflow:auto;flex-direction:column;background-color:inherit}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-top-header{position:sticky;top:0;z-index:10;display:flex;flex-direction:row;min-width:max-content;background-color:inherit;border-bottom:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-top-header .ax-scheduler-timeline-multi-day-resource-header-placeholder{width:var(--ax-comp-scheduler-resource-header-width, 8rem);min-width:var(--ax-comp-scheduler-resource-header-width, 8rem);height:4rem;display:flex;align-items:center;justify-content:center;background-color:inherit;border-right:1px solid rgba(var(--ax-sys-color-border-lightest-surface));position:sticky;left:0;z-index:15}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-top-header .ax-scheduler-timeline-multi-day-day-header{width:calc(var(--ax-comp-scheduler-timeline-view-blocks-width) * var(--ax-comp-scheduler-hours-count, 16));min-width:calc(var(--ax-comp-scheduler-timeline-view-blocks-width) * var(--ax-comp-scheduler-hours-count, 16));border-right:1px solid rgba(var(--ax-sys-color-border-lightest-surface));flex-shrink:0}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-top-header .ax-scheduler-timeline-multi-day-day-header .ax-scheduler-week-header-date-day{gap:.25rem;height:4rem;display:flex;position:relative;align-items:start;padding-inline:1rem;flex-direction:column;padding-block:.25rem;justify-content:center}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-top-header .ax-scheduler-timeline-multi-day-day-header .ax-scheduler-week-header-date-day.ax-state-today{color:rgba(var(--ax-sys-color-primary-surface));background-color:rgba(var(--ax-sys-color-primary-surface),.05)}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-top-header .ax-scheduler-timeline-multi-day-day-header .ax-scheduler-week-header-date-day.ax-state-today .ax-scheduler-week-header-date-day-char{font-weight:500}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-top-header .ax-scheduler-timeline-multi-day-day-header .ax-scheduler-week-header-date-day.ax-state-today .ax-scheduler-week-header-date-day-num{font-weight:700}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-top-header .ax-scheduler-timeline-multi-day-day-header .ax-scheduler-week-header-date-day.ax-state-holiday{color:rgba(var(--ax-sys-color-danger-surface))}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-top-header .ax-scheduler-timeline-multi-day-day-header .ax-scheduler-week-header-date-day.ax-state-holiday.ax-state-today{color:rgba(var(--ax-sys-color-primary-surface))}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-top-header .ax-scheduler-timeline-multi-day-day-header .ax-scheduler-week-header-date-day .ax-scheduler-week-header-date-day-char{max-width:100%;font-weight:300;position:sticky;font-size:.75rem;inset-inline-start:calc(var(--ax-comp-scheduler-resource-header-width, 8rem) + 1rem)}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-top-header .ax-scheduler-timeline-multi-day-day-header .ax-scheduler-week-header-date-day .ax-scheduler-week-header-date-day-num{font-weight:500;position:sticky;font-size:1.25rem;inset-inline-start:calc(var(--ax-comp-scheduler-resource-header-width, 8rem) + 1rem)}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-time-header{top:4rem;z-index:10;display:flex;position:sticky;flex-direction:row;min-width:max-content;background-color:inherit;border-bottom:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-time-header .ax-scheduler-timeline-multi-day-time-header-placeholder{z-index:15;height:2rem;display:flex;position:sticky;align-items:center;inset-inline-start:0;justify-content:center;background-color:inherit;width:var(--ax-comp-scheduler-resource-header-width, 8rem);min-width:var(--ax-comp-scheduler-resource-header-width, 8rem);border-right:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-time-header .ax-scheduler-timeline-multi-day-day-time-slots{width:calc(var(--ax-comp-scheduler-timeline-view-blocks-width) * var(--ax-comp-scheduler-hours-count, 16));min-width:calc(var(--ax-comp-scheduler-timeline-view-blocks-width) * var(--ax-comp-scheduler-hours-count, 16));height:2rem;display:flex;flex-direction:row;border-right:1px solid rgba(var(--ax-sys-color-border-lightest-surface));flex-shrink:0;background-color:inherit}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-time-header .ax-scheduler-timeline-multi-day-day-time-slots .ax-scheduler-timeline-multi-day-time-slot{display:flex;flex-shrink:0;position:relative;align-items:center;padding-inline:1rem;width:var(--ax-comp-scheduler-timeline-view-blocks-width);min-width:var(--ax-comp-scheduler-timeline-view-blocks-width);border-right:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-time-header .ax-scheduler-timeline-multi-day-day-time-slots .ax-scheduler-timeline-multi-day-time-slot span{z-index:5;font-weight:400;position:sticky;font-size:.75rem;inset-inline-start:calc(var(--ax-comp-scheduler-resource-header-width, 8rem) + 1rem)}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-content{flex:1;display:flex;min-height:0;width:fit-content;flex-direction:row;background-color:inherit}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-content .ax-scheduler-timeline-multi-day-resource-headers{z-index:15;display:flex;position:sticky;height:fit-content;inset-inline-start:0;flex-direction:column;background-color:inherit;width:var(--ax-comp-scheduler-resource-header-width, 8rem);min-width:var(--ax-comp-scheduler-resource-header-width, 8rem);border-right:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-content .ax-scheduler-timeline-multi-day-resource-headers .ax-scheduler-timeline-multi-day-resource-header{display:flex;align-items:center;justify-content:center;padding:.5rem;border-bottom:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-content .ax-scheduler-timeline-multi-day-resource-headers .ax-scheduler-timeline-multi-day-resource-header .ax-scheduler-timeline-resource-title{font-weight:500;font-size:.875rem;text-align:center;word-break:break-word}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-content .ax-scheduler-timeline-multi-day-days-container{flex:1;display:flex;flex-direction:row;min-width:max-content}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-content .ax-scheduler-timeline-multi-day-days-container .ax-scheduler-timeline-multi-day-column{width:calc(var(--ax-comp-scheduler-timeline-view-blocks-width) * var(--ax-comp-scheduler-hours-count, 16));min-width:calc(var(--ax-comp-scheduler-timeline-view-blocks-width) * var(--ax-comp-scheduler-hours-count, 16));display:flex;flex-direction:column;border-right:1px solid rgba(var(--ax-sys-color-border-lightest-surface));flex-shrink:0;position:relative}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-content .ax-scheduler-timeline-multi-day-days-container .ax-scheduler-timeline-multi-day-column .ax-scheduler-timeline-multi-day-resource-rows{flex:1;display:flex;flex-direction:column}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-content .ax-scheduler-timeline-multi-day-days-container .ax-scheduler-timeline-multi-day-column .ax-scheduler-timeline-multi-day-resource-rows .ax-scheduler-timeline-multi-day-resource-row{border-bottom:1px solid rgba(var(--ax-sys-color-border-lightest-surface));min-height:var(--ax-comp-scheduler-basic-view-blocks-height)}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-content .ax-scheduler-timeline-multi-day-days-container .ax-scheduler-timeline-multi-day-column .ax-scheduler-timeline-multi-day-resource-rows .ax-scheduler-timeline-multi-day-resource-row ax-scheduler-timeline-day-view{height:100%;width:100%;display:block}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-content .ax-scheduler-timeline-multi-day-days-container .ax-scheduler-timeline-multi-day-column .ax-scheduler-timeline-multi-day-resource-rows .ax-scheduler-timeline-multi-day-resource-row ax-scheduler-timeline-day-view .ax-scheduler-timeline-header{display:none}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-content .ax-scheduler-timeline-multi-day-days-container .ax-scheduler-timeline-multi-day-column .ax-scheduler-timeline-multi-day-resource-rows .ax-scheduler-timeline-multi-day-resource-row ax-scheduler-timeline-day-view .ax-scheduler-timeline-content{height:100%;position:relative}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-content .ax-scheduler-timeline-multi-day-days-container .ax-scheduler-timeline-multi-day-column .ax-scheduler-timeline-multi-day-resource-rows .ax-scheduler-timeline-multi-day-resource-row ax-scheduler-timeline-day-view .ax-scheduler-timeline-appointment-container{top:0;width:100%;height:100%;position:absolute}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-content .ax-scheduler-timeline-multi-day-days-container .ax-scheduler-timeline-multi-day-column .ax-scheduler-timeline-multi-day-resource-rows .ax-scheduler-timeline-multi-day-resource-row ax-scheduler-timeline-day-view .ax-scheduler-timeline-appointment-container .ax-scheduler-timeline-appointment{width:100%;display:flex;overflow:hidden;position:absolute;inset-inline-start:0;flex-direction:column;padding-block:.25rem;padding-inline:.5rem;border-radius:calc(var(--ax-sys-border-radius) / 2)}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-content .ax-scheduler-timeline-multi-day-days-container .ax-scheduler-timeline-multi-day-column .ax-scheduler-timeline-multi-day-resource-rows .ax-scheduler-timeline-multi-day-resource-row ax-scheduler-timeline-day-view .ax-scheduler-timeline-slot-row{height:100%;display:flex;position:relative;width:max-content}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-content .ax-scheduler-timeline-multi-day-days-container .ax-scheduler-timeline-multi-day-column .ax-scheduler-timeline-multi-day-resource-rows .ax-scheduler-timeline-multi-day-resource-row ax-scheduler-timeline-day-view .ax-scheduler-timeline-slot-row .ax-scheduler-timeline-slot-cell{width:var(--ax-comp-scheduler-timeline-view-blocks-width);border-inline-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface));position:relative;flex-shrink:0}ax-scheduler-timeline-multi-day-view .ax-scheduler-timeline-multi-day-resource-container .ax-scheduler-timeline-multi-day-content .ax-scheduler-timeline-multi-day-days-container .ax-scheduler-timeline-multi-day-column .ax-scheduler-timeline-multi-day-resource-rows .ax-scheduler-timeline-multi-day-resource-row ax-scheduler-timeline-day-view .ax-scheduler-timeline-slot-row .ax-scheduler-timeline-slot-cell:after{content:\"\";position:absolute;top:0;right:0;width:1px;height:100%;background-color:rgba(var(--ax-sys-color-border-lightest-surface),.3)}ax-scheduler-timeline-multi-day-view .ax-scheduler-current-time-line{top:0;bottom:0;width:2px}ax-scheduler-timeline-multi-day-view .ax-scheduler-current-time-line:before{top:-6px;inset-inline-start:-5px}\n"] }]
         
     | 
| 
       2633 
     | 
    
         
            -
                    }] });
         
     | 
| 
      
 2633 
     | 
    
         
            +
                    }], propDecorators: { daysCount: [{ type: i0.Input, args: [{ isSignal: true, alias: "daysCount", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], draggable: [{ type: i0.Input, args: [{ isSignal: true, alias: "draggable", required: false }] }], hasActions: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasActions", required: false }] }], dragStartDelay: [{ type: i0.Input, args: [{ isSignal: true, alias: "dragStartDelay", required: false }] }], calendar: [{ type: i0.Input, args: [{ isSignal: true, alias: "calendar", required: false }] }], showResourceHeaders: [{ type: i0.Input, args: [{ isSignal: true, alias: "showResourceHeaders", required: false }] }], date: [{ type: i0.Input, args: [{ isSignal: true, alias: "date", required: true }] }], endDayHour: [{ type: i0.Input, args: [{ isSignal: true, alias: "endDayHour", required: true }] }], showCurrentTimeIndicator: [{ type: i0.Input, args: [{ isSignal: true, alias: "showCurrentTimeIndicator", required: false }] }], startDayHour: [{ type: i0.Input, args: [{ isSignal: true, alias: "startDayHour", required: true }] }], showUnassignedAppointments: [{ type: i0.Input, args: [{ isSignal: true, alias: "showUnassignedAppointments", required: false }] }], resources: [{ type: i0.Input, args: [{ isSignal: true, alias: "resources", required: false }] }], resourceTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "resourceTemplate", required: false }] }], appointments: [{ type: i0.Input, args: [{ isSignal: true, alias: "appointments", required: false }] }], tooltipTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "tooltipTemplate", required: false }] }], currentTimeLineElement: [{ type: i0.ViewChild, args: ['currentTimeLine', { isSignal: true }] }], slotClickedInternal: [{ type: i0.Output, args: ["slotClickedInternal"] }], slotDblClickedInternal: [{ type: i0.Output, args: ["slotDblClickedInternal"] }], slotRightClickedInternal: [{ type: i0.Output, args: ["slotRightClickedInternal"] }], appointmentClickedInternal: [{ type: i0.Output, args: ["appointmentClickedInternal"] }], appointmentDblClickedInternal: [{ type: i0.Output, args: ["appointmentDblClickedInternal"] }], appointmentRightClickedInternal: [{ type: i0.Output, args: ["appointmentRightClickedInternal"] }], onActionClickInternal: [{ type: i0.Output, args: ["onActionClickInternal"] }], onAppointmentDropInternal: [{ type: i0.Output, args: ["onAppointmentDropInternal"] }] } });
         
     | 
| 
       2634 
2634 
     | 
    
         | 
| 
       2635 
2635 
     | 
    
         
             
            class AXSchedulerTimelineYearViewComponent extends NXComponent {
         
     | 
| 
       2636 
2636 
     | 
    
         
             
                constructor() {
         
     | 
| 
         @@ -2915,10 +2915,10 @@ class AXSchedulerTimelineYearViewComponent extends NXComponent { 
     | 
|
| 
       2915 
2915 
     | 
    
         
             
                    this.dragStartSlotId.set(dropListElement ? dropListElement.dataset['slotId'] : null);
         
     | 
| 
       2916 
2916 
     | 
    
         
             
                    this.dragStartSlotResourceId.set(dropListElement ? dropListElement.dataset['resourceId'] : null);
         
     | 
| 
       2917 
2917 
     | 
    
         
             
                }
         
     | 
| 
       2918 
     | 
    
         
            -
                static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3. 
     | 
| 
       2919 
     | 
    
         
            -
                static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.4", type: AXSchedulerTimelineYearViewComponent, isStandalone: true, selector: "ax-scheduler-timeline-year-view", inputs: { readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, draggable: { classPropertyName: "draggable", publicName: "draggable", isSignal: true, isRequired: false, transformFunction: null }, hasActions: { classPropertyName: "hasActions", publicName: "hasActions", isSignal: true, isRequired: false, transformFunction: null }, dragStartDelay: { classPropertyName: "dragStartDelay", publicName: "dragStartDelay", isSignal: true, isRequired: false, transformFunction: null }, calendar: { classPropertyName: "calendar", publicName: "calendar", isSignal: true, isRequired: false, transformFunction: null }, showResourceHeaders: { classPropertyName: "showResourceHeaders", publicName: "showResourceHeaders", isSignal: true, isRequired: false, transformFunction: null }, date: { classPropertyName: "date", publicName: "date", isSignal: true, isRequired: true, transformFunction: null }, showUnassignedAppointments: { classPropertyName: "showUnassignedAppointments", publicName: "showUnassignedAppointments", isSignal: true, isRequired: false, transformFunction: null }, resources: { classPropertyName: "resources", publicName: "resources", isSignal: true, isRequired: false, transformFunction: null }, showCurrentTimeIndicator: { classPropertyName: "showCurrentTimeIndicator", publicName: "showCurrentTimeIndicator", isSignal: true, isRequired: false, transformFunction: null }, resourceTemplate: { classPropertyName: "resourceTemplate", publicName: "resourceTemplate", isSignal: true, isRequired: false, transformFunction: null }, appointments: { classPropertyName: "appointments", publicName: "appointments", isSignal: true, isRequired: false, transformFunction: null }, tooltipTemplate: { classPropertyName: "tooltipTemplate", publicName: "tooltipTemplate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { slotClickedInternal: "slotClickedInternal", slotDblClickedInternal: "slotDblClickedInternal", slotRightClickedInternal: "slotRightClickedInternal", appointmentClickedInternal: "appointmentClickedInternal", appointmentDblClickedInternal: "appointmentDblClickedInternal", appointmentRightClickedInternal: "appointmentRightClickedInternal", onActionClickInternal: "onActionClickInternal", onAppointmentDropInternal: "onAppointmentDropInternal" }, providers: [{ provide: AXComponent, useExisting: AXSchedulerTimelineYearViewComponent }], viewQueries: [{ propertyName: "currentTimeLineElement", first: true, predicate: ["currentTimeLine"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@if (resources().length === 0 || !showResourceHeaders()) {\n  <!-- Original layout when no resources -->\n  <div class=\"ax-scheduler-timeline-year-container\">\n    @for (dayData of processedDayData(); track dayData.date.date.getTime()) {\n      <div>\n        <div class=\"ax-scheduler-timeline-header\">\n          <div\n            [class.ax-state-today]=\"isToday(dayData.date)\"\n            class=\"ax-scheduler-year-header-date-day {{\n              dayData.holiday.state !== 'none' ? (dayData.holiday.holiday?.cssClass ?? 'ax-state-holiday') : ''\n            }}\"\n          >\n            <span\n              class=\"ax-scheduler-year-header-date-day-char ax-scheduler-truncate\"\n              [axTooltip]=\"dayData.holiday.holiday?.title ?? ''\"\n            >\n              {{ dayData.date | format: 'date' : { format: 'MMMM', calendar: calendar() } | async }}\n              @if (dayData.holiday.state === 'holiday' && dayData.holiday.holiday.title) {\n                ( {{ dayData.holiday.holiday.title }} )\n              }\n            </span>\n            <span class=\"ax-scheduler-year-header-date-day-num\">\n              {{ dayData.date | format: 'date' : { format: 'DD', calendar: calendar() } | async }}\n            </span>\n          </div>\n        </div>\n\n        <div\n          axDropZone\n          #zone=\"axDropZone\"\n          (onElementDrop)=\"handleDrop($event, dayData.date)\"\n          [class.ax-scheduler-slot-hovered]=\"zone.isHovered()\"\n          class=\"ax-scheduler-timeline-content\"\n          (click)=\"handleSlotEvent($event, dayData.date)\"\n          (dblclick)=\"handleSlotEvent($event, dayData.date)\"\n          (contextmenu)=\"handleSlotEvent($event, dayData.date)\"\n          [attr.data-slot-id]=\"dayData.date.format('YYYYMMDD')\"\n          [style.pointer-events]=\"draggable() ? 'auto' : 'none'\"\n        >\n          <!-- Current Time Line Indicator -->\n          @if (\n            showCurrentTimeIndicator() && shouldShowCurrentTimeForDay(dayData.date) && getCurrentTimePosition() !== null\n          ) {\n            <div\n              class=\"ax-scheduler-current-time-line\"\n              [style.inset-inline-start.%]=\"getCurrentTimePosition()\"\n              #currentTimeLine\n            ></div>\n          }\n          <div class=\"ax-scheduler-timeline-appointment-container\">\n            @for (segment of dayData.visibleAppointments; track segment.id + segment.originalStartDate.getTime()) {\n              <div\n                axDrag\n                [dragData]=\"segment\"\n                [dragCursor]=\"'grab'\"\n                [dragTransition]=\"false\"\n                [dragElementClone]=\"true\"\n                [dragStartDelay]=\"optimizedDragStartDelay()\"\n                [dragDisabled]=\"!draggable() || segment.readonly || readonly()\"\n                (pointerdown)=\"getSlotId($event)\"\n                (click)=\"handleAppointmentEvent($event, segment)\"\n                (dblclick)=\"handleAppointmentEvent($event, segment)\"\n                (contextmenu)=\"handleAppointmentEvent($event, segment)\"\n                [title]=\"\n                  tooltipTemplate()\n                    ? ''\n                    : segment.allDay\n                      ? segment.title\n                      : segment.title +\n                        ' (' +\n                        (segment.originalStartDate | format: 'time' : { calendar: calendar() } | async) +\n                        ' - ' +\n                        (segment.originalEndDate | format: 'time' : { calendar: calendar() } | async) +\n                        ')'\n                \"\n                class=\"ax-scheduler-timeline-appointment\"\n                [class.all-day-segment]=\"segment.allDay\"\n                [ngClass]=\"segment.cssClass ?? `ax-scheduler-${segment.priority ?? 'primary'}-periority`\"\n                [axTooltipDisabled]=\"tooltipTemplate() ? false : true\"\n                [axTooltip]=\"tooltipTemplate()\"\n                [axTooltipContext]=\"segment\"\n              >\n                <ax-title>\n                  <span class=\"ax-scheduler-truncate\">{{ segment.title }}</span>\n                  @if (hasActions()) {\n                    <ax-icon\n                      (click)=\"handleActionClick($event, segment)\"\n                      class=\"ax-icon ax-icon-more-horizontal ax-scheduler-action-icon\"\n                    >\n                    </ax-icon>\n                  }\n                </ax-title>\n                <span class=\"ax-scheduler-timeline-appointment-time\">\n                  @if (segment.allDay) {\n                    {{ segment.originalStartDate | format: 'date' : { format: 'MMM d', calendar: calendar() } | async }}\n                    @if (segment.originalStartDate.getTime() !== segment.originalEndDate.getTime()) {\n                      -\n                      {{ segment.originalEndDate | format: 'date' : { format: 'MMM d', calendar: calendar() } | async }}\n                    }\n                  } @else {\n                    {{ segment.originalStartDate | format: 'time' : { calendar: calendar() } | async }}\n                    @if (segment.originalStartDate.getTime() !== segment.originalEndDate.getTime()) {\n                      -\n                      {{ segment.originalEndDate | format: 'time' : { calendar: calendar() } | async }}\n                    }\n                  }\n                </span>\n              </div>\n            }\n\n            <!-- Overflow Badge and Popover -->\n            @if (dayData.moreCount > 0) {\n              <div #moreAppointments class=\"ax-scheduler-year-overflow-badge\" (click)=\"$event.stopPropagation()\">\n                +{{\n                  '@acorex:common.general.more-items' | translate: { params: { number: dayData.moreCount } } | async\n                }}\n              </div>\n              <ax-popover [target]=\"moreAppointments\" placement=\"bottom-start\" trigger=\"click\">\n                <div\n                  axDropZone\n                  [class.ax-state-readonly]=\"readonly()\"\n                  class=\"ax-overlay-pane ax-scheduler-popover ax-scheduler-timeline-year-popover-appointment\"\n                >\n                  @for (segment of dayData.hiddenAppointments; track segment.id + segment.originalStartDate.getTime()) {\n                    <div\n                      axDrag\n                      [dragCursor]=\"'grab'\"\n                      [dragData]=\"segment\"\n                      [dragTransition]=\"false\"\n                      [dragElementClone]=\"true\"\n                      [dragStartDelay]=\"optimizedDragStartDelay()\"\n                      [dragDisabled]=\"!draggable() || segment.readonly || readonly()\"\n                      (click)=\"handleAppointmentEvent($event, segment); $event.stopPropagation()\"\n                      (dblclick)=\"handleAppointmentEvent($event, segment); $event.stopPropagation()\"\n                      (contextmenu)=\"handleAppointmentEvent($event, segment); $event.stopPropagation()\"\n                      [title]=\"\n                        tooltipTemplate()\n                          ? ''\n                          : segment.allDay\n                            ? segment.title +\n                              ' (' +\n                              (segment.originalStartDate\n                                | format: 'date' : { format: 'MMM d', calendar: calendar() }\n                                | async) +\n                              ' - ' +\n                              (segment.originalEndDate\n                                | format: 'date' : { format: 'MMM d', calendar: calendar() }\n                                | async) +\n                              ')'\n                            : segment.title +\n                              ' (' +\n                              (segment.originalStartDate | format: 'time' : { calendar: calendar() } | async) +\n                              ' - ' +\n                              (segment.originalEndDate | format: 'time' : { calendar: calendar() } | async) +\n                              ')'\n                      \"\n                      class=\"ax-scheduler-popover-appointment\"\n                      [class.all-day-segment]=\"segment.allDay\"\n                      [ngClass]=\"segment.cssClass ?? `ax-scheduler-${segment.priority ?? 'primary'}-periority`\"\n                      [axTooltipDisabled]=\"tooltipTemplate() ? false : true\"\n                      [axTooltip]=\"tooltipTemplate()\"\n                      [axTooltipContext]=\"segment\"\n                    >\n                      <ax-title>\n                        <span class=\"ax-scheduler-truncate\">{{ segment.title }}</span>\n                        @if (hasActions()) {\n                          <ax-icon\n                            (click)=\"handleActionClick($event, segment)\"\n                            class=\"ax-icon ax-icon-more-horizontal ax-scheduler-action-icon\"\n                          >\n                          </ax-icon>\n                        }\n                      </ax-title>\n                      <span class=\"ax-scheduler-timeline-appointment-time\">\n                        @if (segment.allDay) {\n                          {{\n                            segment.originalStartDate\n                              | format: 'date' : { format: 'MMM d', calendar: calendar() }\n                              | async\n                          }}\n                          @if (segment.originalStartDate.getTime() !== segment.originalEndDate.getTime()) {\n                            -\n                            {{\n                              segment.originalEndDate\n                                | format: 'date' : { format: 'MMM d', calendar: calendar() }\n                                | async\n                            }}\n                          }\n                        } @else {\n                          {{ segment.originalStartDate | format: 'time' : { calendar: calendar() } | async }}\n                          @if (segment.originalStartDate.getTime() !== segment.originalEndDate.getTime()) {\n                            -\n                            {{ segment.originalEndDate | format: 'time' : { calendar: calendar() } | async }}\n                          }\n                        }\n                      </span>\n                    </div>\n                  }\n                </div>\n              </ax-popover>\n            }\n          </div>\n        </div>\n      </div>\n    }\n  </div>\n} @else {\n  <!-- Resource-based layout -->\n  <div class=\"ax-scheduler-timeline-year-resource-container\">\n    <div class=\"ax-scheduler-timeline-year-header-sticky\">\n      <div class=\"ax-scheduler-timeline-year-resource-header-placeholder\">\n        <span>Resources</span>\n      </div>\n\n      <div class=\"ax-scheduler-timeline-year-day-header\">\n        @for (dayData of processedDayData(); track dayData.date.date.getTime()) {\n          <div\n            [class.ax-state-today]=\"isToday(dayData.date)\"\n            class=\"ax-scheduler-year-header-date-day {{\n              dayData.holiday.state !== 'none' ? (dayData.holiday.holiday?.cssClass ?? 'ax-state-holiday') : ''\n            }}\"\n          >\n            <span\n              class=\"ax-scheduler-year-header-date-day-char ax-scheduler-truncate\"\n              [axTooltip]=\"dayData.holiday.holiday?.title ?? ''\"\n            >\n              {{ dayData.date | format: 'date' : { format: 'MMMM', calendar: calendar() } | async }}\n              @if (dayData.holiday.state === 'holiday' && dayData.holiday.holiday.title) {\n                ( {{ dayData.holiday.holiday.title }} )\n              }\n            </span>\n            <span class=\"ax-scheduler-year-header-date-day-num\">\n              {{ dayData.date | format: 'date' : { format: 'DD', calendar: calendar() } | async }}\n            </span>\n          </div>\n        }\n      </div>\n    </div>\n\n    <div class=\"ax-scheduler-timeline-year-resource-rows\">\n      <!-- Current Time Line Indicator -->\n      @if (showCurrentTimeIndicator() && getCurrentTimePosition() !== null) {\n        <div\n          class=\"ax-scheduler-current-time-line\"\n          [style.inset-inline-start.%]=\"getCurrentTimePosition()\"\n          #currentTimeLine\n        ></div>\n      }\n\n      @for (resourceId of resourceIds(); track resourceId) {\n        <div class=\"ax-scheduler-timeline-year-resource-row\">\n          <div class=\"ax-scheduler-timeline-year-resource-header ax-scheduler-timeline-year-resource-header-sticky\">\n            @if (resourceTemplate() && typeof resourceTemplate() !== 'string') {\n              <ng-container\n                [ngTemplateOutlet]=\"$any(resourceTemplate())\"\n                [ngTemplateOutletContext]=\"{\n                  $implicit: getResourceContext(resourceId),\n                  resource: getResourceContext(resourceId),\n                  resourceId: resourceId,\n                }\"\n              ></ng-container>\n            } @else {\n              <div class=\"ax-scheduler-timeline-year-resource-title\">\n                {{ getResourceTitle(resourceId) | translate | async }}\n              </div>\n            }\n          </div>\n\n          <div class=\"ax-scheduler-timeline-year-resource-content\">\n            @for (dayData of processedDayData(); track dayData.date.date.getTime()) {\n              <div\n                axDropZone\n                #zone=\"axDropZone\"\n                (onElementDrop)=\"handleDrop($event, dayData.date, resourceId)\"\n                [class.ax-scheduler-slot-hovered]=\"zone.isHovered()\"\n                class=\"ax-scheduler-timeline-year-slot-row\"\n                (click)=\"handleSlotEvent($event, dayData.date)\"\n                (dblclick)=\"handleSlotEvent($event, dayData.date)\"\n                (contextmenu)=\"handleSlotEvent($event, dayData.date)\"\n                [attr.data-slot-id]=\"dayData.date.format('YYYYMMDD')\"\n                [attr.data-resource-id]=\"resourceId\"\n                [style.pointer-events]=\"draggable() ? 'auto' : 'none'\"\n              >\n                <div class=\"ax-scheduler-timeline-appointment-container\">\n                  @for (\n                    segment of getAppointmentsForResourceAndDay(resourceId, dayData).visible;\n                    track segment.id + segment.originalStartDate.getTime()\n                  ) {\n                    <div\n                      axDrag\n                      [dragData]=\"segment\"\n                      [dragCursor]=\"'grab'\"\n                      [dragTransition]=\"false\"\n                      [dragElementClone]=\"true\"\n                      [dragStartDelay]=\"optimizedDragStartDelay()\"\n                      [dragDisabled]=\"!draggable() || segment.readonly || readonly()\"\n                      (pointerdown)=\"getSlotId($event)\"\n                      (click)=\"handleAppointmentEvent($event, segment)\"\n                      (dblclick)=\"handleAppointmentEvent($event, segment)\"\n                      (contextmenu)=\"handleAppointmentEvent($event, segment)\"\n                      [title]=\"\n                        tooltipTemplate()\n                          ? ''\n                          : segment.allDay\n                            ? segment.title +\n                              ' (' +\n                              (segment.originalStartDate\n                                | format: 'date' : { format: 'MMM d', calendar: calendar() }\n                                | async) +\n                              ' - ' +\n                              (segment.originalEndDate\n                                | format: 'date' : { format: 'MMM d', calendar: calendar() }\n                                | async) +\n                              ')'\n                            : segment.title +\n                              ' (' +\n                              (segment.originalStartDate | format: 'time' : { calendar: calendar() } | async) +\n                              ' - ' +\n                              (segment.originalEndDate | format: 'time' : { calendar: calendar() } | async) +\n                              ')'\n                      \"\n                      class=\"ax-scheduler-timeline-appointment\"\n                      [class.all-day-segment]=\"segment.allDay\"\n                      [ngClass]=\"segment.cssClass ?? `ax-scheduler-${segment.priority ?? 'primary'}-periority`\"\n                      [axTooltipDisabled]=\"tooltipTemplate() ? false : true\"\n                      [axTooltip]=\"tooltipTemplate()\"\n                      [axTooltipContext]=\"segment\"\n                    >\n                      <ax-title>\n                        <span class=\"ax-scheduler-truncate\">{{ segment.title }}</span>\n                        @if (hasActions()) {\n                          <ax-icon\n                            (click)=\"handleActionClick($event, segment)\"\n                            class=\"ax-icon ax-icon-more-horizontal ax-scheduler-action-icon\"\n                          >\n                          </ax-icon>\n                        }\n                      </ax-title>\n                      <span class=\"ax-scheduler-timeline-appointment-time\">\n                        @if (segment.allDay) {\n                          {{\n                            segment.originalStartDate\n                              | format: 'date' : { format: 'MMM d', calendar: calendar() }\n                              | async\n                          }}\n                          @if (segment.originalStartDate.getTime() !== segment.originalEndDate.getTime()) {\n                            -\n                            {{\n                              segment.originalEndDate\n                                | format: 'date' : { format: 'MMM d', calendar: calendar() }\n                                | async\n                            }}\n                          }\n                        } @else {\n                          {{ segment.originalStartDate | format: 'time' : { calendar: calendar() } | async }}\n                          @if (segment.originalStartDate.getTime() !== segment.originalEndDate.getTime()) {\n                            -\n                            {{ segment.originalEndDate | format: 'time' : { calendar: calendar() } | async }}\n                          }\n                        }\n                      </span>\n                    </div>\n                  }\n\n                  <!-- Overflow Badge and Popover -->\n                  @if (getAppointmentsForResourceAndDay(resourceId, dayData).moreCount > 0) {\n                    <div #moreAppointments class=\"ax-scheduler-year-overflow-badge\" (click)=\"$event.stopPropagation()\">\n                      +{{\n                        '@acorex:common.general.more-items'\n                          | translate\n                            : { params: { number: getAppointmentsForResourceAndDay(resourceId, dayData).moreCount } }\n                          | async\n                      }}\n                    </div>\n                    <ax-popover [target]=\"moreAppointments\" placement=\"bottom-start\" trigger=\"click\">\n                      <div\n                        axDropZone\n                        [class.ax-state-readonly]=\"readonly()\"\n                        class=\"ax-overlay-pane ax-scheduler-popover ax-scheduler-timeline-year-popover-appointment\"\n                      >\n                        @for (\n                          segment of getAppointmentsForResourceAndDay(resourceId, dayData).hidden;\n                          track segment.id + segment.originalStartDate.getTime()\n                        ) {\n                          <div\n                            axDrag\n                            [dragCursor]=\"'grab'\"\n                            [dragData]=\"segment\"\n                            [dragTransition]=\"false\"\n                            [dragElementClone]=\"true\"\n                            [dragStartDelay]=\"optimizedDragStartDelay()\"\n                            [dragDisabled]=\"!draggable() || segment.readonly || readonly()\"\n                            (click)=\"handleAppointmentEvent($event, segment); $event.stopPropagation()\"\n                            (dblclick)=\"handleAppointmentEvent($event, segment); $event.stopPropagation()\"\n                            (contextmenu)=\"handleAppointmentEvent($event, segment); $event.stopPropagation()\"\n                            [title]=\"\n                              tooltipTemplate()\n                                ? ''\n                                : segment.allDay\n                                  ? segment.title\n                                  : segment.title +\n                                    ' (' +\n                                    (segment.originalStartDate | format: 'time' : { calendar: calendar() } | async) +\n                                    ' - ' +\n                                    (segment.originalEndDate | format: 'time' : { calendar: calendar() } | async) +\n                                    ')'\n                            \"\n                            class=\"ax-scheduler-popover-appointment\"\n                            [class.all-day-segment]=\"segment.allDay\"\n                            [ngClass]=\"segment.cssClass ?? `ax-scheduler-${segment.priority ?? 'primary'}-periority`\"\n                            [axTooltipDisabled]=\"tooltipTemplate() ? false : true\"\n                            [axTooltip]=\"tooltipTemplate()\"\n                            [axTooltipContext]=\"segment\"\n                          >\n                            <ax-title>\n                              <span class=\"ax-scheduler-truncate\">{{ segment.title }}</span>\n                              @if (hasActions()) {\n                                <ax-icon\n                                  (click)=\"handleActionClick($event, segment)\"\n                                  class=\"ax-icon ax-icon-more-horizontal ax-scheduler-action-icon\"\n                                >\n                                </ax-icon>\n                              }\n                            </ax-title>\n                            @if (!segment.allDay) {\n                              <span class=\"ax-scheduler-timeline-appointment-time\">\n                                {{ segment.originalStartDate | format: 'time' : { calendar: calendar() } | async }}\n                                @if (\n                                  !segment.allDay &&\n                                  segment.originalStartDate.getTime() !== segment.originalEndDate.getTime()\n                                ) {\n                                  -\n                                  {{ segment.originalEndDate | format: 'time' : { calendar: calendar() } | async }}\n                                }\n                              </span>\n                            }\n                          </div>\n                        }\n                      </div>\n                    </ax-popover>\n                  }\n                </div>\n              </div>\n            }\n          </div>\n        </div>\n      }\n    </div>\n  </div>\n}\n", styles: ["ax-scheduler-timeline-year-view{height:100%;position:relative;display:inline-flex;flex-direction:column;background-color:inherit;--ax-comp-scheduler-timeline-year-view-blocks-width: calc( var(--ax-comp-scheduler-timeline-view-blocks-width) / 2 )}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-container{height:100%;display:flex;will-change:transform;transform:translateZ(0)}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-container .ax-scheduler-timeline-header{width:100%;display:flex;background-color:var(--ax-comp-scheduler-all-day-bg, inherit)}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-container .ax-scheduler-timeline-header .ax-scheduler-year-header-date-day{gap:.25rem;height:4rem;display:flex;position:relative;align-items:start;padding-inline:1rem;flex-direction:column;padding-block:.25rem;justify-content:center;width:var(--ax-comp-scheduler-timeline-year-view-blocks-width);border-block-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface));border-inline-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-container .ax-scheduler-timeline-header .ax-scheduler-year-header-date-day.ax-state-today{color:rgba(var(--ax-sys-color-primary-surface));background-color:rgba(var(--ax-sys-color-primary-surface),.05)}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-container .ax-scheduler-timeline-header .ax-scheduler-year-header-date-day.ax-state-today .ax-scheduler-year-header-date-day-char{font-weight:500}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-container .ax-scheduler-timeline-header .ax-scheduler-year-header-date-day.ax-state-today .ax-scheduler-year-header-date-day-num{font-weight:700}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-container .ax-scheduler-timeline-header .ax-scheduler-year-header-date-day.ax-state-holiday{color:rgba(var(--ax-sys-color-danger-surface))}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-container .ax-scheduler-timeline-header .ax-scheduler-year-header-date-day.ax-state-holiday.ax-state-today{color:rgba(var(--ax-sys-color-primary-surface))}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-container .ax-scheduler-timeline-header .ax-scheduler-year-header-date-day .ax-scheduler-year-header-date-day-char{max-width:100%;position:sticky;font-weight:300;font-size:.75rem;line-height:.875rem;inset-inline-start:1rem}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-container .ax-scheduler-timeline-header .ax-scheduler-year-header-date-day .ax-scheduler-year-header-date-day-num{position:sticky;font-weight:500;font-size:1.25rem;inset-inline-start:1rem}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-container .ax-scheduler-timeline-content{padding:.125rem .25rem;position:relative;height:calc(100% - 4rem);width:var(--ax-comp-scheduler-timeline-year-view-blocks-width);border-inline-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-container .ax-scheduler-timeline-content .ax-scheduler-timeline-appointment-container{gap:1px;display:flex;flex-direction:column}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-container .ax-scheduler-timeline-content .ax-scheduler-timeline-appointment-container .ax-scheduler-timeline-appointment{width:100%;gap:.125rem;display:flex;overflow:hidden;flex-direction:column;padding-block:.25rem;padding-inline:.5rem;border-radius:calc(var(--ax-sys-border-radius) / 2);font-size:.75rem;line-height:.875rem;will-change:transform;transform:translateZ(0)}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-container .ax-scheduler-timeline-content .ax-scheduler-timeline-appointment-container .ax-scheduler-timeline-appointment ax-title{font-weight:600}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-container .ax-scheduler-timeline-content .ax-scheduler-timeline-appointment-container .ax-scheduler-year-overflow-badge{cursor:pointer;text-align:left;font-size:.7rem;padding:.125rem 0;margin-top:.125rem}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-container .ax-scheduler-timeline-content .ax-scheduler-timeline-appointment-container .ax-scheduler-year-overflow-badge:hover{text-decoration:underline}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container{height:100%;display:flex;flex-direction:column;background-color:inherit;will-change:transform;transform:translateZ(0);position:relative}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container .ax-scheduler-timeline-year-header-sticky{position:sticky;top:0;z-index:10;display:flex;background-color:inherit;border-bottom:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container .ax-scheduler-timeline-year-header-sticky .ax-scheduler-timeline-year-resource-header-placeholder{left:0;z-index:15;display:flex;position:sticky;align-items:center;justify-content:center;background-color:inherit;width:var(--ax-comp-scheduler-resource-header-width, 8rem);min-width:var(--ax-comp-scheduler-resource-header-width, 8rem);border-right:1px solid rgba(var(--ax-sys-color-border-lightest-surface));padding:.5rem;font-weight:500;font-size:.875rem}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container .ax-scheduler-timeline-year-header-sticky .ax-scheduler-timeline-year-day-header{flex:1;display:flex;background-color:inherit;overflow-x:auto}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container .ax-scheduler-timeline-year-header-sticky .ax-scheduler-timeline-year-day-header .ax-scheduler-year-header-date-day{gap:.25rem;height:4rem;display:flex;position:relative;align-items:start;padding-inline:1rem;flex-direction:column;padding-block:.25rem;justify-content:center;width:var(--ax-comp-scheduler-timeline-year-view-blocks-width);min-width:var(--ax-comp-scheduler-timeline-year-view-blocks-width);border-inline-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container .ax-scheduler-timeline-year-header-sticky .ax-scheduler-timeline-year-day-header .ax-scheduler-year-header-date-day.ax-state-today{color:rgba(var(--ax-sys-color-primary-surface));background-color:rgba(var(--ax-sys-color-primary-surface),.05)}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container .ax-scheduler-timeline-year-header-sticky .ax-scheduler-timeline-year-day-header .ax-scheduler-year-header-date-day.ax-state-today .ax-scheduler-year-header-date-day-char{font-weight:500}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container .ax-scheduler-timeline-year-header-sticky .ax-scheduler-timeline-year-day-header .ax-scheduler-year-header-date-day.ax-state-today .ax-scheduler-year-header-date-day-num{font-weight:700}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container .ax-scheduler-timeline-year-header-sticky .ax-scheduler-timeline-year-day-header .ax-scheduler-year-header-date-day.ax-state-holiday{color:rgba(var(--ax-sys-color-danger-surface))}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container .ax-scheduler-timeline-year-header-sticky .ax-scheduler-timeline-year-day-header .ax-scheduler-year-header-date-day.ax-state-holiday.ax-state-today{color:rgba(var(--ax-sys-color-primary-surface))}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container .ax-scheduler-timeline-year-header-sticky .ax-scheduler-timeline-year-day-header .ax-scheduler-year-header-date-day .ax-scheduler-year-header-date-day-char{max-width:100%;position:sticky;font-weight:300;font-size:.75rem;line-height:.875rem;inset-inline-start:1rem}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container .ax-scheduler-timeline-year-header-sticky .ax-scheduler-timeline-year-day-header .ax-scheduler-year-header-date-day .ax-scheduler-year-header-date-day-num{position:sticky;font-weight:500;font-size:1.25rem;inset-inline-start:1rem}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container .ax-scheduler-timeline-year-resource-rows{flex:1;overflow:visible;position:relative;background-color:inherit}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container .ax-scheduler-timeline-year-resource-rows .ax-scheduler-timeline-year-resource-row{min-height:auto;border-bottom:1px solid rgba(var(--ax-sys-color-border-lightest-surface));width:max-content;background-color:inherit;display:flex}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container .ax-scheduler-timeline-year-resource-rows .ax-scheduler-timeline-year-resource-row .ax-scheduler-timeline-year-resource-header{display:flex;padding:.5rem;min-height:2.625rem;align-items:center;justify-content:center;background-color:inherit;width:var(--ax-comp-scheduler-resource-header-width, 8rem);min-width:var(--ax-comp-scheduler-resource-header-width, 8rem);border-right:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container .ax-scheduler-timeline-year-resource-rows .ax-scheduler-timeline-year-resource-row .ax-scheduler-timeline-year-resource-header.ax-scheduler-timeline-year-resource-header-sticky{position:sticky;left:0;z-index:15;background-color:inherit}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container .ax-scheduler-timeline-year-resource-rows .ax-scheduler-timeline-year-resource-row .ax-scheduler-timeline-year-resource-header .ax-scheduler-timeline-year-resource-title{font-weight:500;font-size:.875rem;text-align:center;word-break:break-word}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container .ax-scheduler-timeline-year-resource-rows .ax-scheduler-timeline-year-resource-row .ax-scheduler-timeline-year-resource-content{flex:1;display:flex;background-color:inherit}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container .ax-scheduler-timeline-year-resource-rows .ax-scheduler-timeline-year-resource-row .ax-scheduler-timeline-year-resource-content .ax-scheduler-timeline-year-slot-row{flex:1;display:flex;position:relative;background-color:inherit;width:var(--ax-comp-scheduler-timeline-year-view-blocks-width);min-width:var(--ax-comp-scheduler-timeline-year-view-blocks-width);border-inline-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container .ax-scheduler-timeline-year-resource-rows .ax-scheduler-timeline-year-resource-row .ax-scheduler-timeline-year-resource-content .ax-scheduler-timeline-year-slot-row .ax-scheduler-timeline-appointment-container{gap:var(--ax-comp-scheduler-timeline-year-gap-height, .125rem);display:flex;flex-direction:column;min-height:100%;overflow:visible;width:100%;padding-inline:.25rem;padding-block:.125rem}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container .ax-scheduler-timeline-year-resource-rows .ax-scheduler-timeline-year-resource-row .ax-scheduler-timeline-year-resource-content .ax-scheduler-timeline-year-slot-row .ax-scheduler-timeline-appointment-container ax-popover{display:none}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container .ax-scheduler-timeline-year-resource-rows .ax-scheduler-timeline-year-resource-row .ax-scheduler-timeline-year-resource-content .ax-scheduler-timeline-year-slot-row .ax-scheduler-timeline-appointment-container .ax-scheduler-timeline-appointment{width:100%;gap:.125rem;display:flex;overflow:hidden;flex-direction:column;padding-block:.25rem;padding-inline:.5rem;border-radius:calc(var(--ax-sys-border-radius) / 2);flex-shrink:0;font-size:.75rem;line-height:.875rem;will-change:transform;transform:translateZ(0)}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container .ax-scheduler-timeline-year-resource-rows .ax-scheduler-timeline-year-resource-row .ax-scheduler-timeline-year-resource-content .ax-scheduler-timeline-year-slot-row .ax-scheduler-timeline-appointment-container .ax-scheduler-timeline-appointment ax-title{font-weight:500}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container .ax-scheduler-timeline-year-resource-rows .ax-scheduler-timeline-year-resource-row .ax-scheduler-timeline-year-resource-content .ax-scheduler-timeline-year-slot-row .ax-scheduler-timeline-appointment-container .ax-scheduler-year-overflow-badge{cursor:pointer;text-align:left;font-size:.7rem;padding:.125rem 0;margin-top:.125rem;flex-shrink:0}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container .ax-scheduler-timeline-year-resource-rows .ax-scheduler-timeline-year-resource-row .ax-scheduler-timeline-year-resource-content .ax-scheduler-timeline-year-slot-row .ax-scheduler-timeline-appointment-container .ax-scheduler-year-overflow-badge:hover{text-decoration:underline}ax-scheduler-timeline-year-view:not(.ax-state-readonly) .ax-scheduler-timeline-appointment{cursor:pointer}ax-scheduler-timeline-year-view:not(.ax-state-readonly) .ax-scheduler-timeline-content,ax-scheduler-timeline-year-view:not(.ax-state-readonly) .ax-scheduler-timeline-year-slot-row{cursor:pointer;transition-property:background-color;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function)}ax-scheduler-timeline-year-view:not(.ax-state-readonly) .ax-scheduler-timeline-content:hover,ax-scheduler-timeline-year-view:not(.ax-state-readonly) .ax-scheduler-timeline-year-slot-row:hover{background-color:rgba(var(--ax-comp-scheduler-slot-hover-bg, var(--ax-sys-color-primary-surface), .1))}ax-scheduler-timeline-year-view ax-title{display:flex;justify-content:space-between}ax-scheduler-timeline-year-view ax-title .ax-scheduler-action-icon{width:auto;cursor:pointer}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-popover-appointment{font-size:.75rem}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-popover-appointment .ax-scheduler-popover-appointment{display:flex;overflow:hidden;-webkit-user-select:none;user-select:none;flex-direction:column;padding-block:.25rem;padding-inline:.5rem;border-radius:calc(var(--ax-sys-border-radius) / 2);margin-bottom:.25rem}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-popover-appointment .ax-scheduler-popover-appointment:last-child{margin-bottom:0}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-popover-appointment .ax-scheduler-popover-appointment .ax-appointment-chip-title{font-size:.8rem;margin-bottom:.125rem;font-weight:600}ax-scheduler-timeline-year-view .ax-scheduler-current-time-line{top:0;bottom:0;width:2px}ax-scheduler-timeline-year-view .ax-scheduler-current-time-line:before{top:-6px;inset-inline-start:-5px}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: AXDragDirective, selector: "[axDrag]", inputs: ["dragData", "dragDisabled", "dragTransition", "dragElementClone", "dropZoneGroup", "dragStartDelay", "dragResetOnDblClick", "dragLockAxis", "dragClonedTemplate", "dragCursor", "dragBoundary", "dragTransitionDuration"], outputs: ["dragPositionChanged"] }, { kind: "component", type: AXPopoverComponent, selector: "ax-popover", inputs: ["width", "disabled", "offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "backdropClass", "panelClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "directive", type: AXTooltipDirective, selector: "[axTooltip]", inputs: ["axTooltipDisabled", "axTooltip", "axTooltipContext", "axTooltipPlacement", "axTooltipOffsetX", "axTooltipOffsetY", "axTooltipOpenAfter", "axTooltipCloseAfter"] }, { kind: "directive", type: AXDropZoneDirective, selector: "[axDropZone]", inputs: ["dropZoneGroup"], outputs: ["onElementDrop", "onElementHover"], exportAs: ["axDropZone"] }, { kind: "component", type: AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: 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: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: AXFormatPipe, name: "format" }, { kind: "pipe", type: AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
         
     | 
| 
      
 2918 
     | 
    
         
            +
                static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: AXSchedulerTimelineYearViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
         
     | 
| 
      
 2919 
     | 
    
         
            +
                static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.6", type: AXSchedulerTimelineYearViewComponent, isStandalone: true, selector: "ax-scheduler-timeline-year-view", inputs: { readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, draggable: { classPropertyName: "draggable", publicName: "draggable", isSignal: true, isRequired: false, transformFunction: null }, hasActions: { classPropertyName: "hasActions", publicName: "hasActions", isSignal: true, isRequired: false, transformFunction: null }, dragStartDelay: { classPropertyName: "dragStartDelay", publicName: "dragStartDelay", isSignal: true, isRequired: false, transformFunction: null }, calendar: { classPropertyName: "calendar", publicName: "calendar", isSignal: true, isRequired: false, transformFunction: null }, showResourceHeaders: { classPropertyName: "showResourceHeaders", publicName: "showResourceHeaders", isSignal: true, isRequired: false, transformFunction: null }, date: { classPropertyName: "date", publicName: "date", isSignal: true, isRequired: true, transformFunction: null }, showUnassignedAppointments: { classPropertyName: "showUnassignedAppointments", publicName: "showUnassignedAppointments", isSignal: true, isRequired: false, transformFunction: null }, resources: { classPropertyName: "resources", publicName: "resources", isSignal: true, isRequired: false, transformFunction: null }, showCurrentTimeIndicator: { classPropertyName: "showCurrentTimeIndicator", publicName: "showCurrentTimeIndicator", isSignal: true, isRequired: false, transformFunction: null }, resourceTemplate: { classPropertyName: "resourceTemplate", publicName: "resourceTemplate", isSignal: true, isRequired: false, transformFunction: null }, appointments: { classPropertyName: "appointments", publicName: "appointments", isSignal: true, isRequired: false, transformFunction: null }, tooltipTemplate: { classPropertyName: "tooltipTemplate", publicName: "tooltipTemplate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { slotClickedInternal: "slotClickedInternal", slotDblClickedInternal: "slotDblClickedInternal", slotRightClickedInternal: "slotRightClickedInternal", appointmentClickedInternal: "appointmentClickedInternal", appointmentDblClickedInternal: "appointmentDblClickedInternal", appointmentRightClickedInternal: "appointmentRightClickedInternal", onActionClickInternal: "onActionClickInternal", onAppointmentDropInternal: "onAppointmentDropInternal" }, providers: [{ provide: AXComponent, useExisting: AXSchedulerTimelineYearViewComponent }], viewQueries: [{ propertyName: "currentTimeLineElement", first: true, predicate: ["currentTimeLine"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@if (resources().length === 0 || !showResourceHeaders()) {\n  <!-- Original layout when no resources -->\n  <div class=\"ax-scheduler-timeline-year-container\">\n    @for (dayData of processedDayData(); track dayData.date.date.getTime()) {\n      <div>\n        <div class=\"ax-scheduler-timeline-header\">\n          <div\n            [class.ax-state-today]=\"isToday(dayData.date)\"\n            class=\"ax-scheduler-year-header-date-day {{\n              dayData.holiday.state !== 'none' ? (dayData.holiday.holiday?.cssClass ?? 'ax-state-holiday') : ''\n            }}\"\n          >\n            <span\n              class=\"ax-scheduler-year-header-date-day-char ax-scheduler-truncate\"\n              [axTooltip]=\"dayData.holiday.holiday?.title ?? ''\"\n            >\n              {{ dayData.date | format: 'date' : { format: 'MMMM', calendar: calendar() } | async }}\n              @if (dayData.holiday.state === 'holiday' && dayData.holiday.holiday.title) {\n                ( {{ dayData.holiday.holiday.title }} )\n              }\n            </span>\n            <span class=\"ax-scheduler-year-header-date-day-num\">\n              {{ dayData.date | format: 'date' : { format: 'DD', calendar: calendar() } | async }}\n            </span>\n          </div>\n        </div>\n\n        <div\n          axDropZone\n          #zone=\"axDropZone\"\n          (onElementDrop)=\"handleDrop($event, dayData.date)\"\n          [class.ax-scheduler-slot-hovered]=\"zone.isHovered()\"\n          class=\"ax-scheduler-timeline-content\"\n          (click)=\"handleSlotEvent($event, dayData.date)\"\n          (dblclick)=\"handleSlotEvent($event, dayData.date)\"\n          (contextmenu)=\"handleSlotEvent($event, dayData.date)\"\n          [attr.data-slot-id]=\"dayData.date.format('YYYYMMDD')\"\n          [style.pointer-events]=\"draggable() ? 'auto' : 'none'\"\n        >\n          <!-- Current Time Line Indicator -->\n          @if (\n            showCurrentTimeIndicator() && shouldShowCurrentTimeForDay(dayData.date) && getCurrentTimePosition() !== null\n          ) {\n            <div\n              class=\"ax-scheduler-current-time-line\"\n              [style.inset-inline-start.%]=\"getCurrentTimePosition()\"\n              #currentTimeLine\n            ></div>\n          }\n          <div class=\"ax-scheduler-timeline-appointment-container\">\n            @for (segment of dayData.visibleAppointments; track segment.id + segment.originalStartDate.getTime()) {\n              <div\n                axDrag\n                [dragData]=\"segment\"\n                [dragCursor]=\"'grab'\"\n                [dragTransition]=\"false\"\n                [dragElementClone]=\"true\"\n                [dragStartDelay]=\"optimizedDragStartDelay()\"\n                [dragDisabled]=\"!draggable() || segment.readonly || readonly()\"\n                (pointerdown)=\"getSlotId($event)\"\n                (click)=\"handleAppointmentEvent($event, segment)\"\n                (dblclick)=\"handleAppointmentEvent($event, segment)\"\n                (contextmenu)=\"handleAppointmentEvent($event, segment)\"\n                [title]=\"\n                  tooltipTemplate()\n                    ? ''\n                    : segment.allDay\n                      ? segment.title\n                      : segment.title +\n                        ' (' +\n                        (segment.originalStartDate | format: 'time' : { calendar: calendar() } | async) +\n                        ' - ' +\n                        (segment.originalEndDate | format: 'time' : { calendar: calendar() } | async) +\n                        ')'\n                \"\n                class=\"ax-scheduler-timeline-appointment\"\n                [class.all-day-segment]=\"segment.allDay\"\n                [ngClass]=\"segment.cssClass ?? `ax-scheduler-${segment.priority ?? 'primary'}-periority`\"\n                [axTooltipDisabled]=\"tooltipTemplate() ? false : true\"\n                [axTooltip]=\"tooltipTemplate()\"\n                [axTooltipContext]=\"segment\"\n              >\n                <ax-title>\n                  <span class=\"ax-scheduler-truncate\">{{ segment.title }}</span>\n                  @if (hasActions()) {\n                    <ax-icon\n                      (click)=\"handleActionClick($event, segment)\"\n                      class=\"ax-icon ax-icon-more-horizontal ax-scheduler-action-icon\"\n                    >\n                    </ax-icon>\n                  }\n                </ax-title>\n                <span class=\"ax-scheduler-timeline-appointment-time\">\n                  @if (segment.allDay) {\n                    {{ segment.originalStartDate | format: 'date' : { format: 'MMM d', calendar: calendar() } | async }}\n                    @if (segment.originalStartDate.getTime() !== segment.originalEndDate.getTime()) {\n                      -\n                      {{ segment.originalEndDate | format: 'date' : { format: 'MMM d', calendar: calendar() } | async }}\n                    }\n                  } @else {\n                    {{ segment.originalStartDate | format: 'time' : { calendar: calendar() } | async }}\n                    @if (segment.originalStartDate.getTime() !== segment.originalEndDate.getTime()) {\n                      -\n                      {{ segment.originalEndDate | format: 'time' : { calendar: calendar() } | async }}\n                    }\n                  }\n                </span>\n              </div>\n            }\n\n            <!-- Overflow Badge and Popover -->\n            @if (dayData.moreCount > 0) {\n              <div #moreAppointments class=\"ax-scheduler-year-overflow-badge\" (click)=\"$event.stopPropagation()\">\n                +{{\n                  '@acorex:common.general.more-items' | translate: { params: { number: dayData.moreCount } } | async\n                }}\n              </div>\n              <ax-popover [target]=\"moreAppointments\" placement=\"bottom-start\" trigger=\"click\">\n                <div\n                  axDropZone\n                  [class.ax-state-readonly]=\"readonly()\"\n                  class=\"ax-overlay-pane ax-scheduler-popover ax-scheduler-timeline-year-popover-appointment\"\n                >\n                  @for (segment of dayData.hiddenAppointments; track segment.id + segment.originalStartDate.getTime()) {\n                    <div\n                      axDrag\n                      [dragCursor]=\"'grab'\"\n                      [dragData]=\"segment\"\n                      [dragTransition]=\"false\"\n                      [dragElementClone]=\"true\"\n                      [dragStartDelay]=\"optimizedDragStartDelay()\"\n                      [dragDisabled]=\"!draggable() || segment.readonly || readonly()\"\n                      (click)=\"handleAppointmentEvent($event, segment); $event.stopPropagation()\"\n                      (dblclick)=\"handleAppointmentEvent($event, segment); $event.stopPropagation()\"\n                      (contextmenu)=\"handleAppointmentEvent($event, segment); $event.stopPropagation()\"\n                      [title]=\"\n                        tooltipTemplate()\n                          ? ''\n                          : segment.allDay\n                            ? segment.title +\n                              ' (' +\n                              (segment.originalStartDate\n                                | format: 'date' : { format: 'MMM d', calendar: calendar() }\n                                | async) +\n                              ' - ' +\n                              (segment.originalEndDate\n                                | format: 'date' : { format: 'MMM d', calendar: calendar() }\n                                | async) +\n                              ')'\n                            : segment.title +\n                              ' (' +\n                              (segment.originalStartDate | format: 'time' : { calendar: calendar() } | async) +\n                              ' - ' +\n                              (segment.originalEndDate | format: 'time' : { calendar: calendar() } | async) +\n                              ')'\n                      \"\n                      class=\"ax-scheduler-popover-appointment\"\n                      [class.all-day-segment]=\"segment.allDay\"\n                      [ngClass]=\"segment.cssClass ?? `ax-scheduler-${segment.priority ?? 'primary'}-periority`\"\n                      [axTooltipDisabled]=\"tooltipTemplate() ? false : true\"\n                      [axTooltip]=\"tooltipTemplate()\"\n                      [axTooltipContext]=\"segment\"\n                    >\n                      <ax-title>\n                        <span class=\"ax-scheduler-truncate\">{{ segment.title }}</span>\n                        @if (hasActions()) {\n                          <ax-icon\n                            (click)=\"handleActionClick($event, segment)\"\n                            class=\"ax-icon ax-icon-more-horizontal ax-scheduler-action-icon\"\n                          >\n                          </ax-icon>\n                        }\n                      </ax-title>\n                      <span class=\"ax-scheduler-timeline-appointment-time\">\n                        @if (segment.allDay) {\n                          {{\n                            segment.originalStartDate\n                              | format: 'date' : { format: 'MMM d', calendar: calendar() }\n                              | async\n                          }}\n                          @if (segment.originalStartDate.getTime() !== segment.originalEndDate.getTime()) {\n                            -\n                            {{\n                              segment.originalEndDate\n                                | format: 'date' : { format: 'MMM d', calendar: calendar() }\n                                | async\n                            }}\n                          }\n                        } @else {\n                          {{ segment.originalStartDate | format: 'time' : { calendar: calendar() } | async }}\n                          @if (segment.originalStartDate.getTime() !== segment.originalEndDate.getTime()) {\n                            -\n                            {{ segment.originalEndDate | format: 'time' : { calendar: calendar() } | async }}\n                          }\n                        }\n                      </span>\n                    </div>\n                  }\n                </div>\n              </ax-popover>\n            }\n          </div>\n        </div>\n      </div>\n    }\n  </div>\n} @else {\n  <!-- Resource-based layout -->\n  <div class=\"ax-scheduler-timeline-year-resource-container\">\n    <div class=\"ax-scheduler-timeline-year-header-sticky\">\n      <div class=\"ax-scheduler-timeline-year-resource-header-placeholder\">\n        <span>Resources</span>\n      </div>\n\n      <div class=\"ax-scheduler-timeline-year-day-header\">\n        @for (dayData of processedDayData(); track dayData.date.date.getTime()) {\n          <div\n            [class.ax-state-today]=\"isToday(dayData.date)\"\n            class=\"ax-scheduler-year-header-date-day {{\n              dayData.holiday.state !== 'none' ? (dayData.holiday.holiday?.cssClass ?? 'ax-state-holiday') : ''\n            }}\"\n          >\n            <span\n              class=\"ax-scheduler-year-header-date-day-char ax-scheduler-truncate\"\n              [axTooltip]=\"dayData.holiday.holiday?.title ?? ''\"\n            >\n              {{ dayData.date | format: 'date' : { format: 'MMMM', calendar: calendar() } | async }}\n              @if (dayData.holiday.state === 'holiday' && dayData.holiday.holiday.title) {\n                ( {{ dayData.holiday.holiday.title }} )\n              }\n            </span>\n            <span class=\"ax-scheduler-year-header-date-day-num\">\n              {{ dayData.date | format: 'date' : { format: 'DD', calendar: calendar() } | async }}\n            </span>\n          </div>\n        }\n      </div>\n    </div>\n\n    <div class=\"ax-scheduler-timeline-year-resource-rows\">\n      <!-- Current Time Line Indicator -->\n      @if (showCurrentTimeIndicator() && getCurrentTimePosition() !== null) {\n        <div\n          class=\"ax-scheduler-current-time-line\"\n          [style.inset-inline-start.%]=\"getCurrentTimePosition()\"\n          #currentTimeLine\n        ></div>\n      }\n\n      @for (resourceId of resourceIds(); track resourceId) {\n        <div class=\"ax-scheduler-timeline-year-resource-row\">\n          <div class=\"ax-scheduler-timeline-year-resource-header ax-scheduler-timeline-year-resource-header-sticky\">\n            @if (resourceTemplate() && typeof resourceTemplate() !== 'string') {\n              <ng-container\n                [ngTemplateOutlet]=\"$any(resourceTemplate())\"\n                [ngTemplateOutletContext]=\"{\n                  $implicit: getResourceContext(resourceId),\n                  resource: getResourceContext(resourceId),\n                  resourceId: resourceId,\n                }\"\n              ></ng-container>\n            } @else {\n              <div class=\"ax-scheduler-timeline-year-resource-title\">\n                {{ getResourceTitle(resourceId) | translate | async }}\n              </div>\n            }\n          </div>\n\n          <div class=\"ax-scheduler-timeline-year-resource-content\">\n            @for (dayData of processedDayData(); track dayData.date.date.getTime()) {\n              <div\n                axDropZone\n                #zone=\"axDropZone\"\n                (onElementDrop)=\"handleDrop($event, dayData.date, resourceId)\"\n                [class.ax-scheduler-slot-hovered]=\"zone.isHovered()\"\n                class=\"ax-scheduler-timeline-year-slot-row\"\n                (click)=\"handleSlotEvent($event, dayData.date)\"\n                (dblclick)=\"handleSlotEvent($event, dayData.date)\"\n                (contextmenu)=\"handleSlotEvent($event, dayData.date)\"\n                [attr.data-slot-id]=\"dayData.date.format('YYYYMMDD')\"\n                [attr.data-resource-id]=\"resourceId\"\n                [style.pointer-events]=\"draggable() ? 'auto' : 'none'\"\n              >\n                <div class=\"ax-scheduler-timeline-appointment-container\">\n                  @for (\n                    segment of getAppointmentsForResourceAndDay(resourceId, dayData).visible;\n                    track segment.id + segment.originalStartDate.getTime()\n                  ) {\n                    <div\n                      axDrag\n                      [dragData]=\"segment\"\n                      [dragCursor]=\"'grab'\"\n                      [dragTransition]=\"false\"\n                      [dragElementClone]=\"true\"\n                      [dragStartDelay]=\"optimizedDragStartDelay()\"\n                      [dragDisabled]=\"!draggable() || segment.readonly || readonly()\"\n                      (pointerdown)=\"getSlotId($event)\"\n                      (click)=\"handleAppointmentEvent($event, segment)\"\n                      (dblclick)=\"handleAppointmentEvent($event, segment)\"\n                      (contextmenu)=\"handleAppointmentEvent($event, segment)\"\n                      [title]=\"\n                        tooltipTemplate()\n                          ? ''\n                          : segment.allDay\n                            ? segment.title +\n                              ' (' +\n                              (segment.originalStartDate\n                                | format: 'date' : { format: 'MMM d', calendar: calendar() }\n                                | async) +\n                              ' - ' +\n                              (segment.originalEndDate\n                                | format: 'date' : { format: 'MMM d', calendar: calendar() }\n                                | async) +\n                              ')'\n                            : segment.title +\n                              ' (' +\n                              (segment.originalStartDate | format: 'time' : { calendar: calendar() } | async) +\n                              ' - ' +\n                              (segment.originalEndDate | format: 'time' : { calendar: calendar() } | async) +\n                              ')'\n                      \"\n                      class=\"ax-scheduler-timeline-appointment\"\n                      [class.all-day-segment]=\"segment.allDay\"\n                      [ngClass]=\"segment.cssClass ?? `ax-scheduler-${segment.priority ?? 'primary'}-periority`\"\n                      [axTooltipDisabled]=\"tooltipTemplate() ? false : true\"\n                      [axTooltip]=\"tooltipTemplate()\"\n                      [axTooltipContext]=\"segment\"\n                    >\n                      <ax-title>\n                        <span class=\"ax-scheduler-truncate\">{{ segment.title }}</span>\n                        @if (hasActions()) {\n                          <ax-icon\n                            (click)=\"handleActionClick($event, segment)\"\n                            class=\"ax-icon ax-icon-more-horizontal ax-scheduler-action-icon\"\n                          >\n                          </ax-icon>\n                        }\n                      </ax-title>\n                      <span class=\"ax-scheduler-timeline-appointment-time\">\n                        @if (segment.allDay) {\n                          {{\n                            segment.originalStartDate\n                              | format: 'date' : { format: 'MMM d', calendar: calendar() }\n                              | async\n                          }}\n                          @if (segment.originalStartDate.getTime() !== segment.originalEndDate.getTime()) {\n                            -\n                            {{\n                              segment.originalEndDate\n                                | format: 'date' : { format: 'MMM d', calendar: calendar() }\n                                | async\n                            }}\n                          }\n                        } @else {\n                          {{ segment.originalStartDate | format: 'time' : { calendar: calendar() } | async }}\n                          @if (segment.originalStartDate.getTime() !== segment.originalEndDate.getTime()) {\n                            -\n                            {{ segment.originalEndDate | format: 'time' : { calendar: calendar() } | async }}\n                          }\n                        }\n                      </span>\n                    </div>\n                  }\n\n                  <!-- Overflow Badge and Popover -->\n                  @if (getAppointmentsForResourceAndDay(resourceId, dayData).moreCount > 0) {\n                    <div #moreAppointments class=\"ax-scheduler-year-overflow-badge\" (click)=\"$event.stopPropagation()\">\n                      +{{\n                        '@acorex:common.general.more-items'\n                          | translate\n                            : { params: { number: getAppointmentsForResourceAndDay(resourceId, dayData).moreCount } }\n                          | async\n                      }}\n                    </div>\n                    <ax-popover [target]=\"moreAppointments\" placement=\"bottom-start\" trigger=\"click\">\n                      <div\n                        axDropZone\n                        [class.ax-state-readonly]=\"readonly()\"\n                        class=\"ax-overlay-pane ax-scheduler-popover ax-scheduler-timeline-year-popover-appointment\"\n                      >\n                        @for (\n                          segment of getAppointmentsForResourceAndDay(resourceId, dayData).hidden;\n                          track segment.id + segment.originalStartDate.getTime()\n                        ) {\n                          <div\n                            axDrag\n                            [dragCursor]=\"'grab'\"\n                            [dragData]=\"segment\"\n                            [dragTransition]=\"false\"\n                            [dragElementClone]=\"true\"\n                            [dragStartDelay]=\"optimizedDragStartDelay()\"\n                            [dragDisabled]=\"!draggable() || segment.readonly || readonly()\"\n                            (click)=\"handleAppointmentEvent($event, segment); $event.stopPropagation()\"\n                            (dblclick)=\"handleAppointmentEvent($event, segment); $event.stopPropagation()\"\n                            (contextmenu)=\"handleAppointmentEvent($event, segment); $event.stopPropagation()\"\n                            [title]=\"\n                              tooltipTemplate()\n                                ? ''\n                                : segment.allDay\n                                  ? segment.title\n                                  : segment.title +\n                                    ' (' +\n                                    (segment.originalStartDate | format: 'time' : { calendar: calendar() } | async) +\n                                    ' - ' +\n                                    (segment.originalEndDate | format: 'time' : { calendar: calendar() } | async) +\n                                    ')'\n                            \"\n                            class=\"ax-scheduler-popover-appointment\"\n                            [class.all-day-segment]=\"segment.allDay\"\n                            [ngClass]=\"segment.cssClass ?? `ax-scheduler-${segment.priority ?? 'primary'}-periority`\"\n                            [axTooltipDisabled]=\"tooltipTemplate() ? false : true\"\n                            [axTooltip]=\"tooltipTemplate()\"\n                            [axTooltipContext]=\"segment\"\n                          >\n                            <ax-title>\n                              <span class=\"ax-scheduler-truncate\">{{ segment.title }}</span>\n                              @if (hasActions()) {\n                                <ax-icon\n                                  (click)=\"handleActionClick($event, segment)\"\n                                  class=\"ax-icon ax-icon-more-horizontal ax-scheduler-action-icon\"\n                                >\n                                </ax-icon>\n                              }\n                            </ax-title>\n                            @if (!segment.allDay) {\n                              <span class=\"ax-scheduler-timeline-appointment-time\">\n                                {{ segment.originalStartDate | format: 'time' : { calendar: calendar() } | async }}\n                                @if (\n                                  !segment.allDay &&\n                                  segment.originalStartDate.getTime() !== segment.originalEndDate.getTime()\n                                ) {\n                                  -\n                                  {{ segment.originalEndDate | format: 'time' : { calendar: calendar() } | async }}\n                                }\n                              </span>\n                            }\n                          </div>\n                        }\n                      </div>\n                    </ax-popover>\n                  }\n                </div>\n              </div>\n            }\n          </div>\n        </div>\n      }\n    </div>\n  </div>\n}\n", styles: ["ax-scheduler-timeline-year-view{height:100%;position:relative;display:inline-flex;flex-direction:column;background-color:inherit;--ax-comp-scheduler-timeline-year-view-blocks-width: calc( var(--ax-comp-scheduler-timeline-view-blocks-width) / 2 )}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-container{height:100%;display:flex;will-change:transform;transform:translateZ(0)}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-container .ax-scheduler-timeline-header{width:100%;display:flex;background-color:var(--ax-comp-scheduler-all-day-bg, inherit)}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-container .ax-scheduler-timeline-header .ax-scheduler-year-header-date-day{gap:.25rem;height:4rem;display:flex;position:relative;align-items:start;padding-inline:1rem;flex-direction:column;padding-block:.25rem;justify-content:center;width:var(--ax-comp-scheduler-timeline-year-view-blocks-width);border-block-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface));border-inline-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-container .ax-scheduler-timeline-header .ax-scheduler-year-header-date-day.ax-state-today{color:rgba(var(--ax-sys-color-primary-surface));background-color:rgba(var(--ax-sys-color-primary-surface),.05)}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-container .ax-scheduler-timeline-header .ax-scheduler-year-header-date-day.ax-state-today .ax-scheduler-year-header-date-day-char{font-weight:500}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-container .ax-scheduler-timeline-header .ax-scheduler-year-header-date-day.ax-state-today .ax-scheduler-year-header-date-day-num{font-weight:700}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-container .ax-scheduler-timeline-header .ax-scheduler-year-header-date-day.ax-state-holiday{color:rgba(var(--ax-sys-color-danger-surface))}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-container .ax-scheduler-timeline-header .ax-scheduler-year-header-date-day.ax-state-holiday.ax-state-today{color:rgba(var(--ax-sys-color-primary-surface))}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-container .ax-scheduler-timeline-header .ax-scheduler-year-header-date-day .ax-scheduler-year-header-date-day-char{max-width:100%;position:sticky;font-weight:300;font-size:.75rem;line-height:.875rem;inset-inline-start:1rem}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-container .ax-scheduler-timeline-header .ax-scheduler-year-header-date-day .ax-scheduler-year-header-date-day-num{position:sticky;font-weight:500;font-size:1.25rem;inset-inline-start:1rem}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-container .ax-scheduler-timeline-content{padding:.125rem .25rem;position:relative;height:calc(100% - 4rem);width:var(--ax-comp-scheduler-timeline-year-view-blocks-width);border-inline-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-container .ax-scheduler-timeline-content .ax-scheduler-timeline-appointment-container{gap:1px;display:flex;flex-direction:column}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-container .ax-scheduler-timeline-content .ax-scheduler-timeline-appointment-container .ax-scheduler-timeline-appointment{width:100%;gap:.125rem;display:flex;overflow:hidden;flex-direction:column;padding-block:.25rem;padding-inline:.5rem;border-radius:calc(var(--ax-sys-border-radius) / 2);font-size:.75rem;line-height:.875rem;will-change:transform;transform:translateZ(0)}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-container .ax-scheduler-timeline-content .ax-scheduler-timeline-appointment-container .ax-scheduler-timeline-appointment ax-title{font-weight:600}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-container .ax-scheduler-timeline-content .ax-scheduler-timeline-appointment-container .ax-scheduler-year-overflow-badge{cursor:pointer;text-align:left;font-size:.7rem;padding:.125rem 0;margin-top:.125rem}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-container .ax-scheduler-timeline-content .ax-scheduler-timeline-appointment-container .ax-scheduler-year-overflow-badge:hover{text-decoration:underline}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container{height:100%;display:flex;flex-direction:column;background-color:inherit;will-change:transform;transform:translateZ(0);position:relative}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container .ax-scheduler-timeline-year-header-sticky{position:sticky;top:0;z-index:10;display:flex;background-color:inherit;border-bottom:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container .ax-scheduler-timeline-year-header-sticky .ax-scheduler-timeline-year-resource-header-placeholder{left:0;z-index:15;display:flex;position:sticky;align-items:center;justify-content:center;background-color:inherit;width:var(--ax-comp-scheduler-resource-header-width, 8rem);min-width:var(--ax-comp-scheduler-resource-header-width, 8rem);border-right:1px solid rgba(var(--ax-sys-color-border-lightest-surface));padding:.5rem;font-weight:500;font-size:.875rem}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container .ax-scheduler-timeline-year-header-sticky .ax-scheduler-timeline-year-day-header{flex:1;display:flex;background-color:inherit;overflow-x:auto}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container .ax-scheduler-timeline-year-header-sticky .ax-scheduler-timeline-year-day-header .ax-scheduler-year-header-date-day{gap:.25rem;height:4rem;display:flex;position:relative;align-items:start;padding-inline:1rem;flex-direction:column;padding-block:.25rem;justify-content:center;width:var(--ax-comp-scheduler-timeline-year-view-blocks-width);min-width:var(--ax-comp-scheduler-timeline-year-view-blocks-width);border-inline-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container .ax-scheduler-timeline-year-header-sticky .ax-scheduler-timeline-year-day-header .ax-scheduler-year-header-date-day.ax-state-today{color:rgba(var(--ax-sys-color-primary-surface));background-color:rgba(var(--ax-sys-color-primary-surface),.05)}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container .ax-scheduler-timeline-year-header-sticky .ax-scheduler-timeline-year-day-header .ax-scheduler-year-header-date-day.ax-state-today .ax-scheduler-year-header-date-day-char{font-weight:500}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container .ax-scheduler-timeline-year-header-sticky .ax-scheduler-timeline-year-day-header .ax-scheduler-year-header-date-day.ax-state-today .ax-scheduler-year-header-date-day-num{font-weight:700}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container .ax-scheduler-timeline-year-header-sticky .ax-scheduler-timeline-year-day-header .ax-scheduler-year-header-date-day.ax-state-holiday{color:rgba(var(--ax-sys-color-danger-surface))}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container .ax-scheduler-timeline-year-header-sticky .ax-scheduler-timeline-year-day-header .ax-scheduler-year-header-date-day.ax-state-holiday.ax-state-today{color:rgba(var(--ax-sys-color-primary-surface))}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container .ax-scheduler-timeline-year-header-sticky .ax-scheduler-timeline-year-day-header .ax-scheduler-year-header-date-day .ax-scheduler-year-header-date-day-char{max-width:100%;position:sticky;font-weight:300;font-size:.75rem;line-height:.875rem;inset-inline-start:1rem}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container .ax-scheduler-timeline-year-header-sticky .ax-scheduler-timeline-year-day-header .ax-scheduler-year-header-date-day .ax-scheduler-year-header-date-day-num{position:sticky;font-weight:500;font-size:1.25rem;inset-inline-start:1rem}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container .ax-scheduler-timeline-year-resource-rows{flex:1;overflow:visible;position:relative;background-color:inherit}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container .ax-scheduler-timeline-year-resource-rows .ax-scheduler-timeline-year-resource-row{min-height:auto;border-bottom:1px solid rgba(var(--ax-sys-color-border-lightest-surface));width:max-content;background-color:inherit;display:flex}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container .ax-scheduler-timeline-year-resource-rows .ax-scheduler-timeline-year-resource-row .ax-scheduler-timeline-year-resource-header{display:flex;padding:.5rem;min-height:2.625rem;align-items:center;justify-content:center;background-color:inherit;width:var(--ax-comp-scheduler-resource-header-width, 8rem);min-width:var(--ax-comp-scheduler-resource-header-width, 8rem);border-right:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container .ax-scheduler-timeline-year-resource-rows .ax-scheduler-timeline-year-resource-row .ax-scheduler-timeline-year-resource-header.ax-scheduler-timeline-year-resource-header-sticky{position:sticky;left:0;z-index:15;background-color:inherit}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container .ax-scheduler-timeline-year-resource-rows .ax-scheduler-timeline-year-resource-row .ax-scheduler-timeline-year-resource-header .ax-scheduler-timeline-year-resource-title{font-weight:500;font-size:.875rem;text-align:center;word-break:break-word}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container .ax-scheduler-timeline-year-resource-rows .ax-scheduler-timeline-year-resource-row .ax-scheduler-timeline-year-resource-content{flex:1;display:flex;background-color:inherit}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container .ax-scheduler-timeline-year-resource-rows .ax-scheduler-timeline-year-resource-row .ax-scheduler-timeline-year-resource-content .ax-scheduler-timeline-year-slot-row{flex:1;display:flex;position:relative;background-color:inherit;width:var(--ax-comp-scheduler-timeline-year-view-blocks-width);min-width:var(--ax-comp-scheduler-timeline-year-view-blocks-width);border-inline-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container .ax-scheduler-timeline-year-resource-rows .ax-scheduler-timeline-year-resource-row .ax-scheduler-timeline-year-resource-content .ax-scheduler-timeline-year-slot-row .ax-scheduler-timeline-appointment-container{gap:var(--ax-comp-scheduler-timeline-year-gap-height, .125rem);display:flex;flex-direction:column;min-height:100%;overflow:visible;width:100%;padding-inline:.25rem;padding-block:.125rem}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container .ax-scheduler-timeline-year-resource-rows .ax-scheduler-timeline-year-resource-row .ax-scheduler-timeline-year-resource-content .ax-scheduler-timeline-year-slot-row .ax-scheduler-timeline-appointment-container ax-popover{display:none}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container .ax-scheduler-timeline-year-resource-rows .ax-scheduler-timeline-year-resource-row .ax-scheduler-timeline-year-resource-content .ax-scheduler-timeline-year-slot-row .ax-scheduler-timeline-appointment-container .ax-scheduler-timeline-appointment{width:100%;gap:.125rem;display:flex;overflow:hidden;flex-direction:column;padding-block:.25rem;padding-inline:.5rem;border-radius:calc(var(--ax-sys-border-radius) / 2);flex-shrink:0;font-size:.75rem;line-height:.875rem;will-change:transform;transform:translateZ(0)}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container .ax-scheduler-timeline-year-resource-rows .ax-scheduler-timeline-year-resource-row .ax-scheduler-timeline-year-resource-content .ax-scheduler-timeline-year-slot-row .ax-scheduler-timeline-appointment-container .ax-scheduler-timeline-appointment ax-title{font-weight:500}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container .ax-scheduler-timeline-year-resource-rows .ax-scheduler-timeline-year-resource-row .ax-scheduler-timeline-year-resource-content .ax-scheduler-timeline-year-slot-row .ax-scheduler-timeline-appointment-container .ax-scheduler-year-overflow-badge{cursor:pointer;text-align:left;font-size:.7rem;padding:.125rem 0;margin-top:.125rem;flex-shrink:0}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container .ax-scheduler-timeline-year-resource-rows .ax-scheduler-timeline-year-resource-row .ax-scheduler-timeline-year-resource-content .ax-scheduler-timeline-year-slot-row .ax-scheduler-timeline-appointment-container .ax-scheduler-year-overflow-badge:hover{text-decoration:underline}ax-scheduler-timeline-year-view:not(.ax-state-readonly) .ax-scheduler-timeline-appointment{cursor:pointer}ax-scheduler-timeline-year-view:not(.ax-state-readonly) .ax-scheduler-timeline-content,ax-scheduler-timeline-year-view:not(.ax-state-readonly) .ax-scheduler-timeline-year-slot-row{cursor:pointer;transition-property:background-color;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function)}ax-scheduler-timeline-year-view:not(.ax-state-readonly) .ax-scheduler-timeline-content:hover,ax-scheduler-timeline-year-view:not(.ax-state-readonly) .ax-scheduler-timeline-year-slot-row:hover{background-color:rgba(var(--ax-comp-scheduler-slot-hover-bg, var(--ax-sys-color-primary-surface), .1))}ax-scheduler-timeline-year-view ax-title{display:flex;justify-content:space-between}ax-scheduler-timeline-year-view ax-title .ax-scheduler-action-icon{width:auto;cursor:pointer}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-popover-appointment{font-size:.75rem}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-popover-appointment .ax-scheduler-popover-appointment{display:flex;overflow:hidden;-webkit-user-select:none;user-select:none;flex-direction:column;padding-block:.25rem;padding-inline:.5rem;border-radius:calc(var(--ax-sys-border-radius) / 2);margin-bottom:.25rem}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-popover-appointment .ax-scheduler-popover-appointment:last-child{margin-bottom:0}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-popover-appointment .ax-scheduler-popover-appointment .ax-appointment-chip-title{font-size:.8rem;margin-bottom:.125rem;font-weight:600}ax-scheduler-timeline-year-view .ax-scheduler-current-time-line{top:0;bottom:0;width:2px}ax-scheduler-timeline-year-view .ax-scheduler-current-time-line:before{top:-6px;inset-inline-start:-5px}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: AXDragDirective, selector: "[axDrag]", inputs: ["dragData", "dragDisabled", "dragTransition", "dragElementClone", "dropZoneGroup", "dragStartDelay", "dragResetOnDblClick", "dragLockAxis", "dragClonedTemplate", "dragCursor", "dragBoundary", "dragTransitionDuration"], outputs: ["dragPositionChanged"] }, { kind: "component", type: AXPopoverComponent, selector: "ax-popover", inputs: ["width", "disabled", "offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "backdropClass", "panelClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "directive", type: AXTooltipDirective, selector: "[axTooltip]", inputs: ["axTooltipDisabled", "axTooltip", "axTooltipContext", "axTooltipPlacement", "axTooltipOffsetX", "axTooltipOffsetY", "axTooltipOpenAfter", "axTooltipCloseAfter"] }, { kind: "directive", type: AXDropZoneDirective, selector: "[axDropZone]", inputs: ["dropZoneGroup"], outputs: ["onElementDrop", "onElementHover"], exportAs: ["axDropZone"] }, { kind: "component", type: AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: 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: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: AXFormatPipe, name: "format" }, { kind: "pipe", type: AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
         
     | 
| 
       2920 
2920 
     | 
    
         
             
            }
         
     | 
| 
       2921 
     | 
    
         
            -
            i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3. 
     | 
| 
      
 2921 
     | 
    
         
            +
            i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: AXSchedulerTimelineYearViewComponent, decorators: [{
         
     | 
| 
       2922 
2922 
     | 
    
         
             
                        type: Component,
         
     | 
| 
       2923 
2923 
     | 
    
         
             
                        args: [{ selector: 'ax-scheduler-timeline-year-view', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [
         
     | 
| 
       2924 
2924 
     | 
    
         
             
                                    NgClass,
         
     | 
| 
         @@ -2933,7 +2933,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImpor 
     | 
|
| 
       2933 
2933 
     | 
    
         
             
                                    AXDecoratorIconComponent,
         
     | 
| 
       2934 
2934 
     | 
    
         
             
                                    AXDecoratorGenericComponent,
         
     | 
| 
       2935 
2935 
     | 
    
         
             
                                ], providers: [{ provide: AXComponent, useExisting: AXSchedulerTimelineYearViewComponent }], template: "@if (resources().length === 0 || !showResourceHeaders()) {\n  <!-- Original layout when no resources -->\n  <div class=\"ax-scheduler-timeline-year-container\">\n    @for (dayData of processedDayData(); track dayData.date.date.getTime()) {\n      <div>\n        <div class=\"ax-scheduler-timeline-header\">\n          <div\n            [class.ax-state-today]=\"isToday(dayData.date)\"\n            class=\"ax-scheduler-year-header-date-day {{\n              dayData.holiday.state !== 'none' ? (dayData.holiday.holiday?.cssClass ?? 'ax-state-holiday') : ''\n            }}\"\n          >\n            <span\n              class=\"ax-scheduler-year-header-date-day-char ax-scheduler-truncate\"\n              [axTooltip]=\"dayData.holiday.holiday?.title ?? ''\"\n            >\n              {{ dayData.date | format: 'date' : { format: 'MMMM', calendar: calendar() } | async }}\n              @if (dayData.holiday.state === 'holiday' && dayData.holiday.holiday.title) {\n                ( {{ dayData.holiday.holiday.title }} )\n              }\n            </span>\n            <span class=\"ax-scheduler-year-header-date-day-num\">\n              {{ dayData.date | format: 'date' : { format: 'DD', calendar: calendar() } | async }}\n            </span>\n          </div>\n        </div>\n\n        <div\n          axDropZone\n          #zone=\"axDropZone\"\n          (onElementDrop)=\"handleDrop($event, dayData.date)\"\n          [class.ax-scheduler-slot-hovered]=\"zone.isHovered()\"\n          class=\"ax-scheduler-timeline-content\"\n          (click)=\"handleSlotEvent($event, dayData.date)\"\n          (dblclick)=\"handleSlotEvent($event, dayData.date)\"\n          (contextmenu)=\"handleSlotEvent($event, dayData.date)\"\n          [attr.data-slot-id]=\"dayData.date.format('YYYYMMDD')\"\n          [style.pointer-events]=\"draggable() ? 'auto' : 'none'\"\n        >\n          <!-- Current Time Line Indicator -->\n          @if (\n            showCurrentTimeIndicator() && shouldShowCurrentTimeForDay(dayData.date) && getCurrentTimePosition() !== null\n          ) {\n            <div\n              class=\"ax-scheduler-current-time-line\"\n              [style.inset-inline-start.%]=\"getCurrentTimePosition()\"\n              #currentTimeLine\n            ></div>\n          }\n          <div class=\"ax-scheduler-timeline-appointment-container\">\n            @for (segment of dayData.visibleAppointments; track segment.id + segment.originalStartDate.getTime()) {\n              <div\n                axDrag\n                [dragData]=\"segment\"\n                [dragCursor]=\"'grab'\"\n                [dragTransition]=\"false\"\n                [dragElementClone]=\"true\"\n                [dragStartDelay]=\"optimizedDragStartDelay()\"\n                [dragDisabled]=\"!draggable() || segment.readonly || readonly()\"\n                (pointerdown)=\"getSlotId($event)\"\n                (click)=\"handleAppointmentEvent($event, segment)\"\n                (dblclick)=\"handleAppointmentEvent($event, segment)\"\n                (contextmenu)=\"handleAppointmentEvent($event, segment)\"\n                [title]=\"\n                  tooltipTemplate()\n                    ? ''\n                    : segment.allDay\n                      ? segment.title\n                      : segment.title +\n                        ' (' +\n                        (segment.originalStartDate | format: 'time' : { calendar: calendar() } | async) +\n                        ' - ' +\n                        (segment.originalEndDate | format: 'time' : { calendar: calendar() } | async) +\n                        ')'\n                \"\n                class=\"ax-scheduler-timeline-appointment\"\n                [class.all-day-segment]=\"segment.allDay\"\n                [ngClass]=\"segment.cssClass ?? `ax-scheduler-${segment.priority ?? 'primary'}-periority`\"\n                [axTooltipDisabled]=\"tooltipTemplate() ? false : true\"\n                [axTooltip]=\"tooltipTemplate()\"\n                [axTooltipContext]=\"segment\"\n              >\n                <ax-title>\n                  <span class=\"ax-scheduler-truncate\">{{ segment.title }}</span>\n                  @if (hasActions()) {\n                    <ax-icon\n                      (click)=\"handleActionClick($event, segment)\"\n                      class=\"ax-icon ax-icon-more-horizontal ax-scheduler-action-icon\"\n                    >\n                    </ax-icon>\n                  }\n                </ax-title>\n                <span class=\"ax-scheduler-timeline-appointment-time\">\n                  @if (segment.allDay) {\n                    {{ segment.originalStartDate | format: 'date' : { format: 'MMM d', calendar: calendar() } | async }}\n                    @if (segment.originalStartDate.getTime() !== segment.originalEndDate.getTime()) {\n                      -\n                      {{ segment.originalEndDate | format: 'date' : { format: 'MMM d', calendar: calendar() } | async }}\n                    }\n                  } @else {\n                    {{ segment.originalStartDate | format: 'time' : { calendar: calendar() } | async }}\n                    @if (segment.originalStartDate.getTime() !== segment.originalEndDate.getTime()) {\n                      -\n                      {{ segment.originalEndDate | format: 'time' : { calendar: calendar() } | async }}\n                    }\n                  }\n                </span>\n              </div>\n            }\n\n            <!-- Overflow Badge and Popover -->\n            @if (dayData.moreCount > 0) {\n              <div #moreAppointments class=\"ax-scheduler-year-overflow-badge\" (click)=\"$event.stopPropagation()\">\n                +{{\n                  '@acorex:common.general.more-items' | translate: { params: { number: dayData.moreCount } } | async\n                }}\n              </div>\n              <ax-popover [target]=\"moreAppointments\" placement=\"bottom-start\" trigger=\"click\">\n                <div\n                  axDropZone\n                  [class.ax-state-readonly]=\"readonly()\"\n                  class=\"ax-overlay-pane ax-scheduler-popover ax-scheduler-timeline-year-popover-appointment\"\n                >\n                  @for (segment of dayData.hiddenAppointments; track segment.id + segment.originalStartDate.getTime()) {\n                    <div\n                      axDrag\n                      [dragCursor]=\"'grab'\"\n                      [dragData]=\"segment\"\n                      [dragTransition]=\"false\"\n                      [dragElementClone]=\"true\"\n                      [dragStartDelay]=\"optimizedDragStartDelay()\"\n                      [dragDisabled]=\"!draggable() || segment.readonly || readonly()\"\n                      (click)=\"handleAppointmentEvent($event, segment); $event.stopPropagation()\"\n                      (dblclick)=\"handleAppointmentEvent($event, segment); $event.stopPropagation()\"\n                      (contextmenu)=\"handleAppointmentEvent($event, segment); $event.stopPropagation()\"\n                      [title]=\"\n                        tooltipTemplate()\n                          ? ''\n                          : segment.allDay\n                            ? segment.title +\n                              ' (' +\n                              (segment.originalStartDate\n                                | format: 'date' : { format: 'MMM d', calendar: calendar() }\n                                | async) +\n                              ' - ' +\n                              (segment.originalEndDate\n                                | format: 'date' : { format: 'MMM d', calendar: calendar() }\n                                | async) +\n                              ')'\n                            : segment.title +\n                              ' (' +\n                              (segment.originalStartDate | format: 'time' : { calendar: calendar() } | async) +\n                              ' - ' +\n                              (segment.originalEndDate | format: 'time' : { calendar: calendar() } | async) +\n                              ')'\n                      \"\n                      class=\"ax-scheduler-popover-appointment\"\n                      [class.all-day-segment]=\"segment.allDay\"\n                      [ngClass]=\"segment.cssClass ?? `ax-scheduler-${segment.priority ?? 'primary'}-periority`\"\n                      [axTooltipDisabled]=\"tooltipTemplate() ? false : true\"\n                      [axTooltip]=\"tooltipTemplate()\"\n                      [axTooltipContext]=\"segment\"\n                    >\n                      <ax-title>\n                        <span class=\"ax-scheduler-truncate\">{{ segment.title }}</span>\n                        @if (hasActions()) {\n                          <ax-icon\n                            (click)=\"handleActionClick($event, segment)\"\n                            class=\"ax-icon ax-icon-more-horizontal ax-scheduler-action-icon\"\n                          >\n                          </ax-icon>\n                        }\n                      </ax-title>\n                      <span class=\"ax-scheduler-timeline-appointment-time\">\n                        @if (segment.allDay) {\n                          {{\n                            segment.originalStartDate\n                              | format: 'date' : { format: 'MMM d', calendar: calendar() }\n                              | async\n                          }}\n                          @if (segment.originalStartDate.getTime() !== segment.originalEndDate.getTime()) {\n                            -\n                            {{\n                              segment.originalEndDate\n                                | format: 'date' : { format: 'MMM d', calendar: calendar() }\n                                | async\n                            }}\n                          }\n                        } @else {\n                          {{ segment.originalStartDate | format: 'time' : { calendar: calendar() } | async }}\n                          @if (segment.originalStartDate.getTime() !== segment.originalEndDate.getTime()) {\n                            -\n                            {{ segment.originalEndDate | format: 'time' : { calendar: calendar() } | async }}\n                          }\n                        }\n                      </span>\n                    </div>\n                  }\n                </div>\n              </ax-popover>\n            }\n          </div>\n        </div>\n      </div>\n    }\n  </div>\n} @else {\n  <!-- Resource-based layout -->\n  <div class=\"ax-scheduler-timeline-year-resource-container\">\n    <div class=\"ax-scheduler-timeline-year-header-sticky\">\n      <div class=\"ax-scheduler-timeline-year-resource-header-placeholder\">\n        <span>Resources</span>\n      </div>\n\n      <div class=\"ax-scheduler-timeline-year-day-header\">\n        @for (dayData of processedDayData(); track dayData.date.date.getTime()) {\n          <div\n            [class.ax-state-today]=\"isToday(dayData.date)\"\n            class=\"ax-scheduler-year-header-date-day {{\n              dayData.holiday.state !== 'none' ? (dayData.holiday.holiday?.cssClass ?? 'ax-state-holiday') : ''\n            }}\"\n          >\n            <span\n              class=\"ax-scheduler-year-header-date-day-char ax-scheduler-truncate\"\n              [axTooltip]=\"dayData.holiday.holiday?.title ?? ''\"\n            >\n              {{ dayData.date | format: 'date' : { format: 'MMMM', calendar: calendar() } | async }}\n              @if (dayData.holiday.state === 'holiday' && dayData.holiday.holiday.title) {\n                ( {{ dayData.holiday.holiday.title }} )\n              }\n            </span>\n            <span class=\"ax-scheduler-year-header-date-day-num\">\n              {{ dayData.date | format: 'date' : { format: 'DD', calendar: calendar() } | async }}\n            </span>\n          </div>\n        }\n      </div>\n    </div>\n\n    <div class=\"ax-scheduler-timeline-year-resource-rows\">\n      <!-- Current Time Line Indicator -->\n      @if (showCurrentTimeIndicator() && getCurrentTimePosition() !== null) {\n        <div\n          class=\"ax-scheduler-current-time-line\"\n          [style.inset-inline-start.%]=\"getCurrentTimePosition()\"\n          #currentTimeLine\n        ></div>\n      }\n\n      @for (resourceId of resourceIds(); track resourceId) {\n        <div class=\"ax-scheduler-timeline-year-resource-row\">\n          <div class=\"ax-scheduler-timeline-year-resource-header ax-scheduler-timeline-year-resource-header-sticky\">\n            @if (resourceTemplate() && typeof resourceTemplate() !== 'string') {\n              <ng-container\n                [ngTemplateOutlet]=\"$any(resourceTemplate())\"\n                [ngTemplateOutletContext]=\"{\n                  $implicit: getResourceContext(resourceId),\n                  resource: getResourceContext(resourceId),\n                  resourceId: resourceId,\n                }\"\n              ></ng-container>\n            } @else {\n              <div class=\"ax-scheduler-timeline-year-resource-title\">\n                {{ getResourceTitle(resourceId) | translate | async }}\n              </div>\n            }\n          </div>\n\n          <div class=\"ax-scheduler-timeline-year-resource-content\">\n            @for (dayData of processedDayData(); track dayData.date.date.getTime()) {\n              <div\n                axDropZone\n                #zone=\"axDropZone\"\n                (onElementDrop)=\"handleDrop($event, dayData.date, resourceId)\"\n                [class.ax-scheduler-slot-hovered]=\"zone.isHovered()\"\n                class=\"ax-scheduler-timeline-year-slot-row\"\n                (click)=\"handleSlotEvent($event, dayData.date)\"\n                (dblclick)=\"handleSlotEvent($event, dayData.date)\"\n                (contextmenu)=\"handleSlotEvent($event, dayData.date)\"\n                [attr.data-slot-id]=\"dayData.date.format('YYYYMMDD')\"\n                [attr.data-resource-id]=\"resourceId\"\n                [style.pointer-events]=\"draggable() ? 'auto' : 'none'\"\n              >\n                <div class=\"ax-scheduler-timeline-appointment-container\">\n                  @for (\n                    segment of getAppointmentsForResourceAndDay(resourceId, dayData).visible;\n                    track segment.id + segment.originalStartDate.getTime()\n                  ) {\n                    <div\n                      axDrag\n                      [dragData]=\"segment\"\n                      [dragCursor]=\"'grab'\"\n                      [dragTransition]=\"false\"\n                      [dragElementClone]=\"true\"\n                      [dragStartDelay]=\"optimizedDragStartDelay()\"\n                      [dragDisabled]=\"!draggable() || segment.readonly || readonly()\"\n                      (pointerdown)=\"getSlotId($event)\"\n                      (click)=\"handleAppointmentEvent($event, segment)\"\n                      (dblclick)=\"handleAppointmentEvent($event, segment)\"\n                      (contextmenu)=\"handleAppointmentEvent($event, segment)\"\n                      [title]=\"\n                        tooltipTemplate()\n                          ? ''\n                          : segment.allDay\n                            ? segment.title +\n                              ' (' +\n                              (segment.originalStartDate\n                                | format: 'date' : { format: 'MMM d', calendar: calendar() }\n                                | async) +\n                              ' - ' +\n                              (segment.originalEndDate\n                                | format: 'date' : { format: 'MMM d', calendar: calendar() }\n                                | async) +\n                              ')'\n                            : segment.title +\n                              ' (' +\n                              (segment.originalStartDate | format: 'time' : { calendar: calendar() } | async) +\n                              ' - ' +\n                              (segment.originalEndDate | format: 'time' : { calendar: calendar() } | async) +\n                              ')'\n                      \"\n                      class=\"ax-scheduler-timeline-appointment\"\n                      [class.all-day-segment]=\"segment.allDay\"\n                      [ngClass]=\"segment.cssClass ?? `ax-scheduler-${segment.priority ?? 'primary'}-periority`\"\n                      [axTooltipDisabled]=\"tooltipTemplate() ? false : true\"\n                      [axTooltip]=\"tooltipTemplate()\"\n                      [axTooltipContext]=\"segment\"\n                    >\n                      <ax-title>\n                        <span class=\"ax-scheduler-truncate\">{{ segment.title }}</span>\n                        @if (hasActions()) {\n                          <ax-icon\n                            (click)=\"handleActionClick($event, segment)\"\n                            class=\"ax-icon ax-icon-more-horizontal ax-scheduler-action-icon\"\n                          >\n                          </ax-icon>\n                        }\n                      </ax-title>\n                      <span class=\"ax-scheduler-timeline-appointment-time\">\n                        @if (segment.allDay) {\n                          {{\n                            segment.originalStartDate\n                              | format: 'date' : { format: 'MMM d', calendar: calendar() }\n                              | async\n                          }}\n                          @if (segment.originalStartDate.getTime() !== segment.originalEndDate.getTime()) {\n                            -\n                            {{\n                              segment.originalEndDate\n                                | format: 'date' : { format: 'MMM d', calendar: calendar() }\n                                | async\n                            }}\n                          }\n                        } @else {\n                          {{ segment.originalStartDate | format: 'time' : { calendar: calendar() } | async }}\n                          @if (segment.originalStartDate.getTime() !== segment.originalEndDate.getTime()) {\n                            -\n                            {{ segment.originalEndDate | format: 'time' : { calendar: calendar() } | async }}\n                          }\n                        }\n                      </span>\n                    </div>\n                  }\n\n                  <!-- Overflow Badge and Popover -->\n                  @if (getAppointmentsForResourceAndDay(resourceId, dayData).moreCount > 0) {\n                    <div #moreAppointments class=\"ax-scheduler-year-overflow-badge\" (click)=\"$event.stopPropagation()\">\n                      +{{\n                        '@acorex:common.general.more-items'\n                          | translate\n                            : { params: { number: getAppointmentsForResourceAndDay(resourceId, dayData).moreCount } }\n                          | async\n                      }}\n                    </div>\n                    <ax-popover [target]=\"moreAppointments\" placement=\"bottom-start\" trigger=\"click\">\n                      <div\n                        axDropZone\n                        [class.ax-state-readonly]=\"readonly()\"\n                        class=\"ax-overlay-pane ax-scheduler-popover ax-scheduler-timeline-year-popover-appointment\"\n                      >\n                        @for (\n                          segment of getAppointmentsForResourceAndDay(resourceId, dayData).hidden;\n                          track segment.id + segment.originalStartDate.getTime()\n                        ) {\n                          <div\n                            axDrag\n                            [dragCursor]=\"'grab'\"\n                            [dragData]=\"segment\"\n                            [dragTransition]=\"false\"\n                            [dragElementClone]=\"true\"\n                            [dragStartDelay]=\"optimizedDragStartDelay()\"\n                            [dragDisabled]=\"!draggable() || segment.readonly || readonly()\"\n                            (click)=\"handleAppointmentEvent($event, segment); $event.stopPropagation()\"\n                            (dblclick)=\"handleAppointmentEvent($event, segment); $event.stopPropagation()\"\n                            (contextmenu)=\"handleAppointmentEvent($event, segment); $event.stopPropagation()\"\n                            [title]=\"\n                              tooltipTemplate()\n                                ? ''\n                                : segment.allDay\n                                  ? segment.title\n                                  : segment.title +\n                                    ' (' +\n                                    (segment.originalStartDate | format: 'time' : { calendar: calendar() } | async) +\n                                    ' - ' +\n                                    (segment.originalEndDate | format: 'time' : { calendar: calendar() } | async) +\n                                    ')'\n                            \"\n                            class=\"ax-scheduler-popover-appointment\"\n                            [class.all-day-segment]=\"segment.allDay\"\n                            [ngClass]=\"segment.cssClass ?? `ax-scheduler-${segment.priority ?? 'primary'}-periority`\"\n                            [axTooltipDisabled]=\"tooltipTemplate() ? false : true\"\n                            [axTooltip]=\"tooltipTemplate()\"\n                            [axTooltipContext]=\"segment\"\n                          >\n                            <ax-title>\n                              <span class=\"ax-scheduler-truncate\">{{ segment.title }}</span>\n                              @if (hasActions()) {\n                                <ax-icon\n                                  (click)=\"handleActionClick($event, segment)\"\n                                  class=\"ax-icon ax-icon-more-horizontal ax-scheduler-action-icon\"\n                                >\n                                </ax-icon>\n                              }\n                            </ax-title>\n                            @if (!segment.allDay) {\n                              <span class=\"ax-scheduler-timeline-appointment-time\">\n                                {{ segment.originalStartDate | format: 'time' : { calendar: calendar() } | async }}\n                                @if (\n                                  !segment.allDay &&\n                                  segment.originalStartDate.getTime() !== segment.originalEndDate.getTime()\n                                ) {\n                                  -\n                                  {{ segment.originalEndDate | format: 'time' : { calendar: calendar() } | async }}\n                                }\n                              </span>\n                            }\n                          </div>\n                        }\n                      </div>\n                    </ax-popover>\n                  }\n                </div>\n              </div>\n            }\n          </div>\n        </div>\n      }\n    </div>\n  </div>\n}\n", styles: ["ax-scheduler-timeline-year-view{height:100%;position:relative;display:inline-flex;flex-direction:column;background-color:inherit;--ax-comp-scheduler-timeline-year-view-blocks-width: calc( var(--ax-comp-scheduler-timeline-view-blocks-width) / 2 )}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-container{height:100%;display:flex;will-change:transform;transform:translateZ(0)}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-container .ax-scheduler-timeline-header{width:100%;display:flex;background-color:var(--ax-comp-scheduler-all-day-bg, inherit)}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-container .ax-scheduler-timeline-header .ax-scheduler-year-header-date-day{gap:.25rem;height:4rem;display:flex;position:relative;align-items:start;padding-inline:1rem;flex-direction:column;padding-block:.25rem;justify-content:center;width:var(--ax-comp-scheduler-timeline-year-view-blocks-width);border-block-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface));border-inline-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-container .ax-scheduler-timeline-header .ax-scheduler-year-header-date-day.ax-state-today{color:rgba(var(--ax-sys-color-primary-surface));background-color:rgba(var(--ax-sys-color-primary-surface),.05)}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-container .ax-scheduler-timeline-header .ax-scheduler-year-header-date-day.ax-state-today .ax-scheduler-year-header-date-day-char{font-weight:500}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-container .ax-scheduler-timeline-header .ax-scheduler-year-header-date-day.ax-state-today .ax-scheduler-year-header-date-day-num{font-weight:700}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-container .ax-scheduler-timeline-header .ax-scheduler-year-header-date-day.ax-state-holiday{color:rgba(var(--ax-sys-color-danger-surface))}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-container .ax-scheduler-timeline-header .ax-scheduler-year-header-date-day.ax-state-holiday.ax-state-today{color:rgba(var(--ax-sys-color-primary-surface))}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-container .ax-scheduler-timeline-header .ax-scheduler-year-header-date-day .ax-scheduler-year-header-date-day-char{max-width:100%;position:sticky;font-weight:300;font-size:.75rem;line-height:.875rem;inset-inline-start:1rem}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-container .ax-scheduler-timeline-header .ax-scheduler-year-header-date-day .ax-scheduler-year-header-date-day-num{position:sticky;font-weight:500;font-size:1.25rem;inset-inline-start:1rem}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-container .ax-scheduler-timeline-content{padding:.125rem .25rem;position:relative;height:calc(100% - 4rem);width:var(--ax-comp-scheduler-timeline-year-view-blocks-width);border-inline-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-container .ax-scheduler-timeline-content .ax-scheduler-timeline-appointment-container{gap:1px;display:flex;flex-direction:column}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-container .ax-scheduler-timeline-content .ax-scheduler-timeline-appointment-container .ax-scheduler-timeline-appointment{width:100%;gap:.125rem;display:flex;overflow:hidden;flex-direction:column;padding-block:.25rem;padding-inline:.5rem;border-radius:calc(var(--ax-sys-border-radius) / 2);font-size:.75rem;line-height:.875rem;will-change:transform;transform:translateZ(0)}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-container .ax-scheduler-timeline-content .ax-scheduler-timeline-appointment-container .ax-scheduler-timeline-appointment ax-title{font-weight:600}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-container .ax-scheduler-timeline-content .ax-scheduler-timeline-appointment-container .ax-scheduler-year-overflow-badge{cursor:pointer;text-align:left;font-size:.7rem;padding:.125rem 0;margin-top:.125rem}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-container .ax-scheduler-timeline-content .ax-scheduler-timeline-appointment-container .ax-scheduler-year-overflow-badge:hover{text-decoration:underline}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container{height:100%;display:flex;flex-direction:column;background-color:inherit;will-change:transform;transform:translateZ(0);position:relative}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container .ax-scheduler-timeline-year-header-sticky{position:sticky;top:0;z-index:10;display:flex;background-color:inherit;border-bottom:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container .ax-scheduler-timeline-year-header-sticky .ax-scheduler-timeline-year-resource-header-placeholder{left:0;z-index:15;display:flex;position:sticky;align-items:center;justify-content:center;background-color:inherit;width:var(--ax-comp-scheduler-resource-header-width, 8rem);min-width:var(--ax-comp-scheduler-resource-header-width, 8rem);border-right:1px solid rgba(var(--ax-sys-color-border-lightest-surface));padding:.5rem;font-weight:500;font-size:.875rem}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container .ax-scheduler-timeline-year-header-sticky .ax-scheduler-timeline-year-day-header{flex:1;display:flex;background-color:inherit;overflow-x:auto}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container .ax-scheduler-timeline-year-header-sticky .ax-scheduler-timeline-year-day-header .ax-scheduler-year-header-date-day{gap:.25rem;height:4rem;display:flex;position:relative;align-items:start;padding-inline:1rem;flex-direction:column;padding-block:.25rem;justify-content:center;width:var(--ax-comp-scheduler-timeline-year-view-blocks-width);min-width:var(--ax-comp-scheduler-timeline-year-view-blocks-width);border-inline-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container .ax-scheduler-timeline-year-header-sticky .ax-scheduler-timeline-year-day-header .ax-scheduler-year-header-date-day.ax-state-today{color:rgba(var(--ax-sys-color-primary-surface));background-color:rgba(var(--ax-sys-color-primary-surface),.05)}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container .ax-scheduler-timeline-year-header-sticky .ax-scheduler-timeline-year-day-header .ax-scheduler-year-header-date-day.ax-state-today .ax-scheduler-year-header-date-day-char{font-weight:500}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container .ax-scheduler-timeline-year-header-sticky .ax-scheduler-timeline-year-day-header .ax-scheduler-year-header-date-day.ax-state-today .ax-scheduler-year-header-date-day-num{font-weight:700}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container .ax-scheduler-timeline-year-header-sticky .ax-scheduler-timeline-year-day-header .ax-scheduler-year-header-date-day.ax-state-holiday{color:rgba(var(--ax-sys-color-danger-surface))}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container .ax-scheduler-timeline-year-header-sticky .ax-scheduler-timeline-year-day-header .ax-scheduler-year-header-date-day.ax-state-holiday.ax-state-today{color:rgba(var(--ax-sys-color-primary-surface))}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container .ax-scheduler-timeline-year-header-sticky .ax-scheduler-timeline-year-day-header .ax-scheduler-year-header-date-day .ax-scheduler-year-header-date-day-char{max-width:100%;position:sticky;font-weight:300;font-size:.75rem;line-height:.875rem;inset-inline-start:1rem}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container .ax-scheduler-timeline-year-header-sticky .ax-scheduler-timeline-year-day-header .ax-scheduler-year-header-date-day .ax-scheduler-year-header-date-day-num{position:sticky;font-weight:500;font-size:1.25rem;inset-inline-start:1rem}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container .ax-scheduler-timeline-year-resource-rows{flex:1;overflow:visible;position:relative;background-color:inherit}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container .ax-scheduler-timeline-year-resource-rows .ax-scheduler-timeline-year-resource-row{min-height:auto;border-bottom:1px solid rgba(var(--ax-sys-color-border-lightest-surface));width:max-content;background-color:inherit;display:flex}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container .ax-scheduler-timeline-year-resource-rows .ax-scheduler-timeline-year-resource-row .ax-scheduler-timeline-year-resource-header{display:flex;padding:.5rem;min-height:2.625rem;align-items:center;justify-content:center;background-color:inherit;width:var(--ax-comp-scheduler-resource-header-width, 8rem);min-width:var(--ax-comp-scheduler-resource-header-width, 8rem);border-right:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container .ax-scheduler-timeline-year-resource-rows .ax-scheduler-timeline-year-resource-row .ax-scheduler-timeline-year-resource-header.ax-scheduler-timeline-year-resource-header-sticky{position:sticky;left:0;z-index:15;background-color:inherit}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container .ax-scheduler-timeline-year-resource-rows .ax-scheduler-timeline-year-resource-row .ax-scheduler-timeline-year-resource-header .ax-scheduler-timeline-year-resource-title{font-weight:500;font-size:.875rem;text-align:center;word-break:break-word}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container .ax-scheduler-timeline-year-resource-rows .ax-scheduler-timeline-year-resource-row .ax-scheduler-timeline-year-resource-content{flex:1;display:flex;background-color:inherit}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container .ax-scheduler-timeline-year-resource-rows .ax-scheduler-timeline-year-resource-row .ax-scheduler-timeline-year-resource-content .ax-scheduler-timeline-year-slot-row{flex:1;display:flex;position:relative;background-color:inherit;width:var(--ax-comp-scheduler-timeline-year-view-blocks-width);min-width:var(--ax-comp-scheduler-timeline-year-view-blocks-width);border-inline-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container .ax-scheduler-timeline-year-resource-rows .ax-scheduler-timeline-year-resource-row .ax-scheduler-timeline-year-resource-content .ax-scheduler-timeline-year-slot-row .ax-scheduler-timeline-appointment-container{gap:var(--ax-comp-scheduler-timeline-year-gap-height, .125rem);display:flex;flex-direction:column;min-height:100%;overflow:visible;width:100%;padding-inline:.25rem;padding-block:.125rem}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container .ax-scheduler-timeline-year-resource-rows .ax-scheduler-timeline-year-resource-row .ax-scheduler-timeline-year-resource-content .ax-scheduler-timeline-year-slot-row .ax-scheduler-timeline-appointment-container ax-popover{display:none}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container .ax-scheduler-timeline-year-resource-rows .ax-scheduler-timeline-year-resource-row .ax-scheduler-timeline-year-resource-content .ax-scheduler-timeline-year-slot-row .ax-scheduler-timeline-appointment-container .ax-scheduler-timeline-appointment{width:100%;gap:.125rem;display:flex;overflow:hidden;flex-direction:column;padding-block:.25rem;padding-inline:.5rem;border-radius:calc(var(--ax-sys-border-radius) / 2);flex-shrink:0;font-size:.75rem;line-height:.875rem;will-change:transform;transform:translateZ(0)}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container .ax-scheduler-timeline-year-resource-rows .ax-scheduler-timeline-year-resource-row .ax-scheduler-timeline-year-resource-content .ax-scheduler-timeline-year-slot-row .ax-scheduler-timeline-appointment-container .ax-scheduler-timeline-appointment ax-title{font-weight:500}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container .ax-scheduler-timeline-year-resource-rows .ax-scheduler-timeline-year-resource-row .ax-scheduler-timeline-year-resource-content .ax-scheduler-timeline-year-slot-row .ax-scheduler-timeline-appointment-container .ax-scheduler-year-overflow-badge{cursor:pointer;text-align:left;font-size:.7rem;padding:.125rem 0;margin-top:.125rem;flex-shrink:0}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-resource-container .ax-scheduler-timeline-year-resource-rows .ax-scheduler-timeline-year-resource-row .ax-scheduler-timeline-year-resource-content .ax-scheduler-timeline-year-slot-row .ax-scheduler-timeline-appointment-container .ax-scheduler-year-overflow-badge:hover{text-decoration:underline}ax-scheduler-timeline-year-view:not(.ax-state-readonly) .ax-scheduler-timeline-appointment{cursor:pointer}ax-scheduler-timeline-year-view:not(.ax-state-readonly) .ax-scheduler-timeline-content,ax-scheduler-timeline-year-view:not(.ax-state-readonly) .ax-scheduler-timeline-year-slot-row{cursor:pointer;transition-property:background-color;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function)}ax-scheduler-timeline-year-view:not(.ax-state-readonly) .ax-scheduler-timeline-content:hover,ax-scheduler-timeline-year-view:not(.ax-state-readonly) .ax-scheduler-timeline-year-slot-row:hover{background-color:rgba(var(--ax-comp-scheduler-slot-hover-bg, var(--ax-sys-color-primary-surface), .1))}ax-scheduler-timeline-year-view ax-title{display:flex;justify-content:space-between}ax-scheduler-timeline-year-view ax-title .ax-scheduler-action-icon{width:auto;cursor:pointer}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-popover-appointment{font-size:.75rem}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-popover-appointment .ax-scheduler-popover-appointment{display:flex;overflow:hidden;-webkit-user-select:none;user-select:none;flex-direction:column;padding-block:.25rem;padding-inline:.5rem;border-radius:calc(var(--ax-sys-border-radius) / 2);margin-bottom:.25rem}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-popover-appointment .ax-scheduler-popover-appointment:last-child{margin-bottom:0}ax-scheduler-timeline-year-view .ax-scheduler-timeline-year-popover-appointment .ax-scheduler-popover-appointment .ax-appointment-chip-title{font-size:.8rem;margin-bottom:.125rem;font-weight:600}ax-scheduler-timeline-year-view .ax-scheduler-current-time-line{top:0;bottom:0;width:2px}ax-scheduler-timeline-year-view .ax-scheduler-current-time-line:before{top:-6px;inset-inline-start:-5px}\n"] }]
         
     | 
| 
       2936 
     | 
    
         
            -
                    }] });
         
     | 
| 
      
 2936 
     | 
    
         
            +
                    }], propDecorators: { readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], draggable: [{ type: i0.Input, args: [{ isSignal: true, alias: "draggable", required: false }] }], hasActions: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasActions", required: false }] }], dragStartDelay: [{ type: i0.Input, args: [{ isSignal: true, alias: "dragStartDelay", required: false }] }], calendar: [{ type: i0.Input, args: [{ isSignal: true, alias: "calendar", required: false }] }], showResourceHeaders: [{ type: i0.Input, args: [{ isSignal: true, alias: "showResourceHeaders", required: false }] }], date: [{ type: i0.Input, args: [{ isSignal: true, alias: "date", required: true }] }], showUnassignedAppointments: [{ type: i0.Input, args: [{ isSignal: true, alias: "showUnassignedAppointments", required: false }] }], resources: [{ type: i0.Input, args: [{ isSignal: true, alias: "resources", required: false }] }], showCurrentTimeIndicator: [{ type: i0.Input, args: [{ isSignal: true, alias: "showCurrentTimeIndicator", required: false }] }], resourceTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "resourceTemplate", required: false }] }], appointments: [{ type: i0.Input, args: [{ isSignal: true, alias: "appointments", required: false }] }], tooltipTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "tooltipTemplate", required: false }] }], currentTimeLineElement: [{ type: i0.ViewChild, args: ['currentTimeLine', { isSignal: true }] }], slotClickedInternal: [{ type: i0.Output, args: ["slotClickedInternal"] }], slotDblClickedInternal: [{ type: i0.Output, args: ["slotDblClickedInternal"] }], slotRightClickedInternal: [{ type: i0.Output, args: ["slotRightClickedInternal"] }], appointmentClickedInternal: [{ type: i0.Output, args: ["appointmentClickedInternal"] }], appointmentDblClickedInternal: [{ type: i0.Output, args: ["appointmentDblClickedInternal"] }], appointmentRightClickedInternal: [{ type: i0.Output, args: ["appointmentRightClickedInternal"] }], onActionClickInternal: [{ type: i0.Output, args: ["onActionClickInternal"] }], onAppointmentDropInternal: [{ type: i0.Output, args: ["onAppointmentDropInternal"] }] } });
         
     | 
| 
       2937 
2937 
     | 
    
         | 
| 
       2938 
2938 
     | 
    
         
             
            class AXSchedulerWeekViewComponent extends NXComponent {
         
     | 
| 
       2939 
2939 
     | 
    
         
             
                constructor() {
         
     | 
| 
         @@ -3453,10 +3453,10 @@ class AXSchedulerWeekViewComponent extends NXComponent { 
     | 
|
| 
       3453 
3453 
     | 
    
         
             
                get isReadonly() {
         
     | 
| 
       3454 
3454 
     | 
    
         
             
                    return this.readonly();
         
     | 
| 
       3455 
3455 
     | 
    
         
             
                }
         
     | 
| 
       3456 
     | 
    
         
            -
                static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3. 
     | 
| 
       3457 
     | 
    
         
            -
                static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.4", type: AXSchedulerWeekViewComponent, isStandalone: true, selector: "ax-scheduler-week-view", inputs: { readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, draggable: { classPropertyName: "draggable", publicName: "draggable", isSignal: true, isRequired: false, transformFunction: null }, hasActions: { classPropertyName: "hasActions", publicName: "hasActions", isSignal: true, isRequired: false, transformFunction: null }, dragStartDelay: { classPropertyName: "dragStartDelay", publicName: "dragStartDelay", isSignal: true, isRequired: false, transformFunction: null }, calendar: { classPropertyName: "calendar", publicName: "calendar", isSignal: true, isRequired: false, transformFunction: null }, date: { classPropertyName: "date", publicName: "date", isSignal: true, isRequired: true, transformFunction: null }, endDayHour: { classPropertyName: "endDayHour", publicName: "endDayHour", isSignal: true, isRequired: true, transformFunction: null }, startDayHour: { classPropertyName: "startDayHour", publicName: "startDayHour", isSignal: true, isRequired: true, transformFunction: null }, showCurrentTimeIndicator: { classPropertyName: "showCurrentTimeIndicator", publicName: "showCurrentTimeIndicator", isSignal: true, isRequired: false, transformFunction: null }, appointments: { classPropertyName: "appointments", publicName: "appointments", isSignal: true, isRequired: false, transformFunction: null }, tooltipTemplate: { classPropertyName: "tooltipTemplate", publicName: "tooltipTemplate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { slotClickedInternal: "slotClickedInternal", slotDblClickedInternal: "slotDblClickedInternal", slotRightClickedInternal: "slotRightClickedInternal", appointmentClickedInternal: "appointmentClickedInternal", appointmentDblClickedInternal: "appointmentDblClickedInternal", appointmentRightClickedInternal: "appointmentRightClickedInternal", onActionClickInternal: "onActionClickInternal", onAppointmentDropInternal: "onAppointmentDropInternal" }, host: { properties: { "class.ax-state-readonly": "this.isReadonly" } }, providers: [{ provide: AXComponent, useExisting: AXSchedulerWeekViewComponent }], viewQueries: [{ propertyName: "currentTimeLineElement", first: true, predicate: ["currentTimeLine"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-scheduler-week-header\">\n  <div class=\"ax-scheduler-week-header-days\">\n    <div class=\"ax-scheduler-week-header-table\"></div>\n    <div class=\"ax-scheduler-week-header-date\" aria-hidden=\"true\">\n      @for (day of daysArray(); track day.date.date.getTime()) {\n        <div\n          [class.ax-state-today]=\"isToday(day.date)\"\n          class=\"ax-scheduler-week-header-date-day {{\n            day.holiday.state !== 'none' ? (day.holiday.holiday?.cssClass ?? 'ax-state-holiday') : ''\n          }}\"\n        >\n          <span\n            class=\"ax-scheduler-week-header-date-day-char ax-scheduler-truncate\"\n            [axTooltip]=\"day.holiday?.holiday?.title ?? ''\"\n          >\n            {{ day.date | format: 'date' : { format: 'dddd', calendar: calendar() } | async }}\n            @if (day.holiday.state === 'holiday' && day.holiday.holiday.title) {\n              ( {{ day.holiday.holiday.title }} )\n            }\n          </span>\n          <span class=\"ax-scheduler-week-header-date-day-num\">\n            {{ day.date | format: 'date' : { format: 'DD', calendar: calendar() } | async }}\n          </span>\n        </div>\n      }\n    </div>\n  </div>\n  <div class=\"ax-scheduler-week-header-days\">\n    <div class=\"ax-scheduler-week-header-table\">{{ '@acorex:dateTime.duration.all-day' | translate | async }}</div>\n    <div aria-hidden=\"true\" class=\"ax-scheduler-week-header-date\">\n      @for (slotData of allDayAppointmentsPerDay(); track slotData.day.date.getTime()) {\n        <div\n          axDropZone\n          #zone2=\"axDropZone\"\n          [class.ax-scheduler-slot-hovered]=\"zone2.isHovered()\"\n          (onElementDrop)=\"handleAllDayDrop($event, slotData.day)\"\n          class=\"ax-scheduler-all-day-slot\"\n          (click)=\"handleAllDaySlotEvent($event, slotData.day)\"\n          (dblclick)=\"handleAllDaySlotEvent($event, slotData.day)\"\n          (contextmenu)=\"handleAllDaySlotEvent($event, slotData.day)\"\n        >\n          @if (slotData.appointments.length > 0) {\n            <div\n              axDrag\n              [dragCursor]=\"'grab'\"\n              [dragTransition]=\"false\"\n              [dragElementClone]=\"true\"\n              [dragStartDelay]=\"dragStartDelay()\"\n              [dragData]=\"slotData.appointments[0]\"\n              [dragDisabled]=\"!draggable() || slotData.appointments[0].readonly || readonly()\"\n              (pointerdown)=\"getSlotId($event)\"\n              (click)=\"handleAppointmentEvent($event, slotData.appointments[0])\"\n              (dblclick)=\"handleAppointmentEvent($event, slotData.appointments[0])\"\n              (contextmenu)=\"handleAppointmentEvent($event, slotData.appointments[0])\"\n              [title]=\"tooltipTemplate() ? '' : slotData.appointments[0].title\"\n              class=\"ax-scheduler-header-week-appointment\"\n              [style.width]=\"slotData.appointments.length > 1 ? 'calc(100% - 2rem)' : '100%'\"\n              [ngClass]=\"\n                slotData.appointments[0].cssClass ??\n                `ax-scheduler-${slotData.appointments[0].priority ?? 'primary'}-periority`\n              \"\n              [axTooltipDisabled]=\"tooltipTemplate() ? false : true\"\n              [axTooltipContext]=\"slotData.appointments[0]\"\n              [axTooltip]=\"tooltipTemplate()\"\n            >\n              <ax-title>\n                <span class=\"ax-scheduler-truncate\">{{ slotData.appointments[0].title }}</span>\n                @if (hasActions()) {\n                  <ax-icon\n                    (click)=\"handleActionClick($event, slotData.appointments[0])\"\n                    class=\"ax-icon ax-icon-more-horizontal ax-scheduler-action-icon\"\n                  ></ax-icon>\n                }\n              </ax-title>\n            </div>\n          }\n          @if (slotData.appointments.length > 1) {\n            <div\n              #moreAppointments\n              class=\"ax-scheduler-appointment-badge\"\n              [style.width]=\"'1.5rem'\"\n              [style.border]=\"'none'\"\n              [ngClass]=\"\n                slotData.appointments[1].cssClass ??\n                `ax-scheduler-${slotData.appointments[1].priority ?? 'primary'}-periority`\n              \"\n            >\n              +{{ slotData.appointments.length - 1 }}\n            </div>\n            <ax-popover [target]=\"moreAppointments\">\n              <div class=\"ax-overlay-pane ax-scheduler-popover\" [class.ax-state-readonly]=\"readonly()\" axDropZone>\n                @for (appointment of slotData.appointments; track appointment.id; let first = $first) {\n                  @if (!first) {\n                    <div\n                      axDrag\n                      [dragCursor]=\"'grab'\"\n                      [dragData]=\"appointment\"\n                      [dragTransition]=\"false\"\n                      [dragElementClone]=\"true\"\n                      [dragStartDelay]=\"dragStartDelay()\"\n                      [dragDisabled]=\"!draggable() || appointment.readonly || readonly()\"\n                      (click)=\"handleAppointmentEvent($event, appointment)\"\n                      (dblclick)=\"handleAppointmentEvent($event, appointment)\"\n                      (contextmenu)=\"handleAppointmentEvent($event, appointment)\"\n                      [title]=\"tooltipTemplate() ? '' : appointment.title\"\n                      class=\"ax-scheduler-popover-appointment\"\n                      [ngClass]=\"appointment.cssClass ?? `ax-scheduler-${appointment.priority ?? 'primary'}-periority`\"\n                      [axTooltipDisabled]=\"tooltipTemplate() ? false : true\"\n                      [axTooltipContext]=\"appointment\"\n                      [axTooltip]=\"tooltipTemplate()\"\n                    >\n                      <ax-title>\n                        <span class=\"ax-scheduler-truncate\">{{ appointment.title }}</span>\n                        @if (hasActions()) {\n                          <ax-icon\n                            (click)=\"handleActionClick($event, appointment)\"\n                            class=\"ax-icon ax-icon-more-horizontal ax-scheduler-action-icon\"\n                          ></ax-icon>\n                        }\n                      </ax-title>\n                    </div>\n                  }\n                }\n              </div>\n            </ax-popover>\n          }\n        </div>\n      }\n    </div>\n  </div>\n</div>\n\n<div class=\"ax-scheduler-week-time-container\">\n  <div class=\"ax-scheduler-week-time\" aria-hidden=\"true\">\n    @for (time of hoursArray(); track time.date.getTime()) {\n      <div>\n        {{ time | format: 'time' : { format: 'HH:mm', calendar: calendar() } | async }}\n      </div>\n    }\n  </div>\n\n  <div class=\"ax-scheduler-week-table-container\">\n    <!-- Current Time Line Indicator -->\n    @if (\n      shouldShowCurrentTimeForToday() &&\n      getCurrentTimePositionWithOffset() !== null &&\n      getCurrentDayColumnPosition() !== null\n    ) {\n      <div\n        #currentTimeLine\n        class=\"ax-scheduler-current-time-line\"\n        [style.inset-block-start]=\"getCurrentTimePositionWithOffset()\"\n        [style.inset-inline-start]=\"getCurrentDayColumnPosition()\"\n        [style.width]=\"getCurrentDayColumnWidth()\"\n      ></div>\n    }\n    <div class=\"ax-scheduler-week-appointment-container\">\n      @for (appt of visibleAppointmentsLayout(); track appt.appointment.id) {\n        <div\n          axDrag\n          [dragCursor]=\"'grab'\"\n          [dragTransition]=\"false\"\n          [dragElementClone]=\"true\"\n          [dragData]=\"appt.appointment\"\n          [dragStartDelay]=\"dragStartDelay()\"\n          [dragDisabled]=\"!draggable() || appt.appointment.readonly || readonly()\"\n          (pointerdown)=\"getSlotId($event)\"\n          (click)=\"handleAppointmentEvent($event, appt.appointment)\"\n          (dblclick)=\"handleAppointmentEvent($event, appt.appointment)\"\n          (contextmenu)=\"handleAppointmentEvent($event, appt.appointment)\"\n          [title]=\"tooltipTemplate() ? '' : appt.appointment.title\"\n          [style.width]=\"appt.layoutWidth\"\n          [style.height]=\"appt.layoutHeight\"\n          class=\"ax-scheduler-week-appointment\"\n          [style.inset-block-start]=\"appt.layoutTop\"\n          [style.inset-inline-start]=\"appt.layoutLeft\"\n          [ngClass]=\"appt.appointment.cssClass ?? `ax-scheduler-${appt.appointment.priority ?? 'primary'}-periority`\"\n          [axTooltipDisabled]=\"tooltipTemplate() ? false : true\"\n          [axTooltipContext]=\"appt.appointment\"\n          [axTooltip]=\"tooltipTemplate()\"\n        >\n          <ax-title>\n            <span class=\"ax-scheduler-truncate\">{{ appt.appointment.title }}</span>\n            @if (hasActions()) {\n              <ax-icon\n                (click)=\"handleActionClick($event, appt.appointment)\"\n                class=\"ax-icon ax-icon-more-horizontal ax-scheduler-action-icon\"\n              ></ax-icon>\n            }\n          </ax-title>\n          <ax-subtitle>\n            {{\n              appt.appointment.originalStartDate | format: 'time' : { format: 'HH:mm', calendar: calendar() } | async\n            }}\n            -\n            {{ appt.appointment.originalEndDate | format: 'time' : { format: 'HH:mm', calendar: calendar() } | async }}\n          </ax-subtitle>\n        </div>\n      }\n\n      <!-- Overflow Badges with Popovers -->\n      @for (badge of overflowBadgesWithData(); track badge.key) {\n        <!-- Wrap badge and popover for targeting -->\n        <div\n          style=\"position: absolute\"\n          class=\"ax-scheduler-badge-wrapper\"\n          [style.inset-block-start]=\"badge.badgeTop\"\n          [style.inset-inline-start]=\"badge.badgeLeft\"\n        >\n          <!-- The Badge itself -->\n          <div\n            #actionButton\n            class=\"ax-scheduler-appointment-badge\"\n            [ngClass]=\"\n              badge.hiddenAppointments[0].cssClass ??\n              `ax-scheduler-${badge.hiddenAppointments[0].priority ?? 'primary'}-periority`\n            \"\n          >\n            +{{ badge.count }}\n          </div>\n          <!-- The Popover -->\n          <ax-popover [target]=\"actionButton\">\n            <div class=\"ax-overlay-pane ax-scheduler-popover\" axDropZone>\n              @for (appointment of badge.hiddenAppointments; track appointment.id) {\n                <div\n                  axDrag\n                  [dragCursor]=\"'grab'\"\n                  [dragData]=\"appointment\"\n                  [dragTransition]=\"false\"\n                  [dragElementClone]=\"true\"\n                  [dragStartDelay]=\"dragStartDelay()\"\n                  [dragDisabled]=\"!draggable() || appointment.readonly || readonly()\"\n                  (click)=\"handleAppointmentEvent($event, appointment)\"\n                  (dblclick)=\"handleAppointmentEvent($event, appointment)\"\n                  (contextmenu)=\"handleAppointmentEvent($event, appointment)\"\n                  [title]=\"tooltipTemplate() ? '' : appointment.title\"\n                  class=\"ax-scheduler-popover-appointment\"\n                  [ngClass]=\"appointment.cssClass ?? `ax-scheduler-${appointment.priority ?? 'primary'}-periority`\"\n                  [axTooltipDisabled]=\"tooltipTemplate() ? false : true\"\n                  [axTooltipContext]=\"appointment\"\n                  [axTooltip]=\"tooltipTemplate()\"\n                >\n                  <ax-title>\n                    <span class=\"ax-scheduler-truncate\">{{ appointment.title }}</span>\n                    @if (hasActions()) {\n                      <ax-icon\n                        (click)=\"handleActionClick($event, appointment)\"\n                        class=\"ax-icon ax-icon-more-horizontal ax-scheduler-action-icon\"\n                      ></ax-icon>\n                    }\n                  </ax-title>\n                  <ax-subtitle>\n                    {{\n                      appointment.originalStartDate | format: 'time' : { format: 'HH:mm', calendar: calendar() } | async\n                    }}\n                    -\n                    {{\n                      appointment.originalEndDate | format: 'time' : { format: 'HH:mm', calendar: calendar() } | async\n                    }}\n                  </ax-subtitle>\n                </div>\n              }\n            </div>\n          </ax-popover>\n        </div>\n      }\n    </div>\n\n    <table aria-hidden=\"true\" [border]=\"1\">\n      <tbody>\n        @for (time of hoursArray(); track time.date.getTime()) {\n          <tr>\n            @for (day of daysArray(); track day.date.date.getTime()) {\n              <td\n                axDropZone\n                #zone=\"axDropZone\"\n                [class.ax-scheduler-slot-hovered]=\"zone.isHovered()\"\n                (onElementDrop)=\"handleSingleDayDrop($event, time, day.date, 0)\"\n                (click)=\"handleSingleSlotEvent($event, time, day.date, 0)\"\n                (dblclick)=\"handleSingleSlotEvent($event, time, day.date, 0)\"\n                (contextmenu)=\"handleSingleSlotEvent($event, time, day.date, 0)\"\n                [attr.data-slot-id]=\"day.date.format('YYYYMMDD') + '-' + time.format('HHmm')\"\n              ></td>\n            }\n          </tr>\n          <tr>\n            @for (day of daysArray(); track day.date.date.getTime()) {\n              <td\n                axDropZone\n                #zone2=\"axDropZone\"\n                [class.ax-scheduler-slot-hovered]=\"zone2.isHovered()\"\n                (onElementDrop)=\"handleSingleDayDrop($event, time, day.date, 1)\"\n                (click)=\"handleSingleSlotEvent($event, time, day.date, 1)\"\n                (dblclick)=\"handleSingleSlotEvent($event, time, day.date, 1)\"\n                (contextmenu)=\"handleSingleSlotEvent($event, time, day.date, 1)\"\n                [attr.data-slot-id]=\"day.date.format('YYYYMMDD') + '-' + time.add('minute', 30).format('HHmm')\"\n              ></td>\n            }\n          </tr>\n        }\n      </tbody>\n    </table>\n  </div>\n</div>\n", styles: ["ax-scheduler-week-view{display:block;position:relative;background-color:inherit;min-width:var(--ax-comp-scheduler-width)}ax-scheduler-week-view .ax-scheduler-appointment-badge{display:flex;width:1.5rem;height:1.5rem;cursor:pointer;font-size:.75rem;align-items:center;border-radius:9999px;justify-content:center}ax-scheduler-week-view .ax-scheduler-week-header{top:0;z-index:10;width:100%;position:sticky;background-color:var(--ax-comp-scheduler-all-day-bg, inherit)}ax-scheduler-week-view .ax-scheduler-week-header .ax-scheduler-week-header-days{display:flex;background-color:inherit;border-block-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-week-view .ax-scheduler-week-header .ax-scheduler-week-header-days .ax-scheduler-week-header-table{z-index:10;flex-shrink:0;position:sticky;text-align:center;inset-inline-start:0;width:var(--ax-comp-scheduler-basic-view-blocks-width);background-color:inherit;border-inline-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-week-view .ax-scheduler-week-header .ax-scheduler-week-header-days .ax-scheduler-week-header-date{width:calc(100% - var(--ax-comp-scheduler-basic-view-blocks-width));display:flex}ax-scheduler-week-view .ax-scheduler-week-header .ax-scheduler-week-header-days .ax-scheduler-week-header-date div{width:100%;text-align:center;border-inline-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-week-view .ax-scheduler-week-header .ax-scheduler-week-header-days .ax-scheduler-week-header-date div.ax-scheduler-week-header-date-day{gap:.25rem;display:grid;align-items:center;padding-inline:.5rem;justify-content:center}ax-scheduler-week-view .ax-scheduler-week-header .ax-scheduler-week-header-days .ax-scheduler-week-header-date div.ax-scheduler-week-header-date-day.ax-state-today{color:rgba(var(--ax-sys-color-primary-surface));background-color:rgba(var(--ax-sys-color-primary-surface),.05)}ax-scheduler-week-view .ax-scheduler-week-header .ax-scheduler-week-header-days .ax-scheduler-week-header-date div.ax-scheduler-week-header-date-day.ax-state-today .ax-scheduler-week-header-date-day-char{font-weight:500}ax-scheduler-week-view .ax-scheduler-week-header .ax-scheduler-week-header-days .ax-scheduler-week-header-date div.ax-scheduler-week-header-date-day.ax-state-today .ax-scheduler-week-header-date-day-num{font-weight:700}ax-scheduler-week-view .ax-scheduler-week-header .ax-scheduler-week-header-days .ax-scheduler-week-header-date div.ax-scheduler-week-header-date-day.ax-state-holiday{color:rgba(var(--ax-sys-color-danger-surface))}ax-scheduler-week-view .ax-scheduler-week-header .ax-scheduler-week-header-days .ax-scheduler-week-header-date div.ax-scheduler-week-header-date-day.ax-state-holiday.ax-state-today{color:rgba(var(--ax-sys-color-primary-surface))}ax-scheduler-week-view .ax-scheduler-week-header .ax-scheduler-week-header-days .ax-scheduler-week-header-date div.ax-scheduler-week-header-date-day .ax-scheduler-week-header-date-day-char{max-width:100%;font-weight:300}ax-scheduler-week-view .ax-scheduler-week-header .ax-scheduler-week-header-days .ax-scheduler-week-header-date div.ax-scheduler-week-header-date-day .ax-scheduler-week-header-date-day-num{font-weight:500;font-size:1.25rem}ax-scheduler-week-view .ax-scheduler-week-header .ax-scheduler-week-header-days .ax-scheduler-week-header-date div:last-child{border-inline-end-width:0}ax-scheduler-week-view .ax-scheduler-week-header .ax-scheduler-week-header-days .ax-scheduler-week-header-date .ax-scheduler-all-day-slot{gap:.25rem;display:flex;width:14.2857142857%}ax-scheduler-week-view .ax-scheduler-week-header .ax-scheduler-week-header-days .ax-scheduler-week-header-date .ax-scheduler-all-day-slot .ax-scheduler-header-week-appointment{display:block;overflow:hidden;text-align:start;padding-inline:.5rem;width:100%;border-radius:calc(var(--ax-sys-border-radius) / 2)}ax-scheduler-week-view .ax-scheduler-week-header .ax-scheduler-week-header-days .ax-scheduler-week-header-date .ax-scheduler-all-day-slot ax-popover{display:none}ax-scheduler-week-view .ax-scheduler-week-time-container{width:100%;display:flex;background-color:inherit}ax-scheduler-week-view .ax-scheduler-week-time-container .ax-scheduler-week-time{z-index:15;position:sticky;inset-inline-start:0;background-color:var(--ax-comp-scheduler-all-day-bg, inherit)}ax-scheduler-week-view .ax-scheduler-week-time-container .ax-scheduler-week-time div{display:block;text-align:center;padding-inline:.5rem;width:var(--ax-comp-scheduler-basic-view-blocks-width);height:calc(var(--ax-comp-scheduler-basic-view-blocks-height) * 2);border-inline-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface));position:relative}ax-scheduler-week-view .ax-scheduler-week-time-container .ax-scheduler-week-table-container{width:100%;position:relative}ax-scheduler-week-view .ax-scheduler-week-time-container .ax-scheduler-week-table-container .ax-scheduler-week-appointment-container{top:0;width:100%;position:absolute}ax-scheduler-week-view .ax-scheduler-week-time-container .ax-scheduler-week-table-container .ax-scheduler-week-appointment-container .ax-scheduler-week-appointment{display:flex;position:absolute;inset-inline-start:0;flex-direction:column;padding-block:.25rem;padding-inline:.5rem;border-radius:calc(var(--ax-sys-border-radius) / 2)}ax-scheduler-week-view .ax-scheduler-week-time-container .ax-scheduler-week-table-container table{width:100%}ax-scheduler-week-view .ax-scheduler-week-time-container .ax-scheduler-week-table-container table tr{display:flex;height:var(--ax-comp-scheduler-basic-view-blocks-height);border-block-start:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-week-view .ax-scheduler-week-time-container .ax-scheduler-week-table-container table tr:first-child{border-block-start-width:0}ax-scheduler-week-view .ax-scheduler-week-time-container .ax-scheduler-week-table-container table tr td{width:100%;text-align:center;border-inline-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-week-view .ax-scheduler-week-time-container .ax-scheduler-week-table-container table tr td:last-child{border-inline-end-width:0}ax-scheduler-week-view:not(.ax-state-readonly) .ax-scheduler-week-appointment,ax-scheduler-week-view:not(.ax-state-readonly) .ax-scheduler-header-week-appointment{cursor:pointer}ax-scheduler-week-view:not(.ax-state-readonly) .ax-scheduler-all-day-slot,ax-scheduler-week-view:not(.ax-state-readonly) .ax-scheduler-week-table-container>table td{cursor:pointer;transition-property:background-color;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function)}ax-scheduler-week-view:not(.ax-state-readonly) .ax-scheduler-all-day-slot:hover,ax-scheduler-week-view:not(.ax-state-readonly) .ax-scheduler-week-table-container>table td:hover{background-color:rgba(var(--ax-comp-scheduler-slot-hover-bg, var(--ax-sys-color-primary-surface), .1))}ax-scheduler-week-view ax-title{display:flex;justify-content:space-between}ax-scheduler-week-view ax-title .ax-scheduler-action-icon{width:auto;cursor:pointer}ax-scheduler-week-view .ax-scheduler-current-time-line{height:2px}ax-scheduler-week-view .ax-scheduler-current-time-line:before{top:-5px;inset-inline-start:-6px}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: AXDragDirective, selector: "[axDrag]", inputs: ["dragData", "dragDisabled", "dragTransition", "dragElementClone", "dropZoneGroup", "dragStartDelay", "dragResetOnDblClick", "dragLockAxis", "dragClonedTemplate", "dragCursor", "dragBoundary", "dragTransitionDuration"], outputs: ["dragPositionChanged"] }, { kind: "component", type: AXPopoverComponent, selector: "ax-popover", inputs: ["width", "disabled", "offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "backdropClass", "panelClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "directive", type: AXTooltipDirective, selector: "[axTooltip]", inputs: ["axTooltipDisabled", "axTooltip", "axTooltipContext", "axTooltipPlacement", "axTooltipOffsetX", "axTooltipOffsetY", "axTooltipOpenAfter", "axTooltipCloseAfter"] }, { kind: "directive", type: AXDropZoneDirective, selector: "[axDropZone]", inputs: ["dropZoneGroup"], outputs: ["onElementDrop", "onElementHover"], exportAs: ["axDropZone"] }, { kind: "component", type: AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: 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: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: AXFormatPipe, name: "format" }, { kind: "pipe", type: AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
         
     | 
| 
      
 3456 
     | 
    
         
            +
                static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: AXSchedulerWeekViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
         
     | 
| 
      
 3457 
     | 
    
         
            +
                static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.6", type: AXSchedulerWeekViewComponent, isStandalone: true, selector: "ax-scheduler-week-view", inputs: { readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, draggable: { classPropertyName: "draggable", publicName: "draggable", isSignal: true, isRequired: false, transformFunction: null }, hasActions: { classPropertyName: "hasActions", publicName: "hasActions", isSignal: true, isRequired: false, transformFunction: null }, dragStartDelay: { classPropertyName: "dragStartDelay", publicName: "dragStartDelay", isSignal: true, isRequired: false, transformFunction: null }, calendar: { classPropertyName: "calendar", publicName: "calendar", isSignal: true, isRequired: false, transformFunction: null }, date: { classPropertyName: "date", publicName: "date", isSignal: true, isRequired: true, transformFunction: null }, endDayHour: { classPropertyName: "endDayHour", publicName: "endDayHour", isSignal: true, isRequired: true, transformFunction: null }, startDayHour: { classPropertyName: "startDayHour", publicName: "startDayHour", isSignal: true, isRequired: true, transformFunction: null }, showCurrentTimeIndicator: { classPropertyName: "showCurrentTimeIndicator", publicName: "showCurrentTimeIndicator", isSignal: true, isRequired: false, transformFunction: null }, appointments: { classPropertyName: "appointments", publicName: "appointments", isSignal: true, isRequired: false, transformFunction: null }, tooltipTemplate: { classPropertyName: "tooltipTemplate", publicName: "tooltipTemplate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { slotClickedInternal: "slotClickedInternal", slotDblClickedInternal: "slotDblClickedInternal", slotRightClickedInternal: "slotRightClickedInternal", appointmentClickedInternal: "appointmentClickedInternal", appointmentDblClickedInternal: "appointmentDblClickedInternal", appointmentRightClickedInternal: "appointmentRightClickedInternal", onActionClickInternal: "onActionClickInternal", onAppointmentDropInternal: "onAppointmentDropInternal" }, host: { properties: { "class.ax-state-readonly": "this.isReadonly" } }, providers: [{ provide: AXComponent, useExisting: AXSchedulerWeekViewComponent }], viewQueries: [{ propertyName: "currentTimeLineElement", first: true, predicate: ["currentTimeLine"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-scheduler-week-header\">\n  <div class=\"ax-scheduler-week-header-days\">\n    <div class=\"ax-scheduler-week-header-table\"></div>\n    <div class=\"ax-scheduler-week-header-date\" aria-hidden=\"true\">\n      @for (day of daysArray(); track day.date.date.getTime()) {\n        <div\n          [class.ax-state-today]=\"isToday(day.date)\"\n          class=\"ax-scheduler-week-header-date-day {{\n            day.holiday.state !== 'none' ? (day.holiday.holiday?.cssClass ?? 'ax-state-holiday') : ''\n          }}\"\n        >\n          <span\n            class=\"ax-scheduler-week-header-date-day-char ax-scheduler-truncate\"\n            [axTooltip]=\"day.holiday?.holiday?.title ?? ''\"\n          >\n            {{ day.date | format: 'date' : { format: 'dddd', calendar: calendar() } | async }}\n            @if (day.holiday.state === 'holiday' && day.holiday.holiday.title) {\n              ( {{ day.holiday.holiday.title }} )\n            }\n          </span>\n          <span class=\"ax-scheduler-week-header-date-day-num\">\n            {{ day.date | format: 'date' : { format: 'DD', calendar: calendar() } | async }}\n          </span>\n        </div>\n      }\n    </div>\n  </div>\n  <div class=\"ax-scheduler-week-header-days\">\n    <div class=\"ax-scheduler-week-header-table\">{{ '@acorex:dateTime.duration.all-day' | translate | async }}</div>\n    <div aria-hidden=\"true\" class=\"ax-scheduler-week-header-date\">\n      @for (slotData of allDayAppointmentsPerDay(); track slotData.day.date.getTime()) {\n        <div\n          axDropZone\n          #zone2=\"axDropZone\"\n          [class.ax-scheduler-slot-hovered]=\"zone2.isHovered()\"\n          (onElementDrop)=\"handleAllDayDrop($event, slotData.day)\"\n          class=\"ax-scheduler-all-day-slot\"\n          (click)=\"handleAllDaySlotEvent($event, slotData.day)\"\n          (dblclick)=\"handleAllDaySlotEvent($event, slotData.day)\"\n          (contextmenu)=\"handleAllDaySlotEvent($event, slotData.day)\"\n        >\n          @if (slotData.appointments.length > 0) {\n            <div\n              axDrag\n              [dragCursor]=\"'grab'\"\n              [dragTransition]=\"false\"\n              [dragElementClone]=\"true\"\n              [dragStartDelay]=\"dragStartDelay()\"\n              [dragData]=\"slotData.appointments[0]\"\n              [dragDisabled]=\"!draggable() || slotData.appointments[0].readonly || readonly()\"\n              (pointerdown)=\"getSlotId($event)\"\n              (click)=\"handleAppointmentEvent($event, slotData.appointments[0])\"\n              (dblclick)=\"handleAppointmentEvent($event, slotData.appointments[0])\"\n              (contextmenu)=\"handleAppointmentEvent($event, slotData.appointments[0])\"\n              [title]=\"tooltipTemplate() ? '' : slotData.appointments[0].title\"\n              class=\"ax-scheduler-header-week-appointment\"\n              [style.width]=\"slotData.appointments.length > 1 ? 'calc(100% - 2rem)' : '100%'\"\n              [ngClass]=\"\n                slotData.appointments[0].cssClass ??\n                `ax-scheduler-${slotData.appointments[0].priority ?? 'primary'}-periority`\n              \"\n              [axTooltipDisabled]=\"tooltipTemplate() ? false : true\"\n              [axTooltipContext]=\"slotData.appointments[0]\"\n              [axTooltip]=\"tooltipTemplate()\"\n            >\n              <ax-title>\n                <span class=\"ax-scheduler-truncate\">{{ slotData.appointments[0].title }}</span>\n                @if (hasActions()) {\n                  <ax-icon\n                    (click)=\"handleActionClick($event, slotData.appointments[0])\"\n                    class=\"ax-icon ax-icon-more-horizontal ax-scheduler-action-icon\"\n                  ></ax-icon>\n                }\n              </ax-title>\n            </div>\n          }\n          @if (slotData.appointments.length > 1) {\n            <div\n              #moreAppointments\n              class=\"ax-scheduler-appointment-badge\"\n              [style.width]=\"'1.5rem'\"\n              [style.border]=\"'none'\"\n              [ngClass]=\"\n                slotData.appointments[1].cssClass ??\n                `ax-scheduler-${slotData.appointments[1].priority ?? 'primary'}-periority`\n              \"\n            >\n              +{{ slotData.appointments.length - 1 }}\n            </div>\n            <ax-popover [target]=\"moreAppointments\">\n              <div class=\"ax-overlay-pane ax-scheduler-popover\" [class.ax-state-readonly]=\"readonly()\" axDropZone>\n                @for (appointment of slotData.appointments; track appointment.id; let first = $first) {\n                  @if (!first) {\n                    <div\n                      axDrag\n                      [dragCursor]=\"'grab'\"\n                      [dragData]=\"appointment\"\n                      [dragTransition]=\"false\"\n                      [dragElementClone]=\"true\"\n                      [dragStartDelay]=\"dragStartDelay()\"\n                      [dragDisabled]=\"!draggable() || appointment.readonly || readonly()\"\n                      (click)=\"handleAppointmentEvent($event, appointment)\"\n                      (dblclick)=\"handleAppointmentEvent($event, appointment)\"\n                      (contextmenu)=\"handleAppointmentEvent($event, appointment)\"\n                      [title]=\"tooltipTemplate() ? '' : appointment.title\"\n                      class=\"ax-scheduler-popover-appointment\"\n                      [ngClass]=\"appointment.cssClass ?? `ax-scheduler-${appointment.priority ?? 'primary'}-periority`\"\n                      [axTooltipDisabled]=\"tooltipTemplate() ? false : true\"\n                      [axTooltipContext]=\"appointment\"\n                      [axTooltip]=\"tooltipTemplate()\"\n                    >\n                      <ax-title>\n                        <span class=\"ax-scheduler-truncate\">{{ appointment.title }}</span>\n                        @if (hasActions()) {\n                          <ax-icon\n                            (click)=\"handleActionClick($event, appointment)\"\n                            class=\"ax-icon ax-icon-more-horizontal ax-scheduler-action-icon\"\n                          ></ax-icon>\n                        }\n                      </ax-title>\n                    </div>\n                  }\n                }\n              </div>\n            </ax-popover>\n          }\n        </div>\n      }\n    </div>\n  </div>\n</div>\n\n<div class=\"ax-scheduler-week-time-container\">\n  <div class=\"ax-scheduler-week-time\" aria-hidden=\"true\">\n    @for (time of hoursArray(); track time.date.getTime()) {\n      <div>\n        {{ time | format: 'time' : { format: 'HH:mm', calendar: calendar() } | async }}\n      </div>\n    }\n  </div>\n\n  <div class=\"ax-scheduler-week-table-container\">\n    <!-- Current Time Line Indicator -->\n    @if (\n      shouldShowCurrentTimeForToday() &&\n      getCurrentTimePositionWithOffset() !== null &&\n      getCurrentDayColumnPosition() !== null\n    ) {\n      <div\n        #currentTimeLine\n        class=\"ax-scheduler-current-time-line\"\n        [style.inset-block-start]=\"getCurrentTimePositionWithOffset()\"\n        [style.inset-inline-start]=\"getCurrentDayColumnPosition()\"\n        [style.width]=\"getCurrentDayColumnWidth()\"\n      ></div>\n    }\n    <div class=\"ax-scheduler-week-appointment-container\">\n      @for (appt of visibleAppointmentsLayout(); track appt.appointment.id) {\n        <div\n          axDrag\n          [dragCursor]=\"'grab'\"\n          [dragTransition]=\"false\"\n          [dragElementClone]=\"true\"\n          [dragData]=\"appt.appointment\"\n          [dragStartDelay]=\"dragStartDelay()\"\n          [dragDisabled]=\"!draggable() || appt.appointment.readonly || readonly()\"\n          (pointerdown)=\"getSlotId($event)\"\n          (click)=\"handleAppointmentEvent($event, appt.appointment)\"\n          (dblclick)=\"handleAppointmentEvent($event, appt.appointment)\"\n          (contextmenu)=\"handleAppointmentEvent($event, appt.appointment)\"\n          [title]=\"tooltipTemplate() ? '' : appt.appointment.title\"\n          [style.width]=\"appt.layoutWidth\"\n          [style.height]=\"appt.layoutHeight\"\n          class=\"ax-scheduler-week-appointment\"\n          [style.inset-block-start]=\"appt.layoutTop\"\n          [style.inset-inline-start]=\"appt.layoutLeft\"\n          [ngClass]=\"appt.appointment.cssClass ?? `ax-scheduler-${appt.appointment.priority ?? 'primary'}-periority`\"\n          [axTooltipDisabled]=\"tooltipTemplate() ? false : true\"\n          [axTooltipContext]=\"appt.appointment\"\n          [axTooltip]=\"tooltipTemplate()\"\n        >\n          <ax-title>\n            <span class=\"ax-scheduler-truncate\">{{ appt.appointment.title }}</span>\n            @if (hasActions()) {\n              <ax-icon\n                (click)=\"handleActionClick($event, appt.appointment)\"\n                class=\"ax-icon ax-icon-more-horizontal ax-scheduler-action-icon\"\n              ></ax-icon>\n            }\n          </ax-title>\n          <ax-subtitle>\n            {{\n              appt.appointment.originalStartDate | format: 'time' : { format: 'HH:mm', calendar: calendar() } | async\n            }}\n            -\n            {{ appt.appointment.originalEndDate | format: 'time' : { format: 'HH:mm', calendar: calendar() } | async }}\n          </ax-subtitle>\n        </div>\n      }\n\n      <!-- Overflow Badges with Popovers -->\n      @for (badge of overflowBadgesWithData(); track badge.key) {\n        <!-- Wrap badge and popover for targeting -->\n        <div\n          style=\"position: absolute\"\n          class=\"ax-scheduler-badge-wrapper\"\n          [style.inset-block-start]=\"badge.badgeTop\"\n          [style.inset-inline-start]=\"badge.badgeLeft\"\n        >\n          <!-- The Badge itself -->\n          <div\n            #actionButton\n            class=\"ax-scheduler-appointment-badge\"\n            [ngClass]=\"\n              badge.hiddenAppointments[0].cssClass ??\n              `ax-scheduler-${badge.hiddenAppointments[0].priority ?? 'primary'}-periority`\n            \"\n          >\n            +{{ badge.count }}\n          </div>\n          <!-- The Popover -->\n          <ax-popover [target]=\"actionButton\">\n            <div class=\"ax-overlay-pane ax-scheduler-popover\" axDropZone>\n              @for (appointment of badge.hiddenAppointments; track appointment.id) {\n                <div\n                  axDrag\n                  [dragCursor]=\"'grab'\"\n                  [dragData]=\"appointment\"\n                  [dragTransition]=\"false\"\n                  [dragElementClone]=\"true\"\n                  [dragStartDelay]=\"dragStartDelay()\"\n                  [dragDisabled]=\"!draggable() || appointment.readonly || readonly()\"\n                  (click)=\"handleAppointmentEvent($event, appointment)\"\n                  (dblclick)=\"handleAppointmentEvent($event, appointment)\"\n                  (contextmenu)=\"handleAppointmentEvent($event, appointment)\"\n                  [title]=\"tooltipTemplate() ? '' : appointment.title\"\n                  class=\"ax-scheduler-popover-appointment\"\n                  [ngClass]=\"appointment.cssClass ?? `ax-scheduler-${appointment.priority ?? 'primary'}-periority`\"\n                  [axTooltipDisabled]=\"tooltipTemplate() ? false : true\"\n                  [axTooltipContext]=\"appointment\"\n                  [axTooltip]=\"tooltipTemplate()\"\n                >\n                  <ax-title>\n                    <span class=\"ax-scheduler-truncate\">{{ appointment.title }}</span>\n                    @if (hasActions()) {\n                      <ax-icon\n                        (click)=\"handleActionClick($event, appointment)\"\n                        class=\"ax-icon ax-icon-more-horizontal ax-scheduler-action-icon\"\n                      ></ax-icon>\n                    }\n                  </ax-title>\n                  <ax-subtitle>\n                    {{\n                      appointment.originalStartDate | format: 'time' : { format: 'HH:mm', calendar: calendar() } | async\n                    }}\n                    -\n                    {{\n                      appointment.originalEndDate | format: 'time' : { format: 'HH:mm', calendar: calendar() } | async\n                    }}\n                  </ax-subtitle>\n                </div>\n              }\n            </div>\n          </ax-popover>\n        </div>\n      }\n    </div>\n\n    <table aria-hidden=\"true\" [border]=\"1\">\n      <tbody>\n        @for (time of hoursArray(); track time.date.getTime()) {\n          <tr>\n            @for (day of daysArray(); track day.date.date.getTime()) {\n              <td\n                axDropZone\n                #zone=\"axDropZone\"\n                [class.ax-scheduler-slot-hovered]=\"zone.isHovered()\"\n                (onElementDrop)=\"handleSingleDayDrop($event, time, day.date, 0)\"\n                (click)=\"handleSingleSlotEvent($event, time, day.date, 0)\"\n                (dblclick)=\"handleSingleSlotEvent($event, time, day.date, 0)\"\n                (contextmenu)=\"handleSingleSlotEvent($event, time, day.date, 0)\"\n                [attr.data-slot-id]=\"day.date.format('YYYYMMDD') + '-' + time.format('HHmm')\"\n              ></td>\n            }\n          </tr>\n          <tr>\n            @for (day of daysArray(); track day.date.date.getTime()) {\n              <td\n                axDropZone\n                #zone2=\"axDropZone\"\n                [class.ax-scheduler-slot-hovered]=\"zone2.isHovered()\"\n                (onElementDrop)=\"handleSingleDayDrop($event, time, day.date, 1)\"\n                (click)=\"handleSingleSlotEvent($event, time, day.date, 1)\"\n                (dblclick)=\"handleSingleSlotEvent($event, time, day.date, 1)\"\n                (contextmenu)=\"handleSingleSlotEvent($event, time, day.date, 1)\"\n                [attr.data-slot-id]=\"day.date.format('YYYYMMDD') + '-' + time.add('minute', 30).format('HHmm')\"\n              ></td>\n            }\n          </tr>\n        }\n      </tbody>\n    </table>\n  </div>\n</div>\n", styles: ["ax-scheduler-week-view{display:block;position:relative;background-color:inherit;min-width:var(--ax-comp-scheduler-width)}ax-scheduler-week-view .ax-scheduler-appointment-badge{display:flex;width:1.5rem;height:1.5rem;cursor:pointer;font-size:.75rem;align-items:center;border-radius:9999px;justify-content:center}ax-scheduler-week-view .ax-scheduler-week-header{top:0;z-index:10;width:100%;position:sticky;background-color:var(--ax-comp-scheduler-all-day-bg, inherit)}ax-scheduler-week-view .ax-scheduler-week-header .ax-scheduler-week-header-days{display:flex;background-color:inherit;border-block-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-week-view .ax-scheduler-week-header .ax-scheduler-week-header-days .ax-scheduler-week-header-table{z-index:10;flex-shrink:0;position:sticky;text-align:center;inset-inline-start:0;width:var(--ax-comp-scheduler-basic-view-blocks-width);background-color:inherit;border-inline-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-week-view .ax-scheduler-week-header .ax-scheduler-week-header-days .ax-scheduler-week-header-date{width:calc(100% - var(--ax-comp-scheduler-basic-view-blocks-width));display:flex}ax-scheduler-week-view .ax-scheduler-week-header .ax-scheduler-week-header-days .ax-scheduler-week-header-date div{width:100%;text-align:center;border-inline-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-week-view .ax-scheduler-week-header .ax-scheduler-week-header-days .ax-scheduler-week-header-date div.ax-scheduler-week-header-date-day{gap:.25rem;display:grid;align-items:center;padding-inline:.5rem;justify-content:center}ax-scheduler-week-view .ax-scheduler-week-header .ax-scheduler-week-header-days .ax-scheduler-week-header-date div.ax-scheduler-week-header-date-day.ax-state-today{color:rgba(var(--ax-sys-color-primary-surface));background-color:rgba(var(--ax-sys-color-primary-surface),.05)}ax-scheduler-week-view .ax-scheduler-week-header .ax-scheduler-week-header-days .ax-scheduler-week-header-date div.ax-scheduler-week-header-date-day.ax-state-today .ax-scheduler-week-header-date-day-char{font-weight:500}ax-scheduler-week-view .ax-scheduler-week-header .ax-scheduler-week-header-days .ax-scheduler-week-header-date div.ax-scheduler-week-header-date-day.ax-state-today .ax-scheduler-week-header-date-day-num{font-weight:700}ax-scheduler-week-view .ax-scheduler-week-header .ax-scheduler-week-header-days .ax-scheduler-week-header-date div.ax-scheduler-week-header-date-day.ax-state-holiday{color:rgba(var(--ax-sys-color-danger-surface))}ax-scheduler-week-view .ax-scheduler-week-header .ax-scheduler-week-header-days .ax-scheduler-week-header-date div.ax-scheduler-week-header-date-day.ax-state-holiday.ax-state-today{color:rgba(var(--ax-sys-color-primary-surface))}ax-scheduler-week-view .ax-scheduler-week-header .ax-scheduler-week-header-days .ax-scheduler-week-header-date div.ax-scheduler-week-header-date-day .ax-scheduler-week-header-date-day-char{max-width:100%;font-weight:300}ax-scheduler-week-view .ax-scheduler-week-header .ax-scheduler-week-header-days .ax-scheduler-week-header-date div.ax-scheduler-week-header-date-day .ax-scheduler-week-header-date-day-num{font-weight:500;font-size:1.25rem}ax-scheduler-week-view .ax-scheduler-week-header .ax-scheduler-week-header-days .ax-scheduler-week-header-date div:last-child{border-inline-end-width:0}ax-scheduler-week-view .ax-scheduler-week-header .ax-scheduler-week-header-days .ax-scheduler-week-header-date .ax-scheduler-all-day-slot{gap:.25rem;display:flex;width:14.2857142857%}ax-scheduler-week-view .ax-scheduler-week-header .ax-scheduler-week-header-days .ax-scheduler-week-header-date .ax-scheduler-all-day-slot .ax-scheduler-header-week-appointment{display:block;overflow:hidden;text-align:start;padding-inline:.5rem;width:100%;border-radius:calc(var(--ax-sys-border-radius) / 2)}ax-scheduler-week-view .ax-scheduler-week-header .ax-scheduler-week-header-days .ax-scheduler-week-header-date .ax-scheduler-all-day-slot ax-popover{display:none}ax-scheduler-week-view .ax-scheduler-week-time-container{width:100%;display:flex;background-color:inherit}ax-scheduler-week-view .ax-scheduler-week-time-container .ax-scheduler-week-time{z-index:15;position:sticky;inset-inline-start:0;background-color:var(--ax-comp-scheduler-all-day-bg, inherit)}ax-scheduler-week-view .ax-scheduler-week-time-container .ax-scheduler-week-time div{display:block;text-align:center;padding-inline:.5rem;width:var(--ax-comp-scheduler-basic-view-blocks-width);height:calc(var(--ax-comp-scheduler-basic-view-blocks-height) * 2);border-inline-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface));position:relative}ax-scheduler-week-view .ax-scheduler-week-time-container .ax-scheduler-week-table-container{width:100%;position:relative}ax-scheduler-week-view .ax-scheduler-week-time-container .ax-scheduler-week-table-container .ax-scheduler-week-appointment-container{top:0;width:100%;position:absolute}ax-scheduler-week-view .ax-scheduler-week-time-container .ax-scheduler-week-table-container .ax-scheduler-week-appointment-container .ax-scheduler-week-appointment{display:flex;position:absolute;inset-inline-start:0;flex-direction:column;padding-block:.25rem;padding-inline:.5rem;border-radius:calc(var(--ax-sys-border-radius) / 2)}ax-scheduler-week-view .ax-scheduler-week-time-container .ax-scheduler-week-table-container table{width:100%}ax-scheduler-week-view .ax-scheduler-week-time-container .ax-scheduler-week-table-container table tr{display:flex;height:var(--ax-comp-scheduler-basic-view-blocks-height);border-block-start:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-week-view .ax-scheduler-week-time-container .ax-scheduler-week-table-container table tr:first-child{border-block-start-width:0}ax-scheduler-week-view .ax-scheduler-week-time-container .ax-scheduler-week-table-container table tr td{width:100%;text-align:center;border-inline-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-week-view .ax-scheduler-week-time-container .ax-scheduler-week-table-container table tr td:last-child{border-inline-end-width:0}ax-scheduler-week-view:not(.ax-state-readonly) .ax-scheduler-week-appointment,ax-scheduler-week-view:not(.ax-state-readonly) .ax-scheduler-header-week-appointment{cursor:pointer}ax-scheduler-week-view:not(.ax-state-readonly) .ax-scheduler-all-day-slot,ax-scheduler-week-view:not(.ax-state-readonly) .ax-scheduler-week-table-container>table td{cursor:pointer;transition-property:background-color;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function)}ax-scheduler-week-view:not(.ax-state-readonly) .ax-scheduler-all-day-slot:hover,ax-scheduler-week-view:not(.ax-state-readonly) .ax-scheduler-week-table-container>table td:hover{background-color:rgba(var(--ax-comp-scheduler-slot-hover-bg, var(--ax-sys-color-primary-surface), .1))}ax-scheduler-week-view ax-title{display:flex;justify-content:space-between}ax-scheduler-week-view ax-title .ax-scheduler-action-icon{width:auto;cursor:pointer}ax-scheduler-week-view .ax-scheduler-current-time-line{height:2px}ax-scheduler-week-view .ax-scheduler-current-time-line:before{top:-5px;inset-inline-start:-6px}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: AXDragDirective, selector: "[axDrag]", inputs: ["dragData", "dragDisabled", "dragTransition", "dragElementClone", "dropZoneGroup", "dragStartDelay", "dragResetOnDblClick", "dragLockAxis", "dragClonedTemplate", "dragCursor", "dragBoundary", "dragTransitionDuration"], outputs: ["dragPositionChanged"] }, { kind: "component", type: AXPopoverComponent, selector: "ax-popover", inputs: ["width", "disabled", "offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "backdropClass", "panelClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "directive", type: AXTooltipDirective, selector: "[axTooltip]", inputs: ["axTooltipDisabled", "axTooltip", "axTooltipContext", "axTooltipPlacement", "axTooltipOffsetX", "axTooltipOffsetY", "axTooltipOpenAfter", "axTooltipCloseAfter"] }, { kind: "directive", type: AXDropZoneDirective, selector: "[axDropZone]", inputs: ["dropZoneGroup"], outputs: ["onElementDrop", "onElementHover"], exportAs: ["axDropZone"] }, { kind: "component", type: AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: 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: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: AXFormatPipe, name: "format" }, { kind: "pipe", type: AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
         
     | 
| 
       3458 
3458 
     | 
    
         
             
            }
         
     | 
| 
       3459 
     | 
    
         
            -
            i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3. 
     | 
| 
      
 3459 
     | 
    
         
            +
            i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: AXSchedulerWeekViewComponent, decorators: [{
         
     | 
| 
       3460 
3460 
     | 
    
         
             
                        type: Component,
         
     | 
| 
       3461 
3461 
     | 
    
         
             
                        args: [{ selector: 'ax-scheduler-week-view', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [
         
     | 
| 
       3462 
3462 
     | 
    
         
             
                                    NgClass,
         
     | 
| 
         @@ -3470,7 +3470,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImpor 
     | 
|
| 
       3470 
3470 
     | 
    
         
             
                                    AXDecoratorIconComponent,
         
     | 
| 
       3471 
3471 
     | 
    
         
             
                                    AXDecoratorGenericComponent,
         
     | 
| 
       3472 
3472 
     | 
    
         
             
                                ], providers: [{ provide: AXComponent, useExisting: AXSchedulerWeekViewComponent }], template: "<div class=\"ax-scheduler-week-header\">\n  <div class=\"ax-scheduler-week-header-days\">\n    <div class=\"ax-scheduler-week-header-table\"></div>\n    <div class=\"ax-scheduler-week-header-date\" aria-hidden=\"true\">\n      @for (day of daysArray(); track day.date.date.getTime()) {\n        <div\n          [class.ax-state-today]=\"isToday(day.date)\"\n          class=\"ax-scheduler-week-header-date-day {{\n            day.holiday.state !== 'none' ? (day.holiday.holiday?.cssClass ?? 'ax-state-holiday') : ''\n          }}\"\n        >\n          <span\n            class=\"ax-scheduler-week-header-date-day-char ax-scheduler-truncate\"\n            [axTooltip]=\"day.holiday?.holiday?.title ?? ''\"\n          >\n            {{ day.date | format: 'date' : { format: 'dddd', calendar: calendar() } | async }}\n            @if (day.holiday.state === 'holiday' && day.holiday.holiday.title) {\n              ( {{ day.holiday.holiday.title }} )\n            }\n          </span>\n          <span class=\"ax-scheduler-week-header-date-day-num\">\n            {{ day.date | format: 'date' : { format: 'DD', calendar: calendar() } | async }}\n          </span>\n        </div>\n      }\n    </div>\n  </div>\n  <div class=\"ax-scheduler-week-header-days\">\n    <div class=\"ax-scheduler-week-header-table\">{{ '@acorex:dateTime.duration.all-day' | translate | async }}</div>\n    <div aria-hidden=\"true\" class=\"ax-scheduler-week-header-date\">\n      @for (slotData of allDayAppointmentsPerDay(); track slotData.day.date.getTime()) {\n        <div\n          axDropZone\n          #zone2=\"axDropZone\"\n          [class.ax-scheduler-slot-hovered]=\"zone2.isHovered()\"\n          (onElementDrop)=\"handleAllDayDrop($event, slotData.day)\"\n          class=\"ax-scheduler-all-day-slot\"\n          (click)=\"handleAllDaySlotEvent($event, slotData.day)\"\n          (dblclick)=\"handleAllDaySlotEvent($event, slotData.day)\"\n          (contextmenu)=\"handleAllDaySlotEvent($event, slotData.day)\"\n        >\n          @if (slotData.appointments.length > 0) {\n            <div\n              axDrag\n              [dragCursor]=\"'grab'\"\n              [dragTransition]=\"false\"\n              [dragElementClone]=\"true\"\n              [dragStartDelay]=\"dragStartDelay()\"\n              [dragData]=\"slotData.appointments[0]\"\n              [dragDisabled]=\"!draggable() || slotData.appointments[0].readonly || readonly()\"\n              (pointerdown)=\"getSlotId($event)\"\n              (click)=\"handleAppointmentEvent($event, slotData.appointments[0])\"\n              (dblclick)=\"handleAppointmentEvent($event, slotData.appointments[0])\"\n              (contextmenu)=\"handleAppointmentEvent($event, slotData.appointments[0])\"\n              [title]=\"tooltipTemplate() ? '' : slotData.appointments[0].title\"\n              class=\"ax-scheduler-header-week-appointment\"\n              [style.width]=\"slotData.appointments.length > 1 ? 'calc(100% - 2rem)' : '100%'\"\n              [ngClass]=\"\n                slotData.appointments[0].cssClass ??\n                `ax-scheduler-${slotData.appointments[0].priority ?? 'primary'}-periority`\n              \"\n              [axTooltipDisabled]=\"tooltipTemplate() ? false : true\"\n              [axTooltipContext]=\"slotData.appointments[0]\"\n              [axTooltip]=\"tooltipTemplate()\"\n            >\n              <ax-title>\n                <span class=\"ax-scheduler-truncate\">{{ slotData.appointments[0].title }}</span>\n                @if (hasActions()) {\n                  <ax-icon\n                    (click)=\"handleActionClick($event, slotData.appointments[0])\"\n                    class=\"ax-icon ax-icon-more-horizontal ax-scheduler-action-icon\"\n                  ></ax-icon>\n                }\n              </ax-title>\n            </div>\n          }\n          @if (slotData.appointments.length > 1) {\n            <div\n              #moreAppointments\n              class=\"ax-scheduler-appointment-badge\"\n              [style.width]=\"'1.5rem'\"\n              [style.border]=\"'none'\"\n              [ngClass]=\"\n                slotData.appointments[1].cssClass ??\n                `ax-scheduler-${slotData.appointments[1].priority ?? 'primary'}-periority`\n              \"\n            >\n              +{{ slotData.appointments.length - 1 }}\n            </div>\n            <ax-popover [target]=\"moreAppointments\">\n              <div class=\"ax-overlay-pane ax-scheduler-popover\" [class.ax-state-readonly]=\"readonly()\" axDropZone>\n                @for (appointment of slotData.appointments; track appointment.id; let first = $first) {\n                  @if (!first) {\n                    <div\n                      axDrag\n                      [dragCursor]=\"'grab'\"\n                      [dragData]=\"appointment\"\n                      [dragTransition]=\"false\"\n                      [dragElementClone]=\"true\"\n                      [dragStartDelay]=\"dragStartDelay()\"\n                      [dragDisabled]=\"!draggable() || appointment.readonly || readonly()\"\n                      (click)=\"handleAppointmentEvent($event, appointment)\"\n                      (dblclick)=\"handleAppointmentEvent($event, appointment)\"\n                      (contextmenu)=\"handleAppointmentEvent($event, appointment)\"\n                      [title]=\"tooltipTemplate() ? '' : appointment.title\"\n                      class=\"ax-scheduler-popover-appointment\"\n                      [ngClass]=\"appointment.cssClass ?? `ax-scheduler-${appointment.priority ?? 'primary'}-periority`\"\n                      [axTooltipDisabled]=\"tooltipTemplate() ? false : true\"\n                      [axTooltipContext]=\"appointment\"\n                      [axTooltip]=\"tooltipTemplate()\"\n                    >\n                      <ax-title>\n                        <span class=\"ax-scheduler-truncate\">{{ appointment.title }}</span>\n                        @if (hasActions()) {\n                          <ax-icon\n                            (click)=\"handleActionClick($event, appointment)\"\n                            class=\"ax-icon ax-icon-more-horizontal ax-scheduler-action-icon\"\n                          ></ax-icon>\n                        }\n                      </ax-title>\n                    </div>\n                  }\n                }\n              </div>\n            </ax-popover>\n          }\n        </div>\n      }\n    </div>\n  </div>\n</div>\n\n<div class=\"ax-scheduler-week-time-container\">\n  <div class=\"ax-scheduler-week-time\" aria-hidden=\"true\">\n    @for (time of hoursArray(); track time.date.getTime()) {\n      <div>\n        {{ time | format: 'time' : { format: 'HH:mm', calendar: calendar() } | async }}\n      </div>\n    }\n  </div>\n\n  <div class=\"ax-scheduler-week-table-container\">\n    <!-- Current Time Line Indicator -->\n    @if (\n      shouldShowCurrentTimeForToday() &&\n      getCurrentTimePositionWithOffset() !== null &&\n      getCurrentDayColumnPosition() !== null\n    ) {\n      <div\n        #currentTimeLine\n        class=\"ax-scheduler-current-time-line\"\n        [style.inset-block-start]=\"getCurrentTimePositionWithOffset()\"\n        [style.inset-inline-start]=\"getCurrentDayColumnPosition()\"\n        [style.width]=\"getCurrentDayColumnWidth()\"\n      ></div>\n    }\n    <div class=\"ax-scheduler-week-appointment-container\">\n      @for (appt of visibleAppointmentsLayout(); track appt.appointment.id) {\n        <div\n          axDrag\n          [dragCursor]=\"'grab'\"\n          [dragTransition]=\"false\"\n          [dragElementClone]=\"true\"\n          [dragData]=\"appt.appointment\"\n          [dragStartDelay]=\"dragStartDelay()\"\n          [dragDisabled]=\"!draggable() || appt.appointment.readonly || readonly()\"\n          (pointerdown)=\"getSlotId($event)\"\n          (click)=\"handleAppointmentEvent($event, appt.appointment)\"\n          (dblclick)=\"handleAppointmentEvent($event, appt.appointment)\"\n          (contextmenu)=\"handleAppointmentEvent($event, appt.appointment)\"\n          [title]=\"tooltipTemplate() ? '' : appt.appointment.title\"\n          [style.width]=\"appt.layoutWidth\"\n          [style.height]=\"appt.layoutHeight\"\n          class=\"ax-scheduler-week-appointment\"\n          [style.inset-block-start]=\"appt.layoutTop\"\n          [style.inset-inline-start]=\"appt.layoutLeft\"\n          [ngClass]=\"appt.appointment.cssClass ?? `ax-scheduler-${appt.appointment.priority ?? 'primary'}-periority`\"\n          [axTooltipDisabled]=\"tooltipTemplate() ? false : true\"\n          [axTooltipContext]=\"appt.appointment\"\n          [axTooltip]=\"tooltipTemplate()\"\n        >\n          <ax-title>\n            <span class=\"ax-scheduler-truncate\">{{ appt.appointment.title }}</span>\n            @if (hasActions()) {\n              <ax-icon\n                (click)=\"handleActionClick($event, appt.appointment)\"\n                class=\"ax-icon ax-icon-more-horizontal ax-scheduler-action-icon\"\n              ></ax-icon>\n            }\n          </ax-title>\n          <ax-subtitle>\n            {{\n              appt.appointment.originalStartDate | format: 'time' : { format: 'HH:mm', calendar: calendar() } | async\n            }}\n            -\n            {{ appt.appointment.originalEndDate | format: 'time' : { format: 'HH:mm', calendar: calendar() } | async }}\n          </ax-subtitle>\n        </div>\n      }\n\n      <!-- Overflow Badges with Popovers -->\n      @for (badge of overflowBadgesWithData(); track badge.key) {\n        <!-- Wrap badge and popover for targeting -->\n        <div\n          style=\"position: absolute\"\n          class=\"ax-scheduler-badge-wrapper\"\n          [style.inset-block-start]=\"badge.badgeTop\"\n          [style.inset-inline-start]=\"badge.badgeLeft\"\n        >\n          <!-- The Badge itself -->\n          <div\n            #actionButton\n            class=\"ax-scheduler-appointment-badge\"\n            [ngClass]=\"\n              badge.hiddenAppointments[0].cssClass ??\n              `ax-scheduler-${badge.hiddenAppointments[0].priority ?? 'primary'}-periority`\n            \"\n          >\n            +{{ badge.count }}\n          </div>\n          <!-- The Popover -->\n          <ax-popover [target]=\"actionButton\">\n            <div class=\"ax-overlay-pane ax-scheduler-popover\" axDropZone>\n              @for (appointment of badge.hiddenAppointments; track appointment.id) {\n                <div\n                  axDrag\n                  [dragCursor]=\"'grab'\"\n                  [dragData]=\"appointment\"\n                  [dragTransition]=\"false\"\n                  [dragElementClone]=\"true\"\n                  [dragStartDelay]=\"dragStartDelay()\"\n                  [dragDisabled]=\"!draggable() || appointment.readonly || readonly()\"\n                  (click)=\"handleAppointmentEvent($event, appointment)\"\n                  (dblclick)=\"handleAppointmentEvent($event, appointment)\"\n                  (contextmenu)=\"handleAppointmentEvent($event, appointment)\"\n                  [title]=\"tooltipTemplate() ? '' : appointment.title\"\n                  class=\"ax-scheduler-popover-appointment\"\n                  [ngClass]=\"appointment.cssClass ?? `ax-scheduler-${appointment.priority ?? 'primary'}-periority`\"\n                  [axTooltipDisabled]=\"tooltipTemplate() ? false : true\"\n                  [axTooltipContext]=\"appointment\"\n                  [axTooltip]=\"tooltipTemplate()\"\n                >\n                  <ax-title>\n                    <span class=\"ax-scheduler-truncate\">{{ appointment.title }}</span>\n                    @if (hasActions()) {\n                      <ax-icon\n                        (click)=\"handleActionClick($event, appointment)\"\n                        class=\"ax-icon ax-icon-more-horizontal ax-scheduler-action-icon\"\n                      ></ax-icon>\n                    }\n                  </ax-title>\n                  <ax-subtitle>\n                    {{\n                      appointment.originalStartDate | format: 'time' : { format: 'HH:mm', calendar: calendar() } | async\n                    }}\n                    -\n                    {{\n                      appointment.originalEndDate | format: 'time' : { format: 'HH:mm', calendar: calendar() } | async\n                    }}\n                  </ax-subtitle>\n                </div>\n              }\n            </div>\n          </ax-popover>\n        </div>\n      }\n    </div>\n\n    <table aria-hidden=\"true\" [border]=\"1\">\n      <tbody>\n        @for (time of hoursArray(); track time.date.getTime()) {\n          <tr>\n            @for (day of daysArray(); track day.date.date.getTime()) {\n              <td\n                axDropZone\n                #zone=\"axDropZone\"\n                [class.ax-scheduler-slot-hovered]=\"zone.isHovered()\"\n                (onElementDrop)=\"handleSingleDayDrop($event, time, day.date, 0)\"\n                (click)=\"handleSingleSlotEvent($event, time, day.date, 0)\"\n                (dblclick)=\"handleSingleSlotEvent($event, time, day.date, 0)\"\n                (contextmenu)=\"handleSingleSlotEvent($event, time, day.date, 0)\"\n                [attr.data-slot-id]=\"day.date.format('YYYYMMDD') + '-' + time.format('HHmm')\"\n              ></td>\n            }\n          </tr>\n          <tr>\n            @for (day of daysArray(); track day.date.date.getTime()) {\n              <td\n                axDropZone\n                #zone2=\"axDropZone\"\n                [class.ax-scheduler-slot-hovered]=\"zone2.isHovered()\"\n                (onElementDrop)=\"handleSingleDayDrop($event, time, day.date, 1)\"\n                (click)=\"handleSingleSlotEvent($event, time, day.date, 1)\"\n                (dblclick)=\"handleSingleSlotEvent($event, time, day.date, 1)\"\n                (contextmenu)=\"handleSingleSlotEvent($event, time, day.date, 1)\"\n                [attr.data-slot-id]=\"day.date.format('YYYYMMDD') + '-' + time.add('minute', 30).format('HHmm')\"\n              ></td>\n            }\n          </tr>\n        }\n      </tbody>\n    </table>\n  </div>\n</div>\n", styles: ["ax-scheduler-week-view{display:block;position:relative;background-color:inherit;min-width:var(--ax-comp-scheduler-width)}ax-scheduler-week-view .ax-scheduler-appointment-badge{display:flex;width:1.5rem;height:1.5rem;cursor:pointer;font-size:.75rem;align-items:center;border-radius:9999px;justify-content:center}ax-scheduler-week-view .ax-scheduler-week-header{top:0;z-index:10;width:100%;position:sticky;background-color:var(--ax-comp-scheduler-all-day-bg, inherit)}ax-scheduler-week-view .ax-scheduler-week-header .ax-scheduler-week-header-days{display:flex;background-color:inherit;border-block-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-week-view .ax-scheduler-week-header .ax-scheduler-week-header-days .ax-scheduler-week-header-table{z-index:10;flex-shrink:0;position:sticky;text-align:center;inset-inline-start:0;width:var(--ax-comp-scheduler-basic-view-blocks-width);background-color:inherit;border-inline-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-week-view .ax-scheduler-week-header .ax-scheduler-week-header-days .ax-scheduler-week-header-date{width:calc(100% - var(--ax-comp-scheduler-basic-view-blocks-width));display:flex}ax-scheduler-week-view .ax-scheduler-week-header .ax-scheduler-week-header-days .ax-scheduler-week-header-date div{width:100%;text-align:center;border-inline-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-week-view .ax-scheduler-week-header .ax-scheduler-week-header-days .ax-scheduler-week-header-date div.ax-scheduler-week-header-date-day{gap:.25rem;display:grid;align-items:center;padding-inline:.5rem;justify-content:center}ax-scheduler-week-view .ax-scheduler-week-header .ax-scheduler-week-header-days .ax-scheduler-week-header-date div.ax-scheduler-week-header-date-day.ax-state-today{color:rgba(var(--ax-sys-color-primary-surface));background-color:rgba(var(--ax-sys-color-primary-surface),.05)}ax-scheduler-week-view .ax-scheduler-week-header .ax-scheduler-week-header-days .ax-scheduler-week-header-date div.ax-scheduler-week-header-date-day.ax-state-today .ax-scheduler-week-header-date-day-char{font-weight:500}ax-scheduler-week-view .ax-scheduler-week-header .ax-scheduler-week-header-days .ax-scheduler-week-header-date div.ax-scheduler-week-header-date-day.ax-state-today .ax-scheduler-week-header-date-day-num{font-weight:700}ax-scheduler-week-view .ax-scheduler-week-header .ax-scheduler-week-header-days .ax-scheduler-week-header-date div.ax-scheduler-week-header-date-day.ax-state-holiday{color:rgba(var(--ax-sys-color-danger-surface))}ax-scheduler-week-view .ax-scheduler-week-header .ax-scheduler-week-header-days .ax-scheduler-week-header-date div.ax-scheduler-week-header-date-day.ax-state-holiday.ax-state-today{color:rgba(var(--ax-sys-color-primary-surface))}ax-scheduler-week-view .ax-scheduler-week-header .ax-scheduler-week-header-days .ax-scheduler-week-header-date div.ax-scheduler-week-header-date-day .ax-scheduler-week-header-date-day-char{max-width:100%;font-weight:300}ax-scheduler-week-view .ax-scheduler-week-header .ax-scheduler-week-header-days .ax-scheduler-week-header-date div.ax-scheduler-week-header-date-day .ax-scheduler-week-header-date-day-num{font-weight:500;font-size:1.25rem}ax-scheduler-week-view .ax-scheduler-week-header .ax-scheduler-week-header-days .ax-scheduler-week-header-date div:last-child{border-inline-end-width:0}ax-scheduler-week-view .ax-scheduler-week-header .ax-scheduler-week-header-days .ax-scheduler-week-header-date .ax-scheduler-all-day-slot{gap:.25rem;display:flex;width:14.2857142857%}ax-scheduler-week-view .ax-scheduler-week-header .ax-scheduler-week-header-days .ax-scheduler-week-header-date .ax-scheduler-all-day-slot .ax-scheduler-header-week-appointment{display:block;overflow:hidden;text-align:start;padding-inline:.5rem;width:100%;border-radius:calc(var(--ax-sys-border-radius) / 2)}ax-scheduler-week-view .ax-scheduler-week-header .ax-scheduler-week-header-days .ax-scheduler-week-header-date .ax-scheduler-all-day-slot ax-popover{display:none}ax-scheduler-week-view .ax-scheduler-week-time-container{width:100%;display:flex;background-color:inherit}ax-scheduler-week-view .ax-scheduler-week-time-container .ax-scheduler-week-time{z-index:15;position:sticky;inset-inline-start:0;background-color:var(--ax-comp-scheduler-all-day-bg, inherit)}ax-scheduler-week-view .ax-scheduler-week-time-container .ax-scheduler-week-time div{display:block;text-align:center;padding-inline:.5rem;width:var(--ax-comp-scheduler-basic-view-blocks-width);height:calc(var(--ax-comp-scheduler-basic-view-blocks-height) * 2);border-inline-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface));position:relative}ax-scheduler-week-view .ax-scheduler-week-time-container .ax-scheduler-week-table-container{width:100%;position:relative}ax-scheduler-week-view .ax-scheduler-week-time-container .ax-scheduler-week-table-container .ax-scheduler-week-appointment-container{top:0;width:100%;position:absolute}ax-scheduler-week-view .ax-scheduler-week-time-container .ax-scheduler-week-table-container .ax-scheduler-week-appointment-container .ax-scheduler-week-appointment{display:flex;position:absolute;inset-inline-start:0;flex-direction:column;padding-block:.25rem;padding-inline:.5rem;border-radius:calc(var(--ax-sys-border-radius) / 2)}ax-scheduler-week-view .ax-scheduler-week-time-container .ax-scheduler-week-table-container table{width:100%}ax-scheduler-week-view .ax-scheduler-week-time-container .ax-scheduler-week-table-container table tr{display:flex;height:var(--ax-comp-scheduler-basic-view-blocks-height);border-block-start:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-week-view .ax-scheduler-week-time-container .ax-scheduler-week-table-container table tr:first-child{border-block-start-width:0}ax-scheduler-week-view .ax-scheduler-week-time-container .ax-scheduler-week-table-container table tr td{width:100%;text-align:center;border-inline-end:1px solid rgba(var(--ax-sys-color-border-lightest-surface))}ax-scheduler-week-view .ax-scheduler-week-time-container .ax-scheduler-week-table-container table tr td:last-child{border-inline-end-width:0}ax-scheduler-week-view:not(.ax-state-readonly) .ax-scheduler-week-appointment,ax-scheduler-week-view:not(.ax-state-readonly) .ax-scheduler-header-week-appointment{cursor:pointer}ax-scheduler-week-view:not(.ax-state-readonly) .ax-scheduler-all-day-slot,ax-scheduler-week-view:not(.ax-state-readonly) .ax-scheduler-week-table-container>table td{cursor:pointer;transition-property:background-color;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function)}ax-scheduler-week-view:not(.ax-state-readonly) .ax-scheduler-all-day-slot:hover,ax-scheduler-week-view:not(.ax-state-readonly) .ax-scheduler-week-table-container>table td:hover{background-color:rgba(var(--ax-comp-scheduler-slot-hover-bg, var(--ax-sys-color-primary-surface), .1))}ax-scheduler-week-view ax-title{display:flex;justify-content:space-between}ax-scheduler-week-view ax-title .ax-scheduler-action-icon{width:auto;cursor:pointer}ax-scheduler-week-view .ax-scheduler-current-time-line{height:2px}ax-scheduler-week-view .ax-scheduler-current-time-line:before{top:-5px;inset-inline-start:-6px}\n"] }]
         
     | 
| 
       3473 
     | 
    
         
            -
                    }], propDecorators: { isReadonly: [{
         
     | 
| 
      
 3473 
     | 
    
         
            +
                    }], propDecorators: { readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], draggable: [{ type: i0.Input, args: [{ isSignal: true, alias: "draggable", required: false }] }], hasActions: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasActions", required: false }] }], dragStartDelay: [{ type: i0.Input, args: [{ isSignal: true, alias: "dragStartDelay", required: false }] }], calendar: [{ type: i0.Input, args: [{ isSignal: true, alias: "calendar", required: false }] }], date: [{ type: i0.Input, args: [{ isSignal: true, alias: "date", required: true }] }], endDayHour: [{ type: i0.Input, args: [{ isSignal: true, alias: "endDayHour", required: true }] }], startDayHour: [{ type: i0.Input, args: [{ isSignal: true, alias: "startDayHour", required: true }] }], showCurrentTimeIndicator: [{ type: i0.Input, args: [{ isSignal: true, alias: "showCurrentTimeIndicator", required: false }] }], appointments: [{ type: i0.Input, args: [{ isSignal: true, alias: "appointments", required: false }] }], tooltipTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "tooltipTemplate", required: false }] }], currentTimeLineElement: [{ type: i0.ViewChild, args: ['currentTimeLine', { isSignal: true }] }], slotClickedInternal: [{ type: i0.Output, args: ["slotClickedInternal"] }], slotDblClickedInternal: [{ type: i0.Output, args: ["slotDblClickedInternal"] }], slotRightClickedInternal: [{ type: i0.Output, args: ["slotRightClickedInternal"] }], appointmentClickedInternal: [{ type: i0.Output, args: ["appointmentClickedInternal"] }], appointmentDblClickedInternal: [{ type: i0.Output, args: ["appointmentDblClickedInternal"] }], appointmentRightClickedInternal: [{ type: i0.Output, args: ["appointmentRightClickedInternal"] }], onActionClickInternal: [{ type: i0.Output, args: ["onActionClickInternal"] }], onAppointmentDropInternal: [{ type: i0.Output, args: ["onAppointmentDropInternal"] }], isReadonly: [{
         
     | 
| 
       3474 
3474 
     | 
    
         
             
                            type: HostBinding,
         
     | 
| 
       3475 
3475 
     | 
    
         
             
                            args: ['class.ax-state-readonly']
         
     | 
| 
       3476 
3476 
     | 
    
         
             
                        }] } });
         
     | 
| 
         @@ -3912,10 +3912,10 @@ class AXSchedulerComponent extends NXComponent { 
     | 
|
| 
       3912 
3912 
     | 
    
         
             
                    this._appointments.set(list);
         
     | 
| 
       3913 
3913 
     | 
    
         
             
                    this.onDataLoaded.emit();
         
     | 
| 
       3914 
3914 
     | 
    
         
             
                }
         
     | 
| 
       3915 
     | 
    
         
            -
                static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3. 
     | 
| 
       3916 
     | 
    
         
            -
                static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.4", type: AXSchedulerComponent, isStandalone: true, selector: "ax-scheduler", inputs: { calendar: { classPropertyName: "calendar", publicName: "calendar", isSignal: true, isRequired: false, transformFunction: null }, startingDate: { classPropertyName: "startingDate", publicName: "startingDate", isSignal: true, isRequired: false, transformFunction: null }, endDayHour: { classPropertyName: "endDayHour", publicName: "endDayHour", isSignal: true, isRequired: false, transformFunction: null }, startDayHour: { classPropertyName: "startDayHour", publicName: "startDayHour", isSignal: true, isRequired: false, transformFunction: null }, hasHeader: { classPropertyName: "hasHeader", publicName: "hasHeader", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, draggable: { classPropertyName: "draggable", publicName: "draggable", isSignal: true, isRequired: false, transformFunction: null }, hasActions: { classPropertyName: "hasActions", publicName: "hasActions", isSignal: true, isRequired: false, transformFunction: null }, dragStartDelay: { classPropertyName: "dragStartDelay", publicName: "dragStartDelay", isSignal: true, isRequired: false, transformFunction: null }, weekend: { classPropertyName: "weekend", publicName: "weekend", isSignal: true, isRequired: false, transformFunction: null }, allowFullScreen: { classPropertyName: "allowFullScreen", publicName: "allowFullScreen", isSignal: true, isRequired: false, transformFunction: null }, multiDayViewDaysCount: { classPropertyName: "multiDayViewDaysCount", publicName: "multiDayViewDaysCount", isSignal: true, isRequired: false, transformFunction: null }, showResourceHeaders: { classPropertyName: "showResourceHeaders", publicName: "showResourceHeaders", isSignal: true, isRequired: false, transformFunction: null }, showCurrentTimeIndicator: { classPropertyName: "showCurrentTimeIndicator", publicName: "showCurrentTimeIndicator", isSignal: true, isRequired: false, transformFunction: null }, showUnassignedAppointments: { classPropertyName: "showUnassignedAppointments", publicName: "showUnassignedAppointments", isSignal: true, isRequired: false, transformFunction: null }, resources: { classPropertyName: "resources", publicName: "resources", isSignal: true, isRequired: false, transformFunction: null }, resourceTemplate: { classPropertyName: "resourceTemplate", publicName: "resourceTemplate", isSignal: true, isRequired: false, transformFunction: null }, firstDayOfWeek: { classPropertyName: "firstDayOfWeek", publicName: "firstDayOfWeek", isSignal: true, isRequired: false, transformFunction: null }, tooltipTemplate: { classPropertyName: "tooltipTemplate", publicName: "tooltipTemplate", isSignal: true, isRequired: false, transformFunction: null }, dataSource: { classPropertyName: "dataSource", publicName: "dataSource", isSignal: true, isRequired: false, transformFunction: null }, holidays: { classPropertyName: "holidays", publicName: "holidays", isSignal: true, isRequired: false, transformFunction: null }, views: { classPropertyName: "views", publicName: "views", isSignal: true, isRequired: false, transformFunction: null }, selectedView: { classPropertyName: "selectedView", publicName: "selectedView", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selectedView: "selectedViewChange", onDataLoaded: "onDataLoaded", onRangeChanged: "onRangeChanged", onSlotClicked: "onSlotClicked", onSlotDblClicked: "onSlotDblClicked", onSlotRightClick: "onSlotRightClick", onAppointmentDrop: "onAppointmentDrop", onActionClick: "onActionClick", onAppointmentClicked: "onAppointmentClicked", onAppointmentDblClicked: "onAppointmentDblClicked", onAppointmentRightClick: "onAppointmentRightClick" }, providers: [AXUnsubscriber, { provide: AXComponent, useExisting: AXSchedulerComponent }], viewQueries: [{ propertyName: "viewModeSelectbox", first: true, predicate: AXSelectBoxComponent, descendants: true, isSignal: true }, { propertyName: "calendarPopover", first: true, predicate: ["calendarPopover"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-scheduler-container\">\n  @if (hasHeader()) {\n    <div class=\"ax-scheduler-header\">\n      <div class=\"ax-scheduler-date\">\n        <ax-button look=\"blank\" (onClick)=\"prevClick()\">\n          <ax-icon\n            class=\"ax-icon ax-text-xl\"\n            [ngClass]=\"{\n              'ax-icon-chevron-left': !rtl(),\n              'ax-icon-chevron-right': rtl(),\n            }\"\n          ></ax-icon>\n        </ax-button>\n        <ax-button look=\"blank\" [text]=\"currentDateText()\" #date></ax-button>\n        <ax-button look=\"blank\" (onClick)=\"nextClick()\">\n          <ax-icon\n            class=\"ax-icon ax-text-xl\"\n            [ngClass]=\"{\n              'ax-icon-chevron-right': !rtl(),\n              'ax-icon-chevron-left': rtl(),\n            }\"\n          ></ax-icon>\n        </ax-button>\n        <ax-popover [target]=\"date\" #calendarPopover>\n          <div class=\"ax-overlay-pane\">\n            <ax-calendar\n              [type]=\"calendarType()\"\n              [depth]=\"calendarDepth()\"\n              [ngModel]=\"currentDate()\"\n              (onValueChanged)=\"calendarDateChanged($event)\"\n            ></ax-calendar>\n          </div>\n        </ax-popover>\n      </div>\n      <div class=\"ax-scheduler-actions\">\n        <ax-select-box\n          [dropdownWidth]=\"'200px'\"\n          [ngModel]=\"selectedView()\"\n          [dataSource]=\"viewsDataSource()\"\n          (onValueChanged)=\"viewChanged($event)\"\n        ></ax-select-box>\n\n        @if (allowFullScreen()) {\n          <ax-button look=\"blank\" (onClick)=\"handleFullScreen()\">\n            <ax-icon>\n              <i\n                class=\"fa-solid fa-expand\"\n                [ngClass]=\"{ 'fa-compress': isFullScreen(), 'fa-expand': !isFullScreen() }\"\n              ></i>\n            </ax-icon>\n          </ax-button>\n        }\n      </div>\n    </div>\n  }\n  <div class=\"ax-scheduler-views-container\">\n    @switch (selectedView()) {\n      @case ('day') {\n        <ax-scheduler-day-view\n          [date]=\"currentDate()\"\n          [readonly]=\"readonly()\"\n          [draggable]=\"draggable()\"\n          [hasActions]=\"hasActions()\"\n          [calendar]=\"calendarType()\"\n          [endDayHour]=\"endDayHour()\"\n          [startDayHour]=\"startDayHour()\"\n          [showCurrentTimeIndicator]=\"showCurrentTimeIndicator()\"\n          [appointments]=\"viewAppointments()\"\n          [dragStartDelay]=\"dragStartDelay()\"\n          [tooltipTemplate]=\"tooltipTemplate()\"\n          (onActionClickInternal)=\"onActionClick.emit($event)\"\n          (slotClickedInternal)=\"handleSlotClickInternal($event)\"\n          (slotDblClickedInternal)=\"handleSlotDblClickInternal($event)\"\n          (slotRightClickedInternal)=\"handleSlotRightClickInternal($event)\"\n          (onAppointmentDropInternal)=\"handleAppointmentDropInternal($event)\"\n          (appointmentClickedInternal)=\"handleAppointmentClickInternal($event)\"\n          (appointmentDblClickedInternal)=\"handleAppointmentDblClickInternal($event)\"\n          (appointmentRightClickedInternal)=\"handleAppointmentRightClickInternal($event)\"\n        ></ax-scheduler-day-view>\n      }\n      @case ('week') {\n        <ax-scheduler-week-view\n          [date]=\"currentDate()\"\n          [readonly]=\"readonly()\"\n          [draggable]=\"draggable()\"\n          [calendar]=\"calendarType()\"\n          [endDayHour]=\"endDayHour()\"\n          [hasActions]=\"hasActions()\"\n          [startDayHour]=\"startDayHour()\"\n          [showCurrentTimeIndicator]=\"showCurrentTimeIndicator()\"\n          [appointments]=\"viewAppointments()\"\n          [dragStartDelay]=\"dragStartDelay()\"\n          [tooltipTemplate]=\"tooltipTemplate()\"\n          (onActionClickInternal)=\"onActionClick.emit($event)\"\n          (slotClickedInternal)=\"handleSlotClickInternal($event)\"\n          (slotDblClickedInternal)=\"handleSlotDblClickInternal($event)\"\n          (slotRightClickedInternal)=\"handleSlotRightClickInternal($event)\"\n          (onAppointmentDropInternal)=\"handleAppointmentDropInternal($event)\"\n          (appointmentClickedInternal)=\"handleAppointmentClickInternal($event)\"\n          (appointmentDblClickedInternal)=\"handleAppointmentDblClickInternal($event)\"\n          (appointmentRightClickedInternal)=\"handleAppointmentRightClickInternal($event)\"\n        ></ax-scheduler-week-view>\n      }\n      @case ('month') {\n        <ax-scheduler-month-view\n          [date]=\"currentDate()\"\n          [readonly]=\"readonly()\"\n          [draggable]=\"draggable()\"\n          [calendar]=\"calendarType()\"\n          [hasActions]=\"hasActions()\"\n          [appointments]=\"viewAppointments()\"\n          [firstDayOfWeek]=\"firstDayOfWeek()\"\n          [dragStartDelay]=\"dragStartDelay()\"\n          [tooltipTemplate]=\"tooltipTemplate()\"\n          (onActionClickInternal)=\"onActionClick.emit($event)\"\n          (slotClickedInternal)=\"handleSlotClickInternal($event)\"\n          (slotDblClickedInternal)=\"handleSlotDblClickInternal($event)\"\n          (slotRightClickedInternal)=\"handleSlotRightClickInternal($event)\"\n          (onAppointmentDropInternal)=\"handleAppointmentDropInternal($event)\"\n          (appointmentClickedInternal)=\"handleAppointmentClickInternal($event)\"\n          (appointmentDblClickedInternal)=\"handleAppointmentDblClickInternal($event)\"\n          (appointmentRightClickedInternal)=\"handleAppointmentRightClickInternal($event)\"\n        ></ax-scheduler-month-view>\n      }\n      @case ('timeline-day') {\n        <ax-scheduler-timeline-day-view\n          [date]=\"currentDate()\"\n          [readonly]=\"readonly()\"\n          [resources]=\"resources()\"\n          [draggable]=\"draggable()\"\n          [hasActions]=\"hasActions()\"\n          [calendar]=\"calendarType()\"\n          [endDayHour]=\"endDayHour()\"\n          [startDayHour]=\"startDayHour()\"\n          [appointments]=\"viewAppointments()\"\n          [dragStartDelay]=\"dragStartDelay()\"\n          [tooltipTemplate]=\"tooltipTemplate()\"\n          [resourceTemplate]=\"resourceTemplate()\"\n          [showResourceHeaders]=\"showResourceHeaders()\"\n          [showCurrentTimeIndicator]=\"showCurrentTimeIndicator()\"\n          [showUnassignedAppointments]=\"showUnassignedAppointments()\"\n          (onActionClickInternal)=\"onActionClick.emit($event)\"\n          (slotClickedInternal)=\"handleSlotClickInternal($event)\"\n          (slotDblClickedInternal)=\"handleSlotDblClickInternal($event)\"\n          (slotRightClickedInternal)=\"handleSlotRightClickInternal($event)\"\n          (onAppointmentDropInternal)=\"handleAppointmentDropInternal($event)\"\n          (appointmentClickedInternal)=\"handleAppointmentClickInternal($event)\"\n          (appointmentDblClickedInternal)=\"handleAppointmentDblClickInternal($event)\"\n          (appointmentRightClickedInternal)=\"handleAppointmentRightClickInternal($event)\"\n        >\n        </ax-scheduler-timeline-day-view>\n      }\n      @case ('timeline-multi-day') {\n        <ax-scheduler-timeline-multi-day-view\n          [date]=\"currentDate()\"\n          [readonly]=\"readonly()\"\n          [resources]=\"resources()\"\n          [draggable]=\"draggable()\"\n          [calendar]=\"calendarType()\"\n          [endDayHour]=\"endDayHour()\"\n          [hasActions]=\"hasActions()\"\n          [startDayHour]=\"startDayHour()\"\n          [appointments]=\"viewAppointments()\"\n          [dragStartDelay]=\"dragStartDelay()\"\n          [daysCount]=\"multiDayViewDaysCount()\"\n          [tooltipTemplate]=\"tooltipTemplate()\"\n          [resourceTemplate]=\"resourceTemplate()\"\n          [showResourceHeaders]=\"showResourceHeaders()\"\n          [showCurrentTimeIndicator]=\"showCurrentTimeIndicator()\"\n          [showUnassignedAppointments]=\"showUnassignedAppointments()\"\n          (onActionClickInternal)=\"onActionClick.emit($event)\"\n          (slotClickedInternal)=\"handleSlotClickInternal($event)\"\n          (slotDblClickedInternal)=\"handleSlotDblClickInternal($event)\"\n          (slotRightClickedInternal)=\"handleSlotRightClickInternal($event)\"\n          (onAppointmentDropInternal)=\"handleAppointmentDropInternal($event)\"\n          (appointmentClickedInternal)=\"handleAppointmentClickInternal($event)\"\n          (appointmentDblClickedInternal)=\"handleAppointmentDblClickInternal($event)\"\n          (appointmentRightClickedInternal)=\"handleAppointmentRightClickInternal($event)\"\n        >\n        </ax-scheduler-timeline-multi-day-view>\n      }\n      @case ('timeline-month') {\n        <ax-scheduler-timeline-month-view\n          [date]=\"currentDate()\"\n          [readonly]=\"readonly()\"\n          [resources]=\"resources()\"\n          [draggable]=\"draggable()\"\n          [calendar]=\"calendarType()\"\n          [hasActions]=\"hasActions()\"\n          [appointments]=\"viewAppointments()\"\n          [dragStartDelay]=\"dragStartDelay()\"\n          [tooltipTemplate]=\"tooltipTemplate()\"\n          [resourceTemplate]=\"resourceTemplate()\"\n          [showResourceHeaders]=\"showResourceHeaders()\"\n          [showCurrentTimeIndicator]=\"showCurrentTimeIndicator()\"\n          [showUnassignedAppointments]=\"showUnassignedAppointments()\"\n          (onActionClickInternal)=\"onActionClick.emit($event)\"\n          (slotClickedInternal)=\"handleSlotClickInternal($event)\"\n          (slotDblClickedInternal)=\"handleSlotDblClickInternal($event)\"\n          (slotRightClickedInternal)=\"handleSlotRightClickInternal($event)\"\n          (onAppointmentDropInternal)=\"handleAppointmentDropInternal($event)\"\n          (appointmentClickedInternal)=\"handleAppointmentClickInternal($event)\"\n          (appointmentDblClickedInternal)=\"handleAppointmentDblClickInternal($event)\"\n          (appointmentRightClickedInternal)=\"handleAppointmentRightClickInternal($event)\"\n        >\n        </ax-scheduler-timeline-month-view>\n      }\n      @case ('timeline-year') {\n        <ax-scheduler-timeline-year-view\n          [date]=\"currentDate()\"\n          [readonly]=\"readonly()\"\n          [resources]=\"resources()\"\n          [draggable]=\"draggable()\"\n          [calendar]=\"calendarType()\"\n          [hasActions]=\"hasActions()\"\n          [appointments]=\"viewAppointments()\"\n          [dragStartDelay]=\"dragStartDelay()\"\n          [tooltipTemplate]=\"tooltipTemplate()\"\n          [resourceTemplate]=\"resourceTemplate()\"\n          [showResourceHeaders]=\"showResourceHeaders()\"\n          [showCurrentTimeIndicator]=\"showCurrentTimeIndicator()\"\n          [showUnassignedAppointments]=\"showUnassignedAppointments()\"\n          (onActionClickInternal)=\"onActionClick.emit($event)\"\n          (slotClickedInternal)=\"handleSlotClickInternal($event)\"\n          (slotDblClickedInternal)=\"handleSlotDblClickInternal($event)\"\n          (slotRightClickedInternal)=\"handleSlotRightClickInternal($event)\"\n          (onAppointmentDropInternal)=\"handleAppointmentDropInternal($event)\"\n          (appointmentClickedInternal)=\"handleAppointmentClickInternal($event)\"\n          (appointmentDblClickedInternal)=\"handleAppointmentDblClickInternal($event)\"\n          (appointmentRightClickedInternal)=\"handleAppointmentRightClickInternal($event)\"\n        >\n        </ax-scheduler-timeline-year-view>\n      }\n      @case ('agenda') {\n        <ax-scheduler-agenda-view\n          [date]=\"currentDate()\"\n          [readonly]=\"readonly()\"\n          [draggable]=\"draggable()\"\n          [calendar]=\"calendarType()\"\n          [hasActions]=\"hasActions()\"\n          [appointments]=\"viewAppointments()\"\n          [dragStartDelay]=\"dragStartDelay()\"\n          [daysCount]=\"multiDayViewDaysCount()\"\n          [tooltipTemplate]=\"tooltipTemplate()\"\n          (onActionClickInternal)=\"onActionClick.emit($event)\"\n          (slotClickedInternal)=\"handleSlotClickInternal($event)\"\n          (slotDblClickedInternal)=\"handleSlotDblClickInternal($event)\"\n          (slotRightClickedInternal)=\"handleSlotRightClickInternal($event)\"\n          (onAppointmentDropInternal)=\"handleAppointmentDropInternal($event)\"\n          (appointmentClickedInternal)=\"handleAppointmentClickInternal($event)\"\n          (appointmentDblClickedInternal)=\"handleAppointmentDblClickInternal($event)\"\n          (appointmentRightClickedInternal)=\"handleAppointmentRightClickInternal($event)\"\n        >\n        </ax-scheduler-agenda-view>\n      }\n    }\n  </div>\n</div>\n", styles: [":root{--ax-comp-scheduler-width: 57.5rem;--ax-comp-scheduler-basic-view-blocks-height: 3rem;--ax-comp-scheduler-basic-view-blocks-width: 3.5rem;--ax-comp-scheduler-timeline-view-blocks-width: 20rem;--ax-comp-scheduler-timeline-view-blocks-height: 3rem;--ax-comp-scheduler-primary-bg-color: var(--ax-sys-color-primary-surface);--ax-comp-scheduler-primary-text-color: var(--ax-sys-color-on-primary-surface);--ax-comp-scheduler-highest-periority-bg-color: var(--ax-sys-color-danger-dark-surface);--ax-comp-scheduler-highest-periority-text-color: var(--ax-sys-color-on-danger-dark-surface);--ax-comp-scheduler-high-periority-bg-color: var(--ax-sys-color-danger-surface);--ax-comp-scheduler-high-periority-text-color: var(--ax-sys-color-on-danger-surface);--ax-comp-scheduler-medium-periority-bg-color: var(--ax-sys-color-warning-surface);--ax-comp-scheduler-medium-periority-text-color: var(--ax-sys-color-on-warning-surface);--ax-comp-scheduler-low-periority-bg-color: var(--ax-sys-color-success-light-surface);--ax-comp-scheduler-low-periority-text-color: var(--ax-sys-color-on-success-light-surface);--ax-comp-scheduler-lowest-periority-bg-color: var(--ax-sys-color-success-lightest-surface);--ax-comp-scheduler-lowest-periority-text-color: var(--ax-sys-color-on-success-lightest-surface)}ax-scheduler{width:100%;height:100%;display:block;-webkit-user-select:none;user-select:none;font-size:.875rem;background-color:inherit}ax-scheduler.ax-full-screen-container{top:0;left:0;z-index:61;width:100vw;height:100vh;position:fixed}ax-scheduler .ax-scheduler-container{height:100%;display:flex;overflow:hidden;border-width:1px;flex-direction:column;background-color:inherit;border-radius:var(--ax-sys-border-radius)}ax-scheduler .ax-scheduler-container .ax-scheduler-header{display:flex;padding:1rem;overflow-x:auto;overflow-y:hidden;align-items:center;border-bottom-width:1px;justify-content:space-between}ax-scheduler .ax-scheduler-container .ax-scheduler-header .ax-scheduler-date{display:flex;min-width:20.5rem;align-items:center;justify-content:space-between}ax-scheduler .ax-scheduler-container .ax-scheduler-header .ax-scheduler-date p{margin:0;font-size:1rem;min-width:10rem;font-weight:500;text-align:center}ax-scheduler .ax-scheduler-container .ax-scheduler-actions{gap:.75rem;display:flex;align-items:center;justify-content:center}ax-scheduler .ax-scheduler-container .ax-scheduler-truncate{display:block;overflow:hidden;text-wrap:nowrap;text-overflow:ellipsis}ax-scheduler .ax-scheduler-container ax-subtitle{font-size:.75rem}ax-scheduler .ax-scheduler-container .ax-scheduler-views-container{height:100%;overflow:auto;background-color:inherit}ax-scheduler .ax-scheduler-primary-periority{color:rgba(var(--ax-comp-scheduler-primary-text-color));background-color:rgba(var(--ax-comp-scheduler-primary-bg-color))}ax-scheduler .ax-scheduler-highest-periority{color:rgba(var(--ax-comp-scheduler-highest-periority-text-color));background-color:rgba(var(--ax-comp-scheduler-highest-periority-bg-color))}ax-scheduler .ax-scheduler-high-periority{color:rgba(var(--ax-comp-scheduler-high-periority-text-color));background-color:rgba(var(--ax-comp-scheduler-high-periority-bg-color))}ax-scheduler .ax-scheduler-medium-periority{color:rgba(var(--ax-comp-scheduler-medium-periority-text-color));background-color:rgba(var(--ax-comp-scheduler-medium-periority-bg-color))}ax-scheduler .ax-scheduler-low-periority{color:rgba(var(--ax-comp-scheduler-low-periority-text-color));background-color:rgba(var(--ax-comp-scheduler-low-periority-bg-color))}ax-scheduler .ax-scheduler-lowest-periority{color:rgba(var(--ax-comp-scheduler-lowest-periority-text-color));background-color:rgba(var(--ax-comp-scheduler-lowest-periority-bg-color))}.ax-overlay-pane.ax-scheduler-popover{gap:.25rem;display:grid;overflow:auto;padding:.25rem;max-height:10rem;font-size:.875rem;border-radius:.5rem}.ax-overlay-pane.ax-scheduler-popover.ax-scheduler-month-popover-appointment{font-size:.75rem}.ax-overlay-pane.ax-scheduler-popover:not(.ax-state-readonly) .ax-scheduler-popover-appointment{cursor:pointer}.ax-overlay-pane.ax-scheduler-popover .ax-scheduler-popover-appointment{display:flex;overflow:hidden;-webkit-user-select:none;user-select:none;flex-direction:column;padding-block:.25rem;padding-inline:.5rem;border-radius:calc(var(--ax-sys-border-radius) / 2);color:rgba(var(--ax-comp-scheduler-primary-text-color));background-color:rgba(var(--ax-comp-scheduler-primary-bg-color))}.ax-overlay-pane.ax-scheduler-popover .ax-scheduler-popover-appointment ax-subtitle{font-size:.75rem}.ax-overlay-pane.ax-scheduler-popover .ax-scheduler-popover-appointment .ax-scheduler-truncate{display:block;overflow:hidden;text-wrap:nowrap;text-overflow:ellipsis}.ax-overlay-pane.ax-scheduler-popover ax-title,.ax-overlay-pane.ax-scheduler-popover .ax-appointment-chip-title{display:flex;justify-content:space-between}.ax-overlay-pane.ax-scheduler-popover ax-title .ax-scheduler-action-icon,.ax-overlay-pane.ax-scheduler-popover .ax-appointment-chip-title .ax-scheduler-action-icon{width:auto;cursor:pointer}.ax-overlay-pane.ax-scheduler-popover .ax-scheduler-primary-periority{color:rgba(var(--ax-comp-scheduler-primary-text-color));background-color:rgba(var(--ax-comp-scheduler-primary-bg-color))}.ax-overlay-pane.ax-scheduler-popover .ax-scheduler-highest-periority{color:rgba(var(--ax-comp-scheduler-highest-periority-text-color));background-color:rgba(var(--ax-comp-scheduler-highest-periority-bg-color))}.ax-overlay-pane.ax-scheduler-popover .ax-scheduler-high-periority{color:rgba(var(--ax-comp-scheduler-high-periority-text-color));background-color:rgba(var(--ax-comp-scheduler-high-periority-bg-color))}.ax-overlay-pane.ax-scheduler-popover .ax-scheduler-medium-periority{color:rgba(var(--ax-comp-scheduler-medium-periority-text-color));background-color:rgba(var(--ax-comp-scheduler-medium-periority-bg-color))}.ax-overlay-pane.ax-scheduler-popover .ax-scheduler-low-periority{color:rgba(var(--ax-comp-scheduler-low-periority-text-color));background-color:rgba(var(--ax-comp-scheduler-low-periority-bg-color))}.ax-overlay-pane.ax-scheduler-popover .ax-scheduler-lowest-periority{color:rgba(var(--ax-comp-scheduler-lowest-periority-text-color));background-color:rgba(var(--ax-comp-scheduler-lowest-periority-bg-color))}.ax-scheduler-current-time-line{z-index:7;position:absolute;pointer-events:none;background-color:#ef4444;box-shadow:0 0 6px #ef4444cc}.ax-scheduler-current-time-line:before{content:\"\";width:12px;height:12px;position:absolute;border-radius:50%;background-color:#ef4444;box-shadow:0 0 8px #ef4444e6;border:2px solid rgba(var(--ax-sys-color-surface))}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { 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: "component", type: AXPopoverComponent, selector: "ax-popover", inputs: ["width", "disabled", "offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "backdropClass", "panelClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "component", type: AXCalendarComponent, selector: "ax-calendar", inputs: ["rtl", "readonly", "value", "name", "disabled", "depth", "activeView", "minValue", "maxValue", "disabledDates", "holidayDates", "type", "dayCellTemplate", "monthCellTemplate", "yearCellTemplate", "cellClass", "showNavigation", "count", "id", "weekend", "weekdays"], outputs: ["onOptionChanged", "valueChange", "onValueChanged", "minValueChange", "maxValueChange", "onBlur", "onFocus", "depthChange", "typeChange", "activeViewChange", "disabledDatesChange", "holidayDatesChange", "onNavigate", "onSlotClick", "countChange"] }, { kind: "component", type: AXSelectBoxComponent, selector: "ax-select-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "multiple", "valueField", "textField", "disabledField", "textTemplate", "selectedItems", "isItemTruncated", "showItemTooltip", "dataSource", "minRecordsForSearch", "caption", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "dropdownWidth", "searchBoxAutoFocus"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed", "onItemSelected", "onItemClick"] }, { kind: "component", type: AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: AXSchedulerDayViewComponent, selector: "ax-scheduler-day-view", inputs: ["readonly", "draggable", "hasActions", "dragStartDelay", "calendar", "date", "endDayHour", "startDayHour", "showCurrentTimeIndicator", "appointments", "tooltipTemplate"], outputs: ["slotClickedInternal", "slotDblClickedInternal", "slotRightClickedInternal", "appointmentClickedInternal", "appointmentDblClickedInternal", "appointmentRightClickedInternal", "onActionClickInternal", "onAppointmentDropInternal"] }, { kind: "component", type: AXSchedulerWeekViewComponent, selector: "ax-scheduler-week-view", inputs: ["readonly", "draggable", "hasActions", "dragStartDelay", "calendar", "date", "endDayHour", "startDayHour", "showCurrentTimeIndicator", "appointments", "tooltipTemplate"], outputs: ["slotClickedInternal", "slotDblClickedInternal", "slotRightClickedInternal", "appointmentClickedInternal", "appointmentDblClickedInternal", "appointmentRightClickedInternal", "onActionClickInternal", "onAppointmentDropInternal"] }, { kind: "component", type: AXSchedulerMonthViewComponent, selector: "ax-scheduler-month-view", inputs: ["readonly", "draggable", "hasActions", "dragStartDelay", "calendar", "date", "appointments", "firstDayOfWeek", "tooltipTemplate"], outputs: ["slotClickedInternal", "slotDblClickedInternal", "slotRightClickedInternal", "appointmentClickedInternal", "appointmentDblClickedInternal", "appointmentRightClickedInternal", "onActionClickInternal", "onAppointmentDropInternal"] }, { kind: "component", type: AXSchedulerAgendaViewComponent, selector: "ax-scheduler-agenda-view", inputs: ["daysCount", "readonly", "draggable", "hasActions", "dragStartDelay", "calendar", "date", "appointments", "tooltipTemplate"], outputs: ["slotClickedInternal", "slotDblClickedInternal", "slotRightClickedInternal", "appointmentClickedInternal", "appointmentDblClickedInternal", "appointmentRightClickedInternal", "onActionClickInternal", "onAppointmentDropInternal"] }, { kind: "component", type: AXSchedulerTimelineDayViewComponent, selector: "ax-scheduler-timeline-day-view", inputs: ["readonly", "draggable", "hasActions", "dragStartDelay", "calendar", "showResourceHeaders", "date", "endDayHour", "startDayHour", "showUnassignedAppointments", "resources", "showCurrentTimeIndicator", "resourceTemplate", "appointments", "tooltipTemplate"], outputs: ["slotClickedInternal", "slotDblClickedInternal", "slotRightClickedInternal", "appointmentClickedInternal", "appointmentDblClickedInternal", "appointmentRightClickedInternal", "onActionClickInternal", "onAppointmentDropInternal"] }, { kind: "component", type: AXSchedulerTimelineMonthViewComponent, selector: "ax-scheduler-timeline-month-view", inputs: ["readonly", "draggable", "hasActions", "dragStartDelay", "calendar", "showResourceHeaders", "date", "showUnassignedAppointments", "resources", "showCurrentTimeIndicator", "resourceTemplate", "appointments", "tooltipTemplate"], outputs: ["slotClickedInternal", "slotDblClickedInternal", "slotRightClickedInternal", "appointmentClickedInternal", "appointmentDblClickedInternal", "appointmentRightClickedInternal", "onActionClickInternal", "onAppointmentDropInternal"] }, { kind: "component", type: AXSchedulerTimelineMultiDayViewComponent, selector: "ax-scheduler-timeline-multi-day-view", inputs: ["daysCount", "readonly", "draggable", "hasActions", "dragStartDelay", "calendar", "showResourceHeaders", "date", "endDayHour", "showCurrentTimeIndicator", "startDayHour", "showUnassignedAppointments", "resources", "resourceTemplate", "appointments", "tooltipTemplate"], outputs: ["slotClickedInternal", "slotDblClickedInternal", "slotRightClickedInternal", "appointmentClickedInternal", "appointmentDblClickedInternal", "appointmentRightClickedInternal", "onActionClickInternal", "onAppointmentDropInternal"] }, { kind: "component", type: AXSchedulerTimelineYearViewComponent, selector: "ax-scheduler-timeline-year-view", inputs: ["readonly", "draggable", "hasActions", "dragStartDelay", "calendar", "showResourceHeaders", "date", "showUnassignedAppointments", "resources", "showCurrentTimeIndicator", "resourceTemplate", "appointments", "tooltipTemplate"], outputs: ["slotClickedInternal", "slotDblClickedInternal", "slotRightClickedInternal", "appointmentClickedInternal", "appointmentDblClickedInternal", "appointmentRightClickedInternal", "onActionClickInternal", "onAppointmentDropInternal"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
         
     | 
| 
      
 3915 
     | 
    
         
            +
                static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: AXSchedulerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
         
     | 
| 
      
 3916 
     | 
    
         
            +
                static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.6", type: AXSchedulerComponent, isStandalone: true, selector: "ax-scheduler", inputs: { calendar: { classPropertyName: "calendar", publicName: "calendar", isSignal: true, isRequired: false, transformFunction: null }, startingDate: { classPropertyName: "startingDate", publicName: "startingDate", isSignal: true, isRequired: false, transformFunction: null }, endDayHour: { classPropertyName: "endDayHour", publicName: "endDayHour", isSignal: true, isRequired: false, transformFunction: null }, startDayHour: { classPropertyName: "startDayHour", publicName: "startDayHour", isSignal: true, isRequired: false, transformFunction: null }, hasHeader: { classPropertyName: "hasHeader", publicName: "hasHeader", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, draggable: { classPropertyName: "draggable", publicName: "draggable", isSignal: true, isRequired: false, transformFunction: null }, hasActions: { classPropertyName: "hasActions", publicName: "hasActions", isSignal: true, isRequired: false, transformFunction: null }, dragStartDelay: { classPropertyName: "dragStartDelay", publicName: "dragStartDelay", isSignal: true, isRequired: false, transformFunction: null }, weekend: { classPropertyName: "weekend", publicName: "weekend", isSignal: true, isRequired: false, transformFunction: null }, allowFullScreen: { classPropertyName: "allowFullScreen", publicName: "allowFullScreen", isSignal: true, isRequired: false, transformFunction: null }, multiDayViewDaysCount: { classPropertyName: "multiDayViewDaysCount", publicName: "multiDayViewDaysCount", isSignal: true, isRequired: false, transformFunction: null }, showResourceHeaders: { classPropertyName: "showResourceHeaders", publicName: "showResourceHeaders", isSignal: true, isRequired: false, transformFunction: null }, showCurrentTimeIndicator: { classPropertyName: "showCurrentTimeIndicator", publicName: "showCurrentTimeIndicator", isSignal: true, isRequired: false, transformFunction: null }, showUnassignedAppointments: { classPropertyName: "showUnassignedAppointments", publicName: "showUnassignedAppointments", isSignal: true, isRequired: false, transformFunction: null }, resources: { classPropertyName: "resources", publicName: "resources", isSignal: true, isRequired: false, transformFunction: null }, resourceTemplate: { classPropertyName: "resourceTemplate", publicName: "resourceTemplate", isSignal: true, isRequired: false, transformFunction: null }, firstDayOfWeek: { classPropertyName: "firstDayOfWeek", publicName: "firstDayOfWeek", isSignal: true, isRequired: false, transformFunction: null }, tooltipTemplate: { classPropertyName: "tooltipTemplate", publicName: "tooltipTemplate", isSignal: true, isRequired: false, transformFunction: null }, dataSource: { classPropertyName: "dataSource", publicName: "dataSource", isSignal: true, isRequired: false, transformFunction: null }, holidays: { classPropertyName: "holidays", publicName: "holidays", isSignal: true, isRequired: false, transformFunction: null }, views: { classPropertyName: "views", publicName: "views", isSignal: true, isRequired: false, transformFunction: null }, selectedView: { classPropertyName: "selectedView", publicName: "selectedView", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selectedView: "selectedViewChange", onDataLoaded: "onDataLoaded", onRangeChanged: "onRangeChanged", onSlotClicked: "onSlotClicked", onSlotDblClicked: "onSlotDblClicked", onSlotRightClick: "onSlotRightClick", onAppointmentDrop: "onAppointmentDrop", onActionClick: "onActionClick", onAppointmentClicked: "onAppointmentClicked", onAppointmentDblClicked: "onAppointmentDblClicked", onAppointmentRightClick: "onAppointmentRightClick" }, providers: [AXUnsubscriber, { provide: AXComponent, useExisting: AXSchedulerComponent }], viewQueries: [{ propertyName: "viewModeSelectbox", first: true, predicate: AXSelectBoxComponent, descendants: true, isSignal: true }, { propertyName: "calendarPopover", first: true, predicate: ["calendarPopover"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-scheduler-container\">\n  @if (hasHeader()) {\n    <div class=\"ax-scheduler-header\">\n      <div class=\"ax-scheduler-date\">\n        <ax-button look=\"blank\" (onClick)=\"prevClick()\">\n          <ax-icon\n            class=\"ax-icon ax-text-xl\"\n            [ngClass]=\"{\n              'ax-icon-chevron-left': !rtl(),\n              'ax-icon-chevron-right': rtl(),\n            }\"\n          ></ax-icon>\n        </ax-button>\n        <ax-button look=\"blank\" [text]=\"currentDateText()\" #date></ax-button>\n        <ax-button look=\"blank\" (onClick)=\"nextClick()\">\n          <ax-icon\n            class=\"ax-icon ax-text-xl\"\n            [ngClass]=\"{\n              'ax-icon-chevron-right': !rtl(),\n              'ax-icon-chevron-left': rtl(),\n            }\"\n          ></ax-icon>\n        </ax-button>\n        <ax-popover [target]=\"date\" #calendarPopover>\n          <div class=\"ax-overlay-pane\">\n            <ax-calendar\n              [type]=\"calendarType()\"\n              [depth]=\"calendarDepth()\"\n              [ngModel]=\"currentDate()\"\n              (onValueChanged)=\"calendarDateChanged($event)\"\n            ></ax-calendar>\n          </div>\n        </ax-popover>\n      </div>\n      <div class=\"ax-scheduler-actions\">\n        <ax-select-box\n          [dropdownWidth]=\"'200px'\"\n          [ngModel]=\"selectedView()\"\n          [dataSource]=\"viewsDataSource()\"\n          (onValueChanged)=\"viewChanged($event)\"\n        ></ax-select-box>\n\n        @if (allowFullScreen()) {\n          <ax-button look=\"blank\" (onClick)=\"handleFullScreen()\">\n            <ax-icon>\n              <i\n                class=\"fa-solid fa-expand\"\n                [ngClass]=\"{ 'fa-compress': isFullScreen(), 'fa-expand': !isFullScreen() }\"\n              ></i>\n            </ax-icon>\n          </ax-button>\n        }\n      </div>\n    </div>\n  }\n  <div class=\"ax-scheduler-views-container\">\n    @switch (selectedView()) {\n      @case ('day') {\n        <ax-scheduler-day-view\n          [date]=\"currentDate()\"\n          [readonly]=\"readonly()\"\n          [draggable]=\"draggable()\"\n          [hasActions]=\"hasActions()\"\n          [calendar]=\"calendarType()\"\n          [endDayHour]=\"endDayHour()\"\n          [startDayHour]=\"startDayHour()\"\n          [showCurrentTimeIndicator]=\"showCurrentTimeIndicator()\"\n          [appointments]=\"viewAppointments()\"\n          [dragStartDelay]=\"dragStartDelay()\"\n          [tooltipTemplate]=\"tooltipTemplate()\"\n          (onActionClickInternal)=\"onActionClick.emit($event)\"\n          (slotClickedInternal)=\"handleSlotClickInternal($event)\"\n          (slotDblClickedInternal)=\"handleSlotDblClickInternal($event)\"\n          (slotRightClickedInternal)=\"handleSlotRightClickInternal($event)\"\n          (onAppointmentDropInternal)=\"handleAppointmentDropInternal($event)\"\n          (appointmentClickedInternal)=\"handleAppointmentClickInternal($event)\"\n          (appointmentDblClickedInternal)=\"handleAppointmentDblClickInternal($event)\"\n          (appointmentRightClickedInternal)=\"handleAppointmentRightClickInternal($event)\"\n        ></ax-scheduler-day-view>\n      }\n      @case ('week') {\n        <ax-scheduler-week-view\n          [date]=\"currentDate()\"\n          [readonly]=\"readonly()\"\n          [draggable]=\"draggable()\"\n          [calendar]=\"calendarType()\"\n          [endDayHour]=\"endDayHour()\"\n          [hasActions]=\"hasActions()\"\n          [startDayHour]=\"startDayHour()\"\n          [showCurrentTimeIndicator]=\"showCurrentTimeIndicator()\"\n          [appointments]=\"viewAppointments()\"\n          [dragStartDelay]=\"dragStartDelay()\"\n          [tooltipTemplate]=\"tooltipTemplate()\"\n          (onActionClickInternal)=\"onActionClick.emit($event)\"\n          (slotClickedInternal)=\"handleSlotClickInternal($event)\"\n          (slotDblClickedInternal)=\"handleSlotDblClickInternal($event)\"\n          (slotRightClickedInternal)=\"handleSlotRightClickInternal($event)\"\n          (onAppointmentDropInternal)=\"handleAppointmentDropInternal($event)\"\n          (appointmentClickedInternal)=\"handleAppointmentClickInternal($event)\"\n          (appointmentDblClickedInternal)=\"handleAppointmentDblClickInternal($event)\"\n          (appointmentRightClickedInternal)=\"handleAppointmentRightClickInternal($event)\"\n        ></ax-scheduler-week-view>\n      }\n      @case ('month') {\n        <ax-scheduler-month-view\n          [date]=\"currentDate()\"\n          [readonly]=\"readonly()\"\n          [draggable]=\"draggable()\"\n          [calendar]=\"calendarType()\"\n          [hasActions]=\"hasActions()\"\n          [appointments]=\"viewAppointments()\"\n          [firstDayOfWeek]=\"firstDayOfWeek()\"\n          [dragStartDelay]=\"dragStartDelay()\"\n          [tooltipTemplate]=\"tooltipTemplate()\"\n          (onActionClickInternal)=\"onActionClick.emit($event)\"\n          (slotClickedInternal)=\"handleSlotClickInternal($event)\"\n          (slotDblClickedInternal)=\"handleSlotDblClickInternal($event)\"\n          (slotRightClickedInternal)=\"handleSlotRightClickInternal($event)\"\n          (onAppointmentDropInternal)=\"handleAppointmentDropInternal($event)\"\n          (appointmentClickedInternal)=\"handleAppointmentClickInternal($event)\"\n          (appointmentDblClickedInternal)=\"handleAppointmentDblClickInternal($event)\"\n          (appointmentRightClickedInternal)=\"handleAppointmentRightClickInternal($event)\"\n        ></ax-scheduler-month-view>\n      }\n      @case ('timeline-day') {\n        <ax-scheduler-timeline-day-view\n          [date]=\"currentDate()\"\n          [readonly]=\"readonly()\"\n          [resources]=\"resources()\"\n          [draggable]=\"draggable()\"\n          [hasActions]=\"hasActions()\"\n          [calendar]=\"calendarType()\"\n          [endDayHour]=\"endDayHour()\"\n          [startDayHour]=\"startDayHour()\"\n          [appointments]=\"viewAppointments()\"\n          [dragStartDelay]=\"dragStartDelay()\"\n          [tooltipTemplate]=\"tooltipTemplate()\"\n          [resourceTemplate]=\"resourceTemplate()\"\n          [showResourceHeaders]=\"showResourceHeaders()\"\n          [showCurrentTimeIndicator]=\"showCurrentTimeIndicator()\"\n          [showUnassignedAppointments]=\"showUnassignedAppointments()\"\n          (onActionClickInternal)=\"onActionClick.emit($event)\"\n          (slotClickedInternal)=\"handleSlotClickInternal($event)\"\n          (slotDblClickedInternal)=\"handleSlotDblClickInternal($event)\"\n          (slotRightClickedInternal)=\"handleSlotRightClickInternal($event)\"\n          (onAppointmentDropInternal)=\"handleAppointmentDropInternal($event)\"\n          (appointmentClickedInternal)=\"handleAppointmentClickInternal($event)\"\n          (appointmentDblClickedInternal)=\"handleAppointmentDblClickInternal($event)\"\n          (appointmentRightClickedInternal)=\"handleAppointmentRightClickInternal($event)\"\n        >\n        </ax-scheduler-timeline-day-view>\n      }\n      @case ('timeline-multi-day') {\n        <ax-scheduler-timeline-multi-day-view\n          [date]=\"currentDate()\"\n          [readonly]=\"readonly()\"\n          [resources]=\"resources()\"\n          [draggable]=\"draggable()\"\n          [calendar]=\"calendarType()\"\n          [endDayHour]=\"endDayHour()\"\n          [hasActions]=\"hasActions()\"\n          [startDayHour]=\"startDayHour()\"\n          [appointments]=\"viewAppointments()\"\n          [dragStartDelay]=\"dragStartDelay()\"\n          [daysCount]=\"multiDayViewDaysCount()\"\n          [tooltipTemplate]=\"tooltipTemplate()\"\n          [resourceTemplate]=\"resourceTemplate()\"\n          [showResourceHeaders]=\"showResourceHeaders()\"\n          [showCurrentTimeIndicator]=\"showCurrentTimeIndicator()\"\n          [showUnassignedAppointments]=\"showUnassignedAppointments()\"\n          (onActionClickInternal)=\"onActionClick.emit($event)\"\n          (slotClickedInternal)=\"handleSlotClickInternal($event)\"\n          (slotDblClickedInternal)=\"handleSlotDblClickInternal($event)\"\n          (slotRightClickedInternal)=\"handleSlotRightClickInternal($event)\"\n          (onAppointmentDropInternal)=\"handleAppointmentDropInternal($event)\"\n          (appointmentClickedInternal)=\"handleAppointmentClickInternal($event)\"\n          (appointmentDblClickedInternal)=\"handleAppointmentDblClickInternal($event)\"\n          (appointmentRightClickedInternal)=\"handleAppointmentRightClickInternal($event)\"\n        >\n        </ax-scheduler-timeline-multi-day-view>\n      }\n      @case ('timeline-month') {\n        <ax-scheduler-timeline-month-view\n          [date]=\"currentDate()\"\n          [readonly]=\"readonly()\"\n          [resources]=\"resources()\"\n          [draggable]=\"draggable()\"\n          [calendar]=\"calendarType()\"\n          [hasActions]=\"hasActions()\"\n          [appointments]=\"viewAppointments()\"\n          [dragStartDelay]=\"dragStartDelay()\"\n          [tooltipTemplate]=\"tooltipTemplate()\"\n          [resourceTemplate]=\"resourceTemplate()\"\n          [showResourceHeaders]=\"showResourceHeaders()\"\n          [showCurrentTimeIndicator]=\"showCurrentTimeIndicator()\"\n          [showUnassignedAppointments]=\"showUnassignedAppointments()\"\n          (onActionClickInternal)=\"onActionClick.emit($event)\"\n          (slotClickedInternal)=\"handleSlotClickInternal($event)\"\n          (slotDblClickedInternal)=\"handleSlotDblClickInternal($event)\"\n          (slotRightClickedInternal)=\"handleSlotRightClickInternal($event)\"\n          (onAppointmentDropInternal)=\"handleAppointmentDropInternal($event)\"\n          (appointmentClickedInternal)=\"handleAppointmentClickInternal($event)\"\n          (appointmentDblClickedInternal)=\"handleAppointmentDblClickInternal($event)\"\n          (appointmentRightClickedInternal)=\"handleAppointmentRightClickInternal($event)\"\n        >\n        </ax-scheduler-timeline-month-view>\n      }\n      @case ('timeline-year') {\n        <ax-scheduler-timeline-year-view\n          [date]=\"currentDate()\"\n          [readonly]=\"readonly()\"\n          [resources]=\"resources()\"\n          [draggable]=\"draggable()\"\n          [calendar]=\"calendarType()\"\n          [hasActions]=\"hasActions()\"\n          [appointments]=\"viewAppointments()\"\n          [dragStartDelay]=\"dragStartDelay()\"\n          [tooltipTemplate]=\"tooltipTemplate()\"\n          [resourceTemplate]=\"resourceTemplate()\"\n          [showResourceHeaders]=\"showResourceHeaders()\"\n          [showCurrentTimeIndicator]=\"showCurrentTimeIndicator()\"\n          [showUnassignedAppointments]=\"showUnassignedAppointments()\"\n          (onActionClickInternal)=\"onActionClick.emit($event)\"\n          (slotClickedInternal)=\"handleSlotClickInternal($event)\"\n          (slotDblClickedInternal)=\"handleSlotDblClickInternal($event)\"\n          (slotRightClickedInternal)=\"handleSlotRightClickInternal($event)\"\n          (onAppointmentDropInternal)=\"handleAppointmentDropInternal($event)\"\n          (appointmentClickedInternal)=\"handleAppointmentClickInternal($event)\"\n          (appointmentDblClickedInternal)=\"handleAppointmentDblClickInternal($event)\"\n          (appointmentRightClickedInternal)=\"handleAppointmentRightClickInternal($event)\"\n        >\n        </ax-scheduler-timeline-year-view>\n      }\n      @case ('agenda') {\n        <ax-scheduler-agenda-view\n          [date]=\"currentDate()\"\n          [readonly]=\"readonly()\"\n          [draggable]=\"draggable()\"\n          [calendar]=\"calendarType()\"\n          [hasActions]=\"hasActions()\"\n          [appointments]=\"viewAppointments()\"\n          [dragStartDelay]=\"dragStartDelay()\"\n          [daysCount]=\"multiDayViewDaysCount()\"\n          [tooltipTemplate]=\"tooltipTemplate()\"\n          (onActionClickInternal)=\"onActionClick.emit($event)\"\n          (slotClickedInternal)=\"handleSlotClickInternal($event)\"\n          (slotDblClickedInternal)=\"handleSlotDblClickInternal($event)\"\n          (slotRightClickedInternal)=\"handleSlotRightClickInternal($event)\"\n          (onAppointmentDropInternal)=\"handleAppointmentDropInternal($event)\"\n          (appointmentClickedInternal)=\"handleAppointmentClickInternal($event)\"\n          (appointmentDblClickedInternal)=\"handleAppointmentDblClickInternal($event)\"\n          (appointmentRightClickedInternal)=\"handleAppointmentRightClickInternal($event)\"\n        >\n        </ax-scheduler-agenda-view>\n      }\n    }\n  </div>\n</div>\n", styles: [":root{--ax-comp-scheduler-width: 57.5rem;--ax-comp-scheduler-basic-view-blocks-height: 3rem;--ax-comp-scheduler-basic-view-blocks-width: 3.5rem;--ax-comp-scheduler-timeline-view-blocks-width: 20rem;--ax-comp-scheduler-timeline-view-blocks-height: 3rem;--ax-comp-scheduler-primary-bg-color: var(--ax-sys-color-primary-surface);--ax-comp-scheduler-primary-text-color: var(--ax-sys-color-on-primary-surface);--ax-comp-scheduler-highest-periority-bg-color: var(--ax-sys-color-danger-dark-surface);--ax-comp-scheduler-highest-periority-text-color: var(--ax-sys-color-on-danger-dark-surface);--ax-comp-scheduler-high-periority-bg-color: var(--ax-sys-color-danger-surface);--ax-comp-scheduler-high-periority-text-color: var(--ax-sys-color-on-danger-surface);--ax-comp-scheduler-medium-periority-bg-color: var(--ax-sys-color-warning-surface);--ax-comp-scheduler-medium-periority-text-color: var(--ax-sys-color-on-warning-surface);--ax-comp-scheduler-low-periority-bg-color: var(--ax-sys-color-success-light-surface);--ax-comp-scheduler-low-periority-text-color: var(--ax-sys-color-on-success-light-surface);--ax-comp-scheduler-lowest-periority-bg-color: var(--ax-sys-color-success-lightest-surface);--ax-comp-scheduler-lowest-periority-text-color: var(--ax-sys-color-on-success-lightest-surface)}ax-scheduler{width:100%;height:100%;display:block;-webkit-user-select:none;user-select:none;font-size:.875rem;background-color:inherit}ax-scheduler.ax-full-screen-container{top:0;left:0;z-index:61;width:100vw;height:100vh;position:fixed}ax-scheduler .ax-scheduler-container{height:100%;display:flex;overflow:hidden;border-width:1px;flex-direction:column;background-color:inherit;border-radius:var(--ax-sys-border-radius)}ax-scheduler .ax-scheduler-container .ax-scheduler-header{display:flex;padding:1rem;overflow-x:auto;overflow-y:hidden;align-items:center;border-bottom-width:1px;justify-content:space-between}ax-scheduler .ax-scheduler-container .ax-scheduler-header .ax-scheduler-date{display:flex;min-width:20.5rem;align-items:center;justify-content:space-between}ax-scheduler .ax-scheduler-container .ax-scheduler-header .ax-scheduler-date p{margin:0;font-size:1rem;min-width:10rem;font-weight:500;text-align:center}ax-scheduler .ax-scheduler-container .ax-scheduler-actions{gap:.75rem;display:flex;align-items:center;justify-content:center}ax-scheduler .ax-scheduler-container .ax-scheduler-truncate{display:block;overflow:hidden;text-wrap:nowrap;text-overflow:ellipsis}ax-scheduler .ax-scheduler-container ax-subtitle{font-size:.75rem}ax-scheduler .ax-scheduler-container .ax-scheduler-views-container{height:100%;overflow:auto;background-color:inherit}ax-scheduler .ax-scheduler-primary-periority{color:rgba(var(--ax-comp-scheduler-primary-text-color));background-color:rgba(var(--ax-comp-scheduler-primary-bg-color))}ax-scheduler .ax-scheduler-highest-periority{color:rgba(var(--ax-comp-scheduler-highest-periority-text-color));background-color:rgba(var(--ax-comp-scheduler-highest-periority-bg-color))}ax-scheduler .ax-scheduler-high-periority{color:rgba(var(--ax-comp-scheduler-high-periority-text-color));background-color:rgba(var(--ax-comp-scheduler-high-periority-bg-color))}ax-scheduler .ax-scheduler-medium-periority{color:rgba(var(--ax-comp-scheduler-medium-periority-text-color));background-color:rgba(var(--ax-comp-scheduler-medium-periority-bg-color))}ax-scheduler .ax-scheduler-low-periority{color:rgba(var(--ax-comp-scheduler-low-periority-text-color));background-color:rgba(var(--ax-comp-scheduler-low-periority-bg-color))}ax-scheduler .ax-scheduler-lowest-periority{color:rgba(var(--ax-comp-scheduler-lowest-periority-text-color));background-color:rgba(var(--ax-comp-scheduler-lowest-periority-bg-color))}.ax-overlay-pane.ax-scheduler-popover{gap:.25rem;display:grid;overflow:auto;padding:.25rem;max-height:10rem;font-size:.875rem;border-radius:.5rem}.ax-overlay-pane.ax-scheduler-popover.ax-scheduler-month-popover-appointment{font-size:.75rem}.ax-overlay-pane.ax-scheduler-popover:not(.ax-state-readonly) .ax-scheduler-popover-appointment{cursor:pointer}.ax-overlay-pane.ax-scheduler-popover .ax-scheduler-popover-appointment{display:flex;overflow:hidden;-webkit-user-select:none;user-select:none;flex-direction:column;padding-block:.25rem;padding-inline:.5rem;border-radius:calc(var(--ax-sys-border-radius) / 2);color:rgba(var(--ax-comp-scheduler-primary-text-color));background-color:rgba(var(--ax-comp-scheduler-primary-bg-color))}.ax-overlay-pane.ax-scheduler-popover .ax-scheduler-popover-appointment ax-subtitle{font-size:.75rem}.ax-overlay-pane.ax-scheduler-popover .ax-scheduler-popover-appointment .ax-scheduler-truncate{display:block;overflow:hidden;text-wrap:nowrap;text-overflow:ellipsis}.ax-overlay-pane.ax-scheduler-popover ax-title,.ax-overlay-pane.ax-scheduler-popover .ax-appointment-chip-title{display:flex;justify-content:space-between}.ax-overlay-pane.ax-scheduler-popover ax-title .ax-scheduler-action-icon,.ax-overlay-pane.ax-scheduler-popover .ax-appointment-chip-title .ax-scheduler-action-icon{width:auto;cursor:pointer}.ax-overlay-pane.ax-scheduler-popover .ax-scheduler-primary-periority{color:rgba(var(--ax-comp-scheduler-primary-text-color));background-color:rgba(var(--ax-comp-scheduler-primary-bg-color))}.ax-overlay-pane.ax-scheduler-popover .ax-scheduler-highest-periority{color:rgba(var(--ax-comp-scheduler-highest-periority-text-color));background-color:rgba(var(--ax-comp-scheduler-highest-periority-bg-color))}.ax-overlay-pane.ax-scheduler-popover .ax-scheduler-high-periority{color:rgba(var(--ax-comp-scheduler-high-periority-text-color));background-color:rgba(var(--ax-comp-scheduler-high-periority-bg-color))}.ax-overlay-pane.ax-scheduler-popover .ax-scheduler-medium-periority{color:rgba(var(--ax-comp-scheduler-medium-periority-text-color));background-color:rgba(var(--ax-comp-scheduler-medium-periority-bg-color))}.ax-overlay-pane.ax-scheduler-popover .ax-scheduler-low-periority{color:rgba(var(--ax-comp-scheduler-low-periority-text-color));background-color:rgba(var(--ax-comp-scheduler-low-periority-bg-color))}.ax-overlay-pane.ax-scheduler-popover .ax-scheduler-lowest-periority{color:rgba(var(--ax-comp-scheduler-lowest-periority-text-color));background-color:rgba(var(--ax-comp-scheduler-lowest-periority-bg-color))}.ax-scheduler-current-time-line{z-index:7;position:absolute;pointer-events:none;background-color:#ef4444;box-shadow:0 0 6px #ef4444cc}.ax-scheduler-current-time-line:before{content:\"\";width:12px;height:12px;position:absolute;border-radius:50%;background-color:#ef4444;box-shadow:0 0 8px #ef4444e6;border:2px solid rgba(var(--ax-sys-color-surface))}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { 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: "component", type: AXPopoverComponent, selector: "ax-popover", inputs: ["width", "disabled", "offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "backdropClass", "panelClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "component", type: AXCalendarComponent, selector: "ax-calendar", inputs: ["rtl", "readonly", "value", "name", "disabled", "depth", "activeView", "minValue", "maxValue", "disabledDates", "holidayDates", "type", "dayCellTemplate", "monthCellTemplate", "yearCellTemplate", "cellClass", "showNavigation", "count", "id", "weekend", "weekdays"], outputs: ["onOptionChanged", "valueChange", "onValueChanged", "minValueChange", "maxValueChange", "onBlur", "onFocus", "depthChange", "typeChange", "activeViewChange", "disabledDatesChange", "holidayDatesChange", "onNavigate", "onSlotClick", "countChange"] }, { kind: "component", type: AXSelectBoxComponent, selector: "ax-select-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "multiple", "valueField", "textField", "disabledField", "textTemplate", "selectedItems", "isItemTruncated", "showItemTooltip", "dataSource", "minRecordsForSearch", "caption", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "dropdownWidth", "searchBoxAutoFocus"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed", "onItemSelected", "onItemClick"] }, { kind: "component", type: AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: AXSchedulerDayViewComponent, selector: "ax-scheduler-day-view", inputs: ["readonly", "draggable", "hasActions", "dragStartDelay", "calendar", "date", "endDayHour", "startDayHour", "showCurrentTimeIndicator", "appointments", "tooltipTemplate"], outputs: ["slotClickedInternal", "slotDblClickedInternal", "slotRightClickedInternal", "appointmentClickedInternal", "appointmentDblClickedInternal", "appointmentRightClickedInternal", "onActionClickInternal", "onAppointmentDropInternal"] }, { kind: "component", type: AXSchedulerWeekViewComponent, selector: "ax-scheduler-week-view", inputs: ["readonly", "draggable", "hasActions", "dragStartDelay", "calendar", "date", "endDayHour", "startDayHour", "showCurrentTimeIndicator", "appointments", "tooltipTemplate"], outputs: ["slotClickedInternal", "slotDblClickedInternal", "slotRightClickedInternal", "appointmentClickedInternal", "appointmentDblClickedInternal", "appointmentRightClickedInternal", "onActionClickInternal", "onAppointmentDropInternal"] }, { kind: "component", type: AXSchedulerMonthViewComponent, selector: "ax-scheduler-month-view", inputs: ["readonly", "draggable", "hasActions", "dragStartDelay", "calendar", "date", "appointments", "firstDayOfWeek", "tooltipTemplate"], outputs: ["slotClickedInternal", "slotDblClickedInternal", "slotRightClickedInternal", "appointmentClickedInternal", "appointmentDblClickedInternal", "appointmentRightClickedInternal", "onActionClickInternal", "onAppointmentDropInternal"] }, { kind: "component", type: AXSchedulerAgendaViewComponent, selector: "ax-scheduler-agenda-view", inputs: ["daysCount", "readonly", "draggable", "hasActions", "dragStartDelay", "calendar", "date", "appointments", "tooltipTemplate"], outputs: ["slotClickedInternal", "slotDblClickedInternal", "slotRightClickedInternal", "appointmentClickedInternal", "appointmentDblClickedInternal", "appointmentRightClickedInternal", "onActionClickInternal", "onAppointmentDropInternal"] }, { kind: "component", type: AXSchedulerTimelineDayViewComponent, selector: "ax-scheduler-timeline-day-view", inputs: ["readonly", "draggable", "hasActions", "dragStartDelay", "calendar", "showResourceHeaders", "date", "endDayHour", "startDayHour", "showUnassignedAppointments", "resources", "showCurrentTimeIndicator", "resourceTemplate", "appointments", "tooltipTemplate"], outputs: ["slotClickedInternal", "slotDblClickedInternal", "slotRightClickedInternal", "appointmentClickedInternal", "appointmentDblClickedInternal", "appointmentRightClickedInternal", "onActionClickInternal", "onAppointmentDropInternal"] }, { kind: "component", type: AXSchedulerTimelineMonthViewComponent, selector: "ax-scheduler-timeline-month-view", inputs: ["readonly", "draggable", "hasActions", "dragStartDelay", "calendar", "showResourceHeaders", "date", "showUnassignedAppointments", "resources", "showCurrentTimeIndicator", "resourceTemplate", "appointments", "tooltipTemplate"], outputs: ["slotClickedInternal", "slotDblClickedInternal", "slotRightClickedInternal", "appointmentClickedInternal", "appointmentDblClickedInternal", "appointmentRightClickedInternal", "onActionClickInternal", "onAppointmentDropInternal"] }, { kind: "component", type: AXSchedulerTimelineMultiDayViewComponent, selector: "ax-scheduler-timeline-multi-day-view", inputs: ["daysCount", "readonly", "draggable", "hasActions", "dragStartDelay", "calendar", "showResourceHeaders", "date", "endDayHour", "showCurrentTimeIndicator", "startDayHour", "showUnassignedAppointments", "resources", "resourceTemplate", "appointments", "tooltipTemplate"], outputs: ["slotClickedInternal", "slotDblClickedInternal", "slotRightClickedInternal", "appointmentClickedInternal", "appointmentDblClickedInternal", "appointmentRightClickedInternal", "onActionClickInternal", "onAppointmentDropInternal"] }, { kind: "component", type: AXSchedulerTimelineYearViewComponent, selector: "ax-scheduler-timeline-year-view", inputs: ["readonly", "draggable", "hasActions", "dragStartDelay", "calendar", "showResourceHeaders", "date", "showUnassignedAppointments", "resources", "showCurrentTimeIndicator", "resourceTemplate", "appointments", "tooltipTemplate"], outputs: ["slotClickedInternal", "slotDblClickedInternal", "slotRightClickedInternal", "appointmentClickedInternal", "appointmentDblClickedInternal", "appointmentRightClickedInternal", "onActionClickInternal", "onAppointmentDropInternal"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
         
     | 
| 
       3917 
3917 
     | 
    
         
             
            }
         
     | 
| 
       3918 
     | 
    
         
            -
            i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3. 
     | 
| 
      
 3918 
     | 
    
         
            +
            i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: AXSchedulerComponent, decorators: [{
         
     | 
| 
       3919 
3919 
     | 
    
         
             
                        type: Component,
         
     | 
| 
       3920 
3920 
     | 
    
         
             
                        args: [{ selector: 'ax-scheduler', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [
         
     | 
| 
       3921 
3921 
     | 
    
         
             
                                    NgClass,
         
     | 
| 
         @@ -3934,7 +3934,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImpor 
     | 
|
| 
       3934 
3934 
     | 
    
         
             
                                    AXSchedulerTimelineMultiDayViewComponent,
         
     | 
| 
       3935 
3935 
     | 
    
         
             
                                    AXSchedulerTimelineYearViewComponent,
         
     | 
| 
       3936 
3936 
     | 
    
         
             
                                ], providers: [AXUnsubscriber, { provide: AXComponent, useExisting: AXSchedulerComponent }], template: "<div class=\"ax-scheduler-container\">\n  @if (hasHeader()) {\n    <div class=\"ax-scheduler-header\">\n      <div class=\"ax-scheduler-date\">\n        <ax-button look=\"blank\" (onClick)=\"prevClick()\">\n          <ax-icon\n            class=\"ax-icon ax-text-xl\"\n            [ngClass]=\"{\n              'ax-icon-chevron-left': !rtl(),\n              'ax-icon-chevron-right': rtl(),\n            }\"\n          ></ax-icon>\n        </ax-button>\n        <ax-button look=\"blank\" [text]=\"currentDateText()\" #date></ax-button>\n        <ax-button look=\"blank\" (onClick)=\"nextClick()\">\n          <ax-icon\n            class=\"ax-icon ax-text-xl\"\n            [ngClass]=\"{\n              'ax-icon-chevron-right': !rtl(),\n              'ax-icon-chevron-left': rtl(),\n            }\"\n          ></ax-icon>\n        </ax-button>\n        <ax-popover [target]=\"date\" #calendarPopover>\n          <div class=\"ax-overlay-pane\">\n            <ax-calendar\n              [type]=\"calendarType()\"\n              [depth]=\"calendarDepth()\"\n              [ngModel]=\"currentDate()\"\n              (onValueChanged)=\"calendarDateChanged($event)\"\n            ></ax-calendar>\n          </div>\n        </ax-popover>\n      </div>\n      <div class=\"ax-scheduler-actions\">\n        <ax-select-box\n          [dropdownWidth]=\"'200px'\"\n          [ngModel]=\"selectedView()\"\n          [dataSource]=\"viewsDataSource()\"\n          (onValueChanged)=\"viewChanged($event)\"\n        ></ax-select-box>\n\n        @if (allowFullScreen()) {\n          <ax-button look=\"blank\" (onClick)=\"handleFullScreen()\">\n            <ax-icon>\n              <i\n                class=\"fa-solid fa-expand\"\n                [ngClass]=\"{ 'fa-compress': isFullScreen(), 'fa-expand': !isFullScreen() }\"\n              ></i>\n            </ax-icon>\n          </ax-button>\n        }\n      </div>\n    </div>\n  }\n  <div class=\"ax-scheduler-views-container\">\n    @switch (selectedView()) {\n      @case ('day') {\n        <ax-scheduler-day-view\n          [date]=\"currentDate()\"\n          [readonly]=\"readonly()\"\n          [draggable]=\"draggable()\"\n          [hasActions]=\"hasActions()\"\n          [calendar]=\"calendarType()\"\n          [endDayHour]=\"endDayHour()\"\n          [startDayHour]=\"startDayHour()\"\n          [showCurrentTimeIndicator]=\"showCurrentTimeIndicator()\"\n          [appointments]=\"viewAppointments()\"\n          [dragStartDelay]=\"dragStartDelay()\"\n          [tooltipTemplate]=\"tooltipTemplate()\"\n          (onActionClickInternal)=\"onActionClick.emit($event)\"\n          (slotClickedInternal)=\"handleSlotClickInternal($event)\"\n          (slotDblClickedInternal)=\"handleSlotDblClickInternal($event)\"\n          (slotRightClickedInternal)=\"handleSlotRightClickInternal($event)\"\n          (onAppointmentDropInternal)=\"handleAppointmentDropInternal($event)\"\n          (appointmentClickedInternal)=\"handleAppointmentClickInternal($event)\"\n          (appointmentDblClickedInternal)=\"handleAppointmentDblClickInternal($event)\"\n          (appointmentRightClickedInternal)=\"handleAppointmentRightClickInternal($event)\"\n        ></ax-scheduler-day-view>\n      }\n      @case ('week') {\n        <ax-scheduler-week-view\n          [date]=\"currentDate()\"\n          [readonly]=\"readonly()\"\n          [draggable]=\"draggable()\"\n          [calendar]=\"calendarType()\"\n          [endDayHour]=\"endDayHour()\"\n          [hasActions]=\"hasActions()\"\n          [startDayHour]=\"startDayHour()\"\n          [showCurrentTimeIndicator]=\"showCurrentTimeIndicator()\"\n          [appointments]=\"viewAppointments()\"\n          [dragStartDelay]=\"dragStartDelay()\"\n          [tooltipTemplate]=\"tooltipTemplate()\"\n          (onActionClickInternal)=\"onActionClick.emit($event)\"\n          (slotClickedInternal)=\"handleSlotClickInternal($event)\"\n          (slotDblClickedInternal)=\"handleSlotDblClickInternal($event)\"\n          (slotRightClickedInternal)=\"handleSlotRightClickInternal($event)\"\n          (onAppointmentDropInternal)=\"handleAppointmentDropInternal($event)\"\n          (appointmentClickedInternal)=\"handleAppointmentClickInternal($event)\"\n          (appointmentDblClickedInternal)=\"handleAppointmentDblClickInternal($event)\"\n          (appointmentRightClickedInternal)=\"handleAppointmentRightClickInternal($event)\"\n        ></ax-scheduler-week-view>\n      }\n      @case ('month') {\n        <ax-scheduler-month-view\n          [date]=\"currentDate()\"\n          [readonly]=\"readonly()\"\n          [draggable]=\"draggable()\"\n          [calendar]=\"calendarType()\"\n          [hasActions]=\"hasActions()\"\n          [appointments]=\"viewAppointments()\"\n          [firstDayOfWeek]=\"firstDayOfWeek()\"\n          [dragStartDelay]=\"dragStartDelay()\"\n          [tooltipTemplate]=\"tooltipTemplate()\"\n          (onActionClickInternal)=\"onActionClick.emit($event)\"\n          (slotClickedInternal)=\"handleSlotClickInternal($event)\"\n          (slotDblClickedInternal)=\"handleSlotDblClickInternal($event)\"\n          (slotRightClickedInternal)=\"handleSlotRightClickInternal($event)\"\n          (onAppointmentDropInternal)=\"handleAppointmentDropInternal($event)\"\n          (appointmentClickedInternal)=\"handleAppointmentClickInternal($event)\"\n          (appointmentDblClickedInternal)=\"handleAppointmentDblClickInternal($event)\"\n          (appointmentRightClickedInternal)=\"handleAppointmentRightClickInternal($event)\"\n        ></ax-scheduler-month-view>\n      }\n      @case ('timeline-day') {\n        <ax-scheduler-timeline-day-view\n          [date]=\"currentDate()\"\n          [readonly]=\"readonly()\"\n          [resources]=\"resources()\"\n          [draggable]=\"draggable()\"\n          [hasActions]=\"hasActions()\"\n          [calendar]=\"calendarType()\"\n          [endDayHour]=\"endDayHour()\"\n          [startDayHour]=\"startDayHour()\"\n          [appointments]=\"viewAppointments()\"\n          [dragStartDelay]=\"dragStartDelay()\"\n          [tooltipTemplate]=\"tooltipTemplate()\"\n          [resourceTemplate]=\"resourceTemplate()\"\n          [showResourceHeaders]=\"showResourceHeaders()\"\n          [showCurrentTimeIndicator]=\"showCurrentTimeIndicator()\"\n          [showUnassignedAppointments]=\"showUnassignedAppointments()\"\n          (onActionClickInternal)=\"onActionClick.emit($event)\"\n          (slotClickedInternal)=\"handleSlotClickInternal($event)\"\n          (slotDblClickedInternal)=\"handleSlotDblClickInternal($event)\"\n          (slotRightClickedInternal)=\"handleSlotRightClickInternal($event)\"\n          (onAppointmentDropInternal)=\"handleAppointmentDropInternal($event)\"\n          (appointmentClickedInternal)=\"handleAppointmentClickInternal($event)\"\n          (appointmentDblClickedInternal)=\"handleAppointmentDblClickInternal($event)\"\n          (appointmentRightClickedInternal)=\"handleAppointmentRightClickInternal($event)\"\n        >\n        </ax-scheduler-timeline-day-view>\n      }\n      @case ('timeline-multi-day') {\n        <ax-scheduler-timeline-multi-day-view\n          [date]=\"currentDate()\"\n          [readonly]=\"readonly()\"\n          [resources]=\"resources()\"\n          [draggable]=\"draggable()\"\n          [calendar]=\"calendarType()\"\n          [endDayHour]=\"endDayHour()\"\n          [hasActions]=\"hasActions()\"\n          [startDayHour]=\"startDayHour()\"\n          [appointments]=\"viewAppointments()\"\n          [dragStartDelay]=\"dragStartDelay()\"\n          [daysCount]=\"multiDayViewDaysCount()\"\n          [tooltipTemplate]=\"tooltipTemplate()\"\n          [resourceTemplate]=\"resourceTemplate()\"\n          [showResourceHeaders]=\"showResourceHeaders()\"\n          [showCurrentTimeIndicator]=\"showCurrentTimeIndicator()\"\n          [showUnassignedAppointments]=\"showUnassignedAppointments()\"\n          (onActionClickInternal)=\"onActionClick.emit($event)\"\n          (slotClickedInternal)=\"handleSlotClickInternal($event)\"\n          (slotDblClickedInternal)=\"handleSlotDblClickInternal($event)\"\n          (slotRightClickedInternal)=\"handleSlotRightClickInternal($event)\"\n          (onAppointmentDropInternal)=\"handleAppointmentDropInternal($event)\"\n          (appointmentClickedInternal)=\"handleAppointmentClickInternal($event)\"\n          (appointmentDblClickedInternal)=\"handleAppointmentDblClickInternal($event)\"\n          (appointmentRightClickedInternal)=\"handleAppointmentRightClickInternal($event)\"\n        >\n        </ax-scheduler-timeline-multi-day-view>\n      }\n      @case ('timeline-month') {\n        <ax-scheduler-timeline-month-view\n          [date]=\"currentDate()\"\n          [readonly]=\"readonly()\"\n          [resources]=\"resources()\"\n          [draggable]=\"draggable()\"\n          [calendar]=\"calendarType()\"\n          [hasActions]=\"hasActions()\"\n          [appointments]=\"viewAppointments()\"\n          [dragStartDelay]=\"dragStartDelay()\"\n          [tooltipTemplate]=\"tooltipTemplate()\"\n          [resourceTemplate]=\"resourceTemplate()\"\n          [showResourceHeaders]=\"showResourceHeaders()\"\n          [showCurrentTimeIndicator]=\"showCurrentTimeIndicator()\"\n          [showUnassignedAppointments]=\"showUnassignedAppointments()\"\n          (onActionClickInternal)=\"onActionClick.emit($event)\"\n          (slotClickedInternal)=\"handleSlotClickInternal($event)\"\n          (slotDblClickedInternal)=\"handleSlotDblClickInternal($event)\"\n          (slotRightClickedInternal)=\"handleSlotRightClickInternal($event)\"\n          (onAppointmentDropInternal)=\"handleAppointmentDropInternal($event)\"\n          (appointmentClickedInternal)=\"handleAppointmentClickInternal($event)\"\n          (appointmentDblClickedInternal)=\"handleAppointmentDblClickInternal($event)\"\n          (appointmentRightClickedInternal)=\"handleAppointmentRightClickInternal($event)\"\n        >\n        </ax-scheduler-timeline-month-view>\n      }\n      @case ('timeline-year') {\n        <ax-scheduler-timeline-year-view\n          [date]=\"currentDate()\"\n          [readonly]=\"readonly()\"\n          [resources]=\"resources()\"\n          [draggable]=\"draggable()\"\n          [calendar]=\"calendarType()\"\n          [hasActions]=\"hasActions()\"\n          [appointments]=\"viewAppointments()\"\n          [dragStartDelay]=\"dragStartDelay()\"\n          [tooltipTemplate]=\"tooltipTemplate()\"\n          [resourceTemplate]=\"resourceTemplate()\"\n          [showResourceHeaders]=\"showResourceHeaders()\"\n          [showCurrentTimeIndicator]=\"showCurrentTimeIndicator()\"\n          [showUnassignedAppointments]=\"showUnassignedAppointments()\"\n          (onActionClickInternal)=\"onActionClick.emit($event)\"\n          (slotClickedInternal)=\"handleSlotClickInternal($event)\"\n          (slotDblClickedInternal)=\"handleSlotDblClickInternal($event)\"\n          (slotRightClickedInternal)=\"handleSlotRightClickInternal($event)\"\n          (onAppointmentDropInternal)=\"handleAppointmentDropInternal($event)\"\n          (appointmentClickedInternal)=\"handleAppointmentClickInternal($event)\"\n          (appointmentDblClickedInternal)=\"handleAppointmentDblClickInternal($event)\"\n          (appointmentRightClickedInternal)=\"handleAppointmentRightClickInternal($event)\"\n        >\n        </ax-scheduler-timeline-year-view>\n      }\n      @case ('agenda') {\n        <ax-scheduler-agenda-view\n          [date]=\"currentDate()\"\n          [readonly]=\"readonly()\"\n          [draggable]=\"draggable()\"\n          [calendar]=\"calendarType()\"\n          [hasActions]=\"hasActions()\"\n          [appointments]=\"viewAppointments()\"\n          [dragStartDelay]=\"dragStartDelay()\"\n          [daysCount]=\"multiDayViewDaysCount()\"\n          [tooltipTemplate]=\"tooltipTemplate()\"\n          (onActionClickInternal)=\"onActionClick.emit($event)\"\n          (slotClickedInternal)=\"handleSlotClickInternal($event)\"\n          (slotDblClickedInternal)=\"handleSlotDblClickInternal($event)\"\n          (slotRightClickedInternal)=\"handleSlotRightClickInternal($event)\"\n          (onAppointmentDropInternal)=\"handleAppointmentDropInternal($event)\"\n          (appointmentClickedInternal)=\"handleAppointmentClickInternal($event)\"\n          (appointmentDblClickedInternal)=\"handleAppointmentDblClickInternal($event)\"\n          (appointmentRightClickedInternal)=\"handleAppointmentRightClickInternal($event)\"\n        >\n        </ax-scheduler-agenda-view>\n      }\n    }\n  </div>\n</div>\n", styles: [":root{--ax-comp-scheduler-width: 57.5rem;--ax-comp-scheduler-basic-view-blocks-height: 3rem;--ax-comp-scheduler-basic-view-blocks-width: 3.5rem;--ax-comp-scheduler-timeline-view-blocks-width: 20rem;--ax-comp-scheduler-timeline-view-blocks-height: 3rem;--ax-comp-scheduler-primary-bg-color: var(--ax-sys-color-primary-surface);--ax-comp-scheduler-primary-text-color: var(--ax-sys-color-on-primary-surface);--ax-comp-scheduler-highest-periority-bg-color: var(--ax-sys-color-danger-dark-surface);--ax-comp-scheduler-highest-periority-text-color: var(--ax-sys-color-on-danger-dark-surface);--ax-comp-scheduler-high-periority-bg-color: var(--ax-sys-color-danger-surface);--ax-comp-scheduler-high-periority-text-color: var(--ax-sys-color-on-danger-surface);--ax-comp-scheduler-medium-periority-bg-color: var(--ax-sys-color-warning-surface);--ax-comp-scheduler-medium-periority-text-color: var(--ax-sys-color-on-warning-surface);--ax-comp-scheduler-low-periority-bg-color: var(--ax-sys-color-success-light-surface);--ax-comp-scheduler-low-periority-text-color: var(--ax-sys-color-on-success-light-surface);--ax-comp-scheduler-lowest-periority-bg-color: var(--ax-sys-color-success-lightest-surface);--ax-comp-scheduler-lowest-periority-text-color: var(--ax-sys-color-on-success-lightest-surface)}ax-scheduler{width:100%;height:100%;display:block;-webkit-user-select:none;user-select:none;font-size:.875rem;background-color:inherit}ax-scheduler.ax-full-screen-container{top:0;left:0;z-index:61;width:100vw;height:100vh;position:fixed}ax-scheduler .ax-scheduler-container{height:100%;display:flex;overflow:hidden;border-width:1px;flex-direction:column;background-color:inherit;border-radius:var(--ax-sys-border-radius)}ax-scheduler .ax-scheduler-container .ax-scheduler-header{display:flex;padding:1rem;overflow-x:auto;overflow-y:hidden;align-items:center;border-bottom-width:1px;justify-content:space-between}ax-scheduler .ax-scheduler-container .ax-scheduler-header .ax-scheduler-date{display:flex;min-width:20.5rem;align-items:center;justify-content:space-between}ax-scheduler .ax-scheduler-container .ax-scheduler-header .ax-scheduler-date p{margin:0;font-size:1rem;min-width:10rem;font-weight:500;text-align:center}ax-scheduler .ax-scheduler-container .ax-scheduler-actions{gap:.75rem;display:flex;align-items:center;justify-content:center}ax-scheduler .ax-scheduler-container .ax-scheduler-truncate{display:block;overflow:hidden;text-wrap:nowrap;text-overflow:ellipsis}ax-scheduler .ax-scheduler-container ax-subtitle{font-size:.75rem}ax-scheduler .ax-scheduler-container .ax-scheduler-views-container{height:100%;overflow:auto;background-color:inherit}ax-scheduler .ax-scheduler-primary-periority{color:rgba(var(--ax-comp-scheduler-primary-text-color));background-color:rgba(var(--ax-comp-scheduler-primary-bg-color))}ax-scheduler .ax-scheduler-highest-periority{color:rgba(var(--ax-comp-scheduler-highest-periority-text-color));background-color:rgba(var(--ax-comp-scheduler-highest-periority-bg-color))}ax-scheduler .ax-scheduler-high-periority{color:rgba(var(--ax-comp-scheduler-high-periority-text-color));background-color:rgba(var(--ax-comp-scheduler-high-periority-bg-color))}ax-scheduler .ax-scheduler-medium-periority{color:rgba(var(--ax-comp-scheduler-medium-periority-text-color));background-color:rgba(var(--ax-comp-scheduler-medium-periority-bg-color))}ax-scheduler .ax-scheduler-low-periority{color:rgba(var(--ax-comp-scheduler-low-periority-text-color));background-color:rgba(var(--ax-comp-scheduler-low-periority-bg-color))}ax-scheduler .ax-scheduler-lowest-periority{color:rgba(var(--ax-comp-scheduler-lowest-periority-text-color));background-color:rgba(var(--ax-comp-scheduler-lowest-periority-bg-color))}.ax-overlay-pane.ax-scheduler-popover{gap:.25rem;display:grid;overflow:auto;padding:.25rem;max-height:10rem;font-size:.875rem;border-radius:.5rem}.ax-overlay-pane.ax-scheduler-popover.ax-scheduler-month-popover-appointment{font-size:.75rem}.ax-overlay-pane.ax-scheduler-popover:not(.ax-state-readonly) .ax-scheduler-popover-appointment{cursor:pointer}.ax-overlay-pane.ax-scheduler-popover .ax-scheduler-popover-appointment{display:flex;overflow:hidden;-webkit-user-select:none;user-select:none;flex-direction:column;padding-block:.25rem;padding-inline:.5rem;border-radius:calc(var(--ax-sys-border-radius) / 2);color:rgba(var(--ax-comp-scheduler-primary-text-color));background-color:rgba(var(--ax-comp-scheduler-primary-bg-color))}.ax-overlay-pane.ax-scheduler-popover .ax-scheduler-popover-appointment ax-subtitle{font-size:.75rem}.ax-overlay-pane.ax-scheduler-popover .ax-scheduler-popover-appointment .ax-scheduler-truncate{display:block;overflow:hidden;text-wrap:nowrap;text-overflow:ellipsis}.ax-overlay-pane.ax-scheduler-popover ax-title,.ax-overlay-pane.ax-scheduler-popover .ax-appointment-chip-title{display:flex;justify-content:space-between}.ax-overlay-pane.ax-scheduler-popover ax-title .ax-scheduler-action-icon,.ax-overlay-pane.ax-scheduler-popover .ax-appointment-chip-title .ax-scheduler-action-icon{width:auto;cursor:pointer}.ax-overlay-pane.ax-scheduler-popover .ax-scheduler-primary-periority{color:rgba(var(--ax-comp-scheduler-primary-text-color));background-color:rgba(var(--ax-comp-scheduler-primary-bg-color))}.ax-overlay-pane.ax-scheduler-popover .ax-scheduler-highest-periority{color:rgba(var(--ax-comp-scheduler-highest-periority-text-color));background-color:rgba(var(--ax-comp-scheduler-highest-periority-bg-color))}.ax-overlay-pane.ax-scheduler-popover .ax-scheduler-high-periority{color:rgba(var(--ax-comp-scheduler-high-periority-text-color));background-color:rgba(var(--ax-comp-scheduler-high-periority-bg-color))}.ax-overlay-pane.ax-scheduler-popover .ax-scheduler-medium-periority{color:rgba(var(--ax-comp-scheduler-medium-periority-text-color));background-color:rgba(var(--ax-comp-scheduler-medium-periority-bg-color))}.ax-overlay-pane.ax-scheduler-popover .ax-scheduler-low-periority{color:rgba(var(--ax-comp-scheduler-low-periority-text-color));background-color:rgba(var(--ax-comp-scheduler-low-periority-bg-color))}.ax-overlay-pane.ax-scheduler-popover .ax-scheduler-lowest-periority{color:rgba(var(--ax-comp-scheduler-lowest-periority-text-color));background-color:rgba(var(--ax-comp-scheduler-lowest-periority-bg-color))}.ax-scheduler-current-time-line{z-index:7;position:absolute;pointer-events:none;background-color:#ef4444;box-shadow:0 0 6px #ef4444cc}.ax-scheduler-current-time-line:before{content:\"\";width:12px;height:12px;position:absolute;border-radius:50%;background-color:#ef4444;box-shadow:0 0 8px #ef4444e6;border:2px solid rgba(var(--ax-sys-color-surface))}\n"] }]
         
     | 
| 
       3937 
     | 
    
         
            -
                    }] });
         
     | 
| 
      
 3937 
     | 
    
         
            +
                    }], propDecorators: { viewModeSelectbox: [{ type: i0.ViewChild, args: [i0.forwardRef(() => AXSelectBoxComponent), { isSignal: true }] }], calendarPopover: [{ type: i0.ViewChild, args: ['calendarPopover', { isSignal: true }] }], calendar: [{ type: i0.Input, args: [{ isSignal: true, alias: "calendar", required: false }] }], startingDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "startingDate", required: false }] }], endDayHour: [{ type: i0.Input, args: [{ isSignal: true, alias: "endDayHour", required: false }] }], startDayHour: [{ type: i0.Input, args: [{ isSignal: true, alias: "startDayHour", required: false }] }], hasHeader: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasHeader", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], draggable: [{ type: i0.Input, args: [{ isSignal: true, alias: "draggable", required: false }] }], hasActions: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasActions", required: false }] }], dragStartDelay: [{ type: i0.Input, args: [{ isSignal: true, alias: "dragStartDelay", required: false }] }], weekend: [{ type: i0.Input, args: [{ isSignal: true, alias: "weekend", required: false }] }], allowFullScreen: [{ type: i0.Input, args: [{ isSignal: true, alias: "allowFullScreen", required: false }] }], multiDayViewDaysCount: [{ type: i0.Input, args: [{ isSignal: true, alias: "multiDayViewDaysCount", required: false }] }], showResourceHeaders: [{ type: i0.Input, args: [{ isSignal: true, alias: "showResourceHeaders", required: false }] }], showCurrentTimeIndicator: [{ type: i0.Input, args: [{ isSignal: true, alias: "showCurrentTimeIndicator", required: false }] }], showUnassignedAppointments: [{ type: i0.Input, args: [{ isSignal: true, alias: "showUnassignedAppointments", required: false }] }], resources: [{ type: i0.Input, args: [{ isSignal: true, alias: "resources", required: false }] }], resourceTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "resourceTemplate", required: false }] }], firstDayOfWeek: [{ type: i0.Input, args: [{ isSignal: true, alias: "firstDayOfWeek", required: false }] }], tooltipTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "tooltipTemplate", required: false }] }], dataSource: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataSource", required: false }] }], holidays: [{ type: i0.Input, args: [{ isSignal: true, alias: "holidays", required: false }] }], views: [{ type: i0.Input, args: [{ isSignal: true, alias: "views", required: false }] }], selectedView: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedView", required: false }] }, { type: i0.Output, args: ["selectedViewChange"] }], onDataLoaded: [{ type: i0.Output, args: ["onDataLoaded"] }], onRangeChanged: [{ type: i0.Output, args: ["onRangeChanged"] }], onSlotClicked: [{ type: i0.Output, args: ["onSlotClicked"] }], onSlotDblClicked: [{ type: i0.Output, args: ["onSlotDblClicked"] }], onSlotRightClick: [{ type: i0.Output, args: ["onSlotRightClick"] }], onAppointmentDrop: [{ type: i0.Output, args: ["onAppointmentDrop"] }], onActionClick: [{ type: i0.Output, args: ["onActionClick"] }], onAppointmentClicked: [{ type: i0.Output, args: ["onAppointmentClicked"] }], onAppointmentDblClicked: [{ type: i0.Output, args: ["onAppointmentDblClicked"] }], onAppointmentRightClick: [{ type: i0.Output, args: ["onAppointmentRightClick"] }] } });
         
     | 
| 
       3938 
3938 
     | 
    
         | 
| 
       3939 
3939 
     | 
    
         
             
            const COMPONENT = [
         
     | 
| 
       3940 
3940 
     | 
    
         
             
                AXSchedulerComponent,
         
     | 
| 
         @@ -3948,8 +3948,8 @@ const COMPONENT = [ 
     | 
|
| 
       3948 
3948 
     | 
    
         
             
                AXSchedulerTimelineYearViewComponent,
         
     | 
| 
       3949 
3949 
     | 
    
         
             
            ];
         
     | 
| 
       3950 
3950 
     | 
    
         
             
            class AXSchedulerModule {
         
     | 
| 
       3951 
     | 
    
         
            -
                static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3. 
     | 
| 
       3952 
     | 
    
         
            -
                static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3. 
     | 
| 
      
 3951 
     | 
    
         
            +
                static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: AXSchedulerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
         
     | 
| 
      
 3952 
     | 
    
         
            +
                static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.6", ngImport: i0, type: AXSchedulerModule, imports: [AXSchedulerComponent,
         
     | 
| 
       3953 
3953 
     | 
    
         
             
                        AXSchedulerDayViewComponent,
         
     | 
| 
       3954 
3954 
     | 
    
         
             
                        AXSchedulerWeekViewComponent,
         
     | 
| 
       3955 
3955 
     | 
    
         
             
                        AXSchedulerMonthViewComponent,
         
     | 
| 
         @@ -3966,9 +3966,9 @@ class AXSchedulerModule { 
     | 
|
| 
       3966 
3966 
     | 
    
         
             
                        AXSchedulerTimelineMonthViewComponent,
         
     | 
| 
       3967 
3967 
     | 
    
         
             
                        AXSchedulerTimelineMultiDayViewComponent,
         
     | 
| 
       3968 
3968 
     | 
    
         
             
                        AXSchedulerTimelineYearViewComponent] }); }
         
     | 
| 
       3969 
     | 
    
         
            -
                static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3. 
     | 
| 
      
 3969 
     | 
    
         
            +
                static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: AXSchedulerModule, imports: [COMPONENT] }); }
         
     | 
| 
       3970 
3970 
     | 
    
         
             
            }
         
     | 
| 
       3971 
     | 
    
         
            -
            i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3. 
     | 
| 
      
 3971 
     | 
    
         
            +
            i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: AXSchedulerModule, decorators: [{
         
     | 
| 
       3972 
3972 
     | 
    
         
             
                        type: NgModule,
         
     | 
| 
       3973 
3973 
     | 
    
         
             
                        args: [{
         
     | 
| 
       3974 
3974 
     | 
    
         
             
                                imports: [...COMPONENT],
         
     |