ezux 1.1.13 → 1.1.18
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/README.md +58 -15
- package/dist/DeleteConfirmationModal-CukNDgtX.cjs +1 -0
- package/dist/DeleteConfirmationModal-p8XGDGIw.js +38 -0
- package/dist/EzContextMenu-BCUoEQp5.cjs +1 -0
- package/dist/EzContextMenu-srLxujt8.js +287 -0
- package/dist/EzErrorBoundary-C7a6VisX.js +74 -0
- package/dist/EzErrorBoundary-d_2g-_EK.cjs +1 -0
- package/dist/EzEventModal-C079wLjP.js +725 -0
- package/dist/EzEventModal-CAA9cAM0.cjs +1 -0
- package/dist/EzFlow-C74NbZA9.js +2545 -0
- package/dist/EzFlow-CQFeY7DL.cjs +5 -0
- package/dist/EzGroupingPanel-BVaAJaVU.js +107 -0
- package/dist/EzGroupingPanel-BwWDWEuW.cjs +1 -0
- package/dist/EzKanban-BlJWybKe.js +1575 -0
- package/dist/EzKanban-DdKODRRv.cjs +2 -0
- package/dist/EzLayout-BGnqFtvO.cjs +1 -0
- package/dist/EzLayout-CiaPLniV.js +7005 -0
- package/dist/EzProvider-AlmsYIDk.js +982 -0
- package/dist/EzProvider-L2qQMq-v.cjs +1 -0
- package/dist/EzScheduler-C1Jtvvju.js +2700 -0
- package/dist/EzScheduler-CkqTngI6.cjs +1 -0
- package/dist/EzSchedulerQuickAdd-BIC8xbSn.js +124 -0
- package/dist/EzSchedulerQuickAdd-BeNfGdWs.cjs +1 -0
- package/dist/EzSchedulerToolbar-BJwTpgas.cjs +1 -0
- package/dist/EzSchedulerToolbar-Ba4gbvUg.js +305 -0
- package/dist/EzSignature-7UHO5lSP.js +386 -0
- package/dist/EzSignature-Df7UZ-IS.cjs +1 -0
- package/dist/EzTable-CEXvJR1t.cjs +3 -0
- package/dist/EzTable-D2p1IWHc.js +4290 -0
- package/dist/EzTableEditDialog-BXnnYSSy.cjs +1 -0
- package/dist/EzTableEditDialog-Ccd5XoHm.js +84 -0
- package/dist/EzTableFooter-CtexeDAC.cjs +1 -0
- package/dist/EzTableFooter-DrLoWelo.js +35 -0
- package/dist/EzTableToolbar-BH5z9fSJ.js +160 -0
- package/dist/EzTableToolbar-DwuumvWP.cjs +1 -0
- package/dist/EzTreeView-D1G0Aomc.js +818 -0
- package/dist/EzTreeView-KMGlU4ax.cjs +1 -0
- package/dist/HighlightText-BViuwe03.cjs +1 -0
- package/dist/HighlightText-DNA2R2uf.js +56 -0
- package/dist/KanbanBoard-B7_Z5sh1.js +1697 -0
- package/dist/KanbanBoard-CyitudI1.cjs +1 -0
- package/dist/Modal-BmX1C448.cjs +1 -0
- package/dist/Modal-CrzpKyjK.js +74 -0
- package/dist/NotificationPanel-BzpDc10Q.js +54 -0
- package/dist/NotificationPanel-CFME00wq.cjs +1 -0
- package/dist/TooltipWrapper-BSAmUx9H.js +44 -0
- package/dist/TooltipWrapper-DfbFAZ1U.cjs +1 -0
- package/dist/advanced.cjs +10 -0
- package/dist/advanced.d.ts +44 -0
- package/dist/advanced.es.js +400 -0
- package/dist/avatar-BSdRHETK.cjs +1 -0
- package/dist/avatar-BvCUJ-_r.js +27 -0
- package/dist/button-BBMwzUtG.cjs +1 -0
- package/dist/button-CYyNwV8S.js +44 -0
- package/dist/calendar-DEHX32Cp.cjs +1 -0
- package/dist/calendar-DOIPGsyI.js +112 -0
- package/dist/card-CPlRZxbq.cjs +1 -0
- package/dist/card-ZUNxcdIM.js +60 -0
- package/dist/checkbox-BrCh_Iid.cjs +1 -0
- package/dist/checkbox-DRkQuB4W.js +21 -0
- package/dist/components/EzFlow/EzConnectionLine.d.ts +5 -0
- package/dist/components/EzFlow/EzFlow.examples.d.ts +5 -0
- package/dist/components/EzFlow/EzFlow.types.d.ts +260 -0
- package/dist/components/EzFlow/EzFlowBackground.d.ts +5 -0
- package/dist/components/EzFlow/EzFlowCanvas.d.ts +3 -0
- package/dist/components/EzFlow/EzFlowControls.d.ts +5 -0
- package/dist/components/EzFlow/EzFlowEdge.d.ts +5 -0
- package/dist/components/EzFlow/EzFlowHeader.d.ts +6 -0
- package/dist/components/EzFlow/EzFlowToolbox.d.ts +6 -0
- package/dist/components/EzFlow/EzWorkflow.d.ts +5 -0
- package/dist/components/EzFlow/EzWorkflowPerformance.d.ts +3 -0
- package/dist/components/EzFlow/EzWorkflowServiceAdapters.d.ts +24 -0
- package/dist/components/EzFlow/EzWorkflowValidation.d.ts +95 -0
- package/dist/components/EzFlow/index.d.ts +13 -0
- package/dist/components/EzFlow/nodes/ActionNode.d.ts +3 -0
- package/dist/components/EzFlow/nodes/ApprovalNode.d.ts +3 -0
- package/dist/components/EzFlow/nodes/DecisionNode.d.ts +3 -0
- package/dist/components/EzFlow/nodes/DelayNode.d.ts +3 -0
- package/dist/components/EzFlow/nodes/EndNode.d.ts +3 -0
- package/dist/components/EzFlow/nodes/GroupNode.d.ts +3 -0
- package/dist/components/EzFlow/nodes/LoopNode.d.ts +3 -0
- package/dist/components/EzFlow/nodes/RequestNode.d.ts +3 -0
- package/dist/components/EzFlow/nodes/StartNode.d.ts +3 -0
- package/dist/components/EzFlow/nodes/index.d.ts +9 -0
- package/dist/components/EzKanban/EzKanban.types.d.ts +808 -0
- package/dist/components/EzKanban/components/CardEditorModal.d.ts +23 -0
- package/dist/components/EzKanban/components/EzKanbanErrorFallback.d.ts +1 -0
- package/dist/components/EzKanban/components/FilterPopover.d.ts +10 -0
- package/dist/components/EzKanban/components/KanbanBoard.d.ts +59 -0
- package/dist/components/EzKanban/components/KanbanCard.d.ts +46 -0
- package/dist/components/EzKanban/components/KanbanColumn.d.ts +55 -0
- package/dist/components/EzKanban/components/KanbanSwimlane.d.ts +45 -0
- package/dist/components/EzKanban/components/KanbanToolbar.d.ts +41 -0
- package/dist/components/EzKanban/exports.d.ts +4 -0
- package/dist/components/EzKanban/hooks/useKanbanCards.d.ts +36 -0
- package/dist/components/EzKanban/hooks/useKanbanColumns.d.ts +27 -0
- package/dist/components/EzKanban/hooks/useKanbanDragDrop.d.ts +31 -0
- package/dist/components/EzKanban/hooks/useKanbanFilters.d.ts +23 -0
- package/dist/components/EzKanban/hooks/useKanbanState.d.ts +79 -0
- package/dist/components/EzKanban/hooks/useKanbanSwimlanes.d.ts +27 -0
- package/dist/components/EzKanban/hooks/useKanbanVirtualization.d.ts +16 -0
- package/dist/components/EzKanban/index.d.ts +51 -0
- package/dist/components/EzKanban/services/KanbanService.d.ts +31 -0
- package/dist/components/EzKanban/state/kanban.store.d.ts +33 -0
- package/dist/components/EzKanban/useEzKanban.d.ts +87 -0
- package/dist/components/EzKanban/views/KanbanTimelineView.d.ts +15 -0
- package/dist/components/EzLayout/Authentication/AuthSlider.d.ts +13 -0
- package/dist/components/EzLayout/Authentication/InputPassword.d.ts +7 -0
- package/dist/components/EzLayout/Authentication/SignInForm.d.ts +21 -0
- package/dist/components/EzLayout/Authentication/SignUpForm.d.ts +20 -0
- package/dist/components/EzLayout/EzHeader.d.ts +48 -0
- package/dist/components/EzLayout/EzLanguageSwitcher.d.ts +4 -0
- package/dist/components/EzLayout/EzLayout.types.d.ts +261 -0
- package/dist/components/EzLayout/EzOrganizationSwitcher.d.ts +14 -0
- package/dist/components/EzLayout/EzSidebar.d.ts +24 -0
- package/dist/components/EzLayout/EzThemeColorChanger.d.ts +9 -0
- package/dist/components/EzLayout/EzThemeSwitcher.d.ts +8 -0
- package/dist/components/EzLayout/EzUserProfile.d.ts +27 -0
- package/dist/components/EzLayout/components/EzSidebarFooter.d.ts +8 -0
- package/dist/components/EzLayout/components/EzSidebarNav.d.ts +10 -0
- package/dist/components/EzLayout/components/EzSidebarNavItem.d.ts +11 -0
- package/dist/components/EzLayout/components/MainContent.d.ts +13 -0
- package/dist/components/EzLayout/hooks/useLayoutImperative.d.ts +17 -0
- package/dist/components/EzLayout/hooks/useLayoutState.d.ts +25 -0
- package/dist/components/EzLayout/index.d.ts +23 -0
- package/dist/components/EzLayout/useEzLayout.d.ts +34 -0
- package/dist/components/EzScheduler/EzScheduler.types.d.ts +1252 -0
- package/dist/components/EzScheduler/EzSchedulerToolbar.d.ts +117 -0
- package/dist/components/EzScheduler/components/EzEventModal.d.ts +23 -0
- package/dist/components/EzScheduler/components/EzOverlapAlert.d.ts +12 -0
- package/dist/components/EzScheduler/components/EzQuickInfoPopup.d.ts +22 -0
- package/dist/components/EzScheduler/components/EzResourceSidebar.d.ts +33 -0
- package/dist/components/EzScheduler/components/EzSchedulerContent.d.ts +111 -0
- package/dist/components/EzScheduler/components/EzSchedulerQuickAdd.d.ts +17 -0
- package/dist/components/EzScheduler/components/RecurrenceEditor.d.ts +7 -0
- package/dist/components/EzScheduler/components/SchedulerLoadingSpinner.d.ts +2 -0
- package/dist/components/EzScheduler/components/dnd/DraggableEvent.d.ts +24 -0
- package/dist/components/EzScheduler/components/dnd/DroppableSlot.d.ts +19 -0
- package/dist/components/EzScheduler/hooks/useRecurrence.d.ts +2 -0
- package/dist/components/EzScheduler/hooks/useSchedulerEventHandlers.d.ts +15 -0
- package/dist/components/EzScheduler/hooks/useSchedulerEvents.d.ts +27 -0
- package/dist/components/EzScheduler/hooks/useSchedulerImperative.d.ts +19 -0
- package/dist/components/EzScheduler/hooks/useSchedulerNavigation.d.ts +9 -0
- package/dist/components/EzScheduler/hooks/useSchedulerResources.d.ts +10 -0
- package/dist/components/EzScheduler/hooks/useSchedulerState.d.ts +14 -0
- package/dist/components/EzScheduler/hooks/useSchedulerVirtualization.d.ts +9 -0
- package/dist/components/EzScheduler/index.d.ts +43 -0
- package/dist/components/EzScheduler/models/EventSettings.d.ts +11 -0
- package/dist/components/EzScheduler/models/View.d.ts +49 -0
- package/dist/components/EzScheduler/models/index.d.ts +2 -0
- package/dist/components/EzScheduler/services/AttendeeService.d.ts +15 -0
- package/dist/components/EzScheduler/services/AuditService.d.ts +15 -0
- package/dist/components/EzScheduler/services/CollisionDetectionService.d.ts +19 -0
- package/dist/components/EzScheduler/services/DragAndDropService.d.ts +16 -0
- package/dist/components/EzScheduler/services/HistoryService.d.ts +31 -0
- package/dist/components/EzScheduler/services/ICalendarImportService.d.ts +16 -0
- package/dist/components/EzScheduler/services/PrintService.d.ts +7 -0
- package/dist/components/EzScheduler/services/RecurrenceEngine.d.ts +7 -0
- package/dist/components/EzScheduler/services/ReminderService.d.ts +17 -0
- package/dist/components/EzScheduler/services/SchedulerService.d.ts +71 -0
- package/dist/components/EzScheduler/services/SearchService.d.ts +11 -0
- package/dist/components/EzScheduler/services/SecurityService.d.ts +25 -0
- package/dist/components/EzScheduler/services/TimezoneService.d.ts +20 -0
- package/dist/components/EzScheduler/services/VirtualScrollingService.d.ts +34 -0
- package/dist/components/EzScheduler/state/scheduler.store.d.ts +27 -0
- package/dist/components/EzScheduler/templates/CellTemplate.d.ts +42 -0
- package/dist/components/EzScheduler/templates/EditorTemplate.d.ts +32 -0
- package/dist/components/EzScheduler/templates/HeaderTemplate.d.ts +36 -0
- package/dist/components/EzScheduler/useEzScheduler.d.ts +104 -0
- package/dist/components/EzScheduler/utils/createDragConstraint.d.ts +7 -0
- package/dist/components/EzScheduler/utils/getWeekNumber.d.ts +8 -0
- package/dist/components/EzScheduler/utils/sanitizeHtml.d.ts +18 -0
- package/dist/components/EzScheduler/views/AgendaView.d.ts +28 -0
- package/dist/components/EzScheduler/views/DayWeekView.d.ts +177 -0
- package/dist/components/EzScheduler/views/MonthView.d.ts +60 -0
- package/dist/components/EzScheduler/views/TimelineView.d.ts +116 -0
- package/dist/components/EzSignature/EzSignature.d.ts +42 -0
- package/dist/components/EzSignature/EzSignature.types.d.ts +132 -0
- package/dist/components/EzSignature/index.d.ts +2 -0
- package/dist/components/EzTable/EzColumnMenu.d.ts +7 -0
- package/dist/components/EzTable/EzDateFilterTree.d.ts +7 -0
- package/dist/components/EzTable/EzExcelFilter.d.ts +8 -0
- package/dist/components/EzTable/EzFilterBuilder.d.ts +12 -0
- package/dist/components/EzTable/EzGroupingPanel.d.ts +9 -0
- package/dist/components/EzTable/EzHeaderContextMenu.d.ts +8 -0
- package/dist/components/EzTable/EzPagination.d.ts +19 -0
- package/dist/components/EzTable/EzTable.types.d.ts +1 -0
- package/dist/components/EzTable/EzTableEditDialog.d.ts +15 -0
- package/dist/components/EzTable/EzTableFooter.d.ts +10 -0
- package/dist/components/EzTable/EzTableOverlays.d.ts +11 -0
- package/dist/components/EzTable/EzTableStatusBar.d.ts +10 -0
- package/dist/components/EzTable/EzTableToolbar.d.ts +60 -0
- package/dist/components/EzTable/SmartCell.d.ts +7 -0
- package/dist/components/EzTable/components/AdvancedColumnFilter.d.ts +16 -0
- package/dist/components/EzTable/components/BooleanFilterSection.d.ts +7 -0
- package/dist/components/EzTable/components/EzDraggableHeader.d.ts +10 -0
- package/dist/components/EzTable/components/EzHeaderDragPreview.d.ts +7 -0
- package/dist/components/EzTable/components/EzTableBodySection.d.ts +72 -0
- package/dist/components/EzTable/components/EzTableCell.d.ts +46 -0
- package/dist/components/EzTable/components/EzTableHeaderSection.d.ts +23 -0
- package/dist/components/EzTable/components/EzTablePaginationSection.d.ts +31 -0
- package/dist/components/EzTable/components/EzTableRow.d.ts +58 -0
- package/dist/components/EzTable/components/FilterActionButtons.d.ts +16 -0
- package/dist/components/EzTable/components/FilterRuleSelect.d.ts +26 -0
- package/dist/components/EzTable/components/SelectAllCheckbox.d.ts +21 -0
- package/dist/components/EzTable/components/SelectFilterSection.d.ts +18 -0
- package/dist/components/EzTable/components/VirtualizedFilterList.d.ts +21 -0
- package/dist/components/EzTable/constants/filterOptions.d.ts +47 -0
- package/dist/components/EzTable/context/EzTableContext.d.ts +10 -0
- package/dist/components/EzTable/context/TableConfigContext.d.ts +13 -0
- package/dist/components/EzTable/context/TableStore.d.ts +17 -0
- package/dist/components/EzTable/filterUtils.d.ts +5 -0
- package/dist/components/EzTable/hooks/useAutoFit.d.ts +4 -0
- package/dist/components/EzTable/hooks/useCellEventHandlers.d.ts +16 -0
- package/dist/components/EzTable/hooks/useColumnSizeVars.d.ts +6 -0
- package/dist/components/EzTable/hooks/useContainerResize.d.ts +11 -0
- package/dist/components/EzTable/hooks/useDialogStateInitialization.d.ts +8 -0
- package/dist/components/EzTable/hooks/useFilterSelection.d.ts +12 -0
- package/dist/components/EzTable/hooks/useTableFiltering.d.ts +23 -0
- package/dist/components/EzTable/hooks/useTableHistory.d.ts +87 -0
- package/dist/components/EzTable/hooks/useTableImperative.d.ts +42 -0
- package/dist/components/EzTable/hooks/useTableSelection.d.ts +32 -0
- package/dist/components/EzTable/hooks/useTableState.d.ts +33 -0
- package/dist/components/EzTable/hooks/useTableVirtualization.d.ts +35 -0
- package/dist/components/EzTable/index.d.ts +54 -0
- package/dist/components/EzTable/renderers/index.d.ts +6 -0
- package/dist/components/EzTable/services/TableService.d.ts +29 -0
- package/dist/components/EzTable/types/EzTableColumn.types.d.ts +146 -0
- package/dist/components/EzTable/types/EzTableEdit.types.d.ts +58 -0
- package/dist/components/EzTable/types/EzTableFilter.types.d.ts +50 -0
- package/dist/components/EzTable/types/EzTableProps.d.ts +750 -0
- package/dist/components/EzTable/types/index.d.ts +4 -0
- package/dist/components/EzTable/useEzTable.d.ts +17 -0
- package/dist/components/EzTable/utils/SizingUtils.d.ts +11 -0
- package/dist/components/EzTable/utils/TextMeasurer.d.ts +1 -0
- package/dist/components/EzTable/utils/TruncatedTooltip.d.ts +7 -0
- package/dist/components/EzTable/utils/columnTypeDetector.d.ts +5 -0
- package/dist/components/EzTable/utils/filterTypeGuards.d.ts +3 -0
- package/dist/components/EzTable/utils/index.d.ts +1 -0
- package/dist/components/EzTreeView/EzTreeView.types.d.ts +364 -0
- package/dist/components/EzTreeView/EzTreeViewItem.d.ts +89 -0
- package/dist/components/EzTreeView/EzVirtualTree.d.ts +84 -0
- package/dist/components/EzTreeView/components/EzTreeViewLoadingSpinner.d.ts +2 -0
- package/dist/components/EzTreeView/hooks/useTreeDragDrop.d.ts +31 -0
- package/dist/components/EzTreeView/hooks/useTreeExpansion.d.ts +21 -0
- package/dist/components/EzTreeView/hooks/useTreeImperative.d.ts +28 -0
- package/dist/components/EzTreeView/hooks/useTreeSelection.d.ts +31 -0
- package/dist/components/EzTreeView/hooks/useTreeState.d.ts +21 -0
- package/dist/components/EzTreeView/hooks/useTreeVirtualization.d.ts +18 -0
- package/dist/components/EzTreeView/index.d.ts +40 -0
- package/dist/components/EzTreeView/services/TreeService.d.ts +11 -0
- package/dist/components/EzTreeView/useEzTreeView.d.ts +50 -0
- package/dist/components/EzTreeView/utils/treeUtils.d.ts +17 -0
- package/dist/components/shared/components/EzErrorBoundary.d.ts +18 -0
- package/dist/components/shared/components/EzLayoutErrorFallback.d.ts +2 -0
- package/dist/components/shared/components/EzLoadingSpinner.d.ts +8 -0
- package/dist/components/shared/components/EzSchedulerErrorFallback.d.ts +2 -0
- package/dist/components/shared/components/EzSortableList.d.ts +12 -0
- package/dist/components/shared/components/EzTableErrorFallback.d.ts +2 -0
- package/dist/components/shared/components/EzTreeViewErrorFallback.d.ts +2 -0
- package/dist/components/ui/avatar.d.ts +10 -0
- package/dist/components/ui/badge.d.ts +9 -0
- package/dist/components/ui/breadcrumb.d.ts +19 -0
- package/dist/components/ui/button.d.ts +13 -0
- package/dist/components/ui/calendar.d.ts +15 -0
- package/dist/components/ui/card.d.ts +10 -0
- package/dist/components/ui/checkbox.d.ts +7 -0
- package/dist/components/ui/combobox.d.ts +19 -0
- package/dist/components/ui/command.d.ts +78 -0
- package/dist/components/ui/context-menu.d.ts +27 -0
- package/dist/components/ui/date-time-picker.d.ts +14 -0
- package/dist/components/ui/dropdown-menu.d.ts +31 -0
- package/dist/components/ui/index.d.ts +27 -0
- package/dist/components/ui/input.d.ts +5 -0
- package/dist/components/ui/label.d.ts +9 -0
- package/dist/components/ui/modal.d.ts +9 -0
- package/dist/components/ui/password-input.d.ts +5 -0
- package/dist/components/ui/popover.d.ts +10 -0
- package/dist/components/ui/progress.d.ts +7 -0
- package/dist/components/ui/radio-group.d.ts +5 -0
- package/dist/components/ui/resizable.d.ts +8 -0
- package/dist/components/ui/scroll-area.d.ts +5 -0
- package/dist/components/ui/select.d.ts +26 -0
- package/dist/components/ui/skeleton.d.ts +2 -0
- package/dist/components/ui/switch.d.ts +6 -0
- package/dist/components/ui/table.d.ts +10 -0
- package/dist/components/ui/tabs.d.ts +22 -0
- package/dist/components/ui/textarea.d.ts +5 -0
- package/dist/components/ui/tooltip.d.ts +10 -0
- package/dist/date-time-picker-Bs-7XzHD.cjs +1 -0
- package/dist/date-time-picker-fUzf4TnU.js +127 -0
- package/dist/dropdown-menu-BRP0tyR_.cjs +1 -0
- package/dist/dropdown-menu-B_7_K13o.js +78 -0
- package/dist/ezux.css +2 -1
- package/dist/flow.cjs +1 -0
- package/dist/flow.d.ts +2 -0
- package/dist/flow.es.js +2 -0
- package/dist/index.cjs +3 -12
- package/dist/index.d.ts +66 -6404
- package/dist/index.es.js +229 -1041
- package/dist/input-CYlvlbF7.cjs +1 -0
- package/dist/input-Cj3sQK3M.js +14 -0
- package/dist/kanban.cjs +1 -1
- package/dist/kanban.d.ts +2 -1343
- package/dist/kanban.es.js +4 -17
- package/dist/label-BGgvoZWD.cjs +1 -0
- package/dist/label-DWEV--5W.js +16 -0
- package/dist/layout.cjs +1 -1
- package/dist/layout.d.ts +2 -690
- package/dist/layout.es.js +2 -20
- package/dist/lib/perfect-freehand.d.ts +221 -0
- package/dist/lib/utils.d.ts +2 -0
- package/dist/mock-services.cjs +1 -0
- package/dist/mock-services.d.ts +8 -0
- package/dist/mock-services.es.js +161 -0
- package/dist/popover-D1akYj0W.js +17 -0
- package/dist/popover-wZKNvYM5.cjs +1 -0
- package/dist/scheduler.cjs +1 -1
- package/dist/scheduler.d.ts +2 -1430
- package/dist/scheduler.es.js +2 -11
- package/dist/scroll-area-BJs87d45.js +35 -0
- package/dist/scroll-area-DSkE2KB_.cjs +1 -0
- package/dist/select-D4tFaSai.js +43 -0
- package/dist/select-sVieKbLu.cjs +1 -0
- package/dist/shared/components/AnimatedText.d.ts +44 -0
- package/dist/shared/components/BaseCell.d.ts +14 -0
- package/dist/shared/components/BooleanRenderer.d.ts +34 -0
- package/dist/shared/components/ChartRenderer.d.ts +19 -0
- package/dist/shared/components/DeleteConfirmationModal.d.ts +11 -0
- package/dist/shared/components/EzContextMenu.d.ts +12 -0
- package/dist/shared/components/EzNotificationDropdown.d.ts +2 -0
- package/dist/shared/components/HighlightText.d.ts +4 -0
- package/dist/shared/components/Modal.d.ts +13 -0
- package/dist/shared/components/NotificationPanel.d.ts +2 -0
- package/dist/shared/components/PrimitiveRenderer.d.ts +39 -0
- package/dist/shared/components/SearchableSelect.d.ts +13 -0
- package/dist/shared/components/SelectRenderer.d.ts +33 -0
- package/dist/shared/components/StatusBadge.d.ts +21 -0
- package/dist/shared/components/TooltipWrapper.d.ts +12 -0
- package/dist/shared/components/index.d.ts +9 -0
- package/dist/shared/contexts/EzProvider.d.ts +56 -0
- package/dist/shared/hooks/index.d.ts +56 -0
- package/dist/shared/hooks/useBaseComponent.d.ts +59 -0
- package/dist/shared/hooks/useComponentImperativeAPI.d.ts +11 -0
- package/dist/shared/hooks/useComponentState.d.ts +39 -0
- package/dist/shared/hooks/useCurrentTime.d.ts +6 -0
- package/dist/shared/hooks/useDataChangeEvents.d.ts +53 -0
- package/dist/shared/hooks/useDebounce.d.ts +10 -0
- package/dist/shared/hooks/useDeleteConfirmation.d.ts +9 -0
- package/dist/shared/hooks/useDialogState.d.ts +21 -0
- package/dist/shared/hooks/useDndHandlers.d.ts +19 -0
- package/dist/shared/hooks/useEditing.d.ts +107 -0
- package/dist/shared/hooks/useEventHandlers.d.ts +61 -0
- package/dist/shared/hooks/useEzTheme.d.ts +22 -0
- package/dist/shared/hooks/useFieldValidation.d.ts +24 -0
- package/dist/shared/hooks/useHistory.d.ts +13 -0
- package/dist/shared/hooks/useI18n.d.ts +8 -0
- package/dist/shared/hooks/useImperativeAPI.d.ts +8 -0
- package/dist/shared/hooks/useInitCoreServices.d.ts +5 -0
- package/dist/shared/hooks/useKeyboardNavigation.d.ts +36 -0
- package/dist/shared/hooks/useKeyboardShortcuts.d.ts +14 -0
- package/dist/shared/hooks/useLifecycleEvents.d.ts +22 -0
- package/dist/shared/hooks/useLoadingState.d.ts +17 -0
- package/dist/shared/hooks/useMediaQuery.d.ts +6 -0
- package/dist/shared/hooks/useNotificationService.d.ts +8 -0
- package/dist/shared/hooks/usePerformanceMonitor.d.ts +22 -0
- package/dist/shared/hooks/useRowSelectionEvents.d.ts +44 -0
- package/dist/shared/hooks/useSelection.d.ts +73 -0
- package/dist/shared/hooks/useService.d.ts +12 -0
- package/dist/shared/hooks/useServiceState.d.ts +1 -0
- package/dist/shared/hooks/useStateChangeEvents.d.ts +61 -0
- package/dist/shared/hooks/useTheme.d.ts +13 -0
- package/dist/shared/hooks/useVirtualization.d.ts +85 -0
- package/dist/shared/services/BaseService.d.ts +57 -0
- package/dist/shared/services/ContextMenuService.d.ts +58 -0
- package/dist/shared/services/ExportService.d.ts +35 -0
- package/dist/shared/services/FocusManagerService.d.ts +33 -0
- package/dist/shared/services/HierarchyService.d.ts +43 -0
- package/dist/shared/services/I18nService.d.ts +84 -0
- package/dist/shared/services/LayoutService.d.ts +80 -0
- package/dist/shared/services/NotificationService.d.ts +44 -0
- package/dist/shared/services/PersistenceService.d.ts +69 -0
- package/dist/shared/services/ServiceRegistry.d.ts +52 -0
- package/dist/shared/services/ThemeService.d.ts +49 -0
- package/dist/shared/services/VirtualizationService.d.ts +51 -0
- package/dist/shared/state/store.d.ts +10 -0
- package/dist/shared/themes.d.ts +25 -0
- package/dist/shared/types/BaseProps.d.ts +17 -0
- package/dist/shared/types/common.d.ts +373 -0
- package/dist/shared/types/index.d.ts +2 -0
- package/dist/shared/utils/canvasUtils.d.ts +16 -0
- package/dist/shared/utils/commonUtils.d.ts +28 -0
- package/dist/shared/utils/csvUtils.d.ts +7 -0
- package/dist/shared/utils/dateUtils.d.ts +5 -0
- package/dist/shared/utils/dndUtils.d.ts +16 -0
- package/dist/shared/utils/formatUtils.d.ts +20 -0
- package/dist/shared/utils/imperativeApiUtils.d.ts +36 -0
- package/dist/shared/utils/index.d.ts +11 -0
- package/dist/shared/utils/renderUtils.d.ts +6 -0
- package/dist/shared/utils/serviceUtils.d.ts +10 -0
- package/dist/shared/utils/styleUtils.d.ts +121 -0
- package/dist/shared/utils/validationUtils.d.ts +16 -0
- package/dist/signature.cjs +1 -1
- package/dist/signature.d.ts +2 -410
- package/dist/signature.es.js +2 -4
- package/dist/table.cjs +1 -1
- package/dist/table.d.ts +2 -1059
- package/dist/table.es.js +2 -17
- package/dist/theme-vars.css +143 -135
- package/dist/tooltip-B1wC9m05.js +16 -0
- package/dist/tooltip-Qmzrg5u5.cjs +1 -0
- package/dist/treeview.cjs +1 -1
- package/dist/treeview.d.ts +2 -656
- package/dist/treeview.es.js +2 -954
- package/dist/useComponentState-DiSFLYju.js +57 -0
- package/dist/useComponentState-Wcz6pjd6.cjs +1 -0
- package/dist/useImperativeAPI-Dbx2hMTb.js +7 -0
- package/dist/useImperativeAPI-VrgLwXEO.cjs +1 -0
- package/dist/useInitCoreServices-CuBrviDM.js +40 -0
- package/dist/useInitCoreServices-DlALVDNx.cjs +1 -0
- package/dist/useService-CnCBGG3G.js +10 -0
- package/dist/useService-CyF782jv.cjs +1 -0
- package/dist/useServiceState-CkrJZm1D.js +21 -0
- package/dist/useServiceState-PyYQWxHi.cjs +1 -0
- package/package.json +76 -56
- package/dist/EzContextMenu-B6HBUjWv.cjs +0 -5
- package/dist/EzContextMenu-BSA_B6Pr.js +0 -3500
- package/dist/EzErrorBoundary-CEdz_hDo.cjs +0 -41
- package/dist/EzErrorBoundary-D4NBadES.js +0 -3727
- package/dist/EzEventModal-BUMp_BFi.js +0 -689
- package/dist/EzEventModal-xzHfzi0O.cjs +0 -1
- package/dist/EzGroupingPanel-BUsIYDRi.js +0 -143
- package/dist/EzGroupingPanel-D0HdSomF.cjs +0 -1
- package/dist/EzSchedulerQuickAdd-C653LTGh.js +0 -118
- package/dist/EzSchedulerQuickAdd-UnOWCpJd.cjs +0 -1
- package/dist/EzSchedulerToolbar-C-5OdRY6.cjs +0 -1
- package/dist/EzSchedulerToolbar-CO5jjDQg.js +0 -240
- package/dist/EzSignature-BaNesxwC.cjs +0 -1
- package/dist/EzSignature-D4EYwo9W.js +0 -419
- package/dist/EzTableEditDialog-Cd948V1C.js +0 -63
- package/dist/EzTableEditDialog-NiOubaMT.cjs +0 -1
- package/dist/EzTableFooter-CWjfGCjL.cjs +0 -1
- package/dist/EzTableFooter-DveD12RC.js +0 -54
- package/dist/EzTableToolbar-Bz8UWv6j.js +0 -246
- package/dist/EzTableToolbar-DHE7Bb1R.cjs +0 -1
- package/dist/HighlightText-8D6KEyBw.js +0 -68
- package/dist/HighlightText-LtZmzCle.cjs +0 -1
- package/dist/NotificationPanel-D2Y-_ahk.js +0 -68
- package/dist/NotificationPanel-zLxrtTGf.cjs +0 -1
- package/dist/TooltipWrapper-BrRTi5EJ.js +0 -2021
- package/dist/TooltipWrapper-DWts4bAI.cjs +0 -1
- package/dist/avatar-BeK0E4mn.js +0 -41
- package/dist/avatar-DZAaTK2f.cjs +0 -1
- package/dist/bell-DAz8P0BR.js +0 -14
- package/dist/bell-DOX2y38e.cjs +0 -1
- package/dist/calendar-BMZ8ddOf.cjs +0 -1
- package/dist/calendar-Dy3rVMW2.js +0 -90
- package/dist/checkbox-B0lGHUyy.cjs +0 -1
- package/dist/checkbox-boJRxICT.js +0 -46
- package/dist/chevron-down-C3s8jU6B.js +0 -5
- package/dist/chevron-down-DZVL7VHW.cjs +0 -1
- package/dist/chevron-left-BFr8XZyF.js +0 -5
- package/dist/chevron-left-HWhRo6IH.cjs +0 -1
- package/dist/circle-alert-77QqFR-z.cjs +0 -1
- package/dist/circle-alert-B2AMDd8N.js +0 -9
- package/dist/circle-x-Cv7bfIC_.js +0 -9
- package/dist/circle-x-DwVXxhXr.cjs +0 -1
- package/dist/date-time-picker-DTxHdPgQ.cjs +0 -1
- package/dist/date-time-picker-Dj2eftJI.js +0 -1636
- package/dist/download-0ZhO2XaW.cjs +0 -1
- package/dist/download-panVHmk6.js +0 -9
- package/dist/ellipsis-CuqNthAj.js +0 -9
- package/dist/ellipsis-CzlqJf-i.cjs +0 -1
- package/dist/grip-vertical-CSyDKBul.js +0 -12
- package/dist/grip-vertical-DZNBW1Dn.cjs +0 -1
- package/dist/index-B3ipEEhH.cjs +0 -2
- package/dist/index-BPPb7bcs.js +0 -3220
- package/dist/index-BQKw_Vho.js +0 -9604
- package/dist/index-C5STgBSy.js +0 -5203
- package/dist/index-C6NfgycP.js +0 -4644
- package/dist/index-D4f2ZdrG.cjs +0 -2
- package/dist/index-DUY1SqMo.cjs +0 -1
- package/dist/index-c1Zg--dt.cjs +0 -7
- package/dist/input-BgM_la4k.cjs +0 -1
- package/dist/input-jYQ5VKNR.js +0 -21
- package/dist/isBefore-C3Y_wbk3.js +0 -15
- package/dist/isBefore-Cp1ttk6q.cjs +0 -1
- package/dist/label-ClOW9UCt.js +0 -55
- package/dist/label-Dx6oDB-X.cjs +0 -1
- package/dist/layers-BA4i1fYX.js +0 -27
- package/dist/layers-xSPd-hz3.cjs +0 -1
- package/dist/popover-BJq1CKmi.cjs +0 -1
- package/dist/popover-Cmlb7w3R.js +0 -341
- package/dist/scroll-area-9fwpVNxT.js +0 -573
- package/dist/scroll-area-CwwZSSA4.cjs +0 -1
- package/dist/select-GxA46anr.cjs +0 -1
- package/dist/select-mDCun_IR.js +0 -35
- package/dist/settings-CvyjK75A.js +0 -31
- package/dist/settings-DKPknrt8.cjs +0 -1
- package/dist/sortable.esm-CsRPuXyD.cjs +0 -1
- package/dist/sortable.esm-CzMCDPet.js +0 -477
- package/dist/tooltip-B41iztKT.cjs +0 -1
- package/dist/tooltip-BCtrEe0z.js +0 -490
- package/dist/useComponentState-C87xXa5d.js +0 -64
- package/dist/useComponentState-DDgGbBXv.cjs +0 -1
- package/dist/useImperativeAPI-DXmCQvPL.js +0 -7
- package/dist/useImperativeAPI-DbZ3owSV.cjs +0 -1
- package/dist/useInitCoreServices-CwXv2p4S.cjs +0 -1
- package/dist/useInitCoreServices-D1WaWlaI.js +0 -3929
- package/dist/useService-8OoezWr8.cjs +0 -1
- package/dist/useService-BUi3uAqE.js +0 -10
- package/dist/useServiceState-BjpCjUn2.cjs +0 -1
- package/dist/useServiceState-VE-viK8b.js +0 -24
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("./EzProvider-L2qQMq-v.cjs"),t=require("./button-BBMwzUtG.cjs"),n=require("./avatar-BSdRHETK.cjs"),r=require("./EzErrorBoundary-d_2g-_EK.cjs"),i=require("./useInitCoreServices-DlALVDNx.cjs"),a=require("./useServiceState-PyYQWxHi.cjs"),o=require("./tooltip-Qmzrg5u5.cjs"),s=require("./EzContextMenu-BCUoEQp5.cjs"),c=require("./TooltipWrapper-DfbFAZ1U.cjs"),l=require("./Modal-BmX1C448.cjs");let u=require("react");u=e.y(u,1);let d=require("lucide-react"),f=require("react/jsx-runtime"),p=require("@tanstack/store"),m=require("@dnd-kit/core"),h=require("@tanstack/react-store"),g=require("@tanstack/react-query"),_=require("date-fns"),v=require("rrule"),y=require("@dnd-kit/utilities"),b=require("dompurify");b=e.y(b,1);function x(e){let[t,n]=(0,u.useState)(()=>typeof window<`u`?window.matchMedia(e).matches:!1);return(0,u.useEffect)(()=>{if(typeof window>`u`)return;let t=window.matchMedia(e),r=()=>n(t.matches);return t.addEventListener?t.addEventListener(`change`,r):t.addListener(r),()=>{t.removeEventListener?t.removeEventListener(`change`,r):t.removeListener(r)}},[e]),t}function S(e=6e4){let[t,n]=(0,u.useState)(()=>new Date);return(0,u.useEffect)(()=>{let t=setInterval(()=>{n(new Date)},e);return()=>clearInterval(t)},[e]),t}var C=({totalItems:e,columns:t=1,onSelect:n,onAction:r,onCancel:i,wrap:a=!0,enabled:o=!0})=>{let[s,c]=(0,u.useState)(-1),l=(0,u.useCallback)(l=>{if(!o||e===0)return;let u=s;switch(l.key){case`ArrowDown`:s===-1?u=0:(u=s+t,u>=e&&(u=a?u%t:s)),l.preventDefault();break;case`ArrowUp`:if(s===-1)u=e-1;else if(u=s-t,u<0)if(a){let n=s%t;u=(Math.ceil(e/t)-1)*t+n,u>=e&&(u-=t)}else u=s;l.preventDefault();break;case`ArrowRight`:s===-1?u=0:(u=s+1,u>=e&&(u=a?0:s)),l.preventDefault();break;case`ArrowLeft`:s===-1?u=e-1:(u=s-1,u<0&&(u=a?e-1:s)),l.preventDefault();break;case`Enter`:s!==-1&&r&&(r(s),l.preventDefault());break;case`Escape`:i&&(i(),l.preventDefault()),c(-1);break;default:return}u!==s&&(c(u),n?.(u))},[s,e,t,n,r,i,a,o]);return(0,u.useEffect)(()=>{if(o)return window.addEventListener(`keydown`,l),()=>window.removeEventListener(`keydown`,l)},[o,l]),{selectedIndex:s,setSelectedIndex:c}},w=e=>new p.Store({events:[],resources:[],view:`week`,currentDate:new Date,selectedDate:new Date,selectedEventId:null,slotDuration:30,is24Hour:!0,...e}),T=e=>({setEvents:t=>{e.setState(e=>({...e,events:t}))},addEvent:t=>{e.setState(e=>({...e,events:[...e.events,t]}))},updateEvent:t=>{e.setState(e=>({...e,events:e.events.map(e=>e.id===t.id?t:e)}))},deleteEvent:t=>{e.setState(e=>({...e,events:e.events.filter(e=>e.id!==t)}))},setResources:t=>{e.setState(e=>({...e,resources:t}))},setView:t=>{e.setState(e=>({...e,view:t}))},setCurrentDate:t=>{e.setState(e=>({...e,currentDate:t}))},setSelectedDate:t=>{e.setState(e=>({...e,selectedDate:t}))},setSelectedEventId:t=>{e.setState(e=>({...e,selectedEventId:t}))},setSlotDuration:t=>{e.setState(e=>({...e,slotDuration:t}))},setIs24Hour:t=>{e.setState(e=>({...e,is24Hour:t}))}}),E=class{name=`SchedulerService`;events=new Map;resources=new Map;constructor(e=[]){this.initializeWithData(e)}async init(){}async cleanup(){}initializeWithData(e,t=[]){this.events.clear(),this.resources.clear(),e.forEach(e=>{this.events.set(String(e.id),JSON.parse(JSON.stringify(e)))}),t.forEach(e=>{this.resources.set(String(e.id),JSON.parse(JSON.stringify(e)))})}async getEvents(e,t){return await this.simulateLatency(),!e||!t?Array.from(this.events.values()):Array.from(this.events.values()).filter(n=>{let r=new Date(n.start),i=new Date(n.end);return r>=e&&r<t||i>e&&i<=t||r<=e&&i>=t}).map(e=>({...e,start:new Date(e.start),end:new Date(e.end)}))}async addEvent(e){await this.simulateLatency();let t={id:e.id||Math.random().toString(36).substring(2,9),title:e.title||`Untitled Event`,start:e.start||new Date,end:e.end||new Date(new Date().getTime()+3600*1e3),description:e.description,resourceId:e.resourceId,resourceIds:e.resourceIds,allDay:e.allDay||!1,...e};return this.events.set(String(t.id),t),t}async updateEvent(e){await this.simulateLatency();let t=String(e.id);if(this.events.has(t)){let n={...this.events.get(t),...e,id:t};return this.events.set(t,n),n}else if(this.events.has(e.id)){let t={...this.events.get(e.id),...e};return this.events.set(e.id,t),t}throw Error(`Event with ID ${e.id} not found`)}async deleteEvent(e){await this.simulateLatency();let t=String(e);this.events.has(t)?this.events.delete(t):this.events.has(e)&&this.events.delete(e)}async getResources(){return await this.simulateLatency(),Array.from(this.resources.values())}async addResource(e){return await this.simulateLatency(),e.id||=Math.random().toString(36).substring(2,9),this.resources.set(String(e.id),e),e}simulateLatency(){return new Promise(e=>setTimeout(e,300))}},D=class{name=`RecurrenceEngine`;expandEvents(e,t,n){let r=[];return e.forEach(e=>{if(e.recurrenceRule||e.rrule)try{let i=e.recurrenceRule||e.rrule||``;if(!i)return;let a=new Date(e.start),o=new Date(e.end),s=v.RRule.parseString(i);s.dtstart=a;let c=new v.RRule(s).between(t,n,!0),l=new Set;e.exdate&&Array.isArray(e.exdate)?e.exdate.forEach(e=>{let t=new Date(e).getTime();isNaN(t)||l.add(t)}):typeof e.recurrenceException==`string`&&e.recurrenceException.split(`,`).forEach(e=>{let t=new Date(e).getTime();isNaN(t)||l.add(t)}),c.forEach(t=>{if(l.has(t.getTime()))return;let n=o.getTime()-a.getTime();if(isNaN(n))return;let i=new Date(t.getTime()+n);r.push({...e,id:`${e.id}-${t.getTime()}`,recurrenceId:String(e.id),start:t,end:i,originalStart:a})})}catch(t){console.error(`Error processing recurrence rule for event ${e.id}:`,t),r.push(e)}else r.push(e)}),r}cleanup(){}},O=(t,n,i)=>{let a=e.n(),{events:o,serviceRegistry:s=a,showWeekend:c=!0,recurrenceEngine:l,onEventCreate:d,onEventChange:f,onEventDelete:p}=t,m=(0,g.useQueryClient)(),h=r.i(s,`SchedulerService`,()=>new E(o||[])),v=l||r.i(s,`RecurrenceEngine`,()=>new D);(0,u.useEffect)(()=>{o&&o.length>0&&(h.initializeWithData(o),m.invalidateQueries({queryKey:[`scheduler-events`]}))},[o,h,m]);let y=(0,u.useMemo)(()=>{let e,t;if(n===`day`||n===`timeline-day`)e=(0,_.startOfDay)(i),t=(0,_.endOfDay)(i);else if(n===`month`||n===`timeline-month`)e=n===`month`?(0,_.startOfWeek)((0,_.startOfMonth)(i),{weekStartsOn:0}):(0,_.startOfMonth)(i),t=n===`month`?(0,_.endOfWeek)((0,_.endOfMonth)(i),{weekStartsOn:0}):(0,_.endOfMonth)(i);else if(n===`week`||n===`workweek`||n===`timeline-week`){let r=(0,_.startOfWeek)(i,{weekStartsOn:0});e=n===`workweek`?(0,_.addDays)(r,1):r,t=n===`workweek`?(0,_.addDays)(r,5):(0,_.endOfWeek)(i,{weekStartsOn:0})}else e=(0,_.startOfDay)(i),t=(0,_.endOfDay)(i);try{let n=(0,_.eachDayOfInterval)({start:e,end:t});return c?n:n.filter(e=>{let t=e.getDay();return t!==0&&t!==6})}catch{return[i]}},[n,i,c]),b=y.length>0?(0,_.startOfDay)(y[0]):new Date,x=y.length>0?(0,_.endOfDay)(y[y.length-1]):new Date,{data:S=[]}=(0,g.useQuery)({queryKey:[`scheduler-events`,b.toISOString(),x.toISOString()],queryFn:()=>h.getEvents(b,x),placeholderData:o||[]}),C=(0,u.useMemo)(()=>y.length===0?[]:v.expandEvents(S,b,x),[S,y,v,b,x]),w=(0,u.useMemo)(()=>y.length?C.filter(e=>(0,_.isWithinInterval)(e.start,{start:b,end:x})||(0,_.isWithinInterval)(e.end,{start:b,end:x})||e.start<b&&e.end>x):[],[C,y,b,x]),T=(0,g.useMutation)({mutationFn:async e=>{let t=await h.addEvent(e);return d&&await d(t),t},onMutate:async e=>{let t=[`scheduler-events`,b.toISOString(),x.toISOString()];await m.cancelQueries({queryKey:t});let n=m.getQueryData(t);return m.setQueryData(t,(t=[])=>{let n={...e,id:e.id||Date.now().toString(),start:e.start||new Date,end:e.end||new Date};return[...t,n]}),{previousEvents:n,queryKey:t}},onError:(e,t,n)=>{n?.previousEvents&&m.setQueryData(n.queryKey,n.previousEvents)},onSettled:()=>{m.invalidateQueries({queryKey:[`scheduler-events`]})}}),O=(0,g.useMutation)({mutationFn:async e=>{let t=await h.updateEvent(e);return f&&await f(t),t},onMutate:async e=>{let t=[`scheduler-events`,b.toISOString(),x.toISOString()];await m.cancelQueries({queryKey:t});let n=m.getQueryData(t);return m.setQueryData(t,(t=[])=>t.map(t=>t.id===e.id?e:t)),{previousEvents:n,queryKey:t}},onError:(e,t,n)=>{n?.previousEvents&&m.setQueryData(n.queryKey,n.previousEvents)},onSettled:()=>{m.invalidateQueries({queryKey:[`scheduler-events`]})}}),k=(0,g.useMutation)({mutationFn:async e=>(await h.deleteEvent(e),p&&await p(e.toString()),e),onMutate:async e=>{let t=[`scheduler-events`,b.toISOString(),x.toISOString()];await m.cancelQueries({queryKey:t});let n=m.getQueryData(t);return m.setQueryData(t,(t=[])=>t.filter(t=>t.id!==e)),{previousEvents:n,queryKey:t}},onError:(e,t,n)=>{n?.previousEvents&&m.setQueryData(n.queryKey,n.previousEvents)},onSettled:()=>{m.invalidateQueries({queryKey:[`scheduler-events`]})}});return{schedulerService:h,recurrenceEngine:v,daysInView:y,visibleEvents:w,allEvents:S,addEvent:T.mutateAsync,updateEvent:O.mutateAsync,deleteEvent:k.mutateAsync,isUpdating:T.isPending||O.isPending||k.isPending}},k=e=>{let{overscanCount:t=2,startHour:n=`00:00`,endHour:r=`24:00`}=e,i=parseInt(n.split(`:`)[0],10),a=parseInt(r.split(`:`)[0],10),o=60/(e.slotDuration||30),c=Math.max(1,(a-i)*o),{rowVirtualizer:l,columnVirtualizer:u,parentRef:d}=s._({rowCount:c,rowHeight:64,overscanCount:t,progressiveRendering:e.progressiveRendering,prefetchDistance:e.prefetchDistance,enableColumnVirtualization:e.view?.startsWith(`timeline`),columnCount:e.view?.startsWith(`timeline`)?c:0,columnWidth:100,id:e.id,debug:e.debugVirtualization,onScrollStart:()=>{e.virtualScrollStart&&e.virtualScrollStart({virtualizer:{}})},onScrollStop:()=>{e.virtualScrollStop&&e.virtualScrollStop({virtualizer:{}})}});return{parentRef:d,rowVirtualizer:l,columnVirtualizer:u}},A=(e,t,n,r)=>{let i=e=>{t(e),r?.(e)};return{next:()=>{let t=e;n===`day`||n===`timeline-day`?t=(0,_.addDays)(e,1):n===`week`||n===`workweek`||n===`timeline-week`?t=(0,_.addWeeks)(e,1):(n===`month`||n===`timeline-month`)&&(t=(0,_.addMonths)(e,1)),i(t)},prev:()=>{let t=e;n===`day`||n===`timeline-day`?t=(0,_.subDays)(e,1):n===`week`||n===`workweek`||n===`timeline-week`?t=(0,_.subWeeks)(e,1):(n===`month`||n===`timeline-month`)&&(t=(0,_.subMonths)(e,1)),i(t)},today:()=>{i(new Date)}}},j=class extends e.g{name=`HistoryService`;undoStack=[];redoStack=[];maxHistorySize=50;constructor(){super({canUndo:!1,canRedo:!1})}record(e){let t={...e,timestamp:Date.now()};this.undoStack.push(t),this.undoStack.length>this.maxHistorySize&&this.undoStack.shift(),this.redoStack=[],this.updateState()}undo(){if(this.undoStack.length===0)return null;let e=this.undoStack.pop();return this.redoStack.push(e),this.updateState(),e}redo(){if(this.redoStack.length===0)return null;let e=this.redoStack.pop();return this.undoStack.push(e),this.updateState(),e}clear(){this.undoStack=[],this.redoStack=[],this.updateState()}updateState(){this.setState({canUndo:this.undoStack.length>0,canRedo:this.redoStack.length>0})}cleanup(){this.clear(),super.cleanup()}},M=class{name=`SearchService`;search(e,t,n={}){if(!t||!t.trim())return e;let r=n.matchCase?t:t.toLowerCase(),i=n.fields||[`title`,`description`,`location`];return e.filter(e=>i.some(t=>{let i=e[t];return typeof i==`string`?n.matchCase?i.includes(r):i.toLowerCase().includes(r):!1}))}cleanup(){}},N=class{name=`TimezoneService`;constructor(){}toTimezone(e,t){if(!t||t===`UTC`||t===`Local`)return new Date(e);try{let n=new Date(e).toLocaleString(`en-US`,{timeZone:t});return new Date(n)}catch(n){return console.warn(`TimezoneService: Invalid timezone ${t}`,n),new Date(e)}}formatInTimezone(e,t,n){try{return new Intl.DateTimeFormat(`en-US`,{...n,timeZone:t}).format(new Date(e))}catch(e){return console.error(`TimezoneService formatting error:`,e),``}}getLocalTimezone(){return Intl.DateTimeFormat().resolvedOptions().timeZone}cleanup(){}},P=class{name=`AttendeeService`;constructor(){}isValidEmail(e){return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e)}getStatusLabel(e){switch(e){case`accepted`:return`Accepted`;case`declined`:return`Declined`;case`tentative`:return`Tentative`;case`needs-action`:return`Needs Action`;default:return`Unknown`}}cleanup(){}},F=class{name=`ReminderService`;timer=null;checkInterval=6e4;onReminderTriggered;constructor(){}start(e){this.onReminderTriggered=e,this.timer&&clearInterval(this.timer),this.timer=setInterval(()=>this.checkReminders(),this.checkInterval)}stop(){this.timer&&=(clearInterval(this.timer),null)}checkReminders(){console.log(`[ReminderService] Checking for due reminders...`,this.onReminderTriggered)}getTriggerTime(e,t){return new Date(e.getTime()-t*6e4)}cleanup(){this.stop()}},I=e=>{let{serviceRegistry:t,state:n,api:o}=i.n(e),s=a.t(`I18nService`)?.dir||`ltr`,c=e.dir===`auto`||!e.dir?s:e.dir,l=(0,u.useMemo)(()=>w({events:e.events||[],resources:e.resources||[],view:e.view?e.view.toLowerCase():`week`,currentDate:e.selectedDate||new Date,selectedDate:e.selectedDate||new Date,slotDuration:e.slotDuration||30,is24Hour:e.is24Hour??!0}),[]),d=(0,u.useMemo)(()=>T(l),[l]),f=(0,h.useStore)(l,e=>e);(0,u.useEffect)(()=>{e.events&&d.setEvents(e.events)},[e.events]),(0,u.useEffect)(()=>{e.resources&&d.setResources(e.resources)},[e.resources]),(0,u.useEffect)(()=>{if(e.view){let t=e.view.toLowerCase().replace(/[^a-z]/g,``);d.setView({day:`day`,week:`week`,workweek:`workweek`,month:`month`,timelineday:`timeline-day`,timelineweek:`timeline-week`,timelineworkweek:`timeline-week`,timelinemonth:`timeline-month`,agenda:`agenda`,timeline:`timeline-day`}[t]||t)}},[e.view,d]),(0,u.useEffect)(()=>{e.selectedDate&&(d.setCurrentDate(e.selectedDate),d.setSelectedDate(e.selectedDate))},[e.selectedDate]),(0,u.useEffect)(()=>{e.slotDuration!==void 0&&d.setSlotDuration(e.slotDuration)},[e.slotDuration]),(0,u.useEffect)(()=>{e.is24Hour!==void 0&&d.setIs24Hour(e.is24Hour)},[e.is24Hour]);let{view:p,currentDate:m,events:g}=f,{schedulerService:_,recurrenceEngine:v,daysInView:y,visibleEvents:b,allEvents:x,addEvent:S,updateEvent:E,deleteEvent:D,isUpdating:I}=O({...e,events:g},p,m),{parentRef:L,rowVirtualizer:R,columnVirtualizer:z}=k(e),{next:B,prev:V,today:H}=A(m,d.setCurrentDate,p,e.onDateChange),[U,W]=(0,u.useState)(null),{selectedIndex:G,setSelectedIndex:K}=C({totalItems:b.length,enabled:!0,onSelect:e=>{let t=b[e];t&&(W(t.id),(document.getElementById(`event-${t.id}`)||document.querySelector(`[data-event-id="${t.id}"]`))?.scrollIntoView({behavior:`smooth`,block:`nearest`}))},onAction:t=>{let n=b[t];n&&e.onEventClick&&e.onEventClick(n)}}),q=(0,u.useMemo)(()=>({showWeekend:e.showWeekend??!0,timeFormat:e.timeFormat,weekRule:e.weekRule||`FirstDay`,monthsCount:e.monthsCount||1,eventDragArea:e.eventDragArea,dir:c||`ltr`}),[e.showWeekend,e.timeFormat,e.weekRule,e.monthsCount,e.eventDragArea,c]),J=r.i(t,`HistoryService`,()=>new j),ee=r.i(t,`SearchService`,()=>new M),Y=r.i(t,`TimezoneService`,()=>new N),X=r.i(t,`AttendeeService`,()=>new P),te=r.i(t,`ReminderService`,()=>new F);return{state:{currentView:f.view,selectedDate:f.selectedDate,currentDate:m,events:f.events,resources:f.resources,viewEvents:b,daysInView:y,allEvents:x,slotDuration:f.slotDuration,is24Hour:f.is24Hour,isUpdating:I,selectedIndex:G,highlightedEventId:U},actions:{nextPeriod:B,prevPeriod:V,today:H,setView:d.setView,setDate:d.setSelectedDate,setCurrentDate:d.setCurrentDate,addEvent:S,updateEvent:E,deleteEvent:D,setSlotDuration:d.setSlotDuration,setIs24Hour:d.setIs24Hour,setSelectedIndex:K,setHighlightedEventId:W},services:{schedulerService:_,recurrenceEngine:v,historyService:J,searchService:ee,timezoneService:Y,attendeeService:X,reminderService:te,serviceRegistry:t},config:q,refs:{parentRef:L,rowVirtualizer:R,columnVirtualizer:z},baseState:n,baseApi:o,dir:c}},L=(e,t,n,i,a,o,s={})=>{r.n(o,(0,u.useMemo)(()=>{let r=c.i(a.scrollToIndex),o=c.n(()=>n.getEvents(),e=>n.addEvent(e),e=>n.updateEvent(e),e=>n.deleteEvent(e)),l=c.s(a.showSpinner,a.hideSpinner),u=c.a(()=>{},a.forceUpdate),d=c.r(()=>s.onExportExcel?.(i),()=>s.onExportICS?.(i),()=>{window.print()});return{changeView:a.changeView,changeCurrentView:a.changeView,next:a.next,prev:a.prev,today:a.today,...r,scrollTo:(e,t=0)=>{let n=parseInt(e.split(`:`)[0])*60+t,r=Math.floor(n/30);a.scrollToIndex(r)},scrollToTime:(e,t)=>{let n=e*60+t,r=Math.floor(n/30);a.scrollToIndex(r)},...o,getCurrentDate:()=>t,setCurrentDate:e=>{let n=e.getTime()-t.getTime();n>0&&a.next(),n<0&&a.prev()},getEvents:async()=>n.getEvents(),getEventsInDateRange:async(e,t)=>n.getEvents(e,t),addEvent:async e=>{await n.addEvent(e)},saveEvent:async e=>{await n.updateEvent(e)},deleteEvent:async e=>{await n.deleteEvent(e)},getCurrentViewEvents:()=>i,scrollToEvent:e=>{let t=i.find(t=>t.id===e);if(!t)return;let n=t.start.getHours()*60+t.start.getMinutes();a.scrollToIndex(Math.floor(n/30))},selectEvent:()=>{},clearSelection:()=>{},addResource:async e=>{a.setResources(t=>[...t,e])},getResources:async()=>n.getResources(),updateResource:async(e,t)=>{a.setResources(n=>n.map(n=>String(n.id)===String(e)?{...n,...t}:n))},removeResource:async e=>{a.setResources(t=>t.filter(t=>t.id!==e))},openEditor:(e,t=`Add`)=>{a.setEditorState({isOpen:!0,mode:t===`Edit`?`edit`:t===`view`?`view`:`create`,event:e})},closeEditor:()=>a.setEditorState({isOpen:!1,mode:`create`,event:void 0}),closeQuickInfoPopup:a.closeQuickInfoPopup,...l,...u,...d,currentView:e,...s}},[e,t,i,a,n,s]))},R=({resources:e})=>{let t=(0,u.useMemo)(()=>!e||e.length===0?[]:`dataSource`in e[0]?e.flatMap(e=>e.dataSource):e,[e]),[n,r]=(0,u.useState)(t);return(0,u.useEffect)(()=>{r(t)},[t]),{resources:t,internalResources:n,setInternalResources:r}},z=({events:e,resources:t=[],onEventChange:n,onBeforeEventDrop:r,onBeforeEventResize:i,slotDuration:a=30})=>{let o=(0,u.useCallback)(e=>{if(e)return t.find(t=>String(t.id)===String(e))},[t]),s=(e,t)=>e===!1||t.cancel,c=(0,u.useCallback)(t=>{let{active:c,over:l,delta:u}=t,d=e.find(e=>e.id===c.id||e.id===(c.data?.current?.eventId||c.data?.current?.id));if(!d)return;if(c.data?.current?.type?.startsWith(`resize-`)){let e=c.data.current.type,t=c.data.current,r=t?.orientation||`vertical`,l=t?.pixelsPerSlot||64,f=r===`vertical`?u.y:u.x,p=Math.round(f/l)*a;if(p===0)return;let m,h;if(e===`resize-bottom`){let e=new Date(d.end.getTime()+p*60*1e3),t=new Date(d.start.getTime()+a*60*1e3),n=e<t?t:e;h=`end`,m={...d,end:n}}else if(e===`resize-top`){let e=new Date(d.start.getTime()+p*60*1e3),t=new Date(d.end.getTime()-a*60*1e3),n=e>t?t:e;h=`start`,m={...d,start:n}}if(!m)return;let g={data:d,event:m,originalEvent:d,proposedEvent:m,sourceResourceId:d.resourceId,targetResourceId:m.resourceId,sourceResource:o(d.resourceId),targetResource:o(m.resourceId),sourceTime:d.start,targetTime:m.start,resizeEdge:h,cancel:!1};if(s(i?.(g),g))return;n?.(m);return}if(!l)return;let f=l.data?.current;if(f?.kind===`time-slot`||typeof l.id==`string`&&l.id.startsWith(`slot-`)){let e=f?.date,t=f?.resourceId;if(e){let i=d.end.getTime()-d.start.getTime(),a=new Date(e),c=new Date(a.getTime()+i),l={...d,start:a,end:c,resourceId:t===`none`?void 0:t,resourceIds:t&&t!==`none`?[t]:d.resourceIds},u={data:d,event:l,originalEvent:d,proposedEvent:l,sourceResourceId:d.resourceId,targetResourceId:l.resourceId,sourceResource:o(d.resourceId),targetResource:o(l.resourceId),sourceTime:d.start,targetTime:a,cancel:!1};if(s(r?.(u),u))return;n?.(l)}return}if(f?.kind===`timeline-row`){let e=f.slotWidth||80,t=f.resourceId,i=f.isRtl?-1:1,c=Math.round(u.x*i/e)*a,l=d.end.getTime()-d.start.getTime(),p=new Date(d.start.getTime()+c*60*1e3),m=new Date(p.getTime()+l),h={...d,start:p,end:m,resourceId:t===`none`?void 0:t,resourceIds:t&&t!==`none`?[t]:d.resourceIds},g={data:d,event:h,originalEvent:d,proposedEvent:h,sourceResourceId:d.resourceId,targetResourceId:h.resourceId,sourceResource:o(d.resourceId),targetResource:o(h.resourceId),sourceTime:d.start,targetTime:p,cancel:!1};if(s(r?.(g),g))return;n?.(h);return}let p=typeof l.id==`string`&&l.id.startsWith(`header-`)?l.id.replace(`header-`,``):null;if(p){let e={...d,resourceId:p},t={data:d,event:e,originalEvent:d,proposedEvent:e,sourceResourceId:d.resourceId,targetResourceId:e.resourceId,sourceResource:o(d.resourceId),targetResource:o(e.resourceId),sourceTime:d.start,targetTime:e.start,cancel:!1};if(s(r?.(t),t))return;n?.(e)}},[e,o,r,i,n,a]);return{sensors:(0,m.useSensors)((0,m.useSensor)(m.PointerSensor,{activationConstraint:{distance:8}})),handleDragEnd:c}},B=()=>(0,f.jsx)(`div`,{className:`flex flex-col items-center justify-center min-h-screen p-4`,children:(0,f.jsxs)(`div`,{className:`flex flex-col items-center gap-4 max-w-md w-full`,children:[(0,f.jsx)(`div`,{className:`flex items-center justify-center w-16 h-16 rounded-full bg-destructive/10`,children:(0,f.jsx)(d.AlertTriangle,{className:`w-8 h-8 text-destructive`})}),(0,f.jsxs)(`div`,{className:`flex flex-col items-center gap-2 text-center`,children:[(0,f.jsx)(`h2`,{className:`text-lg font-semibold`,children:`Scheduler Error`}),(0,f.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Something went wrong with the scheduler. Please refresh the page or try again.`})]}),(0,f.jsxs)(`button`,{onClick:()=>window.location.reload(),className:`flex items-center gap-2 px-4 py-2 text-sm font-medium text-primary hover:bg-primary/10 rounded-md transition-colors`,children:[(0,f.jsx)(d.RefreshCw,{className:`w-4 h-4`}),`Refresh Page`]})]})}),V=({variant:t=`primary`,text:n=`Loading`,className:r})=>(0,f.jsx)(`div`,{className:e._(`absolute inset-0 bg-background/40 backdrop-blur-[2px] z-[100] flex items-center justify-center transition-all duration-300`,r),children:(0,f.jsxs)(`div`,{className:`flex flex-col items-center gap-3`,children:[(0,f.jsx)(`div`,{className:e._({sm:`w-8 h-8`,md:`w-10 h-10`,lg:`w-12 h-12`}.md,{primary:`border-primary/20 border-t-primary`,secondary:`border-muted-foreground/20 border-t-muted-foreground`}[t],`rounded-full animate-spin`)}),(0,f.jsx)(`span`,{className:`text-[10px] font-black uppercase tracking-widest text-primary animate-pulse`,children:n})]})}),H=()=>(0,f.jsx)(V,{text:`Synchronizing`}),U=({event:t,style:n,onClick:r,onDoubleClick:i,onDelete:a,orientation:o=`vertical`,resizable:l=!1,className:u,showTime:p=!0,isBlocked:h=!1,isPast:g=!1,isHighlighted:v=!1,slotDuration:b=30,pixelsPerSlot:x,dragOverlay:S=!1,isSourceDragging:C=!1})=>{let w=h||t.isBlock,T=w||g,E=x||(o===`vertical`?64:80),{attributes:D,listeners:O,setNodeRef:k,transform:A,isDragging:j}=(0,m.useDraggable)({id:S?`overlay-${t.id}`:t.id,data:{type:`event`,eventId:t.id,event:t,orientation:o,pixelsPerSlot:E},disabled:S||T}),{attributes:M,listeners:N,setNodeRef:P,transform:F,isDragging:I}=(0,m.useDraggable)({id:`resize-bottom-${t.id}`,data:{type:`resize-bottom`,eventId:t.id,orientation:o,pixelsPerSlot:E},disabled:!l||T}),{attributes:L,listeners:R,setNodeRef:z,transform:B,isDragging:V}=(0,m.useDraggable)({id:`resize-top-${t.id}`,data:{type:`resize-top`,eventId:t.id,orientation:o,pixelsPerSlot:E},disabled:!l||T}),H=I||V,U=E/b,W=new Date(t.start),G=new Date(t.end);if(j&&A){let e=o===`vertical`?A.y:A.x,t=Math.round(e/U/15)*15;W=(0,_.addMinutes)(W,t),G=(0,_.addMinutes)(G,t)}else if(V&&B){let e=o===`vertical`?B.y:B.x,t=Math.round(e/U/15)*15;W=(0,_.addMinutes)(W,t)}else if(I&&F){let e=o===`vertical`?F.y:F.x,t=Math.round(e/U/15)*15;G=(0,_.addMinutes)(G,t)}let K=n?.borderColor||t.color||`hsl(var(--primary))`,q=w?{backgroundImage:`repeating - linear - gradient(45deg, transparent, transparent 10px, rgba(0, 0, 0, 0.05) 10px, rgba(0, 0, 0, 0.05) 20px)`,backgroundColor:`rgba(0,0,0,0.02)`,color:`gray`,borderLeftWidth:`4px`,borderColor:`#d1d5db`,borderStyle:`solid`,opacity:1}:{},J=(0,f.jsxs)(`div`,{ref:k,style:{...n,transform:S?void 0:y.CSS.Translate.toString(A),opacity:C?.35:j?.6:g?.7:1,zIndex:j||H?100:T?10:20,touchAction:`none`,pointerEvents:S||j||H?`none`:`auto`,position:S?`relative`:`absolute`,backgroundColor:`color-mix(in srgb, ${K} 12%, transparent)`,color:`color-mix(in srgb, ${K} 90%, black)`,borderLeftWidth:`4px`,borderColor:K,...w?q:{},...I&&o===`vertical`&&F?{height:`${Math.max((parseInt(n?.height)||0)+F.y,24)}px`}:{},...V&&o===`vertical`&&B?{top:`${(parseInt(n?.top)||0)+B.y}px`,height:`${Math.max((parseInt(n?.height)||0)-B.y,24)}px`}:{},...I&&o===`horizontal`&&F?{width:`${Math.max((parseInt(n?.width)||0)+F.x,24)}px`}:{},...V&&o===`horizontal`&&B?{left:`${(parseInt(n?.left)||0)+B.x}px`,width:`${Math.max((parseInt(n?.width)||0)-B.x,24)}px`}:{}},...D,...O,className:e._(`absolute rounded-md text-xs border overflow-hidden group select-none flex flex-col`,`bg-primary/10 border-primary/20 text-foreground shadow-sm hover:shadow-md transition-shadow`,S&&`shadow-xl ring-2 ring-primary/40 cursor-grabbing scale-[1.01]`,j&&`opacity-50 z-50 shadow-xl scale-105 cursor-grabbing ring-2 ring-primary ring-offset-2`,v&&`ring-2 ring-primary ring-offset-1 bg-primary/20 shadow-md transition-all duration-300`,w&&`bg-muted/50 border-muted opacity-80`,!w&&`pointer-events-auto`,w&&`pointer-events-auto select-none grayscale`,u),onClick:e=>{!j&&!H&&(e.stopPropagation(),r?.(t))},onDoubleClick:e=>{e.stopPropagation(),i?.(t)},role:`button`,"aria-label":`Event: ${t.title}`,children:[(0,f.jsxs)(`div`,{className:`flex-1 min-h-0 relative px-2 py-1`,children:[(0,f.jsxs)(`div`,{className:`flex items-start justify-between gap-1`,children:[(0,f.jsx)(`div`,{className:`font-semibold truncate pr-4 leading-tight`,children:t.title}),!w&&(0,f.jsx)(`button`,{className:`opacity-0 group-hover:opacity-100 transition-opacity p-0.5 hover:bg-destructive/10 rounded absolute top-0 right-0 z-10`,onClick:e=>{e.stopPropagation(),a?.(t.id)},onPointerDown:e=>e.stopPropagation(),children:(0,f.jsx)(d.X,{className:`h-3 w-3 text-muted-foreground hover:text-destructive`})})]}),p&&!w&&(0,f.jsxs)(`div`,{className:`text-[10px] text-muted-foreground truncate leading-tight`,children:[(0,_.format)(W,`h:mm a`),` - `,(0,_.format)(G,`h:mm a`)]}),t.description&&(0,f.jsx)(`div`,{className:`text-[10px] text-muted-foreground line-clamp-2 leading-tight mt-0.5`,children:t.description}),w&&(0,f.jsx)(`div`,{className:`flex items-center justify-center h-full`,children:(0,f.jsx)(`span`,{className:`text-xs font-medium text-muted-foreground opacity-70 -rotate-45 select-none`,children:`BLOCKED`})})]}),l&&!w&&(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(`div`,{ref:P,...M,...N,className:e._(`absolute z-20 hover:bg-primary/20 transition-colors flex items-center justify-center opacity-0 group-hover:opacity-100`,o===`vertical`?`bottom-0 left-0 right-0 h-3 cursor-ns-resize`:`right-0 top-0 bottom-0 w-3 cursor-ew-resize`),style:{touchAction:`none`},children:(0,f.jsx)(`div`,{className:e._(`bg-primary/40 rounded-full`,o===`vertical`?`w-10 h-1`:`h-10 w-1`)})}),(0,f.jsx)(`div`,{ref:z,...L,...R,className:e._(`absolute z-20 hover:bg-primary/20 transition-colors flex items-center justify-center opacity-0 group-hover:opacity-100`,o===`vertical`?`top-0 left-0 right-0 h-3 cursor-ns-resize`:`left-0 top-0 bottom-0 w-3 cursor-ew-resize`),style:{touchAction:`none`},children:(0,f.jsx)(`div`,{className:e._(`bg-primary/40 rounded-full`,o===`vertical`?`w-10 h-1 shadow-[0_-1px_0_rgba(0,0,0,0.1)]`:`h-10 w-1 shadow-[-1px_0_0_rgba(0,0,0,0.1)]`)})})]})]});return(0,f.jsx)(c.t,{content:t.description,enabled:!!t.description&&!j,children:(0,f.jsx)(s.t,{contextId:`scheduler-event`,data:t,children:J})})},W=({date:t,resourceId:n,children:r,className:i,style:a,onClick:o,onDoubleClick:s,onMouseDown:c,onMouseEnter:l,onContextMenu:u,data:d,isSelected:p,isWorkHour:h})=>{let{active:g}=(0,m.useDndContext)(),{setNodeRef:_,isOver:v}=(0,m.useDroppable)({id:`slot-${t.toISOString()}-${n||`none`}`,data:{date:t,resourceId:n,...d||{}}});return(0,f.jsx)(`div`,{ref:_,"data-testid":`scheduler-slot`,"data-shaded":h===!1,className:e._(`relative transition-all duration-200`,p&&`bg-primary/15`,!p&&h===!1&&`bg-background`,!!g&&`before:absolute before:inset-0 before:border before:border-dashed before:border-primary/10 before:pointer-events-none before:z-0`,v&&`bg-primary/20 ring-2 ring-primary ring-inset z-10 before:opacity-0`,i),style:a,onClick:o,onDoubleClick:s,onMouseDown:c,onMouseEnter:l,onContextMenu:u,children:r})};function G(e,t=!0){return t?b.default.sanitize(e,{ALLOWED_TAGS:`b.i.em.strong.u.span.div.p.br.h1.h2.h3.h4.h5.h6.ul.ol.li.a.img.table.thead.tbody.tr.th.td`.split(`.`),ALLOWED_ATTR:[`class`,`href`,`src`,`alt`,`title`],ALLOW_DATA_ATTR:!1}):e}function K(e,t,n=!0){if(!e)return null;if(typeof e==`function`){let n=e(t);return typeof n==`string`?{__html:G(n,!0)}:n}return typeof e==`string`?{__html:G(e,!0)}:null}function q(e,t=`FirstDay`){switch(t){case`FirstDay`:return(0,_.getWeek)(e,{weekStartsOn:0});case`FirstFourDayWeek`:return(0,_.getISOWeek)(e);case`FirstFullWeek`:return(0,_.getWeek)(e,{weekStartsOn:0,firstWeekContainsDate:1});default:return(0,_.getWeek)(e)}}var J=(e,t,n,r,i,a,o,s,c,l=!0,u=!1)=>{let d=0,f=0;if(l){let e=i/r,s=e/o;d=t*i+n*e+a*s,f=s*.98}else{let e=i/r,s=e/o;d=n*i+t*e+a*s,f=s*.98}let p=((e.start.getHours()-s)*60+e.start.getMinutes())/c*64,m=(e.end.getTime()-e.start.getTime())/(1e3*60)/c*64;return{top:`${p}px`,height:`${Math.max(m,24)}px`,[u?`right`:`left`]:`${d}%`,width:`${f}%`,[u?`borderRightWidth`:`borderLeftWidth`]:`4px`,borderColor:e.color||`hsl(var(--primary))`}},ee=({startHour:t,slotDuration:n,isRtl:r})=>{let i=S(),a=((i.getHours()-t)*60+i.getMinutes())/n*64;return a<0?null:(0,f.jsxs)(`div`,{className:e._(`absolute inset-x-0 z-50 pointer-events-none flex items-center`),style:{top:`${a}px`},children:[(0,f.jsx)(`div`,{className:`w-full border-t-2 border-primary`}),(0,f.jsx)(`div`,{className:e._(`absolute w-3 h-3 bg-primary rounded-full shadow-sm ring-2 ring-background`,r?`-right-1.5`:`-left-1.5`)})]})},Y=({daysInView:t,visibleEvents:r,rowVirtualizer:i,resources:a=[],showResourcesInDayView:o=!1,onEventClick:s,onEventDoubleClick:c,onEventDelete:l,scrollRef:p,onViewChange:m,onDateChange:h,locale:g,onRangeSelect:v,onSlotClick:y,onSlotDoubleClick:b,dateHeaderTemplate:C,showWeekNumber:w=!1,weekRule:T=`FirstDay`,cellTemplate:E,showUnassignedLane:D=!1,startHour:O=`00:00`,slotDuration:k=30,is24Hour:A=!0,setIs24Hour:j,group:M,onCellContextMenu:N,dir:P})=>{let F=P===`rtl`,I=S(),L=parseInt(O.split(`:`)[0],10),[R,z]=(0,u.useState)(null),[B,V]=(0,u.useState)(!1),H=(0,u.useRef)(null),G=(e,t,n)=>r.some(t=>(t.isHoliday||t.isFullyBooked)&&(0,_.isSameDay)(t.start,e))?!0:r.some(r=>r.isBlock&&(r.resourceId===n||!r.resourceId&&!n)&&(0,_.areIntervalsOverlapping)({start:r.start,end:r.end},{start:e,end:t})),Y=(e,t)=>{let n=(0,_.addMinutes)(e,k);if(G(e,n,t))return;V(!0);let r={start:e,end:n,resourceId:t};z(r),H.current=r},X=e=>{if(!B||!H.current)return;let t=new Date(e.getTime()+k*60*1e3),n={...H.current,end:t};z(n),H.current=n};(0,u.useEffect)(()=>{let e=e=>{if(B&&H.current){let{start:t,end:n,resourceId:r}=H.current,i=t<n?t:n,a=t<n?n:t;G(i,a,r)||(v?.(i,a,r,{x:e.clientX,y:e.clientY}),y?.(i,r))}V(!1),z(null),H.current=null};return window.addEventListener(`mouseup`,e),()=>window.removeEventListener(`mouseup`,e)},[B,v,y]);let te=x(`(max-width: 768px)`),Z=(0,u.useMemo)(()=>{let e=o&&a.length>0?[...a]:[];return(D||o&&e.length===0)&&(e.find(e=>e.id===``||e.id===`unassigned`)||e.unshift({id:`unassigned`,name:`Unassigned`,type:`Global Inbox`,color:`hsl(var(--muted-foreground))`})),e.length>0?e:[{id:``,name:``}]},[a,o,D]),ne=te&&o&&Z.length>1,re=!te&&(Z.length>3||t.length>3&&Z.length>1),Q=ne||re,ie=t.length*Z.length*150,ae={width:Q&&ie>0?`${ie}px`:`100%`,minWidth:`100%`},oe=new Intl.DateTimeFormat(g,{day:`numeric`}),$=M?.byDate??!0,se=$?t:Z,ce=$?Z:t,le=se,ue=ce,de=100/le.length,fe=100/ue.length;return(0,f.jsxs)(`div`,{ref:p,"data-testid":`scheduler-scroll-container`,"data-view":`day-week`,style:{scrollbarGutter:`stable`},className:e._(`flex-1 flex flex-col min-h-0 relative overflow-auto bg-background select-none border border-border rounded-lg`,Q&&`snap-x snap-mandatory`),children:[(0,f.jsxs)(`div`,{className:`sticky top-0 z-50 bg-background/95 backdrop-blur-md border-b border-border flex shrink-0`,style:ae,children:[w&&(0,f.jsx)(`div`,{className:e._(`w-12 shrink-0 sticky z-50 bg-background border-e border-border flex items-center justify-center`,F?`right-0`:`left-0`),children:(0,f.jsx)(`span`,{className:`text-[9px] font-bold text-muted-foreground uppercase tracking-wider`,children:`WK`})}),(0,f.jsxs)(`div`,{className:e._(`w-24 shrink-0 sticky bg-background border-e border-border z-50 cursor-pointer hover:bg-muted/50 transition-colors flex flex-col items-center justify-center gap-1 group`,w?F?`right-12`:`left-12`:F?`right-0`:`left-0`),onClick:()=>j?.(!A),title:`Toggle 24h / AM-PM format`,children:[(0,f.jsx)(d.Clock,{className:`w-4 h-4 text-muted-foreground group-hover:text-primary transition-colors`}),(0,f.jsx)(`span`,{className:`text-[9px] font-bold uppercase text-muted-foreground/60 group-hover:text-primary/70`,children:A?`24 Hours`:`AM / PM`})]}),(0,f.jsx)(`div`,{className:`flex flex-1`,style:Q?{width:`100%`}:void 0,children:le.map(i=>{let a=$,o=a?i:null,s=a?null:i,c=a&&(0,_.isSameDay)(o,new Date);return(0,f.jsxs)(`div`,{style:{width:`${de}%`},className:`flex flex-col border-e border-border last:border-e-0`,children:[(0,f.jsx)(`div`,{className:e._(`flex flex-col items-center justify-center py-3 transition-colors shrink-0 border-e-2 border-foreground/20`,c&&`bg-background`),children:a?(()=>{let n=r.find(e=>(e.isHoliday||e.isFullyBooked)&&(0,_.isSameDay)(e.start,o));return(0,f.jsxs)(`div`,{className:`flex flex-col items-center relative w-full`,children:[n?.isHoliday&&(0,f.jsx)(`span`,{className:`absolute -top-1 px-1.5 py-0.5 bg-destructive/10 text-destructive text-[9px] font-black uppercase tracking-tighter rounded-full border border-destructive/20 mb-1 leading-none shadow-sm`,children:`Holiday`}),n?.isFullyBooked&&(0,f.jsx)(`span`,{className:`absolute -top-1 px-1.5 py-0.5 bg-warning/10 text-warning-foreground text-[9px] font-black uppercase tracking-tighter rounded-full border border-warning/20 mb-1 leading-none shadow-sm`,children:`Fully Booked`}),C?(0,f.jsx)(`div`,{className:`h-full w-full flex items-center justify-center pt-2`,children:typeof C==`function`?C({date:o,type:`Day`,text:oe.format(o)}):C}):(0,f.jsx)(`div`,{className:`flex flex-col items-center cursor-pointer hover:bg-muted/50 transition-colors pt-2`,onClick:()=>{m&&h&&(h(o),m(`day`))},children:t.length>1&&(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(`span`,{className:e._(`text-base font-medium mt-0.5`,c?`text-primary font-bold`:`text-foreground`),children:(0,_.format)(o,`dd MMM yyyy`)}),(0,f.jsx)(`span`,{className:e._(`text-sm font-medium uppercase tracking-wider`,c?`text-primary`:`text-muted-foreground/80`),children:(0,_.format)(o,`EEE`)})]})})]})})():(0,f.jsxs)(`div`,{className:`flex items-center gap-2 px-2`,children:[(0,f.jsxs)(n.t,{className:`h-8 w-8 shadow-sm border border-background`,children:[s.avatar&&(0,f.jsx)(n.r,{src:s.avatar}),(0,f.jsx)(n.n,{className:`text-xs font-bold`,children:s.name?.charAt(0)})]}),(0,f.jsxs)(`div`,{className:`flex flex-col`,children:[(0,f.jsx)(`span`,{className:`text-sm font-bold truncate`,children:s.name}),(0,f.jsx)(`span`,{className:`text-[10px] text-muted-foreground truncate`,children:s.type||`Resource`})]})]})}),ue.length>0&&(0,f.jsx)(`div`,{className:`flex w-full border-t border-border bg-background h-10 shrink-0`,children:ue.map((t,i)=>{let o=a?null:t,s=a?t:null,c=o?r.find(e=>e.isHoliday&&(0,_.isSameDay)(e.start,o)):null,l=o?r.find(e=>e.isFullyBooked&&(0,_.isSameDay)(e.start,o)):null;return(0,f.jsx)(`div`,{style:{width:`${fe}%`},className:e._(`flex items-center justify-center px-1 border-e border-border/30 last:border-e-0 group`,Q&&`snap-center`,(i%2,`bg-background`)),children:a?(0,f.jsxs)(f.Fragment,{children:[(0,f.jsxs)(n.t,{className:`h-4 w-4 me-1 shadow-sm border border-background`,children:[s.avatar&&(0,f.jsx)(n.r,{src:s.avatar}),(0,f.jsx)(n.n,{className:`text-[7px] font-bold`,children:s.name?.charAt(0)})]}),(0,f.jsx)(`span`,{className:`text-[9px] font-bold text-muted-foreground truncate group-hover:text-foreground transition-colors`,children:s.name})]}):(0,f.jsxs)(`div`,{className:`flex flex-col items-center justify-center`,children:[c&&(0,f.jsx)(`span`,{className:`text-xs font-black uppercase tracking-wider text-destructive bg-destructive/10 px-2 py-0.5 rounded-sm mb-0.5`,children:`Holiday`}),l&&(0,f.jsx)(`span`,{className:`text-xs font-black uppercase tracking-wider text-warning-foreground bg-warning/10 px-2 py-0.5 rounded-sm mb-0.5`,children:`Fully Booked`}),(0,f.jsx)(`span`,{className:e._(`text-[10px] font-bold text-muted-foreground uppercase`,c&&`text-destructive`,l&&`text-amber-600`),children:(0,_.format)(o,`EEE d`)})]})},o?o.toISOString():s.id)})})]},a?o.toISOString():s.id)})})]}),(0,f.jsxs)(`div`,{"data-testid":`scheduler-virtual-body`,className:`relative shrink-0`,style:{height:`${i.getTotalSize()}px`,...ae},children:[i.getVirtualItems().map(n=>{let i=n.index*k,a=L+Math.floor(i/60),o=i%60,s=``;if(A)s=`${a<10?`0`+a:a}:${o<10?`0`+o:o}`;else{let e=a>=12?`PM`:`AM`,t=a%12||12;s=`${t<10?`0`+t:t}:${o<10?`0`+o:o} ${e}`}return(0,f.jsxs)(`div`,{className:`absolute left-0 w-full flex`,style:{height:`64px`,top:`${n.start}px`},children:[(0,f.jsxs)(`div`,{className:e._(`w-24 shrink-0 flex flex-col items-end justify-center pe-3 border-e border-border bg-background z-50 sticky backdrop-blur-md`,F?`right-0`:`left-0`),children:[s&&(0,f.jsx)(`span`,{className:`text-sm text-foreground font-black bg-background px-1 relative z-50 uppercase tracking-tighter tabular-nums`,children:s}),w&&a===0&&(0,f.jsxs)(`span`,{className:`text-[9px] text-muted-foreground/60 font-semibold mt-1`,children:[`W`,q(t[0],T)]})]}),(0,f.jsxs)(`div`,{className:`flex flex-1 relative`,style:{height:`64px`},children:[(0,f.jsx)(`div`,{className:`absolute bottom-0 left-0 w-full border-b border-border/40`}),(0,f.jsx)(`div`,{className:`absolute top-1/2 left-0 w-full border-b border-dashed border-border/20 h-px`}),le.map(t=>(0,f.jsx)(`div`,{style:{width:`${de}%`},className:`h-full flex relative border-e-2 border-foreground/20 last:border-e-0`,children:ue.map((i,s)=>{let c=$?t:i,l=$?i:t,u=n.index+L,d=c.getDay(),p=r.find(e=>e.isHoliday&&(0,_.isSameDay)(e.start,c)),m=r.find(e=>e.isFullyBooked&&(0,_.isSameDay)(e.start,c)),h=!0;h=l.workingHours?l.workingHours.days.includes(d)&&u>=l.workingHours.start&&u<l.workingHours.end:d!==0&&d!==6&&u>=9&&u<17;let g=new Date(new Date(c).setHours(a,o,0,0)),v=(0,_.isSameDay)(c,new Date),y=!!R&&R.resourceId===l.id&&g>=R.start&&g<R.end;return(0,f.jsx)(W,{date:g,resourceId:l.id,isWorkHour:h,isSelected:y,data:{kind:`time-slot`,date:g,resourceId:l.id,orientation:`vertical`,slotDuration:k},onMouseDown:()=>Y(g,l.id),onMouseEnter:()=>X(g),onDoubleClick:()=>{G(g,(0,_.addMinutes)(g,k),l.id)||b?.(g,l.id)},onContextMenu:e=>{e.preventDefault(),N?.({date:g,x:e.clientX,y:e.clientY})},style:{width:`${fe}%`,minWidth:`auto`,height:`100%`},className:e._(`border-e border-border/30 relative cursor-pointer hover:bg-primary/5 transition-colors pointer-events-auto`,s===ue.length-1&&`border-e-0`,Q&&`snap-center`,p&&`bg-[repeating-linear-gradient(-45deg,hsl(var(--destructive)/0.05)_0px,hsl(var(--destructive)/0.05)_10px,transparent_10px,transparent_20px)] bg-destructive/[0.02]`,m&&`bg-[repeating-linear-gradient(-45deg,theme(colors.warning/0.05)_0px,theme(colors.warning/0.05)_10px,transparent_10px,transparent_20px)] bg-warning/[0.02]`,!p&&!m&&`bg-background`),children:E?(()=>{let e=K(E,{date:g,resourceId:l.id,isWorkHour:h,isToday:v});return e&&typeof e==`object`&&`__html`in e?(0,f.jsx)(`div`,{className:`w-full h-full`,dangerouslySetInnerHTML:e}):(0,f.jsx)(`div`,{className:`w-full h-full`,children:e})})():null},$?l.id||s:c.toISOString()||s)})},$?t.toISOString():t.id))]})]},n.index)}),(0,f.jsxs)(`div`,{className:`absolute top-0 h-full z-10`,style:{width:`calc(100% - 6rem)`,[F?`right`:`left`]:`6rem`,pointerEvents:`none`},children:[(0,f.jsx)(ee,{startHour:L,slotDuration:k,isRtl:F}),t.map((e,n)=>{let i=r.filter(t=>(0,_.isSameDay)(e,t.start));i.sort((e,t)=>e.start.getTime()-t.start.getTime());let a=new Map;return i.forEach(e=>{let t=e.resourceId;!t&&D&&(t=`unassigned`);let n=Z.findIndex(e=>e.id===t);if(n===-1)if(Z.length===1&&(Z[0].id===``||!o))n=0;else return;a.has(n)||a.set(n,[]),a.get(n).push(e)}),[...a.entries()].map(([e,r])=>{let i=[];return r.forEach(e=>{let t=!1;for(let n of i)if(n.some(t=>(0,_.areIntervalsOverlapping)({start:t.start,end:t.end},{start:e.start,end:e.end}))){n.push(e),t=!0;break}t||i.push([e])}),i.map(r=>{let i=[];return r.forEach(e=>{let t=!1;for(let n=0;n<i.length;n++)if(!i[n].some(t=>(0,_.areIntervalsOverlapping)({start:t.start,end:t.end},{start:e.start,end:e.end}))){i[n].push(e),t=!0;break}t||i.push([e])}),r.map(r=>{let a=i.findIndex(e=>e.includes(r));return(0,f.jsx)(U,{event:r,style:J(r,n,e,$?Z.length:t.length,de,a,i.length,L,k,$,F),onClick:s,onDoubleClick:c,onDelete:l,orientation:`vertical`,resizable:!0,isBlocked:r.isBlock,isPast:r.end<I,slotDuration:k,pixelsPerSlot:64},r.id)})})})})]})]})]})},X=({currentDate:t,daysInView:n,visibleEvents:r,onSlotClick:i,onSlotDoubleClick:a,onEventClick:s,moreEventsClick:c,dir:l})=>{let u=l===`rtl`,d=e=>r.filter(t=>(0,_.isSameDay)(t.start,e));return(0,f.jsx)(o.r,{children:(0,f.jsxs)(`div`,{className:`flex flex-col h-full w-full bg-background rounded-xl border border-border overflow-hidden shadow-sm`,children:[(0,f.jsx)(`div`,{className:`grid grid-cols-7 border-b border-border bg-muted/30`,children:[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`].map((e,t)=>(0,f.jsx)(`div`,{className:`py-3 text-center text-xs font-semibold uppercase text-muted-foreground tracking-widest`,children:e},t))}),(0,f.jsx)(`div`,{className:`grid grid-cols-7 grid-rows-6 flex-1 min-h-0 bg-muted/20 gap-px`,children:n.map(n=>{let r=d(n).filter(e=>!e.isBlock),l=(0,_.isSameMonth)(n,t),p=(0,_.isSameDay)(n,new Date),m=r.slice(0,4),h=r.length-4,g=r.length;return(0,f.jsxs)(`div`,{onClick:()=>i?.(n),onDoubleClick:()=>a?.(n),className:e._(`relative flex flex-col p-2 transition-colors group bg-background focus-visible:z-10`,!l&&`bg-muted/5 text-muted-foreground/50`,l&&`hover:bg-muted/30`,`min-h-[100px]`),children:[(0,f.jsxs)(`div`,{className:e._(`flex items-center justify-between mb-1`),children:[(0,f.jsx)(`span`,{className:e._(`text-sm font-medium w-7 h-7 flex items-center justify-center rounded-full transition-all`,p?`bg-primary text-primary-foreground shadow-sm font-bold scale-110`:`text-foreground group-hover:bg-muted/50`,!l&&`text-muted-foreground opacity-50`),children:(0,_.format)(n,`d`)}),g>0&&(0,f.jsx)(`span`,{className:`text-[10px] text-muted-foreground font-medium px-1.5 py-0.5 rounded-full bg-muted/50`,children:g})]}),(0,f.jsxs)(`div`,{className:`flex-1 flex flex-col gap-1.5 min-w-0`,children:[m.map(t=>(0,f.jsxs)(o.t,{delayDuration:300,children:[(0,f.jsx)(o.i,{asChild:!0,children:(0,f.jsxs)(`div`,{onClick:e=>{e.stopPropagation(),s?.(t)},className:e._(`group/event relative`,`flex items-center gap-2 px-2 py-1 rounded-md text-xs font-medium cursor-pointer transition-all shadow-sm hover:shadow-md border border-transparent hover:border-border/50 overflow-hidden bg-card hover:bg-accent/50`,!l&&`opacity-60 grayscale`),style:{[u?`borderRight`:`borderLeft`]:`3px solid ${t.color||`oklch(var(--primary))`}`},children:[(0,f.jsx)(`div`,{className:`flex-1 truncate leading-tight`,children:t.title}),t.start&&(0,f.jsx)(`span`,{className:`text-[10px] text-muted-foreground/70 tabular-nums shrink-0`,children:(0,_.format)(t.start,`h:mm a`)})]})}),(0,f.jsx)(o.n,{className:`p-3 max-w-xs bg-popover/95 backdrop-blur-sm border-border/50 shadow-xl`,sideOffset:5,children:(0,f.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,f.jsxs)(`div`,{className:`flex items-center gap-2 border-b border-border/50 pb-1.5`,children:[(0,f.jsx)(`div`,{className:`w-2 h-2 rounded-full shrink-0`,style:{backgroundColor:t.color||`oklch(var(--primary))`}}),(0,f.jsx)(`span`,{className:`font-semibold text-sm truncate`,children:t.title})]}),(0,f.jsxs)(`div`,{className:`text-xs text-muted-foreground space-y-0.5`,children:[(0,f.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,f.jsx)(`span`,{className:`font-medium text-foreground/80`,children:`Time:`}),(0,f.jsxs)(`span`,{children:[(0,_.format)(t.start,`MMM d, h:mm a`),` - `,(0,_.format)(t.end,`h:mm a`)]})]}),t.location&&(0,f.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,f.jsx)(`span`,{className:`font-medium text-foreground/80`,children:`Location:`}),(0,f.jsx)(`span`,{children:t.location})]}),t.description&&(0,f.jsx)(`div`,{className:`pt-1 mt-1 border-t border-border/30 text-muted-foreground/80 line-clamp-3`,children:t.description})]})]})})]},t.id)),h>0&&(0,f.jsxs)(`button`,{onClick:e=>{e.stopPropagation(),c?.({date:n})},className:`mt-auto self-start text-[10px] bg-muted/50 hover:bg-muted text-muted-foreground hover:text-foreground font-medium px-2 py-1 rounded-md transition-colors w-full text-left`,children:[`+`,h,` more`]})]})]},n.toISOString())})})]})})},te=({view:t,daysInView:r,visibleEvents:i,resources:a=[],onSlotClick:o,onSlotDoubleClick:s,onEventClick:c,onEventDelete:l,onRangeSelect:d,currentTimeIndicator:p,showResourceHeaders:m=!0,group:h,showUnassignedLane:g=!1,startHour:v=`00:00`,endHour:y=`24:00`,slotDuration:b=60,is24Hour:x=!1,scrollRef:C,dir:w})=>{let T=w===`rtl`,E=S(),D=v?parseInt(v.split(`:`)[0],10):0,O=y?parseInt(y.split(`:`)[0],10):24,k=O-D,[A,j]=(0,u.useState)(null),[M,N]=(0,u.useState)(!1),P=(0,u.useRef)(null),F=(0,u.useRef)(null),I=t===`timeline-month`,L=I?1440:b,R=60/L,z=I?1:k*R,B=r.length*z,V=I?120:80,H=B*V,U=(0,u.useMemo)(()=>{let e=a.length>0?[...a]:[];return(g||e.length===0)&&(e.find(e=>e.id===`unassigned`)||e.unshift({id:`unassigned`,name:`Unassigned`,type:`Global Inbox`,color:`hsl(var(--muted-foreground))`})),e},[a,g]),W=(0,u.useMemo)(()=>{if(!h||!h.resources||h.resources.length===0)return{isGrouped:!1,groups:[{name:`All`,resources:U}]};let e=h.resources[0],t=new Map;U.forEach(n=>{let r=n[e]||`Unassigned`;t.has(r)||t.set(r,[]),t.get(r)?.push(n)});let n=[];return t.forEach((e,t)=>{n.push({name:t,resources:e})}),{isGrouped:!0,groups:n}},[U,h]),G=(0,u.useMemo)(()=>W.groups.flatMap(e=>e.resources),[W]),K=e=>{if(I)return(0,_.startOfDay)(r[e]);let t=Math.floor(e/z),n=e%z;return(0,_.addMinutes)((0,_.startOfDay)(r[t]),D*60+n*L)},q=e=>{if(I){let t=r.findIndex(t=>(0,_.isSameDay)(t,(0,_.startOfDay)(e)));return t===-1?-1:t*V}let t=(0,_.startOfDay)(e),n=r.findIndex(e=>(0,_.isSameDay)(e,t));if(n===-1)return-1;let i=(0,_.differenceInMinutes)(e,t)-D*60;return(n*k*60+i)/L*V},J=(()=>{if(I){let e=(0,_.startOfDay)(r[0]),t=(0,_.startOfDay)(r[r.length-1]);return E<e||E>t?null:q(E)}let e=q(E),t=E.getHours();return e===-1||t<D||t>=O?null:e})(),ee=(0,u.useRef)(!1);(0,u.useEffect)(()=>{C?.current&&J!==null&&!ee.current&&setTimeout(()=>{C.current&&(T?C.current.scrollLeft=-J:C.current.scrollLeft=J,ee.current=!0)},50)},[C,J,t]);let Y=(e,t)=>{let n=K(e);if(i.some(e=>(e.isHoliday||e.isFullyBooked)&&(0,_.isSameDay)(e.start,n)))return;N(!0);let r={startSlot:e,endSlot:e,resourceId:t};j(r),P.current=r},X=e=>{if(!M||!P.current)return;let t={...P.current,endSlot:e};j(t),P.current=t};(0,u.useEffect)(()=>{let e=e=>{if(M&&P.current){let{startSlot:t,endSlot:n,resourceId:r}=P.current,a=Math.min(t,n),s=Math.max(t,n),c=K(a),l=K(s+1);i.some(e=>(e.isHoliday||e.isFullyBooked)&&(0,_.isSameDay)(e.start,c))||(d?.(c,l,r,{x:e.clientX,y:e.clientY}),o?.(c,r))}N(!1),j(null),P.current=null};return window.addEventListener(`mouseup`,e),()=>window.removeEventListener(`mouseup`,e)},[M,d,o,r]);let te=(e,t)=>{if(!A||A.resourceId!==t)return!1;let n=Math.min(A.startSlot,A.endSlot),r=Math.max(A.startSlot,A.endSlot);return e>=n&&e<=r},{resourceMap:ne,maxLevels:re}=(0,u.useMemo)(()=>{let e=new Map,t=new Map;return G.forEach(n=>{e.set(n.id,[]),t.set(n.id,1)}),i.forEach(t=>{let n=t.resourceId||`unassigned`,r=String(n);e.has(r)?e.get(r)?.push(t):e.has(`unassigned`)&&!n&&e.get(`unassigned`)?.push(t)}),e.forEach((n,r)=>{let i=[...n].sort((e,t)=>e.start.getTime()-t.start.getTime()),a=[],o=i.map(e=>{let t=0;for(;a[t]!==void 0&&a[t]>e.start.getTime()+3e5;)t++;return a[t]=e.end.getTime(),{...e,level:t}});e.set(r,o),t.set(r,a.length||1)}),{resourceMap:e,maxLevels:t}},[i,G]),Q=e=>{let t=q(e.start),n=q(e.end);if(t===-1&&n===-1)return{display:`none`};let r=Math.max(0,t),i=Math.max(0,(n===-1?H:Math.min(H,n))-r);if(i<=4)return{display:`none`};let a=20+e.level*46,o=e.color||`hsl(var(--primary))`;return{[T?`right`:`left`]:`${r}px`,width:`${Math.max(i,4)}px`,top:`${a}px`,height:`36px`,background:`linear-gradient(135deg, color-mix(in srgb, ${o} 20%, transparent), color-mix(in srgb, ${o} 10%, transparent))`,backdropFilter:`blur(4px)`,[T?`borderRight`:`borderLeft`]:`4px solid ${o}`,borderTop:`1px solid color-mix(in srgb, ${o} 30%, transparent)`,[T?`borderLeft`:`borderRight`]:`1px solid color-mix(in srgb, ${o} 30%, transparent)`,borderBottom:`1px solid color-mix(in srgb, ${o} 30%, transparent)`,color:`hsl(var(--foreground))`,borderRadius:`6px`,boxShadow:`0 2px 8px -2px rgba(0,0,0,0.1)`,display:`flex`,alignItems:`center`,fontSize:`12px`,fontWeight:`600`,paddingInlineStart:`12px`,paddingInlineEnd:`8px`,whiteSpace:`nowrap`,overflow:`hidden`,textOverflow:`ellipsis`,transition:`all 0.2s cubic-bezier(0.4, 0, 0.2, 1)`,zIndex:20+e.level,cursor:`pointer`}},ie=m?W.isGrouped?280:240:0;return(0,f.jsxs)(`div`,{className:`flex flex-col h-full w-full overflow-hidden border border-border/40 rounded-xl bg-background shadow-sm`,children:[(0,f.jsxs)(`div`,{className:`flex bg-background z-40 sticky top-0 border-b border-border/40 shadow-[0_1px_2px_rgba(0,0,0,0.03)] items-center`,children:[m&&W.isGrouped&&(0,f.jsx)(`div`,{className:e._(`w-[40px] shrink-0 border-e border-border/40 p-1 flex items-center justify-center bg-background select-none sticky z-50`,T?`right-0`:`left-0`),children:(0,f.jsx)(`div`,{className:`writing-mode-vertical rotate-180 font-bold text-[10px] uppercase tracking-widest text-muted-foreground/70`,children:`Group`})}),m&&(0,f.jsx)(`div`,{className:e._(`w-[240px] shrink-0 border-e border-border/40 px-6 py-4 font-bold text-[11px] uppercase tracking-widest flex items-center bg-background text-muted-foreground select-none sticky z-50`,W.isGrouped?T?`right-[40px]`:`left-[40px]`:T?`right-0`:`left-0`),children:`RESOURCES`}),(0,f.jsx)(`div`,{ref:F,className:`overflow-hidden flex-1 relative`,children:(0,f.jsx)(`div`,{className:`flex`,style:{width:H},children:r.map(t=>{let n=r.length===1,i=t.getDay()===0||t.getDay()===6;return I?(0,f.jsxs)(`div`,{className:e._(`flex shrink-0 border-e border-border/30 h-14 flex-col justify-center items-center transition-colors select-none`,i?`bg-muted/10`:`bg-transparent hover:bg-muted/5`),style:{width:V},children:[(0,f.jsx)(`span`,{className:e._(`text-[10px] font-bold uppercase mb-0.5 tracking-wider`,i?`text-muted-foreground`:`text-primary`),children:(0,_.format)(t,`EEE`)}),(0,f.jsx)(`span`,{className:e._(`text-xs font-semibold`,i?`text-muted-foreground/70`:`text-foreground/80`),children:(0,_.format)(t,`d`)})]},t.toISOString()):(0,f.jsx)(`div`,{className:`flex shrink-0 border-e border-border/40`,style:{width:H/r.length},children:Array.from({length:z}).map((r,i)=>{let a=i*L,o=D+Math.floor(a/60),s=a%60,c=new Date(new Date().setHours(o,s,0,0)),l=``;return l=x?(0,_.format)(c,`HH:mm`):L<60||s!==0?(0,_.format)(c,`h:mm a`):(0,_.format)(c,`ha`),(0,f.jsxs)(`div`,{className:`flex flex-col justify-end pb-2 border-e border-border/10 last:border-e-0 relative h-14`,style:{width:V},children:[!n&&i===0&&(0,f.jsx)(`div`,{className:e._(`absolute top-2 px-2 py-0.5 rounded text-[10px] font-bold text-foreground/80 bg-muted/50 border border-border/20 whitespace-nowrap`,T?`right-2`:`left-2`),children:(0,_.format)(t,`EEE, MMM d`)}),(0,f.jsx)(`span`,{className:`text-[11px] font-black text-foreground text-center px-1 select-none tabular-nums truncate`,children:l})]},i)})},t.toISOString())})})})]}),(0,f.jsx)(`div`,{ref:C,"data-testid":`scheduler-scroll-container`,className:`flex-1 overflow-auto relative custom-scrollbar bg-background`,onScroll:e=>{F.current&&(F.current.scrollLeft=e.currentTarget.scrollLeft)},children:(0,f.jsxs)(`div`,{className:`relative min-w-max`,style:{width:H+ie,minHeight:`100%`},children:[J!==null&&p!==!1&&(0,f.jsxs)(`div`,{className:`current-time-indicator z-50 pointer-events-none`,style:{[T?`right`:`left`]:`${J+ie}px`,height:`100%`},children:[(0,f.jsx)(`div`,{className:`absolute top-0 -translate-x-1/2 w-[2px] h-full bg-red-500 shadow-[0_0_8px_rgba(239,68,68,0.6)]`}),(0,f.jsx)(`div`,{className:`absolute top-0 -translate-x-1/2 -mt-1 w-2.5 h-2.5 rounded-full bg-red-500 shadow-md border-2 border-background`})]}),W.groups.map(t=>(0,f.jsxs)(`div`,{className:`flex border-b border-border/30 relative`,children:[m&&W.isGrouped&&(0,f.jsxs)(`div`,{className:e._(`w-[40px] shrink-0 sticky z-30 bg-background border-e border-border/40 flex items-center justify-center p-1`,T?`right-0`:`left-0`),style:{height:`auto`},children:[(0,f.jsx)(`div`,{className:`absolute inset-0 bg-background/80`}),(0,f.jsx)(`div`,{className:`relative writing-mode-vertical transform rotate-180 text-[10px] font-bold uppercase tracking-wide text-foreground/70 whitespace-nowrap py-2 overflow-hidden text-ellipsis max-h-full`,children:t.name})]}),(0,f.jsx)(`div`,{className:`flex flex-col w-full`,children:t.resources.map((t,a)=>{let o=(re.get(t.id)||1)*46+40;return(0,f.jsxs)(`div`,{className:e._(`flex border-b border-border/30 last:border-b-0 group/row hover:bg-muted/5 transition-colors`,(a%2,`bg-background`)),style:{height:`${o}px`},children:[(0,f.jsx)(`div`,{className:e._(`w-[240px] shrink-0 sticky z-30 bg-background/95 backdrop-blur border-e border-border/40 px-6 py-4 flex items-center gap-4 transition-all shadow-[1px_0_4px_rgba(0,0,0,0.02)]`,W.isGrouped?T?`right-[40px]`:`left-[40px]`:T?`right-0`:`left-0`,!m&&`hidden`),children:(0,f.jsxs)(f.Fragment,{children:[(0,f.jsxs)(n.t,{className:`h-9 w-9 border border-border/60 shadow-sm`,children:[t.avatar&&(0,f.jsx)(n.r,{src:t.avatar,alt:t.name,className:`object-cover`}),(0,f.jsx)(n.n,{className:`text-xs font-bold bg-primary/5 text-primary`,children:t.name.charAt(0)})]}),(0,f.jsxs)(`div`,{className:`flex flex-col min-w-0`,children:[(0,f.jsx)(`span`,{className:`text-[13px] font-semibold truncate text-foreground/90 tracking-tight leading-none mb-1.5`,children:t.name}),(0,f.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,f.jsx)(`span`,{className:e._(`w-1.5 h-1.5 rounded-full`,t.type===`Internal`?`bg-primary shadow-[0_0_6px_var(--primary)]/50`:`bg-success shadow-[0_0_6px_var(--success)]/50`)}),(0,f.jsx)(`span`,{className:`text-[10px] text-muted-foreground font-medium uppercase tracking-wider`,children:t.type||`Available`})]})]})]})}),(0,f.jsx)(Z,{resource:t,totalSlots:B,slotWidth:V,totalWidth:H,slotToDate:K,onSlotMouseDown:Y,onSlotMouseEnter:X,onSlotDoubleClick:s,isSlotSelected:te,resourceMap:ne,getEventStyle:Q,onEventClick:c,onEventDelete:l,slotDuration:L,now:E,visibleEvents:i,slotsPerDay:z,daysInView:r,dir:w})]},t.id)})})]},t.name))]})})]})},Z=({resource:t,totalSlots:n,slotWidth:r,totalWidth:i,slotToDate:a,onSlotMouseDown:o,onSlotMouseEnter:s,onSlotDoubleClick:c,isSlotSelected:l,resourceMap:u,getEventStyle:d,onEventClick:p,onEventDelete:h,slotDuration:g,now:v,visibleEvents:y,slotsPerDay:b,daysInView:x,dir:S})=>{let C=S===`rtl`,{setNodeRef:w,isOver:T}=(0,m.useDroppable)({id:`row-${t.id}`,data:{kind:`timeline-row`,resourceId:t.id,slotWidth:r,totalSlots:n,slotDuration:g,isRtl:C}});return(0,f.jsxs)(`div`,{ref:w,className:e._(`relative flex-1 group/interactive`,T&&`bg-primary/5 shadow-inner`),style:{width:i},onMouseMove:e=>{let t=e.currentTarget.getBoundingClientRect(),i=e.clientX-t.left,a=Math.floor(C?(t.width-i)/r:i/r);a>=0&&a<n&&s(a)},onMouseDown:e=>{let i=e.currentTarget.getBoundingClientRect(),a=e.clientX-i.left,s=Math.floor(C?(i.width-a)/r:a/r);s>=0&&s<n&&o(s,t.id)},onDoubleClick:e=>{let i=e.currentTarget.getBoundingClientRect(),o=e.clientX-i.left,s=Math.floor(C?(i.width-o)/r:o/r);if(s>=0&&s<n){let e=a(s);y.some(t=>(t.isHoliday||t.isFullyBooked)&&(0,_.isSameDay)(t.start,e))||c?.(e,t.id)}},children:[(0,f.jsx)(`div`,{className:`absolute inset-0 pointer-events-none`,style:{backgroundImage:`repeating-linear-gradient(${C?`to left`:`to right`}, transparent, transparent ${r-1}px, hsl(var(--border) / 0.1) ${r-1}px, hsl(var(--border) / 0.1) ${r}px)`,backgroundSize:`${r}px 100%`}}),(0,f.jsx)(`div`,{className:`absolute inset-0 pointer-events-none flex`,children:x.map((t,n)=>{let i=y.find(e=>e.isHoliday&&(0,_.isSameDay)(e.start,t)),a=y.find(e=>e.isFullyBooked&&(0,_.isSameDay)(e.start,t));return!i&&!a?(0,f.jsx)(`div`,{style:{width:b*r}},n):(0,f.jsx)(`div`,{style:{width:b*r},className:e._(`h-full border-e border-border/10`,i&&`bg-[repeating-linear-gradient(-45deg,hsl(var(--destructive)/0.05)_0px,hsl(var(--destructive)/0.05)_10px,transparent_10px,transparent_20px)] bg-destructive/[0.02]`,a&&`bg-[repeating-linear-gradient(-45deg,theme(colors.amber.500/0.05)_0px,theme(colors.amber.500/0.05)_10px,transparent_10px,transparent_20px)] bg-amber-500/[0.02]`)},n)})}),(0,f.jsx)(ne,{totalSlots:n,resourceId:t.id,slotWidth:r,isSlotSelected:l,isRtl:C}),u.get(t.id)?.map(e=>(0,f.jsx)(U,{event:e,style:d(e),onClick:p,onDelete:h,orientation:`horizontal`,resizable:!0,isBlocked:e.isBlock,isPast:e.end<v,slotDuration:g,pixelsPerSlot:r},e.id))]})},ne=u.default.memo(({totalSlots:e,resourceId:t,slotWidth:n,isSlotSelected:r,isRtl:i})=>{let a=[],o=null;for(let n=0;n<e;n++)r(n,t)?o?o.length++:(o={start:n,length:1},a.push(o)):o=null;return(0,f.jsx)(f.Fragment,{children:a.map((e,t)=>(0,f.jsx)(`div`,{className:`absolute top-0 bottom-0 bg-primary/20 border-x border-primary/30 z-10 pointer-events-none`,style:{[i?`right`:`left`]:`${e.start*n}px`,width:`${e.length*n}px`}},t))})}),re=({daysInView:t,visibleEvents:n,onEventClick:r})=>(0,f.jsx)(`div`,{"data-testid":`scheduler-scroll-container`,className:`flex flex-col h-full w-full bg-background overflow-y-auto border border-border rounded-lg`,children:t.map(t=>{let i=n.filter(e=>(0,_.isSameDay)(e.start,t)).sort((e,t)=>e.start.getTime()-t.start.getTime());return(0,f.jsxs)(`div`,{className:`flex flex-col border-b border-border pb-2 last:border-b-0`,children:[(0,f.jsxs)(`div`,{className:e._(`flex items-center px-4 py-2 sticky top-0 bg-background/95 backdrop-blur z-10 border-b border-border`,(0,_.isSameDay)(t,new Date)&&`text-primary font-semibold`),children:[(0,f.jsxs)(`div`,{className:`flex flex-col items-center mr-4 w-12 shrink-0`,children:[(0,f.jsx)(`span`,{className:`text-[10px] uppercase font-bold text-muted-foreground`,children:(0,_.format)(t,`EEE`)}),(0,f.jsx)(`span`,{className:`text-xl font-bold leading-none`,children:(0,_.format)(t,`d`)})]}),(0,f.jsx)(`div`,{className:`text-sm font-medium text-muted-foreground`,children:(0,_.format)(t,`MMMM yyyy`)})]}),(0,f.jsx)(`div`,{className:`flex flex-col px-2 py-1 gap-2`,children:i.length===0?(0,f.jsx)(`div`,{className:`text-sm text-muted-foreground px-4 py-2 italic opacity-50`,children:`No events`}):i.map(t=>(0,f.jsx)(s.t,{contextId:`scheduler-event`,data:t,children:(0,f.jsxs)(`div`,{"data-testid":`scheduler-event-${t.id}`,className:e._(`flex items-center p-3 rounded-lg border bg-card text-card-foreground shadow-sm cursor-pointer hover:bg-muted/50 transition-colors`,t.color&&`border-l-4 border-l-[${t.color}]`),style:{borderLeftColor:t.color},onClick:()=>r?.(t),children:[(0,f.jsxs)(`div`,{className:`flex flex-col mr-4 min-w-[80px] shrink-0`,children:[(0,f.jsx)(`span`,{className:`text-sm font-bold`,children:(0,_.format)(t.start,`h:mm a`)}),(0,f.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:(0,_.format)(t.end,`h:mm a`)})]}),(0,f.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,f.jsx)(`div`,{className:`font-semibold truncate`,children:t.title}),t.description&&(0,f.jsx)(`div`,{className:`text-xs text-muted-foreground truncate`,children:t.description})]}),t.resourceId&&(0,f.jsx)(`div`,{className:`hidden sm:block ml-2 px-2 py-0.5 rounded-full bg-muted text-[10px] text-muted-foreground`,children:t.resourceId})]})},t.id))})]},t.toISOString())})});function Q({view:e,daysInView:t,visibleEvents:n,rowVirtualizer:r,resources:i,handleSlotDoubleClick:a,handleEventDoubleClick:o,handleEventDelete:s,parentRef:c,setView:l,setCurrentDate:u,props:d,handleRangeSelect:p,currentDate:m,showUnassignedLane:h,slotDuration:g,is24Hour:_,setIs24Hour:v,dir:y}){let b=x(`(max-width: 768px)`),S=typeof d.cell==`function`?d.cell:void 0;switch(b&&(e===`week`||e===`workweek`)?`agenda`:e){case`day`:case`week`:case`workweek`:return(0,f.jsx)(Y,{daysInView:t,visibleEvents:n,rowVirtualizer:r,resources:i,onSlotDoubleClick:a,onEventDoubleClick:o,onEventDelete:s,scrollRef:c,onViewChange:l,onDateChange:u,onRangeSelect:p,onSlotClick:(e,t)=>d.onCellClick?.(e,t),onEventClick:e=>d.onEventClick?.(e),showResourcesInDayView:d.showResourcesInDayView,showWeekNumber:d.showWeekNumber,weekRule:d.weekRule,cellTemplate:S,enableHtmlSanitizer:d.enableHtmlSanitizer,showUnassignedLane:h,startHour:d.startHour,endHour:d.endHour,slotDuration:g,is24Hour:_,setIs24Hour:v,group:d.group,onCellContextMenu:d.onCellContextMenu,dir:y});case`month`:return(0,f.jsx)(X,{currentDate:m,daysInView:t,visibleEvents:n,onSlotClick:e=>d.onCellClick?.(e),onSlotDoubleClick:e=>a(e),onEventClick:e=>d.onEventClick?.(e)||o(e),monthsCount:d.monthsCount,dir:y});case`timeline`:case`timeline-day`:case`timelineday`:case`timeline-week`:case`timelineweek`:case`timeline-month`:case`timelinemonth`:return(0,f.jsx)(te,{view:e,currentDate:m,daysInView:t,visibleEvents:n,resources:i,onSlotClick:(e,t)=>d.onCellClick?.(e,t),onSlotDoubleClick:a,onEventClick:e=>d.onEventClick?.(e)||o(e),onEventDelete:s,onRangeSelect:p,currentTimeIndicator:d.currentTimeIndicator,showResourceHeaders:d.showResourceHeaders,group:d.group,showUnassignedLane:d.showUnassignedLane,startHour:d.startHour,endHour:d.endHour,slotDuration:g,is24Hour:_,scrollRef:c,dir:y});case`agenda`:return(0,f.jsx)(re,{daysInView:t,visibleEvents:n,onEventClick:e=>d.onEventClick?.(e)||o(e)});default:return(0,f.jsxs)(`div`,{children:[`View `,e,` not implemented`]})}}var ie=u.default.lazy(()=>Promise.resolve().then(()=>require("./EzEventModal-CAA9cAM0.cjs")).then(e=>e.n).then(e=>({default:e.EzEventModal}))),ae=u.default.lazy(()=>Promise.resolve().then(()=>require("./EzSchedulerQuickAdd-BeNfGdWs.cjs")).then(e=>e.n).then(e=>({default:e.EzSchedulerQuickAdd}))),oe=u.default.lazy(()=>Promise.resolve().then(()=>require("./EzSchedulerToolbar-BJwTpgas.cjs")).then(e=>e.n).then(e=>({default:e.EzSchedulerToolbar}))),$=new g.QueryClient;function se({ref:e,...t}){return i.t(),(0,f.jsx)(g.QueryClientProvider,{client:$,children:(0,f.jsx)(ce,{...t,ref:e})})}function ce({ref:n,...i}){let a=I({...i,view:i.view||i.defaultView||`Week`,selectedDate:i.selectedDate??i.defaultSelectedDate}),{state:o,actions:s,services:c,refs:d,baseApi:p,dir:h}=a,{currentView:g,currentDate:v,viewEvents:y,daysInView:b,slotDuration:x,is24Hour:S}=o,{setView:C,setCurrentDate:w}=s,{rowVirtualizer:T,parentRef:E}=d,{schedulerService:D,serviceRegistry:O}=c,[k,A]=(0,u.useState)(null),{internalResources:j,setInternalResources:M}=R({resources:i.resources}),N=e=>{if(!e.start||!e.end)return{hasBlockOverlap:!1,hasRegularOverlap:!1,overlappingEvents:[]};let t=y.filter(t=>t.id===e.id||!(t.resourceId===e.resourceId||t.resourceIds?.some(t=>e.resourceId===t)||!t.resourceId&&!e.resourceId)?!1:(0,_.areIntervalsOverlapping)({start:t.start,end:t.end},{start:e.start,end:e.end}));return{hasBlockOverlap:t.some(e=>e.isBlock),hasRegularOverlap:t.length>0,overlappingEvents:t}},P=(e=`regular`)=>{let t=O.get(`NotificationService`);if(t){let n=``,r=`warning`;e===`block`?(n=`Cannot place event here: This time is blocked (e.g. Lunch Break).`,r=`error`):e===`past`?(n=`Cannot move or create events in the past.`,r=`error`):(n=`Warning: This event overlaps with an existing event.`,r=`warning`),t.add({type:r,message:n,duration:5e3})}},{sensors:F,handleDragEnd:V}=z({events:y,resources:j,slotDuration:x,onBeforeEventDrop:i.onBeforeEventDrop,onBeforeEventResize:i.onBeforeEventResize,onEventChange:e=>{if(!i.allowPastEvents&&e.start<new Date){P(`past`);return}let{hasBlockOverlap:t,hasRegularOverlap:n,overlappingEvents:r}=N(e);if(t){P(`block`);return}if(n){if(i.onEventOverlap){let t={event:e,existingEvents:r,cancel:!1};if(i.onEventOverlap(t),t.cancel)return}P(`regular`)}s.updateEvent(e)}}),W=(0,u.useCallback)(e=>{let t=e.active.data.current,n=t?.eventId||t?.id||e.active.id;A((t?.event||y.find(e=>e.id===n))??null)},[y]),G=(0,u.useCallback)(e=>{V(e),A(null)},[V]),K=(0,u.useCallback)(()=>{A(null)},[]),[q,J]=(0,u.useState)({isOpen:!1,mode:`create`}),[ee,Y]=(0,u.useState)(!1),[X,te]=(0,u.useState)(null),[Z,ne]=(0,u.useState)({x:0,y:0}),re=u.default.useMemo(()=>({...a.baseApi,onExportExcel:i.onExportExcel,onExportCSV:i.onExportCSV,onExportICS:i.onExportICS,get currentView(){return g},destroy:()=>{i.destroyed&&i.destroyed({})}}),[a.baseApi,g,i.destroyed,i.onExportExcel,i.onExportCSV,i.onExportICS]);L(g,v,D,y,{setEditorState:J,setResources:M,scrollToIndex:e=>{E.current&&(E.current.scrollTop=e*64)},forceUpdate:()=>{},showSpinner:p.showSpinner,hideSpinner:p.hideSpinner,closeQuickInfoPopup:()=>Y(!1),changeView:e=>C(e.toLowerCase()),next:s.nextPeriod,prev:s.prevPeriod,today:s.today},n,re);let $=(e,t)=>{i.onCellDoubleClick?i.onCellDoubleClick(e,t):J({isOpen:!0,mode:`create`,event:{start:e,end:(0,_.addMinutes)(e,30),resourceId:t,resourceIds:t?[t]:[]}})},se=e=>{i.onEventDoubleClick?i.onEventDoubleClick(e):J({isOpen:!0,mode:e.end<new Date?`view`:`edit`,event:e})},ce=(e,t)=>e===!1||t.cancel,le=async e=>{if(!i.allowPastEvents&&e.start&&e.start<new Date){P(`past`);return}let{hasBlockOverlap:t,hasRegularOverlap:n}=N(e);if(t){P(`block`);return}if(n&&P(`regular`),q.mode===`create`){let t={event:e,cancel:!1};if(ce(i.onBeforeEventCreate?.(t),t))return;await i.onEventCreate?.(e),s.addEvent(e)}else{let t=e.id?y.find(t=>t.id===e.id):void 0,n=e,r={event:n,originalEvent:t,proposedEvent:n,sourceResourceId:t?.resourceId,targetResourceId:n.resourceId,sourceTime:t?.start,targetTime:n.start,cancel:!1};if(ce(i.onBeforeEventChange?.(r),r))return;await i.onEventChange?.(n),s.updateEvent(n)}J(e=>({...e,isOpen:!1}))},[ue,de]=(0,u.useState)({isOpen:!1}),fe=async e=>{de({isOpen:!0,eventId:e})},pe=async()=>{let e=ue.eventId;if(!e)return;let t=y.find(t=>t.id===e);if(t){let n={eventId:e,event:t,cancel:!1};if(ce(i.onBeforeEventDelete?.(n),n))return;await i.onEventDelete?.(e),s.deleteEvent(e);let r=O.get(`NotificationService`);if(r){let e=(0,_.format)(t.start,`MMM d, yyyy h:mm a`);r.add({type:`success`,message:`Event "${t.title}" on ${e} has been cancelled.`,duration:5e3})}}de({isOpen:!1})},me=e=>{if(!i.allowPastEvents&&e.start&&e.start<new Date){P(`past`);return}let t={event:e,cancel:!1};ce(i.onBeforeEventCreate?.(t),t)||(s.addEvent(e),i.onEventCreate?.(e),Y(!1))};return(0,f.jsx)(r.t,{fallback:(0,f.jsx)(B,{}),children:(0,f.jsxs)(`div`,{className:e._(`ez-scheduler flex flex-col w-full h-full bg-background select-none overflow-hidden`,i.className),dir:h,children:[i.showHeaderBar!==!1&&(0,f.jsx)(u.default.Suspense,{fallback:(0,f.jsx)(`div`,{className:`h-12 w-full animate-pulse bg-muted/20 rounded-md mb-4`}),children:(()=>{let e=i.slots?.toolbar;return e?(0,f.jsx)(e,{view:g,setView:C,currentDate:v,next:s.nextPeriod,prev:s.prevPeriod,today:s.today,onAddClick:(0,u.useCallback)(()=>J({isOpen:!0,mode:`create`,event:{}}),[]),slotDuration:x,setSlotDuration:s.setSlotDuration,setCurrentDate:w,onPrev:s.prevPeriod,onNext:s.nextPeriod,onToday:s.today,currentView:g,onViewChange:e=>{let t=e.toLowerCase().replace(/[^a-z]/g,``);C({day:`day`,week:`week`,workweek:`workweek`,month:`month`,timelineday:`timeline-day`,timelineweek:`timeline-week`,timelineworkweek:`timeline-week`,timelinemonth:`timeline-month`,agenda:`agenda`,timeline:`timeline-day`}[t]||t)},views:i.views||[`Day`,`Week`,`Month`],onExportExcel:(0,u.useCallback)(()=>i.onExportExcel?.(y),[i.onExportExcel,y]),onExportCSV:(0,u.useCallback)(()=>i.onExportCSV?.(y),[i.onExportCSV,y]),onExportICS:(0,u.useCallback)(()=>i.onExportICS?.(y),[i.onExportICS,y]),dir:h,...i.slotProps?.toolbar}):(0,f.jsx)(oe,{view:g,setView:C,currentDate:v,next:s.nextPeriod,prev:s.prevPeriod,today:s.today,onAddClick:(0,u.useCallback)(()=>J({isOpen:!0,mode:`create`,event:{}}),[]),slotDuration:x,setSlotDuration:s.setSlotDuration,setCurrentDate:w,onPrev:s.prevPeriod,onNext:s.nextPeriod,onToday:s.today,currentView:g,onViewChange:e=>{let t=e.toLowerCase().replace(/[^a-z]/g,``);C({day:`day`,week:`week`,workweek:`workweek`,month:`month`,timelineday:`timeline-day`,timelineweek:`timeline-week`,timelineworkweek:`timeline-week`,timelinemonth:`timeline-month`,agenda:`agenda`,timeline:`timeline-day`}[t]||t)},views:i.views||[`Day`,`Week`,`Month`],onExportExcel:(0,u.useCallback)(()=>i.onExportExcel?.(y),[i.onExportExcel,y]),onExportCSV:(0,u.useCallback)(()=>i.onExportCSV?.(y),[i.onExportCSV,y]),onExportICS:(0,u.useCallback)(()=>i.onExportICS?.(y),[i.onExportICS,y]),dir:h})})()}),(0,f.jsxs)(m.DndContext,{sensors:F,onDragStart:W,onDragEnd:G,onDragCancel:K,collisionDetection:e=>{let t=(0,m.pointerWithin)(e);return t.length>0?t:(0,m.rectIntersection)(e)},autoScroll:{enabled:!0},children:[(0,f.jsxs)(`div`,{className:`flex-1 overflow-hidden relative flex flex-col`,children:[(0,f.jsx)(Q,{view:g,daysInView:b,visibleEvents:y,rowVirtualizer:T,resources:j,handleSlotDoubleClick:$,handleEventDoubleClick:se,handleEventDelete:fe,parentRef:E,setView:C,setCurrentDate:w,props:i,handleRangeSelect:(e,t,n,r)=>{i.showQuickInfoPopup&&(te({start:e,end:t,resourceId:n}),ne({x:r?.x||0,y:r?.y||0}),Y(!0))},currentDate:v,showUnassignedLane:i.showUnassignedLane,slotDuration:x,is24Hour:S,setIs24Hour:s.setIs24Hour,dir:h}),i.isLoading&&(0,f.jsx)(H,{})]}),(0,f.jsx)(m.DragOverlay,{dropAnimation:null,children:k?(0,f.jsx)(U,{event:k,dragOverlay:!0,orientation:g.toLowerCase().startsWith(`timeline`)?`horizontal`:`vertical`,showTime:!0,resizable:!1,style:{width:g.toLowerCase().startsWith(`timeline`)?180:220,minHeight:56}}):null}),(()=>{if(ee&&X){let e=i.slots?.quickAdd;return e?(0,f.jsx)(u.default.Suspense,{fallback:null,children:(0,f.jsx)(e,{start:X.start,end:X.end,resourceId:X.resourceId,resources:j,onSave:me,onCancel:()=>Y(!1),onMoreOptions:e=>{Y(!1),J({isOpen:!0,mode:`create`,event:e})},position:Z,...i.slotProps?.quickAdd})}):(0,f.jsx)(u.default.Suspense,{fallback:null,children:(0,f.jsx)(ae,{start:X.start,end:X.end,resourceId:X.resourceId,resources:j,onSave:me,onCancel:()=>Y(!1),onMoreOptions:e=>{Y(!1),J({isOpen:!0,mode:`create`,event:e})},position:Z})})}return null})(),(()=>{let e=i.slots?.eventModal;return e?(0,f.jsx)(u.default.Suspense,{fallback:null,children:(0,f.jsx)(e,{isOpen:q.isOpen,onClose:()=>J(e=>({...e,isOpen:!1})),mode:q.mode,event:q.event,onSave:le,onDelete:fe,resources:j,locale:i.locale,editorTemplate:typeof i.editorTemplate==`function`?i.editorTemplate:void 0,headerTemplate:typeof i.editorHeaderTemplate==`function`?i.editorHeaderTemplate:void 0,footerTemplate:typeof i.editorFooterTemplate==`function`?i.editorFooterTemplate:void 0,headerFieldsTemplate:typeof i.editorHeaderFieldsTemplate==`function`?i.editorHeaderFieldsTemplate:void 0,hiddenFields:i.editorHiddenFields,...i.slotProps?.eventModal})}):(0,f.jsx)(u.default.Suspense,{fallback:null,children:(0,f.jsx)(ie,{isOpen:q.isOpen,onClose:()=>J(e=>({...e,isOpen:!1})),mode:q.mode,event:q.event,onSave:le,onDelete:fe,resources:j,locale:i.locale,editorTemplate:typeof i.editorTemplate==`function`?i.editorTemplate:void 0,headerTemplate:typeof i.editorHeaderTemplate==`function`?i.editorHeaderTemplate:void 0,footerTemplate:typeof i.editorFooterTemplate==`function`?i.editorFooterTemplate:void 0,headerFieldsTemplate:typeof i.editorHeaderFieldsTemplate==`function`?i.editorHeaderFieldsTemplate:void 0,hiddenFields:i.editorHiddenFields})})})(),(0,f.jsx)(l.t,{isOpen:ue.isOpen,onClose:()=>de({isOpen:!1}),title:`Delete Event`,footer:(0,f.jsxs)(`div`,{className:`flex gap-2`,children:[(0,f.jsx)(t.t,{variant:`ghost`,onClick:()=>de({isOpen:!1}),children:`Cancel`}),(0,f.jsx)(t.t,{variant:`destructive`,onClick:pe,children:`Delete`})]}),children:(0,f.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Are you sure you want to delete this event? This action cannot be undone.`})})]})]})})}Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return I}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return se}});
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { p as e } from "./EzLayout-CiaPLniV.js";
|
|
2
|
+
import { _ as t } from "./EzProvider-AlmsYIDk.js";
|
|
3
|
+
import { t as n } from "./button-CYyNwV8S.js";
|
|
4
|
+
import { t as r } from "./input-Cj3sQK3M.js";
|
|
5
|
+
import { useEffect as i, useRef as a, useState as o } from "react";
|
|
6
|
+
import { AlertCircle as s, Calendar as c, Clock as l, MoreHorizontal as u, X as d } from "lucide-react";
|
|
7
|
+
import { jsx as f, jsxs as p } from "react/jsx-runtime";
|
|
8
|
+
import { format as m, isBefore as h } from "date-fns";
|
|
9
|
+
//#region src/components/EzScheduler/components/EzSchedulerQuickAdd.tsx
|
|
10
|
+
var g = /* @__PURE__ */ e({ EzSchedulerQuickAdd: () => _ }), _ = ({ start: e, end: g, resourceId: _, resources: v, onSave: y, onCancel: b, onMoreOptions: x, position: S }) => {
|
|
11
|
+
let [C, w] = o(""), T = a(null), E = a(null);
|
|
12
|
+
i(() => {
|
|
13
|
+
T.current?.focus();
|
|
14
|
+
}, []), i(() => {
|
|
15
|
+
let e = (e) => {
|
|
16
|
+
E.current && !E.current.contains(e.target) && b();
|
|
17
|
+
};
|
|
18
|
+
return document.addEventListener("mousedown", e), () => document.removeEventListener("mousedown", e);
|
|
19
|
+
}, [b]);
|
|
20
|
+
let D = () => {
|
|
21
|
+
C.trim() && y({
|
|
22
|
+
title: C,
|
|
23
|
+
start: e,
|
|
24
|
+
end: g,
|
|
25
|
+
resourceId: _
|
|
26
|
+
});
|
|
27
|
+
}, O = (e) => {
|
|
28
|
+
e.key === "Enter" && D(), e.key === "Escape" && b();
|
|
29
|
+
}, k = v?.find((e) => e.id === _), A = h(e, /* @__PURE__ */ new Date());
|
|
30
|
+
return /* @__PURE__ */ p("div", {
|
|
31
|
+
ref: E,
|
|
32
|
+
className: t("fixed z-[100] w-[320px] p-4 rounded-xl shadow-2xl animate-in fade-in zoom-in duration-200", "bg-background/80 backdrop-blur-xl border border-white/20 dark:border-white/10", "shadow-[0_8px_32px_rgba(0,0,0,0.12)]"),
|
|
33
|
+
style: {
|
|
34
|
+
left: Math.min(S.x, window.innerWidth - 340),
|
|
35
|
+
top: Math.min(S.y, window.innerHeight - 200)
|
|
36
|
+
},
|
|
37
|
+
children: [
|
|
38
|
+
/* @__PURE__ */ p("div", {
|
|
39
|
+
className: "flex items-center justify-between mb-4",
|
|
40
|
+
children: [/* @__PURE__ */ p("div", {
|
|
41
|
+
className: "flex items-center gap-2",
|
|
42
|
+
children: [/* @__PURE__ */ f("div", { className: "w-2 h-2 rounded-full bg-primary animate-pulse" }), /* @__PURE__ */ f("span", {
|
|
43
|
+
className: "text-xs font-bold uppercase tracking-wider text-muted-foreground",
|
|
44
|
+
children: "Quick Add"
|
|
45
|
+
})]
|
|
46
|
+
}), /* @__PURE__ */ f(n, {
|
|
47
|
+
variant: "ghost",
|
|
48
|
+
size: "icon",
|
|
49
|
+
className: "h-6 w-6 rounded-full",
|
|
50
|
+
onClick: b,
|
|
51
|
+
children: /* @__PURE__ */ f(d, { className: "h-3 w-3" })
|
|
52
|
+
})]
|
|
53
|
+
}),
|
|
54
|
+
/* @__PURE__ */ f(r, {
|
|
55
|
+
ref: T,
|
|
56
|
+
placeholder: "What's the plan?",
|
|
57
|
+
value: C,
|
|
58
|
+
onChange: (e) => w(e.target.value),
|
|
59
|
+
onKeyDown: O,
|
|
60
|
+
className: "mb-4 bg-transparent border-none text-lg font-bold p-0 focus-visible:ring-0 placeholder:text-muted-foreground/50 h-auto"
|
|
61
|
+
}),
|
|
62
|
+
/* @__PURE__ */ p("div", {
|
|
63
|
+
className: "space-y-2 mb-6",
|
|
64
|
+
children: [
|
|
65
|
+
/* @__PURE__ */ p("div", {
|
|
66
|
+
className: "flex items-center gap-2 text-sm text-muted-foreground",
|
|
67
|
+
children: [/* @__PURE__ */ f(c, { className: "h-3.5 w-3.5" }), /* @__PURE__ */ f("span", { children: m(e, "EEE, MMM d") })]
|
|
68
|
+
}),
|
|
69
|
+
/* @__PURE__ */ p("div", {
|
|
70
|
+
className: "flex items-center gap-2 text-sm text-muted-foreground",
|
|
71
|
+
children: [/* @__PURE__ */ f(l, { className: "h-3.5 w-3.5" }), /* @__PURE__ */ p("span", { children: [
|
|
72
|
+
m(e, "h:mm a"),
|
|
73
|
+
" - ",
|
|
74
|
+
m(g, "h:mm a")
|
|
75
|
+
] })]
|
|
76
|
+
}),
|
|
77
|
+
k && /* @__PURE__ */ p("div", {
|
|
78
|
+
className: "flex items-center gap-2 text-sm text-muted-foreground",
|
|
79
|
+
children: [/* @__PURE__ */ f("div", {
|
|
80
|
+
className: "w-3.5 h-3.5 rounded-full",
|
|
81
|
+
style: { backgroundColor: k.color || "hsl(var(--primary))" }
|
|
82
|
+
}), /* @__PURE__ */ f("span", { children: k.name })]
|
|
83
|
+
}),
|
|
84
|
+
A && /* @__PURE__ */ p("div", {
|
|
85
|
+
className: "flex items-center gap-2 text-xs text-warning-foreground font-medium",
|
|
86
|
+
children: [/* @__PURE__ */ f(s, { className: "h-3 w-3" }), /* @__PURE__ */ f("span", { children: "This event is in the past" })]
|
|
87
|
+
})
|
|
88
|
+
]
|
|
89
|
+
}),
|
|
90
|
+
/* @__PURE__ */ p("div", {
|
|
91
|
+
className: "flex items-center justify-between pt-2 border-t border-border/50",
|
|
92
|
+
children: [/* @__PURE__ */ p(n, {
|
|
93
|
+
variant: "ghost",
|
|
94
|
+
size: "sm",
|
|
95
|
+
className: "h-8 gap-2 text-muted-foreground hover:text-foreground",
|
|
96
|
+
onClick: () => x({
|
|
97
|
+
title: C,
|
|
98
|
+
start: e,
|
|
99
|
+
end: g,
|
|
100
|
+
resourceId: _
|
|
101
|
+
}),
|
|
102
|
+
children: [/* @__PURE__ */ f(u, { className: "h-4 w-4" }), "More"]
|
|
103
|
+
}), /* @__PURE__ */ p("div", {
|
|
104
|
+
className: "flex gap-2",
|
|
105
|
+
children: [/* @__PURE__ */ f(n, {
|
|
106
|
+
variant: "ghost",
|
|
107
|
+
size: "sm",
|
|
108
|
+
onClick: b,
|
|
109
|
+
className: "h-8",
|
|
110
|
+
children: "Cancel"
|
|
111
|
+
}), /* @__PURE__ */ f(n, {
|
|
112
|
+
size: "sm",
|
|
113
|
+
onClick: D,
|
|
114
|
+
className: "h-8 px-4",
|
|
115
|
+
disabled: !C.trim(),
|
|
116
|
+
children: "Save"
|
|
117
|
+
})]
|
|
118
|
+
})]
|
|
119
|
+
})
|
|
120
|
+
]
|
|
121
|
+
});
|
|
122
|
+
};
|
|
123
|
+
//#endregion
|
|
124
|
+
export { g as n, _ as t };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("./EzProvider-L2qQMq-v.cjs"),t=require("./button-BBMwzUtG.cjs"),n=require("./input-CYlvlbF7.cjs");let r=require("react");r=e.y(r,1);let i=require("lucide-react"),a=require("react/jsx-runtime"),o=require("date-fns");var s=e.v({EzSchedulerQuickAdd:()=>c}),c=({start:s,end:c,resourceId:l,resources:u,onSave:d,onCancel:f,onMoreOptions:p,position:m})=>{let[h,g]=(0,r.useState)(``),_=(0,r.useRef)(null),v=(0,r.useRef)(null);(0,r.useEffect)(()=>{_.current?.focus()},[]),(0,r.useEffect)(()=>{let e=e=>{v.current&&!v.current.contains(e.target)&&f()};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[f]);let y=()=>{h.trim()&&d({title:h,start:s,end:c,resourceId:l})},b=e=>{e.key===`Enter`&&y(),e.key===`Escape`&&f()},x=u?.find(e=>e.id===l),S=(0,o.isBefore)(s,new Date);return(0,a.jsxs)(`div`,{ref:v,className:e._(`fixed z-[100] w-[320px] p-4 rounded-xl shadow-2xl animate-in fade-in zoom-in duration-200`,`bg-background/80 backdrop-blur-xl border border-white/20 dark:border-white/10`,`shadow-[0_8px_32px_rgba(0,0,0,0.12)]`),style:{left:Math.min(m.x,window.innerWidth-340),top:Math.min(m.y,window.innerHeight-200)},children:[(0,a.jsxs)(`div`,{className:`flex items-center justify-between mb-4`,children:[(0,a.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,a.jsx)(`div`,{className:`w-2 h-2 rounded-full bg-primary animate-pulse`}),(0,a.jsx)(`span`,{className:`text-xs font-bold uppercase tracking-wider text-muted-foreground`,children:`Quick Add`})]}),(0,a.jsx)(t.t,{variant:`ghost`,size:`icon`,className:`h-6 w-6 rounded-full`,onClick:f,children:(0,a.jsx)(i.X,{className:`h-3 w-3`})})]}),(0,a.jsx)(n.t,{ref:_,placeholder:`What's the plan?`,value:h,onChange:e=>g(e.target.value),onKeyDown:b,className:`mb-4 bg-transparent border-none text-lg font-bold p-0 focus-visible:ring-0 placeholder:text-muted-foreground/50 h-auto`}),(0,a.jsxs)(`div`,{className:`space-y-2 mb-6`,children:[(0,a.jsxs)(`div`,{className:`flex items-center gap-2 text-sm text-muted-foreground`,children:[(0,a.jsx)(i.Calendar,{className:`h-3.5 w-3.5`}),(0,a.jsx)(`span`,{children:(0,o.format)(s,`EEE, MMM d`)})]}),(0,a.jsxs)(`div`,{className:`flex items-center gap-2 text-sm text-muted-foreground`,children:[(0,a.jsx)(i.Clock,{className:`h-3.5 w-3.5`}),(0,a.jsxs)(`span`,{children:[(0,o.format)(s,`h:mm a`),` - `,(0,o.format)(c,`h:mm a`)]})]}),x&&(0,a.jsxs)(`div`,{className:`flex items-center gap-2 text-sm text-muted-foreground`,children:[(0,a.jsx)(`div`,{className:`w-3.5 h-3.5 rounded-full`,style:{backgroundColor:x.color||`hsl(var(--primary))`}}),(0,a.jsx)(`span`,{children:x.name})]}),S&&(0,a.jsxs)(`div`,{className:`flex items-center gap-2 text-xs text-warning-foreground font-medium`,children:[(0,a.jsx)(i.AlertCircle,{className:`h-3 w-3`}),(0,a.jsx)(`span`,{children:`This event is in the past`})]})]}),(0,a.jsxs)(`div`,{className:`flex items-center justify-between pt-2 border-t border-border/50`,children:[(0,a.jsxs)(t.t,{variant:`ghost`,size:`sm`,className:`h-8 gap-2 text-muted-foreground hover:text-foreground`,onClick:()=>p({title:h,start:s,end:c,resourceId:l}),children:[(0,a.jsx)(i.MoreHorizontal,{className:`h-4 w-4`}),`More`]}),(0,a.jsxs)(`div`,{className:`flex gap-2`,children:[(0,a.jsx)(t.t,{variant:`ghost`,size:`sm`,onClick:f,className:`h-8`,children:`Cancel`}),(0,a.jsx)(t.t,{size:`sm`,onClick:y,className:`h-8 px-4`,disabled:!h.trim(),children:`Save`})]})]})]})};Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return c}});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("./EzProvider-L2qQMq-v.cjs"),t=require("./button-BBMwzUtG.cjs"),n=require("./input-CYlvlbF7.cjs"),r=require("./popover-wZKNvYM5.cjs"),i=require("./select-sVieKbLu.cjs"),a=require("./scroll-area-DSkE2KB_.cjs"),o=require("./calendar-DEHX32Cp.cjs");let s=require("react");s=e.y(s,1);let c=require("lucide-react"),l=require("react/jsx-runtime"),u=require("date-fns");var d=()=>{let n=e.n(),[i,o]=(0,s.useState)([]),[u,d]=(0,s.useState)(!1);(0,s.useEffect)(()=>{let e,t=()=>{let t=n.get(`NotificationService`);t&&!e&&(e=t.subscribe(e=>o(e)))};t();let r=n.subscribe(()=>{t()});return()=>{e&&e(),r()}},[]);let f=()=>{n.get(`NotificationService`)?.clearAll()},p=(e,t)=>{t.stopPropagation(),n.get(`NotificationService`)?.remove(e)},m=e=>{switch(e){case`success`:return(0,l.jsx)(c.CheckCircle,{className:`h-4 w-4 text-green-600`});case`error`:return(0,l.jsx)(c.AlertCircle,{className:`h-4 w-4 text-red-600`});case`warning`:return(0,l.jsx)(c.AlertTriangle,{className:`h-4 w-4 text-amber-600`});default:return(0,l.jsx)(c.Info,{className:`h-4 w-4 text-blue-600`})}};return(0,l.jsxs)(r.t,{open:u,onOpenChange:d,children:[(0,l.jsx)(r.r,{asChild:!0,children:(0,l.jsxs)(t.t,{variant:`ghost`,size:`icon`,className:`h-9 w-9 text-muted-foreground hover:text-foreground relative`,children:[(0,l.jsx)(c.Bell,{className:`w-5 h-5`}),i.length>0&&(0,l.jsx)(`span`,{className:`absolute -top-1 -right-1 flex h-4 w-4 items-center justify-center rounded-full bg-red-500 text-[10px] font-bold text-white ring-2 ring-background animate-in zoom-in duration-300`,children:i.length>9?`9+`:i.length})]})}),(0,l.jsxs)(r.n,{className:`w-80 p-0 mr-4`,align:`end`,children:[(0,l.jsxs)(`div`,{className:`flex items-center justify-between p-4 border-b`,children:[(0,l.jsx)(`h4`,{className:`font-semibold text-sm`,children:`Notifications`}),i.length>0&&(0,l.jsxs)(t.t,{variant:`ghost`,size:`sm`,className:`h-auto px-2 py-1 text-xs text-muted-foreground hover:text-destructive`,onClick:f,children:[(0,l.jsx)(c.Trash2,{className:`w-3 h-3 mr-1`}),`Clear all`]})]}),(0,l.jsx)(a.t,{className:`h-[300px]`,children:i.length===0?(0,l.jsxs)(`div`,{className:`flex flex-col items-center justify-center h-[200px] text-muted-foreground`,children:[(0,l.jsx)(c.Bell,{className:`w-8 h-8 mb-2 opacity-20`}),(0,l.jsx)(`p`,{className:`text-xs`,children:`No notifications`})]}):(0,l.jsx)(`div`,{className:`flex flex-col divide-y`,children:i.map(e=>(0,l.jsx)(`div`,{className:`p-4 hover:bg-muted/50 transition-colors relative group`,children:(0,l.jsxs)(`div`,{className:`flex gap-3`,children:[(0,l.jsx)(`div`,{className:`shrink-0 mt-0.5`,children:m(e.type)}),(0,l.jsxs)(`div`,{className:`space-y-1 flex-1 min-w-0`,children:[(0,l.jsx)(`p`,{className:`text-xs leading-relaxed text-foreground/90 break-words`,children:e.message}),(0,l.jsx)(`p`,{className:`text-[10px] text-muted-foreground`,children:`Just now`})]}),(0,l.jsx)(`button`,{onClick:t=>p(e.id,t),className:`opacity-0 group-hover:opacity-100 transition-opacity absolute top-2 right-2 p-1 hover:bg-background rounded-md text-muted-foreground hover:text-foreground`,children:(0,l.jsx)(c.X,{className:`w-3 h-3`})})]})},e.id))})})]})]})},f=e.v({EzSchedulerToolbar:()=>h}),p=e=>e.replace(/([A-Z])/g,` $1`).trim(),m=(e,t)=>(0,u.format)(e,`MMMM yyyy`),h=(0,s.memo)(({currentDate:a,next:s,prev:f,today:h,slotDuration:g,setSlotDuration:_,setCurrentDate:v,onPrev:y,onNext:b,onToday:x,currentView:S,onViewChange:C,views:w=[],onExportExcel:T,onExportCSV:E,onExportICS:D,dir:O})=>{let k=O===`rtl`,A=(r,o)=>{if(typeof r==`string`)switch(r){case`Previous`:return(0,l.jsx)(t.t,{variant:`ghost`,size:`icon`,onClick:y,children:(0,l.jsx)(c.ChevronLeft,{className:`h-4 w-4`})},o);case`Next`:return(0,l.jsx)(t.t,{variant:`ghost`,size:`icon`,onClick:b,children:(0,l.jsx)(c.ChevronRight,{className:`h-4 w-4`})},o);case`Today`:return(0,l.jsx)(t.t,{variant:`outline`,onClick:x,children:`Today`},o);case`DateRange`:return(0,l.jsx)(`div`,{className:`flex items-center gap-2`,children:(0,l.jsx)(`span`,{className:`text-lg font-semibold min-w-[200px] text-center`,children:m(a,S)})},o);case`Search`:return(0,l.jsxs)(`div`,{className:`relative w-48 hidden md:block`,children:[(0,l.jsx)(c.Search,{className:e._(`absolute top-2.5 h-4 w-4 text-muted-foreground`,k?`right-2`:`left-2`)}),(0,l.jsx)(n.t,{placeholder:`Search...`,className:`ps-8 h-9`})]},o);case`Timezone`:return(0,l.jsxs)(t.t,{variant:`ghost`,size:`sm`,className:`hidden lg:flex gap-1 text-xs text-muted-foreground`,children:[(0,l.jsx)(c.Globe,{className:`h-3.5 w-3.5`}),(0,l.jsx)(`span`,{children:`UTC`})]},o);case`ActiveView`:return(0,l.jsxs)(i.t,{value:S,onValueChange:e=>C(e),children:[(0,l.jsx)(i.i,{className:`w-[140px]`,children:(0,l.jsx)(i.a,{placeholder:`Select view`})}),(0,l.jsx)(i.n,{children:w.map(e=>{let t=typeof e==`string`?e:e.option;return(0,l.jsx)(i.r,{value:t,children:p(t)},t)})})]});default:return null}return(0,l.jsx)(`div`,{className:r.cssClass,children:r.text},o)};return(0,l.jsxs)(`div`,{"data-testid":`scheduler-toolbar`,className:`flex items-center justify-between p-4 border-b border-border shrink-0 bg-background h-16`,children:[(0,l.jsxs)(`div`,{className:`flex items-center gap-6`,children:[(0,l.jsxs)(`div`,{className:`flex items-center gap-1.5 `,children:[(0,l.jsx)(t.t,{variant:`ghost`,size:`icon`,onClick:f,className:`h-8 w-8 text-muted-foreground hover:text-foreground hover:bg-muted`,children:k?(0,l.jsx)(c.ChevronRight,{className:`w-5 h-5`}):(0,l.jsx)(c.ChevronLeft,{className:`w-5 h-5`})}),(0,l.jsx)(t.t,{variant:`ghost`,size:`icon`,onClick:s,className:`h-8 w-8 text-muted-foreground hover:text-foreground hover:bg-muted`,children:k?(0,l.jsx)(c.ChevronLeft,{className:`w-5 h-5`}):(0,l.jsx)(c.ChevronRight,{className:`w-5 h-5`})}),(0,l.jsxs)(r.t,{children:[(0,l.jsx)(r.r,{asChild:!0,children:(0,l.jsx)(t.t,{variant:`ghost`,size:`icon`,className:`h-8 w-8 text-muted-foreground hover:text-foreground hover:bg-muted`,children:(0,l.jsx)(c.Calendar,{className:`h-4 w-4`})})}),(0,l.jsx)(r.n,{className:`w-auto p-0`,align:`start`,children:(0,l.jsx)(o.t,{selected:a,onSelect:e=>e&&v(e)})})]})]}),(0,l.jsx)(`div`,{className:`text-xl font-bold tracking-tight text-foreground cursor-pointer hover:text-primary transition-colors ms-4`,onClick:()=>{},children:(0,u.format)(a,`EEEE, MMM d yyyy`)})]}),(0,l.jsxs)(`div`,{className:`flex items-center gap-4`,children:[A(`Search`,0),` `,A(`Timezone`,1),` `,A(`ActiveView`,2),(0,l.jsx)(t.t,{variant:`outline`,onClick:h,className:`h-9 px-4 text-xs font-bold uppercase tracking-wider border-border hover:bg-muted transition-colors rounded-md`,children:`TODAY`}),(0,l.jsxs)(`div`,{className:`flex items-center gap-2 bg-muted/30 px-2 py-1 rounded-lg border border-border/50`,children:[(0,l.jsx)(c.Clock,{className:`w-3.5 h-3.5 text-muted-foreground`}),(0,l.jsxs)(i.t,{value:String(g),onValueChange:e=>_(Number(e)),children:[(0,l.jsx)(i.i,{className:`h-7 w-[90px] text-[10px] font-bold uppercase tracking-tight bg-transparent border-none shadow-none focus:ring-0`,children:(0,l.jsx)(i.a,{placeholder:`Interval`})}),(0,l.jsxs)(i.n,{children:[(0,l.jsx)(i.r,{value:`5`,children:`5 minutes`}),(0,l.jsx)(i.r,{value:`10`,children:`10 minutes`}),(0,l.jsx)(i.r,{value:`15`,children:`15 minutes`}),(0,l.jsx)(i.r,{value:`30`,children:`30 minutes`}),(0,l.jsx)(i.r,{value:`45`,children:`45 minutes`}),(0,l.jsx)(i.r,{value:`60`,children:`1 hour`})]})]})]}),(0,l.jsx)(d,{}),(0,l.jsxs)(`div`,{className:`flex items-center gap-1 border-s border-border ps-2`,children:[T&&(0,l.jsx)(t.t,{variant:`ghost`,size:`icon`,onClick:T,title:`Export to Excel`,children:(0,l.jsx)(c.Download,{className:`w-4 h-4`})}),E&&(0,l.jsx)(t.t,{variant:`ghost`,size:`icon`,onClick:E,title:`Export to CSV`,children:(0,l.jsx)(c.Download,{className:`w-4 h-4 text-primary`})}),D&&(0,l.jsx)(t.t,{variant:`ghost`,size:`icon`,onClick:D,title:`Export to ICS`,children:(0,l.jsx)(c.Calendar,{className:`w-4 h-4`})})]}),(0,l.jsx)(t.t,{variant:`ghost`,size:`icon`,className:`h-9 w-9 text-muted-foreground hover:text-foreground rounded-full`,children:(0,l.jsx)(c.Settings,{className:`w-5 h-5`})})]})]})});h.displayName=`EzSchedulerToolbar`,Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return h}});
|
|
@@ -0,0 +1,305 @@
|
|
|
1
|
+
import { p as e } from "./EzLayout-CiaPLniV.js";
|
|
2
|
+
import { _ as t, n } from "./EzProvider-AlmsYIDk.js";
|
|
3
|
+
import { t as r } from "./button-CYyNwV8S.js";
|
|
4
|
+
import { t as i } from "./input-Cj3sQK3M.js";
|
|
5
|
+
import { n as a, r as o, t as s } from "./popover-D1akYj0W.js";
|
|
6
|
+
import { a as c, i as l, n as u, r as d, t as f } from "./select-D4tFaSai.js";
|
|
7
|
+
import { t as p } from "./scroll-area-BJs87d45.js";
|
|
8
|
+
import { t as m } from "./calendar-DOIPGsyI.js";
|
|
9
|
+
import { memo as h, useEffect as g, useState as _ } from "react";
|
|
10
|
+
import { AlertCircle as v, AlertTriangle as y, Bell as b, Calendar as x, CheckCircle as S, ChevronLeft as C, ChevronRight as w, Clock as T, Download as E, Globe as D, Info as O, Search as k, Settings as A, Trash2 as j, X as M } from "lucide-react";
|
|
11
|
+
import { jsx as N, jsxs as P } from "react/jsx-runtime";
|
|
12
|
+
import { format as F } from "date-fns";
|
|
13
|
+
//#region src/shared/components/EzNotificationDropdown.tsx
|
|
14
|
+
var I = () => {
|
|
15
|
+
let e = n(), [t, i] = _([]), [c, l] = _(!1);
|
|
16
|
+
g(() => {
|
|
17
|
+
let t, n = () => {
|
|
18
|
+
let n = e.get("NotificationService");
|
|
19
|
+
n && !t && (t = n.subscribe((e) => i(e)));
|
|
20
|
+
};
|
|
21
|
+
n();
|
|
22
|
+
let r = e.subscribe(() => {
|
|
23
|
+
n();
|
|
24
|
+
});
|
|
25
|
+
return () => {
|
|
26
|
+
t && t(), r();
|
|
27
|
+
};
|
|
28
|
+
}, []);
|
|
29
|
+
let u = () => {
|
|
30
|
+
e.get("NotificationService")?.clearAll();
|
|
31
|
+
}, d = (t, n) => {
|
|
32
|
+
n.stopPropagation(), e.get("NotificationService")?.remove(t);
|
|
33
|
+
}, f = (e) => {
|
|
34
|
+
switch (e) {
|
|
35
|
+
case "success": return /* @__PURE__ */ N(S, { className: "h-4 w-4 text-green-600" });
|
|
36
|
+
case "error": return /* @__PURE__ */ N(v, { className: "h-4 w-4 text-red-600" });
|
|
37
|
+
case "warning": return /* @__PURE__ */ N(y, { className: "h-4 w-4 text-amber-600" });
|
|
38
|
+
default: return /* @__PURE__ */ N(O, { className: "h-4 w-4 text-blue-600" });
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
return /* @__PURE__ */ P(s, {
|
|
42
|
+
open: c,
|
|
43
|
+
onOpenChange: l,
|
|
44
|
+
children: [/* @__PURE__ */ N(o, {
|
|
45
|
+
asChild: !0,
|
|
46
|
+
children: /* @__PURE__ */ P(r, {
|
|
47
|
+
variant: "ghost",
|
|
48
|
+
size: "icon",
|
|
49
|
+
className: "h-9 w-9 text-muted-foreground hover:text-foreground relative",
|
|
50
|
+
children: [/* @__PURE__ */ N(b, { className: "w-5 h-5" }), t.length > 0 && /* @__PURE__ */ N("span", {
|
|
51
|
+
className: "absolute -top-1 -right-1 flex h-4 w-4 items-center justify-center rounded-full bg-red-500 text-[10px] font-bold text-white ring-2 ring-background animate-in zoom-in duration-300",
|
|
52
|
+
children: t.length > 9 ? "9+" : t.length
|
|
53
|
+
})]
|
|
54
|
+
})
|
|
55
|
+
}), /* @__PURE__ */ P(a, {
|
|
56
|
+
className: "w-80 p-0 mr-4",
|
|
57
|
+
align: "end",
|
|
58
|
+
children: [/* @__PURE__ */ P("div", {
|
|
59
|
+
className: "flex items-center justify-between p-4 border-b",
|
|
60
|
+
children: [/* @__PURE__ */ N("h4", {
|
|
61
|
+
className: "font-semibold text-sm",
|
|
62
|
+
children: "Notifications"
|
|
63
|
+
}), t.length > 0 && /* @__PURE__ */ P(r, {
|
|
64
|
+
variant: "ghost",
|
|
65
|
+
size: "sm",
|
|
66
|
+
className: "h-auto px-2 py-1 text-xs text-muted-foreground hover:text-destructive",
|
|
67
|
+
onClick: u,
|
|
68
|
+
children: [/* @__PURE__ */ N(j, { className: "w-3 h-3 mr-1" }), "Clear all"]
|
|
69
|
+
})]
|
|
70
|
+
}), /* @__PURE__ */ N(p, {
|
|
71
|
+
className: "h-[300px]",
|
|
72
|
+
children: t.length === 0 ? /* @__PURE__ */ P("div", {
|
|
73
|
+
className: "flex flex-col items-center justify-center h-[200px] text-muted-foreground",
|
|
74
|
+
children: [/* @__PURE__ */ N(b, { className: "w-8 h-8 mb-2 opacity-20" }), /* @__PURE__ */ N("p", {
|
|
75
|
+
className: "text-xs",
|
|
76
|
+
children: "No notifications"
|
|
77
|
+
})]
|
|
78
|
+
}) : /* @__PURE__ */ N("div", {
|
|
79
|
+
className: "flex flex-col divide-y",
|
|
80
|
+
children: t.map((e) => /* @__PURE__ */ N("div", {
|
|
81
|
+
className: "p-4 hover:bg-muted/50 transition-colors relative group",
|
|
82
|
+
children: /* @__PURE__ */ P("div", {
|
|
83
|
+
className: "flex gap-3",
|
|
84
|
+
children: [
|
|
85
|
+
/* @__PURE__ */ N("div", {
|
|
86
|
+
className: "shrink-0 mt-0.5",
|
|
87
|
+
children: f(e.type)
|
|
88
|
+
}),
|
|
89
|
+
/* @__PURE__ */ P("div", {
|
|
90
|
+
className: "space-y-1 flex-1 min-w-0",
|
|
91
|
+
children: [/* @__PURE__ */ N("p", {
|
|
92
|
+
className: "text-xs leading-relaxed text-foreground/90 break-words",
|
|
93
|
+
children: e.message
|
|
94
|
+
}), /* @__PURE__ */ N("p", {
|
|
95
|
+
className: "text-[10px] text-muted-foreground",
|
|
96
|
+
children: "Just now"
|
|
97
|
+
})]
|
|
98
|
+
}),
|
|
99
|
+
/* @__PURE__ */ N("button", {
|
|
100
|
+
onClick: (t) => d(e.id, t),
|
|
101
|
+
className: "opacity-0 group-hover:opacity-100 transition-opacity absolute top-2 right-2 p-1 hover:bg-background rounded-md text-muted-foreground hover:text-foreground",
|
|
102
|
+
children: /* @__PURE__ */ N(M, { className: "w-3 h-3" })
|
|
103
|
+
})
|
|
104
|
+
]
|
|
105
|
+
})
|
|
106
|
+
}, e.id))
|
|
107
|
+
})
|
|
108
|
+
})]
|
|
109
|
+
})]
|
|
110
|
+
});
|
|
111
|
+
}, L = /* @__PURE__ */ e({ EzSchedulerToolbar: () => B }), R = (e) => e.replace(/([A-Z])/g, " $1").trim(), z = (e, t) => F(e, "MMMM yyyy"), B = h(({ currentDate: e, next: n, prev: p, today: h, slotDuration: g, setSlotDuration: _, setCurrentDate: v, onPrev: y, onNext: b, onToday: S, currentView: O, onViewChange: j, views: M = [], onExportExcel: L, onExportCSV: B, onExportICS: V, dir: H }) => {
|
|
112
|
+
let U = H === "rtl", W = (n, a) => {
|
|
113
|
+
if (typeof n == "string") switch (n) {
|
|
114
|
+
case "Previous": return /* @__PURE__ */ N(r, {
|
|
115
|
+
variant: "ghost",
|
|
116
|
+
size: "icon",
|
|
117
|
+
onClick: y,
|
|
118
|
+
children: /* @__PURE__ */ N(C, { className: "h-4 w-4" })
|
|
119
|
+
}, a);
|
|
120
|
+
case "Next": return /* @__PURE__ */ N(r, {
|
|
121
|
+
variant: "ghost",
|
|
122
|
+
size: "icon",
|
|
123
|
+
onClick: b,
|
|
124
|
+
children: /* @__PURE__ */ N(w, { className: "h-4 w-4" })
|
|
125
|
+
}, a);
|
|
126
|
+
case "Today": return /* @__PURE__ */ N(r, {
|
|
127
|
+
variant: "outline",
|
|
128
|
+
onClick: S,
|
|
129
|
+
children: "Today"
|
|
130
|
+
}, a);
|
|
131
|
+
case "DateRange": return /* @__PURE__ */ N("div", {
|
|
132
|
+
className: "flex items-center gap-2",
|
|
133
|
+
children: /* @__PURE__ */ N("span", {
|
|
134
|
+
className: "text-lg font-semibold min-w-[200px] text-center",
|
|
135
|
+
children: z(e, O)
|
|
136
|
+
})
|
|
137
|
+
}, a);
|
|
138
|
+
case "Search": return /* @__PURE__ */ P("div", {
|
|
139
|
+
className: "relative w-48 hidden md:block",
|
|
140
|
+
children: [/* @__PURE__ */ N(k, { className: t("absolute top-2.5 h-4 w-4 text-muted-foreground", U ? "right-2" : "left-2") }), /* @__PURE__ */ N(i, {
|
|
141
|
+
placeholder: "Search...",
|
|
142
|
+
className: "ps-8 h-9"
|
|
143
|
+
})]
|
|
144
|
+
}, a);
|
|
145
|
+
case "Timezone": return /* @__PURE__ */ P(r, {
|
|
146
|
+
variant: "ghost",
|
|
147
|
+
size: "sm",
|
|
148
|
+
className: "hidden lg:flex gap-1 text-xs text-muted-foreground",
|
|
149
|
+
children: [/* @__PURE__ */ N(D, { className: "h-3.5 w-3.5" }), /* @__PURE__ */ N("span", { children: "UTC" })]
|
|
150
|
+
}, a);
|
|
151
|
+
case "ActiveView": return /* @__PURE__ */ P(f, {
|
|
152
|
+
value: O,
|
|
153
|
+
onValueChange: (e) => j(e),
|
|
154
|
+
children: [/* @__PURE__ */ N(l, {
|
|
155
|
+
className: "w-[140px]",
|
|
156
|
+
children: /* @__PURE__ */ N(c, { placeholder: "Select view" })
|
|
157
|
+
}), /* @__PURE__ */ N(u, { children: M.map((e) => {
|
|
158
|
+
let t = typeof e == "string" ? e : e.option;
|
|
159
|
+
return /* @__PURE__ */ N(d, {
|
|
160
|
+
value: t,
|
|
161
|
+
children: R(t)
|
|
162
|
+
}, t);
|
|
163
|
+
}) })]
|
|
164
|
+
});
|
|
165
|
+
default: return null;
|
|
166
|
+
}
|
|
167
|
+
return /* @__PURE__ */ N("div", {
|
|
168
|
+
className: n.cssClass,
|
|
169
|
+
children: n.text
|
|
170
|
+
}, a);
|
|
171
|
+
};
|
|
172
|
+
return /* @__PURE__ */ P("div", {
|
|
173
|
+
"data-testid": "scheduler-toolbar",
|
|
174
|
+
className: "flex items-center justify-between p-4 border-b border-border shrink-0 bg-background h-16",
|
|
175
|
+
children: [/* @__PURE__ */ P("div", {
|
|
176
|
+
className: "flex items-center gap-6",
|
|
177
|
+
children: [/* @__PURE__ */ P("div", {
|
|
178
|
+
className: "flex items-center gap-1.5 ",
|
|
179
|
+
children: [
|
|
180
|
+
/* @__PURE__ */ N(r, {
|
|
181
|
+
variant: "ghost",
|
|
182
|
+
size: "icon",
|
|
183
|
+
onClick: p,
|
|
184
|
+
className: "h-8 w-8 text-muted-foreground hover:text-foreground hover:bg-muted",
|
|
185
|
+
children: N(U ? w : C, { className: "w-5 h-5" })
|
|
186
|
+
}),
|
|
187
|
+
/* @__PURE__ */ N(r, {
|
|
188
|
+
variant: "ghost",
|
|
189
|
+
size: "icon",
|
|
190
|
+
onClick: n,
|
|
191
|
+
className: "h-8 w-8 text-muted-foreground hover:text-foreground hover:bg-muted",
|
|
192
|
+
children: N(U ? C : w, { className: "w-5 h-5" })
|
|
193
|
+
}),
|
|
194
|
+
/* @__PURE__ */ P(s, { children: [/* @__PURE__ */ N(o, {
|
|
195
|
+
asChild: !0,
|
|
196
|
+
children: /* @__PURE__ */ N(r, {
|
|
197
|
+
variant: "ghost",
|
|
198
|
+
size: "icon",
|
|
199
|
+
className: "h-8 w-8 text-muted-foreground hover:text-foreground hover:bg-muted",
|
|
200
|
+
children: /* @__PURE__ */ N(x, { className: "h-4 w-4" })
|
|
201
|
+
})
|
|
202
|
+
}), /* @__PURE__ */ N(a, {
|
|
203
|
+
className: "w-auto p-0",
|
|
204
|
+
align: "start",
|
|
205
|
+
children: /* @__PURE__ */ N(m, {
|
|
206
|
+
selected: e,
|
|
207
|
+
onSelect: (e) => e && v(e)
|
|
208
|
+
})
|
|
209
|
+
})] })
|
|
210
|
+
]
|
|
211
|
+
}), /* @__PURE__ */ N("div", {
|
|
212
|
+
className: "text-xl font-bold tracking-tight text-foreground cursor-pointer hover:text-primary transition-colors ms-4",
|
|
213
|
+
onClick: () => {},
|
|
214
|
+
children: F(e, "EEEE, MMM d yyyy")
|
|
215
|
+
})]
|
|
216
|
+
}), /* @__PURE__ */ P("div", {
|
|
217
|
+
className: "flex items-center gap-4",
|
|
218
|
+
children: [
|
|
219
|
+
W("Search", 0),
|
|
220
|
+
" ",
|
|
221
|
+
W("Timezone", 1),
|
|
222
|
+
" ",
|
|
223
|
+
W("ActiveView", 2),
|
|
224
|
+
/* @__PURE__ */ N(r, {
|
|
225
|
+
variant: "outline",
|
|
226
|
+
onClick: h,
|
|
227
|
+
className: "h-9 px-4 text-xs font-bold uppercase tracking-wider border-border hover:bg-muted transition-colors rounded-md",
|
|
228
|
+
children: "TODAY"
|
|
229
|
+
}),
|
|
230
|
+
/* @__PURE__ */ P("div", {
|
|
231
|
+
className: "flex items-center gap-2 bg-muted/30 px-2 py-1 rounded-lg border border-border/50",
|
|
232
|
+
children: [/* @__PURE__ */ N(T, { className: "w-3.5 h-3.5 text-muted-foreground" }), /* @__PURE__ */ P(f, {
|
|
233
|
+
value: String(g),
|
|
234
|
+
onValueChange: (e) => _(Number(e)),
|
|
235
|
+
children: [/* @__PURE__ */ N(l, {
|
|
236
|
+
className: "h-7 w-[90px] text-[10px] font-bold uppercase tracking-tight bg-transparent border-none shadow-none focus:ring-0",
|
|
237
|
+
children: /* @__PURE__ */ N(c, { placeholder: "Interval" })
|
|
238
|
+
}), /* @__PURE__ */ P(u, { children: [
|
|
239
|
+
/* @__PURE__ */ N(d, {
|
|
240
|
+
value: "5",
|
|
241
|
+
children: "5 minutes"
|
|
242
|
+
}),
|
|
243
|
+
/* @__PURE__ */ N(d, {
|
|
244
|
+
value: "10",
|
|
245
|
+
children: "10 minutes"
|
|
246
|
+
}),
|
|
247
|
+
/* @__PURE__ */ N(d, {
|
|
248
|
+
value: "15",
|
|
249
|
+
children: "15 minutes"
|
|
250
|
+
}),
|
|
251
|
+
/* @__PURE__ */ N(d, {
|
|
252
|
+
value: "30",
|
|
253
|
+
children: "30 minutes"
|
|
254
|
+
}),
|
|
255
|
+
/* @__PURE__ */ N(d, {
|
|
256
|
+
value: "45",
|
|
257
|
+
children: "45 minutes"
|
|
258
|
+
}),
|
|
259
|
+
/* @__PURE__ */ N(d, {
|
|
260
|
+
value: "60",
|
|
261
|
+
children: "1 hour"
|
|
262
|
+
})
|
|
263
|
+
] })]
|
|
264
|
+
})]
|
|
265
|
+
}),
|
|
266
|
+
/* @__PURE__ */ N(I, {}),
|
|
267
|
+
/* @__PURE__ */ P("div", {
|
|
268
|
+
className: "flex items-center gap-1 border-s border-border ps-2",
|
|
269
|
+
children: [
|
|
270
|
+
L && /* @__PURE__ */ N(r, {
|
|
271
|
+
variant: "ghost",
|
|
272
|
+
size: "icon",
|
|
273
|
+
onClick: L,
|
|
274
|
+
title: "Export to Excel",
|
|
275
|
+
children: /* @__PURE__ */ N(E, { className: "w-4 h-4" })
|
|
276
|
+
}),
|
|
277
|
+
B && /* @__PURE__ */ N(r, {
|
|
278
|
+
variant: "ghost",
|
|
279
|
+
size: "icon",
|
|
280
|
+
onClick: B,
|
|
281
|
+
title: "Export to CSV",
|
|
282
|
+
children: /* @__PURE__ */ N(E, { className: "w-4 h-4 text-primary" })
|
|
283
|
+
}),
|
|
284
|
+
V && /* @__PURE__ */ N(r, {
|
|
285
|
+
variant: "ghost",
|
|
286
|
+
size: "icon",
|
|
287
|
+
onClick: V,
|
|
288
|
+
title: "Export to ICS",
|
|
289
|
+
children: /* @__PURE__ */ N(x, { className: "w-4 h-4" })
|
|
290
|
+
})
|
|
291
|
+
]
|
|
292
|
+
}),
|
|
293
|
+
/* @__PURE__ */ N(r, {
|
|
294
|
+
variant: "ghost",
|
|
295
|
+
size: "icon",
|
|
296
|
+
className: "h-9 w-9 text-muted-foreground hover:text-foreground rounded-full",
|
|
297
|
+
children: /* @__PURE__ */ N(A, { className: "w-5 h-5" })
|
|
298
|
+
})
|
|
299
|
+
]
|
|
300
|
+
})]
|
|
301
|
+
});
|
|
302
|
+
});
|
|
303
|
+
B.displayName = "EzSchedulerToolbar";
|
|
304
|
+
//#endregion
|
|
305
|
+
export { L as n, I as r, B as t };
|