ezux 1.1.15 → 1.1.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (472) hide show
  1. package/README.md +52 -31
  2. package/dist/DeleteConfirmationModal-CukNDgtX.cjs +1 -0
  3. package/dist/DeleteConfirmationModal-p8XGDGIw.js +38 -0
  4. package/dist/EzContextMenu-BCUoEQp5.cjs +1 -0
  5. package/dist/{EzContextMenu-vcwZjlYv.js → EzContextMenu-srLxujt8.js} +2 -3
  6. package/dist/EzErrorBoundary-d_2g-_EK.cjs +1 -0
  7. package/dist/{EzEventModal-MDtx4Gwd.js → EzEventModal-BDSHG11m.js} +66 -55
  8. package/dist/EzEventModal-BrCBSXBM.cjs +1 -0
  9. package/dist/{EzFlow-B3oi5QvJ.js → EzFlow-C74NbZA9.js} +612 -600
  10. package/dist/EzFlow-CQFeY7DL.cjs +5 -0
  11. package/dist/{EzGroupingPanel-B1B2B3Sc.js → EzGroupingPanel-BVaAJaVU.js} +1 -1
  12. package/dist/EzGroupingPanel-BwWDWEuW.cjs +1 -0
  13. package/dist/{EzKanban-CEPmBCZV.js → EzKanban-COcGidzh.js} +351 -365
  14. package/dist/EzKanban-DokdXGqQ.cjs +2 -0
  15. package/dist/EzLayout-BGnqFtvO.cjs +1 -0
  16. package/dist/{EzLayout-DyMI9A92.js → EzLayout-CiaPLniV.js} +3049 -3030
  17. package/dist/{EzProvider-Df2qgeDn.js → EzProvider-AlmsYIDk.js} +52 -45
  18. package/dist/EzProvider-L2qQMq-v.cjs +1 -0
  19. package/dist/EzScheduler-B8nV1VWY.cjs +1 -0
  20. package/dist/{EzScheduler-CTYXyOG8.js → EzScheduler-CjQbi1Na.js} +614 -644
  21. package/dist/{EzSchedulerQuickAdd-wXGn1L1c.js → EzSchedulerQuickAdd-BIC8xbSn.js} +4 -4
  22. package/dist/EzSchedulerQuickAdd-BeNfGdWs.cjs +1 -0
  23. package/dist/EzSchedulerToolbar-ihfe-5Yd.cjs +1 -0
  24. package/dist/{EzSchedulerToolbar-NdKzGgMo.js → EzSchedulerToolbar-jMw8KB8k.js} +61 -77
  25. package/dist/{EzSignature-CZk-iAb3.js → EzSignature-7UHO5lSP.js} +56 -45
  26. package/dist/EzSignature-Df7UZ-IS.cjs +1 -0
  27. package/dist/EzTable-CEXvJR1t.cjs +3 -0
  28. package/dist/{EzTable-CaCyWXNv.js → EzTable-D2p1IWHc.js} +1319 -1320
  29. package/dist/EzTableEditDialog-BXnnYSSy.cjs +1 -0
  30. package/dist/{EzTableEditDialog-5CJ-i5FI.js → EzTableEditDialog-Ccd5XoHm.js} +3 -3
  31. package/dist/EzTableFooter-CtexeDAC.cjs +1 -0
  32. package/dist/{EzTableFooter-B347PRkZ.js → EzTableFooter-DrLoWelo.js} +2 -2
  33. package/dist/{EzTableToolbar-D4Qw-fwb.js → EzTableToolbar-BH5z9fSJ.js} +17 -18
  34. package/dist/EzTableToolbar-DwuumvWP.cjs +1 -0
  35. package/dist/{EzTreeView-ChsTltti.js → EzTreeView-D1G0Aomc.js} +42 -43
  36. package/dist/EzTreeView-KMGlU4ax.cjs +1 -0
  37. package/dist/HighlightText-BViuwe03.cjs +1 -0
  38. package/dist/{KanbanBoard-DTsy_GAc.js → KanbanBoard-BsZP_PJi.js} +300 -301
  39. package/dist/KanbanBoard-C9bjU_gk.cjs +1 -0
  40. package/dist/Modal-BmX1C448.cjs +1 -0
  41. package/dist/Modal-CrzpKyjK.js +74 -0
  42. package/dist/{NotificationPanel-B0pVgPcO.js → NotificationPanel-BzpDc10Q.js} +1 -2
  43. package/dist/NotificationPanel-CFME00wq.cjs +1 -0
  44. package/dist/{TooltipWrapper-66yWxRSD.js → TooltipWrapper-BSAmUx9H.js} +1 -1
  45. package/dist/TooltipWrapper-DfbFAZ1U.cjs +1 -0
  46. package/dist/advanced.cjs +2 -2
  47. package/dist/advanced.d.ts +44 -2616
  48. package/dist/advanced.es.js +134 -135
  49. package/dist/avatar-BSdRHETK.cjs +1 -0
  50. package/dist/avatar-BvCUJ-_r.js +27 -0
  51. package/dist/button-BBMwzUtG.cjs +1 -0
  52. package/dist/{button-BN0DK137.js → button-CYyNwV8S.js} +22 -20
  53. package/dist/calendar-DEHX32Cp.cjs +1 -0
  54. package/dist/{calendar-DEtDSI0W.js → calendar-DOIPGsyI.js} +3 -3
  55. package/dist/card-CPlRZxbq.cjs +1 -0
  56. package/dist/card-ZUNxcdIM.js +60 -0
  57. package/dist/checkbox-BrCh_Iid.cjs +1 -0
  58. package/dist/{checkbox-CS_BOaA6.js → checkbox-DRkQuB4W.js} +5 -6
  59. package/dist/components/EzFlow/EzConnectionLine.d.ts +5 -0
  60. package/dist/components/EzFlow/EzFlow.examples.d.ts +5 -0
  61. package/dist/components/EzFlow/EzFlow.types.d.ts +260 -0
  62. package/dist/components/EzFlow/EzFlowBackground.d.ts +5 -0
  63. package/dist/components/EzFlow/EzFlowCanvas.d.ts +3 -0
  64. package/dist/components/EzFlow/EzFlowControls.d.ts +5 -0
  65. package/dist/components/EzFlow/EzFlowEdge.d.ts +5 -0
  66. package/dist/components/EzFlow/EzFlowHeader.d.ts +6 -0
  67. package/dist/components/EzFlow/EzFlowToolbox.d.ts +6 -0
  68. package/dist/components/EzFlow/EzWorkflow.d.ts +5 -0
  69. package/dist/components/EzFlow/EzWorkflowPerformance.d.ts +3 -0
  70. package/dist/components/EzFlow/EzWorkflowServiceAdapters.d.ts +24 -0
  71. package/dist/components/EzFlow/EzWorkflowValidation.d.ts +95 -0
  72. package/dist/components/EzFlow/index.d.ts +13 -0
  73. package/dist/components/EzFlow/nodes/ActionNode.d.ts +3 -0
  74. package/dist/components/EzFlow/nodes/ApprovalNode.d.ts +3 -0
  75. package/dist/components/EzFlow/nodes/DecisionNode.d.ts +3 -0
  76. package/dist/components/EzFlow/nodes/DelayNode.d.ts +3 -0
  77. package/dist/components/EzFlow/nodes/EndNode.d.ts +3 -0
  78. package/dist/components/EzFlow/nodes/GroupNode.d.ts +3 -0
  79. package/dist/components/EzFlow/nodes/LoopNode.d.ts +3 -0
  80. package/dist/components/EzFlow/nodes/RequestNode.d.ts +3 -0
  81. package/dist/components/EzFlow/nodes/StartNode.d.ts +3 -0
  82. package/dist/components/EzFlow/nodes/index.d.ts +9 -0
  83. package/dist/components/EzKanban/EzKanban.types.d.ts +808 -0
  84. package/dist/components/EzKanban/components/CardEditorModal.d.ts +23 -0
  85. package/dist/components/EzKanban/components/EzKanbanErrorFallback.d.ts +1 -0
  86. package/dist/components/EzKanban/components/FilterPopover.d.ts +10 -0
  87. package/dist/components/EzKanban/components/KanbanBoard.d.ts +59 -0
  88. package/dist/components/EzKanban/components/KanbanCard.d.ts +46 -0
  89. package/dist/components/EzKanban/components/KanbanColumn.d.ts +55 -0
  90. package/dist/components/EzKanban/components/KanbanSwimlane.d.ts +45 -0
  91. package/dist/components/EzKanban/components/KanbanToolbar.d.ts +41 -0
  92. package/dist/components/EzKanban/exports.d.ts +4 -0
  93. package/dist/components/EzKanban/hooks/useKanbanCards.d.ts +36 -0
  94. package/dist/components/EzKanban/hooks/useKanbanColumns.d.ts +27 -0
  95. package/dist/components/EzKanban/hooks/useKanbanDragDrop.d.ts +31 -0
  96. package/dist/components/EzKanban/hooks/useKanbanFilters.d.ts +23 -0
  97. package/dist/components/EzKanban/hooks/useKanbanState.d.ts +79 -0
  98. package/dist/components/EzKanban/hooks/useKanbanSwimlanes.d.ts +27 -0
  99. package/dist/components/EzKanban/hooks/useKanbanVirtualization.d.ts +16 -0
  100. package/dist/components/EzKanban/index.d.ts +51 -0
  101. package/dist/components/EzKanban/services/KanbanService.d.ts +31 -0
  102. package/dist/components/EzKanban/state/kanban.store.d.ts +33 -0
  103. package/dist/components/EzKanban/useEzKanban.d.ts +87 -0
  104. package/dist/components/EzKanban/views/KanbanTimelineView.d.ts +15 -0
  105. package/dist/components/EzLayout/Authentication/AuthSlider.d.ts +13 -0
  106. package/dist/components/EzLayout/Authentication/InputPassword.d.ts +7 -0
  107. package/dist/components/EzLayout/Authentication/SignInForm.d.ts +21 -0
  108. package/dist/components/EzLayout/Authentication/SignUpForm.d.ts +20 -0
  109. package/dist/components/EzLayout/EzHeader.d.ts +48 -0
  110. package/dist/components/EzLayout/EzLanguageSwitcher.d.ts +4 -0
  111. package/dist/components/EzLayout/EzLayout.types.d.ts +261 -0
  112. package/dist/components/EzLayout/EzOrganizationSwitcher.d.ts +14 -0
  113. package/dist/components/EzLayout/EzSidebar.d.ts +24 -0
  114. package/dist/components/EzLayout/EzThemeColorChanger.d.ts +9 -0
  115. package/dist/components/EzLayout/EzThemeSwitcher.d.ts +8 -0
  116. package/dist/components/EzLayout/EzUserProfile.d.ts +27 -0
  117. package/dist/components/EzLayout/components/EzSidebarFooter.d.ts +8 -0
  118. package/dist/components/EzLayout/components/EzSidebarNav.d.ts +10 -0
  119. package/dist/components/EzLayout/components/EzSidebarNavItem.d.ts +11 -0
  120. package/dist/components/EzLayout/components/MainContent.d.ts +13 -0
  121. package/dist/components/EzLayout/hooks/useLayoutImperative.d.ts +17 -0
  122. package/dist/components/EzLayout/hooks/useLayoutState.d.ts +25 -0
  123. package/dist/components/EzLayout/index.d.ts +23 -0
  124. package/dist/components/EzLayout/useEzLayout.d.ts +34 -0
  125. package/dist/components/EzScheduler/EzScheduler.types.d.ts +1255 -0
  126. package/dist/components/EzScheduler/EzSchedulerToolbar.d.ts +118 -0
  127. package/dist/components/EzScheduler/components/EzEventModal.d.ts +26 -0
  128. package/dist/components/EzScheduler/components/EzOverlapAlert.d.ts +12 -0
  129. package/dist/components/EzScheduler/components/EzQuickInfoPopup.d.ts +22 -0
  130. package/dist/components/EzScheduler/components/EzResourceSidebar.d.ts +33 -0
  131. package/dist/components/EzScheduler/components/EzSchedulerContent.d.ts +111 -0
  132. package/dist/components/EzScheduler/components/EzSchedulerQuickAdd.d.ts +17 -0
  133. package/dist/components/EzScheduler/components/RecurrenceEditor.d.ts +7 -0
  134. package/dist/components/EzScheduler/components/SchedulerLoadingSpinner.d.ts +2 -0
  135. package/dist/components/EzScheduler/components/dnd/DraggableEvent.d.ts +24 -0
  136. package/dist/components/EzScheduler/components/dnd/DroppableSlot.d.ts +19 -0
  137. package/dist/components/EzScheduler/hooks/useRecurrence.d.ts +2 -0
  138. package/dist/components/EzScheduler/hooks/useSchedulerEventHandlers.d.ts +15 -0
  139. package/dist/components/EzScheduler/hooks/useSchedulerEvents.d.ts +27 -0
  140. package/dist/components/EzScheduler/hooks/useSchedulerImperative.d.ts +19 -0
  141. package/dist/components/EzScheduler/hooks/useSchedulerNavigation.d.ts +9 -0
  142. package/dist/components/EzScheduler/hooks/useSchedulerResources.d.ts +10 -0
  143. package/dist/components/EzScheduler/hooks/useSchedulerState.d.ts +14 -0
  144. package/dist/components/EzScheduler/hooks/useSchedulerVirtualization.d.ts +9 -0
  145. package/dist/components/EzScheduler/index.d.ts +43 -0
  146. package/dist/components/EzScheduler/models/EventSettings.d.ts +11 -0
  147. package/dist/components/EzScheduler/models/View.d.ts +49 -0
  148. package/dist/components/EzScheduler/models/index.d.ts +2 -0
  149. package/dist/components/EzScheduler/services/AttendeeService.d.ts +15 -0
  150. package/dist/components/EzScheduler/services/AuditService.d.ts +15 -0
  151. package/dist/components/EzScheduler/services/CollisionDetectionService.d.ts +19 -0
  152. package/dist/components/EzScheduler/services/DragAndDropService.d.ts +16 -0
  153. package/dist/components/EzScheduler/services/HistoryService.d.ts +31 -0
  154. package/dist/components/EzScheduler/services/ICalendarImportService.d.ts +16 -0
  155. package/dist/components/EzScheduler/services/PrintService.d.ts +7 -0
  156. package/dist/components/EzScheduler/services/RecurrenceEngine.d.ts +7 -0
  157. package/dist/components/EzScheduler/services/ReminderService.d.ts +17 -0
  158. package/dist/components/EzScheduler/services/SchedulerService.d.ts +71 -0
  159. package/dist/components/EzScheduler/services/SearchService.d.ts +11 -0
  160. package/dist/components/EzScheduler/services/SecurityService.d.ts +25 -0
  161. package/dist/components/EzScheduler/services/TimezoneService.d.ts +20 -0
  162. package/dist/components/EzScheduler/services/VirtualScrollingService.d.ts +34 -0
  163. package/dist/components/EzScheduler/state/scheduler.store.d.ts +27 -0
  164. package/dist/components/EzScheduler/templates/CellTemplate.d.ts +42 -0
  165. package/dist/components/EzScheduler/templates/EditorTemplate.d.ts +32 -0
  166. package/dist/components/EzScheduler/templates/HeaderTemplate.d.ts +36 -0
  167. package/dist/components/EzScheduler/useEzScheduler.d.ts +104 -0
  168. package/dist/components/EzScheduler/utils/createDragConstraint.d.ts +7 -0
  169. package/dist/components/EzScheduler/utils/getWeekNumber.d.ts +8 -0
  170. package/dist/components/EzScheduler/utils/sanitizeHtml.d.ts +18 -0
  171. package/dist/components/EzScheduler/views/AgendaView.d.ts +28 -0
  172. package/dist/components/EzScheduler/views/DayWeekView.d.ts +177 -0
  173. package/dist/components/EzScheduler/views/MonthView.d.ts +60 -0
  174. package/dist/components/EzScheduler/views/TimelineView.d.ts +116 -0
  175. package/dist/components/EzSignature/EzSignature.d.ts +42 -0
  176. package/dist/components/EzSignature/EzSignature.types.d.ts +132 -0
  177. package/dist/components/EzSignature/index.d.ts +2 -0
  178. package/dist/components/EzTable/EzColumnMenu.d.ts +7 -0
  179. package/dist/components/EzTable/EzDateFilterTree.d.ts +7 -0
  180. package/dist/components/EzTable/EzExcelFilter.d.ts +8 -0
  181. package/dist/components/EzTable/EzFilterBuilder.d.ts +12 -0
  182. package/dist/components/EzTable/EzGroupingPanel.d.ts +9 -0
  183. package/dist/components/EzTable/EzHeaderContextMenu.d.ts +8 -0
  184. package/dist/components/EzTable/EzPagination.d.ts +19 -0
  185. package/dist/components/EzTable/EzTable.types.d.ts +1 -0
  186. package/dist/components/EzTable/EzTableEditDialog.d.ts +15 -0
  187. package/dist/components/EzTable/EzTableFooter.d.ts +10 -0
  188. package/dist/components/EzTable/EzTableOverlays.d.ts +11 -0
  189. package/dist/components/EzTable/EzTableStatusBar.d.ts +10 -0
  190. package/dist/components/EzTable/EzTableToolbar.d.ts +60 -0
  191. package/dist/components/EzTable/SmartCell.d.ts +7 -0
  192. package/dist/components/EzTable/components/AdvancedColumnFilter.d.ts +16 -0
  193. package/dist/components/EzTable/components/BooleanFilterSection.d.ts +7 -0
  194. package/dist/components/EzTable/components/EzDraggableHeader.d.ts +10 -0
  195. package/dist/components/EzTable/components/EzHeaderDragPreview.d.ts +7 -0
  196. package/dist/components/EzTable/components/EzTableBodySection.d.ts +72 -0
  197. package/dist/components/EzTable/components/EzTableCell.d.ts +46 -0
  198. package/dist/components/EzTable/components/EzTableHeaderSection.d.ts +23 -0
  199. package/dist/components/EzTable/components/EzTablePaginationSection.d.ts +31 -0
  200. package/dist/components/EzTable/components/EzTableRow.d.ts +58 -0
  201. package/dist/components/EzTable/components/FilterActionButtons.d.ts +16 -0
  202. package/dist/components/EzTable/components/FilterRuleSelect.d.ts +26 -0
  203. package/dist/components/EzTable/components/SelectAllCheckbox.d.ts +21 -0
  204. package/dist/components/EzTable/components/SelectFilterSection.d.ts +18 -0
  205. package/dist/components/EzTable/components/VirtualizedFilterList.d.ts +21 -0
  206. package/dist/components/EzTable/constants/filterOptions.d.ts +47 -0
  207. package/dist/components/EzTable/context/EzTableContext.d.ts +10 -0
  208. package/dist/components/EzTable/context/TableConfigContext.d.ts +13 -0
  209. package/dist/components/EzTable/context/TableStore.d.ts +17 -0
  210. package/dist/components/EzTable/filterUtils.d.ts +5 -0
  211. package/dist/components/EzTable/hooks/useAutoFit.d.ts +4 -0
  212. package/dist/components/EzTable/hooks/useCellEventHandlers.d.ts +16 -0
  213. package/dist/components/EzTable/hooks/useColumnSizeVars.d.ts +6 -0
  214. package/dist/components/EzTable/hooks/useContainerResize.d.ts +11 -0
  215. package/dist/components/EzTable/hooks/useDialogStateInitialization.d.ts +8 -0
  216. package/dist/components/EzTable/hooks/useFilterSelection.d.ts +12 -0
  217. package/dist/components/EzTable/hooks/useTableFiltering.d.ts +23 -0
  218. package/dist/components/EzTable/hooks/useTableHistory.d.ts +87 -0
  219. package/dist/components/EzTable/hooks/useTableImperative.d.ts +42 -0
  220. package/dist/components/EzTable/hooks/useTableSelection.d.ts +32 -0
  221. package/dist/components/EzTable/hooks/useTableState.d.ts +33 -0
  222. package/dist/components/EzTable/hooks/useTableVirtualization.d.ts +35 -0
  223. package/dist/components/EzTable/index.d.ts +54 -0
  224. package/dist/components/EzTable/renderers/index.d.ts +6 -0
  225. package/dist/components/EzTable/services/TableService.d.ts +29 -0
  226. package/dist/components/EzTable/types/EzTableColumn.types.d.ts +146 -0
  227. package/dist/components/EzTable/types/EzTableEdit.types.d.ts +58 -0
  228. package/dist/components/EzTable/types/EzTableFilter.types.d.ts +50 -0
  229. package/dist/components/EzTable/types/EzTableProps.d.ts +750 -0
  230. package/dist/components/EzTable/types/index.d.ts +4 -0
  231. package/dist/components/EzTable/useEzTable.d.ts +17 -0
  232. package/dist/components/EzTable/utils/SizingUtils.d.ts +11 -0
  233. package/dist/components/EzTable/utils/TextMeasurer.d.ts +1 -0
  234. package/dist/components/EzTable/utils/TruncatedTooltip.d.ts +7 -0
  235. package/dist/components/EzTable/utils/columnTypeDetector.d.ts +5 -0
  236. package/dist/components/EzTable/utils/filterTypeGuards.d.ts +3 -0
  237. package/dist/components/EzTable/utils/index.d.ts +1 -0
  238. package/dist/components/EzTreeView/EzTreeView.types.d.ts +364 -0
  239. package/dist/components/EzTreeView/EzTreeViewItem.d.ts +89 -0
  240. package/dist/components/EzTreeView/EzVirtualTree.d.ts +84 -0
  241. package/dist/components/EzTreeView/components/EzTreeViewLoadingSpinner.d.ts +2 -0
  242. package/dist/components/EzTreeView/hooks/useTreeDragDrop.d.ts +31 -0
  243. package/dist/components/EzTreeView/hooks/useTreeExpansion.d.ts +21 -0
  244. package/dist/components/EzTreeView/hooks/useTreeImperative.d.ts +28 -0
  245. package/dist/components/EzTreeView/hooks/useTreeSelection.d.ts +31 -0
  246. package/dist/components/EzTreeView/hooks/useTreeState.d.ts +21 -0
  247. package/dist/components/EzTreeView/hooks/useTreeVirtualization.d.ts +18 -0
  248. package/dist/components/EzTreeView/index.d.ts +40 -0
  249. package/dist/components/EzTreeView/services/TreeService.d.ts +11 -0
  250. package/dist/components/EzTreeView/useEzTreeView.d.ts +50 -0
  251. package/dist/components/EzTreeView/utils/treeUtils.d.ts +17 -0
  252. package/dist/components/shared/components/EzErrorBoundary.d.ts +18 -0
  253. package/dist/components/shared/components/EzLayoutErrorFallback.d.ts +2 -0
  254. package/dist/components/shared/components/EzLoadingSpinner.d.ts +8 -0
  255. package/dist/components/shared/components/EzSchedulerErrorFallback.d.ts +2 -0
  256. package/dist/components/shared/components/EzSortableList.d.ts +12 -0
  257. package/dist/components/shared/components/EzTableErrorFallback.d.ts +2 -0
  258. package/dist/components/shared/components/EzTreeViewErrorFallback.d.ts +2 -0
  259. package/dist/components/ui/avatar.d.ts +10 -0
  260. package/dist/components/ui/badge.d.ts +9 -0
  261. package/dist/components/ui/breadcrumb.d.ts +19 -0
  262. package/dist/components/ui/button.d.ts +13 -0
  263. package/dist/components/ui/calendar.d.ts +15 -0
  264. package/dist/components/ui/card.d.ts +10 -0
  265. package/dist/components/ui/checkbox.d.ts +7 -0
  266. package/dist/components/ui/combobox.d.ts +19 -0
  267. package/dist/components/ui/command.d.ts +78 -0
  268. package/dist/components/ui/context-menu.d.ts +27 -0
  269. package/dist/components/ui/date-time-picker.d.ts +22 -0
  270. package/dist/components/ui/dropdown-menu.d.ts +31 -0
  271. package/dist/components/ui/index.d.ts +27 -0
  272. package/dist/components/ui/input.d.ts +5 -0
  273. package/dist/components/ui/label.d.ts +9 -0
  274. package/dist/components/ui/modal.d.ts +9 -0
  275. package/dist/components/ui/password-input.d.ts +5 -0
  276. package/dist/components/ui/popover.d.ts +10 -0
  277. package/dist/components/ui/progress.d.ts +7 -0
  278. package/dist/components/ui/radio-group.d.ts +5 -0
  279. package/dist/components/ui/resizable.d.ts +8 -0
  280. package/dist/components/ui/scroll-area.d.ts +5 -0
  281. package/dist/components/ui/select.d.ts +26 -0
  282. package/dist/components/ui/skeleton.d.ts +2 -0
  283. package/dist/components/ui/switch.d.ts +6 -0
  284. package/dist/components/ui/table.d.ts +10 -0
  285. package/dist/components/ui/tabs.d.ts +22 -0
  286. package/dist/components/ui/textarea.d.ts +5 -0
  287. package/dist/components/ui/tooltip.d.ts +10 -0
  288. package/dist/date-time-picker-D0w0sDgq.cjs +1 -0
  289. package/dist/{date-time-picker-C6i4TdP7.js → date-time-picker-DqdtBpAg.js} +61 -45
  290. package/dist/dropdown-menu-BRP0tyR_.cjs +1 -0
  291. package/dist/{dropdown-menu-HrOgNiFv.js → dropdown-menu-B_7_K13o.js} +1 -1
  292. package/dist/ezux.css +1 -1
  293. package/dist/flow.cjs +1 -1
  294. package/dist/flow.d.ts +2 -539
  295. package/dist/flow.es.js +1 -1
  296. package/dist/index.cjs +2 -2
  297. package/dist/index.d.ts +66 -5421
  298. package/dist/index.es.js +21 -22
  299. package/dist/input-CYlvlbF7.cjs +1 -0
  300. package/dist/input-Cj3sQK3M.js +14 -0
  301. package/dist/kanban.cjs +1 -1
  302. package/dist/kanban.d.ts +2 -1343
  303. package/dist/kanban.es.js +3 -3
  304. package/dist/label-BGgvoZWD.cjs +1 -0
  305. package/dist/label-DWEV--5W.js +16 -0
  306. package/dist/layout.cjs +1 -1
  307. package/dist/layout.d.ts +2 -694
  308. package/dist/layout.es.js +1 -1
  309. package/dist/lib/perfect-freehand.d.ts +221 -0
  310. package/dist/lib/utils.d.ts +2 -0
  311. package/dist/mock-services.d.ts +8 -273
  312. package/dist/popover-D1akYj0W.js +17 -0
  313. package/dist/popover-wZKNvYM5.cjs +1 -0
  314. package/dist/scheduler.cjs +1 -1
  315. package/dist/scheduler.d.ts +2 -1505
  316. package/dist/scheduler.es.js +1 -1
  317. package/dist/{scroll-area-CBllCk9n.js → scroll-area-BJs87d45.js} +1 -1
  318. package/dist/scroll-area-DSkE2KB_.cjs +1 -0
  319. package/dist/{select-Bes3Q6zL.js → select-D4tFaSai.js} +2 -2
  320. package/dist/select-sVieKbLu.cjs +1 -0
  321. package/dist/shared/components/AnimatedText.d.ts +44 -0
  322. package/dist/shared/components/BaseCell.d.ts +14 -0
  323. package/dist/shared/components/BooleanRenderer.d.ts +34 -0
  324. package/dist/shared/components/ChartRenderer.d.ts +19 -0
  325. package/dist/shared/components/DeleteConfirmationModal.d.ts +11 -0
  326. package/dist/shared/components/EzContextMenu.d.ts +12 -0
  327. package/dist/shared/components/EzNotificationDropdown.d.ts +2 -0
  328. package/dist/shared/components/HighlightText.d.ts +4 -0
  329. package/dist/shared/components/Modal.d.ts +13 -0
  330. package/dist/shared/components/NotificationPanel.d.ts +2 -0
  331. package/dist/shared/components/PrimitiveRenderer.d.ts +39 -0
  332. package/dist/shared/components/SearchableSelect.d.ts +13 -0
  333. package/dist/shared/components/SelectRenderer.d.ts +33 -0
  334. package/dist/shared/components/StatusBadge.d.ts +21 -0
  335. package/dist/shared/components/TooltipWrapper.d.ts +12 -0
  336. package/dist/shared/components/index.d.ts +9 -0
  337. package/dist/shared/contexts/EzProvider.d.ts +56 -0
  338. package/dist/shared/hooks/index.d.ts +56 -0
  339. package/dist/shared/hooks/useBaseComponent.d.ts +59 -0
  340. package/dist/shared/hooks/useComponentImperativeAPI.d.ts +11 -0
  341. package/dist/shared/hooks/useComponentState.d.ts +39 -0
  342. package/dist/shared/hooks/useCurrentTime.d.ts +6 -0
  343. package/dist/shared/hooks/useDataChangeEvents.d.ts +53 -0
  344. package/dist/shared/hooks/useDebounce.d.ts +10 -0
  345. package/dist/shared/hooks/useDeleteConfirmation.d.ts +9 -0
  346. package/dist/shared/hooks/useDialogState.d.ts +21 -0
  347. package/dist/shared/hooks/useDndHandlers.d.ts +19 -0
  348. package/dist/shared/hooks/useEditing.d.ts +107 -0
  349. package/dist/shared/hooks/useEventHandlers.d.ts +61 -0
  350. package/dist/shared/hooks/useEzTheme.d.ts +22 -0
  351. package/dist/shared/hooks/useFieldValidation.d.ts +24 -0
  352. package/dist/shared/hooks/useHistory.d.ts +13 -0
  353. package/dist/shared/hooks/useI18n.d.ts +8 -0
  354. package/dist/shared/hooks/useImperativeAPI.d.ts +8 -0
  355. package/dist/shared/hooks/useInitCoreServices.d.ts +5 -0
  356. package/dist/shared/hooks/useKeyboardNavigation.d.ts +36 -0
  357. package/dist/shared/hooks/useKeyboardShortcuts.d.ts +14 -0
  358. package/dist/shared/hooks/useLifecycleEvents.d.ts +22 -0
  359. package/dist/shared/hooks/useLoadingState.d.ts +17 -0
  360. package/dist/shared/hooks/useMediaQuery.d.ts +6 -0
  361. package/dist/shared/hooks/useNotificationService.d.ts +8 -0
  362. package/dist/shared/hooks/usePerformanceMonitor.d.ts +22 -0
  363. package/dist/shared/hooks/useRowSelectionEvents.d.ts +44 -0
  364. package/dist/shared/hooks/useSelection.d.ts +73 -0
  365. package/dist/shared/hooks/useService.d.ts +12 -0
  366. package/dist/shared/hooks/useServiceState.d.ts +1 -0
  367. package/dist/shared/hooks/useStateChangeEvents.d.ts +61 -0
  368. package/dist/shared/hooks/useTheme.d.ts +13 -0
  369. package/dist/shared/hooks/useVirtualization.d.ts +85 -0
  370. package/dist/shared/services/BaseService.d.ts +57 -0
  371. package/dist/shared/services/ContextMenuService.d.ts +58 -0
  372. package/dist/shared/services/ExportService.d.ts +35 -0
  373. package/dist/shared/services/FocusManagerService.d.ts +33 -0
  374. package/dist/shared/services/HierarchyService.d.ts +43 -0
  375. package/dist/shared/services/I18nService.d.ts +84 -0
  376. package/dist/shared/services/LayoutService.d.ts +80 -0
  377. package/dist/shared/services/NotificationService.d.ts +44 -0
  378. package/dist/shared/services/PersistenceService.d.ts +69 -0
  379. package/dist/shared/services/ServiceRegistry.d.ts +52 -0
  380. package/dist/shared/services/ThemeService.d.ts +49 -0
  381. package/dist/shared/services/VirtualizationService.d.ts +51 -0
  382. package/dist/shared/state/store.d.ts +10 -0
  383. package/dist/shared/themes.d.ts +25 -0
  384. package/dist/shared/types/BaseProps.d.ts +17 -0
  385. package/dist/shared/types/common.d.ts +373 -0
  386. package/dist/shared/types/index.d.ts +2 -0
  387. package/dist/shared/utils/canvasUtils.d.ts +16 -0
  388. package/dist/shared/utils/commonUtils.d.ts +28 -0
  389. package/dist/shared/utils/csvUtils.d.ts +7 -0
  390. package/dist/shared/utils/dateUtils.d.ts +5 -0
  391. package/dist/shared/utils/dndUtils.d.ts +16 -0
  392. package/dist/shared/utils/formatUtils.d.ts +20 -0
  393. package/dist/shared/utils/imperativeApiUtils.d.ts +36 -0
  394. package/dist/shared/utils/index.d.ts +11 -0
  395. package/dist/shared/utils/renderUtils.d.ts +6 -0
  396. package/dist/shared/utils/serviceUtils.d.ts +10 -0
  397. package/dist/shared/utils/styleUtils.d.ts +121 -0
  398. package/dist/shared/utils/validationUtils.d.ts +16 -0
  399. package/dist/signature.cjs +1 -1
  400. package/dist/signature.d.ts +2 -410
  401. package/dist/signature.es.js +1 -1
  402. package/dist/table.cjs +1 -1
  403. package/dist/table.d.ts +2 -1113
  404. package/dist/table.es.js +1 -1
  405. package/dist/theme-vars.css +8 -8
  406. package/dist/tooltip-B1wC9m05.js +16 -0
  407. package/dist/tooltip-Qmzrg5u5.cjs +1 -0
  408. package/dist/treeview.cjs +1 -1
  409. package/dist/treeview.d.ts +2 -656
  410. package/dist/treeview.es.js +1 -1
  411. package/dist/useComponentState-Wcz6pjd6.cjs +1 -0
  412. package/dist/useImperativeAPI-VrgLwXEO.cjs +1 -0
  413. package/dist/{useInitCoreServices-lkTv2its.js → useInitCoreServices-CuBrviDM.js} +1 -1
  414. package/dist/useInitCoreServices-DlALVDNx.cjs +1 -0
  415. package/dist/{useService-BkqWkhiU.js → useService-CnCBGG3G.js} +2 -2
  416. package/dist/useService-CyF782jv.cjs +1 -0
  417. package/dist/{useServiceState-CInpkGt2.js → useServiceState-CkrJZm1D.js} +1 -1
  418. package/dist/useServiceState-PyYQWxHi.cjs +1 -0
  419. package/package.json +47 -53
  420. package/dist/EzContextMenu-9STA_8UL.cjs +0 -1
  421. package/dist/EzErrorBoundary-C7R4h7QH.cjs +0 -1
  422. package/dist/EzEventModal-C1ItJBxp.cjs +0 -1
  423. package/dist/EzFlow-BeiFmX7h.cjs +0 -5
  424. package/dist/EzGroupingPanel-BGHywLsj.cjs +0 -1
  425. package/dist/EzKanban-CsnJ80LW.cjs +0 -2
  426. package/dist/EzLayout-DYRKNOrI.cjs +0 -1
  427. package/dist/EzProvider-DntSad5M.cjs +0 -1
  428. package/dist/EzScheduler-CzL68fTe.cjs +0 -1
  429. package/dist/EzSchedulerQuickAdd-CPSPAjdk.cjs +0 -1
  430. package/dist/EzSchedulerToolbar-B5iXsdn2.cjs +0 -1
  431. package/dist/EzSignature-Bg9jJvHp.cjs +0 -1
  432. package/dist/EzTable-Bde5BUoE.cjs +0 -3
  433. package/dist/EzTableEditDialog-DAPhmWxI.cjs +0 -1
  434. package/dist/EzTableFooter-ZqHoQKYB.cjs +0 -1
  435. package/dist/EzTableToolbar-DNxAgMdI.cjs +0 -1
  436. package/dist/EzTreeView-D8k-Wmxa.cjs +0 -1
  437. package/dist/HighlightText-V5NgtV18.cjs +0 -1
  438. package/dist/KanbanBoard-BzIhmn-2.cjs +0 -1
  439. package/dist/NotificationPanel-ulIs4r-0.cjs +0 -1
  440. package/dist/TooltipWrapper-QRc3qTIG.cjs +0 -1
  441. package/dist/avatar-DOjSWi4R.js +0 -24
  442. package/dist/avatar-hWg4zkh7.cjs +0 -1
  443. package/dist/button-CfngAt_5.cjs +0 -1
  444. package/dist/calendar-DroJGSPS.cjs +0 -1
  445. package/dist/card-CswobLmE.cjs +0 -1
  446. package/dist/card-vtDNxeL3.js +0 -50
  447. package/dist/checkbox-BpxQa4HQ.cjs +0 -1
  448. package/dist/chunk-D-qHiVGv.cjs +0 -1
  449. package/dist/date-time-picker-CfHnqJDm.cjs +0 -1
  450. package/dist/dropdown-menu-Xjuk1Xa-.cjs +0 -1
  451. package/dist/input-BE8Mmo8X.js +0 -13
  452. package/dist/input-DPWRzn7K.cjs +0 -1
  453. package/dist/label-4cHst7uN.cjs +0 -1
  454. package/dist/label-BLMeK8-Z.js +0 -14
  455. package/dist/popover--Cf3FJ0g.cjs +0 -1
  456. package/dist/popover-CbakOivq.js +0 -15
  457. package/dist/rolldown-runtime-CAFD8bLK.js +0 -11
  458. package/dist/scroll-area-COOakfzY.cjs +0 -1
  459. package/dist/select-1vYIUsge.cjs +0 -1
  460. package/dist/tooltip-BRCnO0kH.cjs +0 -1
  461. package/dist/tooltip-CrhCAu6_.js +0 -14
  462. package/dist/useComponentState-DqA-gi3-.cjs +0 -1
  463. package/dist/useImperativeAPI-KOlk1Cvt.cjs +0 -1
  464. package/dist/useInitCoreServices-CRq0kPGA.cjs +0 -1
  465. package/dist/useService-CKITee_1.cjs +0 -1
  466. package/dist/useServiceState-BDTGXKyx.cjs +0 -1
  467. package/dist/utils-DyS9jpam.cjs +0 -1
  468. package/dist/utils-hFRduYmq.js +0 -8
  469. /package/dist/{EzErrorBoundary-b-fGQvjw.js → EzErrorBoundary-C7a6VisX.js} +0 -0
  470. /package/dist/{HighlightText-BZ_1jMaA.js → HighlightText-DNA2R2uf.js} +0 -0
  471. /package/dist/{useComponentState-CYR9x36s.js → useComponentState-DiSFLYju.js} +0 -0
  472. /package/dist/{useImperativeAPI-CPRA9SCj.js → useImperativeAPI-Dbx2hMTb.js} +0 -0
package/README.md CHANGED
@@ -1,28 +1,35 @@
1
- # ezUX
1
+ # ezUX | Premium React UI Kit for Enterprise Dashboards
2
2
 
3
- > A comprehensive, type-safe TanStack First component library designed for modern enterprise applications.
4
- >
3
+ > **High-performance React components** for building modern enterprise applications. Powered by **TanStack** (Table, Query, Virtual) and built with **TypeScript**.
4
+ >
5
5
  > 🔗 **[View ezux-showcase on GitHub](https://github.com/zee24-cmd/ezux-showcase)** | 🌐 **[Live Showcase](https://ezux-showcase.vercel.app)**
6
+
6
7
  ![NPM Version](https://img.shields.io/npm/v/ezux?style=flat-square)
7
8
  ![License](https://img.shields.io/npm/l/ezux?style=flat-square)
8
9
  ![Build Status](https://img.shields.io/github/actions/workflow/status/ezux-org/ezux/main?style=flat-square)
9
10
 
10
- ## Features
11
+ ## Why ezUX?
12
+
13
+ ezUX is a comprehensive **component library** designed for developers who need to build complex **enterprise dashboards** quickly. It focuses on performance, type-safety, and flexibility by being **TanStack-first**.
14
+
15
+ ## Key Features
16
+
17
+ - **TanStack First Architecture**: Leverage the power of **TanStack Table**, **TanStack Query**, and **TanStack Virtual** for maximum performance and flexible data handling.
18
+ - **Enterprise-Grade Components**: Specialized components for complex UI needs: **Scheduler**, **Kanban Board**, **Pivot Table**, and **Virtualized Tree View**.
19
+ - **Full TypeScript Support**: 100% type-safe components with exported types for a seamless developer experience.
20
+ - **High-Performance Data Grid**: Handle 100k+ rows with ease using integrated row and column virtualization.
21
+ - **Modern Styling**: Styled with **Tailwind CSS v4** and CSS variables for easy theming and dark mode support.
22
+ - **Accessibility (A11Y)**: Built with WAI-ARIA patterns to ensure your **dashboard** is accessible to everyone.
11
23
 
12
- - **TanStack First**: Built on top of TanStack Query, Table, and Virtual for maximum performance and flexibility.
13
- - **Enterprise Ready**: Includes complex components like Scheduler, Kanban, Pivot Table, and Virtualized Trees out of the box.
14
- - **Type Safe**: Written in TypeScript with full type definitions.
15
- - **Themable**: CSS-variable based theming system with dark mode support.
16
- - **Accessible**: Follows WAI-ARIA patterns for all interactive components.
24
+ ## Core Components
17
25
 
18
- ## Components
26
+ - **EzTable**: High-performance **React Data Grid** with grouping, filtering, and pivot capabilities.
27
+ - **EzScheduler**: Interactive **Timeline Scheduler** with drag-and-drop and resource grouping.
28
+ - **EzKanban**: Advanced **Kanban Board** with swimlanes and timeline integration.
29
+ - **EzTreeView**: Efficient **Virtualized Tree** for handling deep nesting and large datasets.
30
+ - **EzSignature**: Type-safe electronic signature component with smooth canvas rendering and validation.
31
+ - **EzLayout**: Responsive orchestration engine for complex **enterprise UI** layouts.
19
32
 
20
- - **EzTable**: High-performance data grid with grouping, filtering, and pivot capabilities.
21
- - **EzScheduler**: Drag-and-drop timeline management with resource grouping.
22
- - **EzKanban**: Trello-like board with swimlanes and timeline views.
23
- - **EzTreeView**: Virtualized tree handling unlimited nesting.
24
- - **EzFlow**: Production workflow builder with typed nodes, validation, import/export, and service-backed save/publish.
25
- - **EzLayout**: A fluid orchestration engine for complex interfaces.
26
33
 
27
34
  ## Prerequisites
28
35
 
@@ -55,27 +62,35 @@ function App() {
55
62
  }
56
63
  ```
57
64
 
58
- ### EzFlow Workflow Builder
65
+ ### Advanced Table Features
59
66
 
60
- ```tsx
61
- import { EzWorkflow, approvalWorkflowExample, createLocalEzWorkflowService } from 'ezux/flow';
67
+ `EzTable` supports powerful features like grouping, filtering, and batch editing out of the box.
62
68
 
63
- const workflowService = createLocalEzWorkflowService({
64
- approval: approvalWorkflowExample,
65
- });
69
+ ```tsx
70
+ import { EzTable, useEzTable } from 'ezux';
71
+
72
+ function UserDashboard() {
73
+ const table = useEzTable({
74
+ data: users,
75
+ columns: [
76
+ { accessorKey: 'name', header: 'Name' },
77
+ { accessorKey: 'role', header: 'Role', enableGrouping: true },
78
+ { accessorKey: 'status', header: 'Status', enableColumnFilter: true },
79
+ ],
80
+ enableGrouping: true,
81
+ enableFiltering: true,
82
+ editSettings: {
83
+ allowEditing: true,
84
+ mode: 'Batch',
85
+ primaryKey: 'id'
86
+ }
87
+ });
66
88
 
67
- function WorkflowDesigner() {
68
- return (
69
- <EzWorkflow
70
- workflowId="approval"
71
- service={workflowService}
72
- defaultWorkflow={approvalWorkflowExample}
73
- onValidationChange={(result) => console.log(result.valid)}
74
- />
75
- );
89
+ return <EzTable {...table} onBatchSave={(changes) => console.log(changes)} />;
76
90
  }
77
91
  ```
78
92
 
93
+
79
94
  ## Documentation
80
95
 
81
96
  Visit the [Live Showcase](https://ezux-showcase.vercel.app) for full documentation and interactive examples.
@@ -83,3 +98,9 @@ Visit the [Live Showcase](https://ezux-showcase.vercel.app) for full documentati
83
98
  ## License
84
99
 
85
100
  MIT © [Zeeshan Sayed](https://github.com/ezux)
101
+
102
+ ---
103
+
104
+ ### Tags & Keywords
105
+ `react`, `components`, `table`, `scheduler`, `kanban`, `dashboard`, `enterprise`, `ui-kit`, `tanstack`, `typescript`, `react-components`, `data-grid`, `workflow-builder`, `scheduler-component`, `kanban-board`
106
+
@@ -0,0 +1 @@
1
+ const e=require("./EzProvider-L2qQMq-v.cjs"),t=require("./button-BBMwzUtG.cjs"),n=require("./Modal-BmX1C448.cjs"),r=require("./card-CPlRZxbq.cjs");let i=require("react");i=e.y(i,1);let a=require("react/jsx-runtime");var o=({isOpen:e,onClose:i,onConfirm:o,title:s,message:c,description:l})=>{let{t:u}=r.c();return(0,a.jsx)(n.t,{isOpen:e,onClose:i,title:s||u(`confirm_delete`)||`Confirm Delete`,size:`sm`,footer:(0,a.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[(0,a.jsx)(t.t,{variant:`ghost`,onClick:i,children:u(`cancel`)||`Cancel`}),(0,a.jsx)(t.t,{variant:`destructive`,onClick:()=>{o(),i()},children:u(`delete`)||`Delete`})]}),children:(0,a.jsxs)(`div`,{className:`py-2`,children:[(0,a.jsx)(`p`,{children:c||u(`confirm_delete_message`)||`Are you sure you want to delete this item?`}),(l||u(`action_cannot_be_undone`))&&(0,a.jsx)(`p`,{className:`text-sm text-muted-foreground mt-2`,children:l||u(`action_cannot_be_undone`)||`This action cannot be undone.`})]})})};Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return o}});
@@ -0,0 +1,38 @@
1
+ import { t as e } from "./button-CYyNwV8S.js";
2
+ import { t } from "./Modal-CrzpKyjK.js";
3
+ import { c as n } from "./card-ZUNxcdIM.js";
4
+ import "react";
5
+ import { jsx as r, jsxs as i } from "react/jsx-runtime";
6
+ //#region src/shared/components/DeleteConfirmationModal.tsx
7
+ var a = ({ isOpen: a, onClose: o, onConfirm: s, title: c, message: l, description: u }) => {
8
+ let { t: d } = n();
9
+ return /* @__PURE__ */ r(t, {
10
+ isOpen: a,
11
+ onClose: o,
12
+ title: c || d("confirm_delete") || "Confirm Delete",
13
+ size: "sm",
14
+ footer: /* @__PURE__ */ i("div", {
15
+ className: "flex justify-end gap-2",
16
+ children: [/* @__PURE__ */ r(e, {
17
+ variant: "ghost",
18
+ onClick: o,
19
+ children: d("cancel") || "Cancel"
20
+ }), /* @__PURE__ */ r(e, {
21
+ variant: "destructive",
22
+ onClick: () => {
23
+ s(), o();
24
+ },
25
+ children: d("delete") || "Delete"
26
+ })]
27
+ }),
28
+ children: /* @__PURE__ */ i("div", {
29
+ className: "py-2",
30
+ children: [/* @__PURE__ */ r("p", { children: l || d("confirm_delete_message") || "Are you sure you want to delete this item?" }), (u || d("action_cannot_be_undone")) && /* @__PURE__ */ r("p", {
31
+ className: "text-sm text-muted-foreground mt-2",
32
+ children: u || d("action_cannot_be_undone") || "This action cannot be undone."
33
+ })]
34
+ })
35
+ });
36
+ };
37
+ //#endregion
38
+ export { a as t };
@@ -0,0 +1 @@
1
+ const e=require("./EzProvider-L2qQMq-v.cjs"),t=require("./EzErrorBoundary-d_2g-_EK.cjs");let n=require("react");n=e.y(n,1);let r=require("lucide-react"),i=require("react/jsx-runtime"),a=require("@tanstack/react-virtual"),o=require("@tanstack/virtual-core"),s=require("@radix-ui/react-context-menu");s=e.y(s,1);var c=class{name=`VirtualizationService`;virtualizers=new Map;createVirtualizer(e,t){let n=new o.Virtualizer({count:t.count,getScrollElement:t.getScrollElement,estimateSize:t.estimateSize,overscan:t.overscan??5,horizontal:t.horizontal??!1,scrollToFn:o.elementScroll,observeElementRect:(e,t)=>{let n=e.scrollElement;if(!n||n===window)return;let r=new ResizeObserver(e=>{t(e[0].contentRect)});return r.observe(n),()=>r.disconnect()},observeElementOffset:(e,t)=>{let n=e.scrollElement;if(!n)return;let r=()=>{t(n===window?window.scrollY:n.scrollTop,!0)};return n.addEventListener(`scroll`,r,{passive:!0}),t(n===window?window.scrollY:n.scrollTop,!1),()=>n.removeEventListener(`scroll`,r)}});return this.virtualizers.set(e,n),n}registerVirtualizer(e,t){this.virtualizers.set(e,t)}getVirtualizer(e){return this.virtualizers.get(e)}cleanup(){this.virtualizers.clear()}},l=r=>{let{rowCount:i,rowHeight:o=48,overscanCount:s=5,enableRowVirtualization:l=!0,columnCount:u=0,columnWidth:d=150,enableColumnVirtualization:f=!1,scrollMargin:p=0,scrollPaddingStart:m=0,scrollPaddingEnd:h=0,progressiveRendering:g=!1,prefetchDistance:_=5,adaptiveSizing:v=!1,languageDirection:y=`ltr`,debug:b=!1,customRangeExtractor:x,onScroll:S,onScrollStart:C,onScrollStop:w}=r,T=(0,n.useRef)(null),[E,D]=(0,n.useState)(g?1:s||_),O=(0,n.useRef)(null),k=(0,n.useRef)(null),A=(0,n.useRef)(!1),j=`lanugageDirection`;(0,n.useEffect)(()=>{if(!g)return;let e,t=()=>{D(1),clearTimeout(e),e=setTimeout(()=>{D(s||_)},150)},n=T.current;if(n)return n.addEventListener(`scroll`,t,{passive:!0}),()=>{n.removeEventListener(`scroll`,t),clearTimeout(e)}},[g,s,_]);let M=(0,n.useMemo)(()=>x||(e=>{let t=(0,a.defaultRangeExtractor)(e);return t.length===0&&e.count>0?[0]:t}),[x]),N=(0,n.useCallback)((e,t,n)=>{(0,a.elementScroll)(e,t,n)},[]),P=(0,a.useVirtualizer)((0,n.useMemo)(()=>({count:i,getScrollElement:()=>T.current,estimateSize:typeof o==`function`?o:()=>o,overscan:E,scrollMargin:p,scrollPaddingStart:m,scrollPaddingEnd:h,rangeExtractor:M,scrollToFn:N,measureElement:v?e=>e.getBoundingClientRect().height:void 0,[j]:y,onChange:e=>{let t=e.scrollOffset??0;k.current!==null&&cancelAnimationFrame(k.current),k.current=requestAnimationFrame(()=>{S?.(t),k.current=null}),e.isScrolling?A.current||(A.current=!0,C?.()):A.current&&(A.current=!1,w?.())}}),[i,o,E,v,p,m,h,M,N,y,S,C,w]));(0,n.useEffect)(()=>{b&&console.log(`[DEBUG_VIRTUAL] Virtualizer instance changed`)},[P,b]);let F=e.n(),I=(0,n.useMemo)(()=>t.i(F,`VirtualizationService`,()=>new c),[]);(0,n.useEffect)(()=>{r.id&&I&&I.registerVirtualizer(r.id,P)},[r.id,P,I]);let L=(0,a.useVirtualizer)((0,n.useMemo)(()=>({horizontal:!0,count:f&&u?u:0,getScrollElement:()=>T.current,estimateSize:typeof d==`function`?d:()=>d,overscan:E,rangeExtractor:M,[j]:y}),[f,u,d,E,M])),R=f&&u?L:void 0;(0,n.useEffect)(()=>()=>{O.current&&clearTimeout(O.current),k.current!==null&&cancelAnimationFrame(k.current)},[]),(0,n.useEffect)(()=>{b&&process.env.NODE_ENV!==`production`&&console.log(`Virtualization Debug:`,{rowCount:i,visibleRows:P.getVirtualItems().length,activeOverscan:E,scrollOffset:P.scrollOffset})},[b,i,P,E]);let z=(e,t)=>{P.scrollToIndex(e,t)};return{parentRef:T,rowVirtualizer:P,columnVirtualizer:R,scrollToIndex:z,scrollToRow:z,scrollToColumn:R?(e,t)=>{R.scrollToIndex(e,t)}:void 0,getVirtualItems:()=>P.getVirtualItems(),scrollOffset:P.scrollOffset??0}},u=s.Root,d=s.Trigger,f=s.Group,p=s.Portal,m=s.Sub,h=s.RadioGroup,g=n.forwardRef(({className:t,inset:n,children:a,...o},c)=>(0,i.jsxs)(s.SubTrigger,{ref:c,className:e._(`flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-zinc-100 focus:text-zinc-900 data-[state=open]:bg-zinc-100 data-[state=open]:text-zinc-900 dark:focus:bg-zinc-800 dark:focus:text-zinc-50 dark:data-[state=open]:bg-zinc-800 dark:data-[state=open]:text-zinc-50`,n&&`pl-8`,t),...o,children:[a,(0,i.jsx)(r.ChevronRight,{className:`ml-auto h-4 w-4`})]}));g.displayName=s.SubTrigger.displayName;var _=n.forwardRef(({className:t,...n},r)=>(0,i.jsx)(s.SubContent,{ref:r,className:e._(`z-50 min-w-[8rem] overflow-hidden rounded-md border border-zinc-200 bg-white p-1 text-zinc-950 shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 dark:border-zinc-800 dark:bg-zinc-950 dark:text-zinc-50`,t),...n}));_.displayName=s.SubContent.displayName;var v=n.forwardRef(({className:t,...n},r)=>(0,i.jsx)(s.Portal,{children:(0,i.jsx)(s.Content,{ref:r,className:e._(`z-50 min-w-[8rem] overflow-hidden rounded-md border border-zinc-200 bg-white p-1 text-zinc-950 shadow-md animate-in fade-in-80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 dark:border-zinc-800 dark:bg-zinc-950 dark:text-zinc-50`,t),...n})}));v.displayName=s.Content.displayName;var y=n.forwardRef(({className:t,inset:n,...r},a)=>(0,i.jsx)(s.Item,{ref:a,className:e._(`relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-zinc-100 focus:text-zinc-900 data-[disabled]:pointer-events-none data-[disabled]:opacity-50 dark:focus:bg-zinc-800 dark:focus:text-zinc-50`,n&&`pl-8`,t),...r}));y.displayName=s.Item.displayName;var b=n.forwardRef(({className:t,children:n,checked:a,...o},c)=>(0,i.jsxs)(s.CheckboxItem,{ref:c,className:e._(`relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-zinc-100 focus:text-zinc-900 data-[disabled]:pointer-events-none data-[disabled]:opacity-50 dark:focus:bg-zinc-800 dark:focus:text-zinc-50`,t),checked:a,...o,children:[(0,i.jsx)(`span`,{className:`absolute left-2 flex h-3.5 w-3.5 items-center justify-center`,children:(0,i.jsx)(s.ItemIndicator,{children:(0,i.jsx)(r.Check,{className:`h-4 w-4`})})}),n]}));b.displayName=s.CheckboxItem.displayName;var x=n.forwardRef(({className:t,children:n,...a},o)=>(0,i.jsxs)(s.RadioItem,{ref:o,className:e._(`relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-zinc-100 focus:text-zinc-900 data-[disabled]:pointer-events-none data-[disabled]:opacity-50 dark:focus:bg-zinc-800 dark:focus:text-zinc-50`,t),...a,children:[(0,i.jsx)(`span`,{className:`absolute left-2 flex h-3.5 w-3.5 items-center justify-center`,children:(0,i.jsx)(s.ItemIndicator,{children:(0,i.jsx)(r.Circle,{className:`h-2 w-2 fill-current`})})}),n]}));x.displayName=s.RadioItem.displayName;var S=n.forwardRef(({className:t,inset:n,...r},a)=>(0,i.jsx)(s.Label,{ref:a,className:e._(`px-2 py-1.5 text-sm font-semibold text-zinc-950 dark:text-zinc-50`,n&&`pl-8`,t),...r}));S.displayName=s.Label.displayName;var C=n.forwardRef(({className:t,...n},r)=>(0,i.jsx)(s.Separator,{ref:r,className:e._(`-mx-1 my-1 h-px bg-zinc-200 dark:bg-zinc-800`,t),...n}));C.displayName=s.Separator.displayName;var w=({className:t,...n})=>(0,i.jsx)(`span`,{className:e._(`ml-auto text-xs tracking-widest text-zinc-500 dark:text-zinc-400`,t),...n});w.displayName=`ContextMenuShortcut`;var T=({row:t,data:r,contextId:a,children:o,enabled:s=!0,onAction:c})=>{let l=e.n();if(!s)return(0,i.jsx)(i.Fragment,{children:o});let f=r||t?.original,p=(()=>{if(!a)return[];let e=l.get(`ContextMenuService`);return e?e.getItems(a,f):[]})(),m=p.length>0,h=e=>{c?.(e,f)};return(0,i.jsxs)(u,{children:[(0,i.jsx)(d,{asChild:!0,children:(0,i.jsx)(`span`,{className:`contents`,children:o})}),(0,i.jsx)(v,{className:`w-64`,children:m?p.map((e,t)=>(0,i.jsx)(n.default.Fragment,{children:e.isSeparator?(0,i.jsx)(C,{}):(0,i.jsxs)(y,{inset:!0,onSelect:()=>{e.onClick?e.onClick(f):h(e.action)},disabled:e.disabled,className:e.className,children:[e.label,e.shortcut&&(0,i.jsx)(w,{children:e.shortcut})]})},e.id||t)):(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(y,{inset:!0,onSelect:()=>h(`copy`),children:[`Copy Data`,(0,i.jsx)(w,{children:`⌘C`})]}),(0,i.jsx)(C,{}),t&&(0,i.jsxs)(i.Fragment,{children:[t.getIsPinned()!==`top`&&(0,i.jsx)(y,{inset:!0,onSelect:()=>h(`pin-top`),children:`Pin to Top`}),t.getIsPinned()!==`bottom`&&(0,i.jsx)(y,{inset:!0,onSelect:()=>h(`pin-bottom`),children:`Pin to Bottom`}),t.getIsPinned()&&(0,i.jsx)(y,{inset:!0,onSelect:()=>h(`unpin`),children:`Unpin Row`}),(0,i.jsx)(C,{})]}),(0,i.jsxs)(y,{inset:!0,className:`text-red-600 focus:text-red-600 focus:bg-red-50 dark:focus:bg-red-950/50`,onSelect:()=>h(`delete`),children:[`Delete Row`,(0,i.jsx)(w,{children:`⌘⌫`})]})]})})]})};Object.defineProperty(exports,"_",{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,"g",{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,"h",{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return T}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return x}});
@@ -1,6 +1,5 @@
1
- import { t as e } from "./utils-hFRduYmq.js";
2
- import { n as t } from "./EzProvider-Df2qgeDn.js";
3
- import { i as n } from "./EzErrorBoundary-b-fGQvjw.js";
1
+ import { _ as e, n as t } from "./EzProvider-AlmsYIDk.js";
2
+ import { i as n } from "./EzErrorBoundary-C7a6VisX.js";
4
3
  import * as r from "react";
5
4
  import i, { useCallback as a, useEffect as o, useMemo as s, useRef as c, useState as l } from "react";
6
5
  import { Check as u, ChevronRight as d, Circle as f } from "lucide-react";
@@ -0,0 +1 @@
1
+ let e=require("react"),t=require("lucide-react"),n=require("react/jsx-runtime");var r=(e,t,n)=>{let r=e.get(t);return r||(r=n(),e.register(t,r)),r},i=(e,t)=>{Object.entries(t).forEach(([t,n])=>{e.get(t)||e.register(t,n())})},a=(t,n,r)=>{let i=(0,e.useMemo)(()=>r?{...n,...r}:n,[n,r]);(0,e.useImperativeHandle)(t,()=>i,[i])},o=class extends e.Component{constructor(e){super(e),this.state={hasError:!1,error:null,errorInfo:null}}static getDerivedStateFromError(e){return{hasError:!0,error:e,errorInfo:null}}componentDidCatch(e,t){console.error(`Error caught by ErrorBoundary:`,e,t),this.setState({errorInfo:t})}handleReset=()=>{this.setState({hasError:!1,error:null,errorInfo:null})};render(){return this.state.hasError?this.props.fallback?this.props.fallback:(0,n.jsx)(`div`,{className:`flex flex-col items-center justify-center min-h-screen p-4`,children:(0,n.jsxs)(`div`,{className:`flex flex-col items-center gap-4 max-w-md w-full`,children:[(0,n.jsx)(`div`,{className:`flex items-center justify-center w-16 h-16 rounded-full bg-destructive/10`,children:(0,n.jsx)(t.AlertTriangle,{className:`w-8 h-8 text-destructive`})}),(0,n.jsxs)(`div`,{className:`flex flex-col items-center gap-2 text-center`,children:[(0,n.jsx)(`h2`,{className:`text-lg font-semibold`,children:`Something went wrong`}),(0,n.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`An unexpected error occurred. Please try again.`})]}),(0,n.jsxs)(`button`,{onClick:this.handleReset,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,n.jsx)(t.RefreshCw,{className:`w-4 h-4`}),`Try Again`]})]})}):this.props.children}};Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return o}});
@@ -1,9 +1,9 @@
1
- import { t as e } from "./rolldown-runtime-CAFD8bLK.js";
2
- import { t } from "./utils-hFRduYmq.js";
3
- import { t as n } from "./button-BN0DK137.js";
4
- import { t as r } from "./input-BE8Mmo8X.js";
5
- import { t as i } from "./label-BLMeK8-Z.js";
6
- import { t as a } from "./date-time-picker-C6i4TdP7.js";
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 { t as i } from "./label-DWEV--5W.js";
6
+ import { t as a } from "./date-time-picker-DqdtBpAg.js";
7
7
  import { useEffect as o } from "react";
8
8
  import { Paperclip as s, Trash2 as c, X as l } from "lucide-react";
9
9
  import { Fragment as u, jsx as d, jsxs as f } from "react/jsx-runtime";
@@ -39,8 +39,8 @@ var h = /* @__PURE__ */ e({ EzEventModal: () => _ }), g = [
39
39
  label: "S",
40
40
  value: "SA"
41
41
  }
42
- ], _ = ({ isOpen: e, onClose: h, mode: _, event: v, onSave: y, onDelete: b, locale: x, editorTemplate: S, headerTemplate: C, footerTemplate: w }) => {
43
- let T = p({
42
+ ], _ = ({ isOpen: e, onClose: h, mode: _, event: v, onSave: y, onDelete: b, locale: x, slotDuration: S, timeOptions: C, editorTemplate: w, headerTemplate: T, footerTemplate: E, headerFieldsTemplate: D, hiddenFields: O = [] }) => {
43
+ let k = p({
44
44
  defaultValues: {
45
45
  title: v?.title || "",
46
46
  start: v?.start,
@@ -91,15 +91,15 @@ var h = /* @__PURE__ */ e({ EzEventModal: () => _ }), g = [
91
91
  }
92
92
  });
93
93
  if (o(() => {
94
- e && T.reset();
94
+ e && k.reset();
95
95
  }, [
96
96
  e,
97
97
  v,
98
- T
98
+ k
99
99
  ]), !e) return null;
100
- let E = (e) => {
101
- e.preventDefault(), e.stopPropagation(), T.handleSubmit();
102
- }, D = _ === "view";
100
+ let A = (e) => {
101
+ e?.preventDefault(), e?.stopPropagation(), k.handleSubmit();
102
+ }, j = _ === "view";
103
103
  return m(/* @__PURE__ */ f("div", {
104
104
  "data-testid": "ez-event-modal",
105
105
  style: {
@@ -136,7 +136,7 @@ var h = /* @__PURE__ */ e({ EzEventModal: () => _ }), g = [
136
136
  /* @__PURE__ */ d("div", {
137
137
  className: "flex items-center justify-between shrink-0 bg-background",
138
138
  style: { padding: "16px 40px" },
139
- children: C ? C(v || {}, _) : /* @__PURE__ */ f(u, { children: [/* @__PURE__ */ f("h2", {
139
+ children: T ? T(v || {}, _) : /* @__PURE__ */ f(u, { children: [/* @__PURE__ */ f("h2", {
140
140
  className: "text-xl font-bold tracking-tight text-foreground",
141
141
  children: [
142
142
  _ === "create" && "New Event",
@@ -151,18 +151,23 @@ var h = /* @__PURE__ */ e({ EzEventModal: () => _ }), g = [
151
151
  children: /* @__PURE__ */ d(l, { className: "w-5 h-5" })
152
152
  })] })
153
153
  }),
154
- S ? /* @__PURE__ */ d("div", {
154
+ w ? /* @__PURE__ */ d("div", {
155
155
  className: "overflow-y-auto custom-scrollbar flex-1 bg-background",
156
156
  style: { padding: "8px 40px 32px 40px" },
157
- children: S(v || {})
157
+ children: w(v || {})
158
158
  }) : /* @__PURE__ */ f("form", {
159
- onSubmit: E,
159
+ onSubmit: A,
160
160
  className: "space-y-6 overflow-y-auto custom-scrollbar flex-1 bg-background",
161
161
  style: { padding: "8px 40px 32px 40px" },
162
162
  children: [
163
+ D?.({
164
+ event: v || {},
165
+ mode: _,
166
+ isReadOnly: j
167
+ }),
163
168
  /* @__PURE__ */ f("div", {
164
169
  className: "grid grid-cols-1 md:grid-cols-2 gap-6",
165
- children: [/* @__PURE__ */ d(T.Field, {
170
+ children: [/* @__PURE__ */ d(k.Field, {
166
171
  name: "title",
167
172
  validators: { onChange: ({ value: e }) => e ? void 0 : "Title is required" },
168
173
  children: (e) => /* @__PURE__ */ f("div", {
@@ -179,7 +184,7 @@ var h = /* @__PURE__ */ e({ EzEventModal: () => _ }), g = [
179
184
  value: e.state.value,
180
185
  onChange: (t) => e.handleChange(t.target.value),
181
186
  onBlur: e.handleBlur,
182
- disabled: D,
187
+ disabled: j,
183
188
  className: t("h-10 rounded-md border-border focus-visible:border-primary focus-visible:ring-1 focus-visible:ring-primary/20 bg-background transition-all", e.state.meta.errors.length > 0 && "border-destructive focus-visible:border-destructive ring-destructive/20")
184
189
  }),
185
190
  e.state.meta.errors.length > 0 && /* @__PURE__ */ d("p", {
@@ -188,7 +193,7 @@ var h = /* @__PURE__ */ e({ EzEventModal: () => _ }), g = [
188
193
  })
189
194
  ]
190
195
  })
191
- }), /* @__PURE__ */ d(T.Field, {
196
+ }), !O.includes("location") && /* @__PURE__ */ d(k.Field, {
192
197
  name: "location",
193
198
  children: (e) => /* @__PURE__ */ f("div", {
194
199
  className: "space-y-2",
@@ -201,7 +206,7 @@ var h = /* @__PURE__ */ e({ EzEventModal: () => _ }), g = [
201
206
  placeholder: "Add location",
202
207
  value: e.state.value,
203
208
  onChange: (t) => e.handleChange(t.target.value),
204
- disabled: D,
209
+ disabled: j,
205
210
  className: "h-10 rounded-md border-border focus-visible:border-primary focus-visible:ring-1 focus-visible:ring-primary/20 bg-background transition-all"
206
211
  })]
207
212
  })
@@ -209,7 +214,7 @@ var h = /* @__PURE__ */ e({ EzEventModal: () => _ }), g = [
209
214
  }),
210
215
  /* @__PURE__ */ f("div", {
211
216
  className: "grid grid-cols-1 md:grid-cols-2 gap-6",
212
- children: [/* @__PURE__ */ d(T.Field, {
217
+ children: [/* @__PURE__ */ d(k.Field, {
213
218
  name: "start",
214
219
  validators: { onChange: ({ value: e }) => e ? void 0 : "Start date is required" },
215
220
  children: (e) => /* @__PURE__ */ f("div", {
@@ -222,10 +227,12 @@ var h = /* @__PURE__ */ e({ EzEventModal: () => _ }), g = [
222
227
  /* @__PURE__ */ d(a, {
223
228
  date: e.state.value,
224
229
  setDate: (t) => e.handleChange(t),
225
- disabled: D,
230
+ disabled: j,
226
231
  required: !0,
227
232
  locale: x,
228
- mode: T.getFieldValue("isAllDay") ? "date" : "datetime",
233
+ mode: k.getFieldValue("isAllDay") ? "date" : "datetime",
234
+ slotDuration: S,
235
+ timeOptions: C,
229
236
  className: "border-border focus-visible:border-primary focus-visible:ring-1 focus-visible:ring-primary/20"
230
237
  }),
231
238
  e.state.meta.errors.length > 0 && /* @__PURE__ */ d("p", {
@@ -234,7 +241,7 @@ var h = /* @__PURE__ */ e({ EzEventModal: () => _ }), g = [
234
241
  })
235
242
  ]
236
243
  })
237
- }), /* @__PURE__ */ d(T.Field, {
244
+ }), /* @__PURE__ */ d(k.Field, {
238
245
  name: "end",
239
246
  validators: { onChange: ({ value: e, fieldApi: t }) => {
240
247
  if (!e) return "End date is required";
@@ -251,11 +258,13 @@ var h = /* @__PURE__ */ e({ EzEventModal: () => _ }), g = [
251
258
  /* @__PURE__ */ d(a, {
252
259
  date: e.state.value,
253
260
  setDate: (t) => e.handleChange(t),
254
- disabled: D,
261
+ disabled: j,
255
262
  required: !0,
256
263
  locale: x,
257
- mode: T.getFieldValue("isAllDay") ? "date" : "datetime",
258
- minDate: T.getFieldValue("start"),
264
+ mode: k.getFieldValue("isAllDay") ? "date" : "datetime",
265
+ minDate: k.getFieldValue("start"),
266
+ slotDuration: S,
267
+ timeOptions: C,
259
268
  className: t("border-border focus-visible:border-primary focus-visible:ring-1 focus-visible:ring-primary/20", e.state.meta.errors.length > 0 && "border-destructive focus-visible:border-destructive ring-destructive/20")
260
269
  }),
261
270
  e.state.meta.errors.length > 0 && /* @__PURE__ */ d("p", {
@@ -268,7 +277,7 @@ var h = /* @__PURE__ */ e({ EzEventModal: () => _ }), g = [
268
277
  }),
269
278
  /* @__PURE__ */ f("div", {
270
279
  className: "grid grid-cols-1 md:grid-cols-2 gap-6",
271
- children: [/* @__PURE__ */ d(T.Field, {
280
+ children: [/* @__PURE__ */ d(k.Field, {
272
281
  name: "isAllDay",
273
282
  children: (e) => /* @__PURE__ */ d("div", {
274
283
  className: "flex items-center h-10",
@@ -278,7 +287,7 @@ var h = /* @__PURE__ */ e({ EzEventModal: () => _ }), g = [
278
287
  type: "checkbox",
279
288
  checked: e.state.value,
280
289
  onChange: (t) => e.handleChange(t.target.checked),
281
- disabled: D,
290
+ disabled: j,
282
291
  className: "h-4 w-4 rounded border-border/50 text-primary focus:ring-primary/30 accent-primary transition-all cursor-pointer"
283
292
  }), /* @__PURE__ */ d("span", {
284
293
  className: "text-[14px] font-medium text-foreground/70 group-hover:text-foreground",
@@ -286,7 +295,7 @@ var h = /* @__PURE__ */ e({ EzEventModal: () => _ }), g = [
286
295
  })]
287
296
  })
288
297
  })
289
- }), /* @__PURE__ */ d(T.Field, {
298
+ }), /* @__PURE__ */ d(k.Field, {
290
299
  name: "isTimezoneEnabled",
291
300
  children: (e) => /* @__PURE__ */ d("div", {
292
301
  className: "flex items-center h-10",
@@ -296,7 +305,7 @@ var h = /* @__PURE__ */ e({ EzEventModal: () => _ }), g = [
296
305
  type: "checkbox",
297
306
  checked: e.state.value,
298
307
  onChange: (t) => e.handleChange(t.target.checked),
299
- disabled: D,
308
+ disabled: j,
300
309
  className: "h-4 w-4 rounded border-border/50 text-primary focus:ring-primary/30 accent-primary transition-all cursor-pointer"
301
310
  }), /* @__PURE__ */ d("span", {
302
311
  className: "text-[14px] font-medium text-foreground/70 group-hover:text-foreground",
@@ -306,11 +315,11 @@ var h = /* @__PURE__ */ e({ EzEventModal: () => _ }), g = [
306
315
  })
307
316
  })]
308
317
  }),
309
- /* @__PURE__ */ d(T.Subscribe, {
318
+ /* @__PURE__ */ d(k.Subscribe, {
310
319
  selector: (e) => [e.values.isTimezoneEnabled],
311
320
  children: ([e]) => e && /* @__PURE__ */ f("div", {
312
321
  className: "grid grid-cols-1 md:grid-cols-2 gap-6 p-6 bg-highlight/50 rounded-lg border border-border animate-in slide-in-from-top-2 duration-300",
313
- children: [/* @__PURE__ */ d(T.Field, {
322
+ children: [/* @__PURE__ */ d(k.Field, {
314
323
  name: "startTimezone",
315
324
  children: (e) => /* @__PURE__ */ f("div", {
316
325
  className: "space-y-2",
@@ -337,7 +346,7 @@ var h = /* @__PURE__ */ e({ EzEventModal: () => _ }), g = [
337
346
  ]
338
347
  })]
339
348
  })
340
- }), /* @__PURE__ */ d(T.Field, {
349
+ }), /* @__PURE__ */ d(k.Field, {
341
350
  name: "endTimezone",
342
351
  children: (e) => /* @__PURE__ */ f("div", {
343
352
  className: "space-y-2",
@@ -369,7 +378,7 @@ var h = /* @__PURE__ */ e({ EzEventModal: () => _ }), g = [
369
378
  }),
370
379
  /* @__PURE__ */ f("div", {
371
380
  className: "grid grid-cols-1 md:grid-cols-2 gap-6",
372
- children: [/* @__PURE__ */ d(T.Field, {
381
+ children: [/* @__PURE__ */ d(k.Field, {
373
382
  name: "repeatFrequency",
374
383
  children: (e) => /* @__PURE__ */ f("div", {
375
384
  className: "space-y-2",
@@ -404,9 +413,9 @@ var h = /* @__PURE__ */ e({ EzEventModal: () => _ }), g = [
404
413
  ]
405
414
  })]
406
415
  })
407
- }), /* @__PURE__ */ d(T.Subscribe, {
416
+ }), /* @__PURE__ */ d(k.Subscribe, {
408
417
  selector: (e) => [e.values.repeatFrequency],
409
- children: ([e]) => e !== "Never" && /* @__PURE__ */ d(T.Field, {
418
+ children: ([e]) => e !== "Never" && /* @__PURE__ */ d(k.Field, {
410
419
  name: "repeatEndLevel",
411
420
  children: (e) => /* @__PURE__ */ f("div", {
412
421
  className: "space-y-2 animate-in slide-in-from-top-2 duration-300",
@@ -436,12 +445,12 @@ var h = /* @__PURE__ */ e({ EzEventModal: () => _ }), g = [
436
445
  })
437
446
  })]
438
447
  }),
439
- /* @__PURE__ */ d(T.Subscribe, {
448
+ /* @__PURE__ */ d(k.Subscribe, {
440
449
  selector: (e) => [e.values.repeatFrequency, e.values.repeatEndLevel],
441
450
  children: ([e, t]) => e !== "Never" && /* @__PURE__ */ f("div", {
442
451
  className: "grid grid-cols-1 md:grid-cols-2 gap-6 animate-in slide-in-from-top-2 duration-300",
443
452
  children: [
444
- /* @__PURE__ */ d(T.Field, {
453
+ /* @__PURE__ */ d(k.Field, {
445
454
  name: "repeatInterval",
446
455
  children: (t) => /* @__PURE__ */ f("div", {
447
456
  className: "space-y-2",
@@ -483,7 +492,7 @@ var h = /* @__PURE__ */ e({ EzEventModal: () => _ }), g = [
483
492
  })]
484
493
  })
485
494
  }),
486
- t === "Until" && /* @__PURE__ */ d(T.Field, {
495
+ t === "Until" && /* @__PURE__ */ d(k.Field, {
487
496
  name: "repeatEndUntil",
488
497
  children: (e) => /* @__PURE__ */ f("div", {
489
498
  className: "space-y-2 animate-in slide-in-from-top-1",
@@ -493,15 +502,17 @@ var h = /* @__PURE__ */ e({ EzEventModal: () => _ }), g = [
493
502
  }), /* @__PURE__ */ d(a, {
494
503
  date: e.state.value,
495
504
  setDate: (t) => e.handleChange(t),
496
- disabled: D,
505
+ disabled: j,
497
506
  locale: x,
498
507
  mode: "date",
499
- minDate: T.getFieldValue("start"),
508
+ minDate: k.getFieldValue("start"),
509
+ slotDuration: S,
510
+ timeOptions: C,
500
511
  className: "border-border focus:border-primary"
501
512
  })]
502
513
  })
503
514
  }),
504
- t === "Count" && /* @__PURE__ */ d(T.Field, {
515
+ t === "Count" && /* @__PURE__ */ d(k.Field, {
505
516
  name: "repeatEndCount",
506
517
  children: (e) => /* @__PURE__ */ f("div", {
507
518
  className: "space-y-2 animate-in slide-in-from-top-1",
@@ -520,9 +531,9 @@ var h = /* @__PURE__ */ e({ EzEventModal: () => _ }), g = [
520
531
  ]
521
532
  })
522
533
  }),
523
- /* @__PURE__ */ d(T.Subscribe, {
534
+ /* @__PURE__ */ d(k.Subscribe, {
524
535
  selector: (e) => [e.values.repeatFrequency],
525
- children: ([e]) => e === "Weekly" && /* @__PURE__ */ d(T.Field, {
536
+ children: ([e]) => e === "Weekly" && /* @__PURE__ */ d(k.Field, {
526
537
  name: "repeatDays",
527
538
  children: (e) => /* @__PURE__ */ f("div", {
528
539
  className: "space-y-3 animate-in fade-in duration-300",
@@ -544,9 +555,9 @@ var h = /* @__PURE__ */ e({ EzEventModal: () => _ }), g = [
544
555
  })
545
556
  })
546
557
  }),
547
- /* @__PURE__ */ d(T.Subscribe, {
558
+ /* @__PURE__ */ d(k.Subscribe, {
548
559
  selector: (e) => [e.values.repeatFrequency],
549
- children: ([e]) => (e === "Monthly" || e === "Yearly") && /* @__PURE__ */ d(T.Field, {
560
+ children: ([e]) => (e === "Monthly" || e === "Yearly") && /* @__PURE__ */ d(k.Field, {
550
561
  name: "repeatBy",
551
562
  children: (e) => /* @__PURE__ */ f("div", {
552
563
  className: "space-y-4 animate-in fade-in duration-300",
@@ -584,7 +595,7 @@ var h = /* @__PURE__ */ e({ EzEventModal: () => _ }), g = [
584
595
  })
585
596
  })
586
597
  }),
587
- /* @__PURE__ */ d(T.Field, {
598
+ /* @__PURE__ */ d(k.Field, {
588
599
  name: "description",
589
600
  children: (e) => /* @__PURE__ */ f("div", {
590
601
  className: "space-y-2",
@@ -598,11 +609,11 @@ var h = /* @__PURE__ */ e({ EzEventModal: () => _ }), g = [
598
609
  className: "flex min-h-[100px] w-full rounded-md border-border bg-background px-4 py-3 text-sm placeholder:text-muted-foreground focus:outline-none focus-visible:ring-1 focus-visible:ring-primary/20 focus-visible:border-primary disabled:cursor-not-allowed disabled:opacity-50 resize-none transition-all hover:border-border",
599
610
  value: e.state.value,
600
611
  onChange: (t) => e.handleChange(t.target.value),
601
- disabled: D
612
+ disabled: j
602
613
  })]
603
614
  })
604
615
  }),
605
- /* @__PURE__ */ d(T.Field, {
616
+ /* @__PURE__ */ d(k.Field, {
606
617
  name: "attachments",
607
618
  children: (e) => /* @__PURE__ */ f("div", {
608
619
  className: "space-y-4 pt-4 pb-2",
@@ -664,7 +675,7 @@ var h = /* @__PURE__ */ e({ EzEventModal: () => _ }), g = [
664
675
  })
665
676
  ]
666
677
  }),
667
- w ? w(v || {}, _, () => E({}), h) : /* @__PURE__ */ f("div", {
678
+ E ? E(v || {}, _, () => A(), h) : /* @__PURE__ */ f("div", {
668
679
  style: {
669
680
  display: "flex",
670
681
  alignItems: "center",
@@ -675,7 +686,7 @@ var h = /* @__PURE__ */ e({ EzEventModal: () => _ }), g = [
675
686
  width: "100%",
676
687
  flexShrink: 0
677
688
  },
678
- children: [!D && b && _ === "edit" && /* @__PURE__ */ d(n, {
689
+ children: [!j && b && _ === "edit" && /* @__PURE__ */ d(n, {
679
690
  type: "button",
680
691
  variant: "ghost",
681
692
  className: "text-destructive hover:bg-destructive/10 hover:text-destructive h-10 px-5 font-bold mr-auto",
@@ -689,7 +700,7 @@ var h = /* @__PURE__ */ e({ EzEventModal: () => _ }), g = [
689
700
  alignItems: "center",
690
701
  gap: "12px"
691
702
  },
692
- children: [!D && /* @__PURE__ */ d(T.Subscribe, {
703
+ children: [!j && /* @__PURE__ */ d(k.Subscribe, {
693
704
  selector: (e) => [e.canSubmit, e.isSubmitting],
694
705
  children: ([e, t]) => /* @__PURE__ */ d(n, {
695
706
  type: "submit",
@@ -698,7 +709,7 @@ var h = /* @__PURE__ */ e({ EzEventModal: () => _ }), g = [
698
709
  style: { minWidth: "120px" },
699
710
  disabled: !e || t,
700
711
  onClick: (e) => {
701
- e.preventDefault(), e.stopPropagation(), T.handleSubmit();
712
+ e.preventDefault(), e.stopPropagation(), k.handleSubmit();
702
713
  },
703
714
  children: t ? "Saving..." : "Save"
704
715
  })
@@ -0,0 +1 @@
1
+ const e=require("./EzProvider-L2qQMq-v.cjs"),t=require("./button-BBMwzUtG.cjs"),n=require("./input-CYlvlbF7.cjs"),r=require("./label-BGgvoZWD.cjs"),i=require("./date-time-picker-D0w0sDgq.cjs");let a=require("react");a=e.y(a,1);let o=require("lucide-react"),s=require("react/jsx-runtime"),c=require("@tanstack/react-form"),l=require("react-dom");var u=e.v({EzEventModal:()=>f}),d=[{label:`S`,value:`SU`},{label:`M`,value:`MO`},{label:`T`,value:`TU`},{label:`W`,value:`WE`},{label:`T`,value:`TH`},{label:`F`,value:`FR`},{label:`S`,value:`SA`}],f=({isOpen:u,onClose:f,mode:p,event:m,onSave:h,onDelete:g,locale:_,slotDuration:v,timeOptions:y,editorTemplate:b,headerTemplate:x,footerTemplate:S,headerFieldsTemplate:C,hiddenFields:w=[]})=>{let T=(0,c.useForm)({defaultValues:{title:m?.title||``,start:m?.start,end:m?.end,resourceIds:m?.resourceIds||(m?.resourceId?[m.resourceId]:[])||[],location:m?.location||``,isAllDay:!!m?.allDay||!!m?.isAllDay||!1,description:m?.description||``,isTimezoneEnabled:!!m?.timezone,startTimezone:m?.timezone?.start||`Asia/Calcutta`,endTimezone:m?.timezone?.end||`Asia/Calcutta`,repeatFrequency:m?.recurrence?.frequency||`Never`,repeatInterval:m?.recurrence?.interval||1,repeatDays:m?.recurrence?.days||[],repeatBy:m?.recurrence?.repeatBy||`day`,repeatEndLevel:m?.recurrence?.end||`Never`,repeatEndCount:m?.recurrence?.endCount||1,repeatEndUntil:m?.recurrence?.endUntil,attachments:m?.attachments||[]},onSubmit:async({value:e})=>{h({...m,title:e.title,start:e.start,end:e.end,resourceId:e.resourceIds[0],resourceIds:e.resourceIds,location:e.location,allDay:e.isAllDay,description:e.description,timezone:e.isTimezoneEnabled?{start:e.startTimezone,end:e.endTimezone}:void 0,recurrence:e.repeatFrequency===`Never`?void 0:{frequency:e.repeatFrequency,interval:e.repeatInterval,unit:e.repeatFrequency.replace(`ly`,``)+`(s)`,end:e.repeatEndLevel,endCount:e.repeatEndLevel===`Count`?e.repeatEndCount:void 0,endUntil:e.repeatEndLevel===`Until`?e.repeatEndUntil:void 0,days:e.repeatFrequency===`Weekly`?e.repeatDays:void 0,repeatBy:e.repeatFrequency===`Monthly`||e.repeatFrequency===`Yearly`?e.repeatBy:void 0},attachments:e.attachments}),f()}});if((0,a.useEffect)(()=>{u&&T.reset()},[u,m,T]),!u)return null;let E=e=>{e?.preventDefault(),e?.stopPropagation(),T.handleSubmit()},D=p===`view`;return(0,l.createPortal)((0,s.jsxs)(`div`,{"data-testid":`ez-event-modal`,style:{position:`fixed`,top:0,left:0,width:`100vw`,height:`100vh`,zIndex:1e4,backgroundColor:`rgba(0, 0, 0, 0.4)`,backdropFilter:`blur(2px)`,pointerEvents:`auto`},children:[(0,s.jsx)(`div`,{style:{position:`absolute`,inset:0},onClick:f}),(0,s.jsxs)(`div`,{className:e._(`bg-background rounded-xl shadow-2xl flex flex-col border border-border overflow-hidden`,`animate-in zoom-in-95 fade-in duration-300 ease-out`),style:{backgroundColor:`white`,width:`650px`,maxWidth:`95vw`,maxHeight:`92vh`,position:`absolute`,top:`50%`,left:`50%`,transform:`translate(-50%, -50%)`,zIndex:10001},children:[(0,s.jsx)(`div`,{className:`flex items-center justify-between shrink-0 bg-background`,style:{padding:`16px 40px`},children:x?x(m||{},p):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(`h2`,{className:`text-xl font-bold tracking-tight text-foreground`,children:[p===`create`&&`New Event`,p===`edit`&&`Edit Event`,p===`view`&&`Event Details`]}),(0,s.jsx)(t.t,{variant:`ghost`,size:`icon`,className:`h-9 w-9 rounded-full hover:bg-muted text-muted-foreground mr-[-8px]`,onClick:f,children:(0,s.jsx)(o.X,{className:`w-5 h-5`})})]})}),b?(0,s.jsx)(`div`,{className:`overflow-y-auto custom-scrollbar flex-1 bg-background`,style:{padding:`8px 40px 32px 40px`},children:b(m||{})}):(0,s.jsxs)(`form`,{onSubmit:E,className:`space-y-6 overflow-y-auto custom-scrollbar flex-1 bg-background`,style:{padding:`8px 40px 32px 40px`},children:[C?.({event:m||{},mode:p,isReadOnly:D}),(0,s.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-6`,children:[(0,s.jsx)(T.Field,{name:`title`,validators:{onChange:({value:e})=>e?void 0:`Title is required`},children:t=>(0,s.jsxs)(`div`,{className:`space-y-2`,children:[(0,s.jsx)(r.t,{htmlFor:`title`,className:`text-[13px] font-semibold text-foreground/70`,children:`Title`}),(0,s.jsx)(n.t,{id:`title`,placeholder:`Add title`,value:t.state.value,onChange:e=>t.handleChange(e.target.value),onBlur:t.handleBlur,disabled:D,className:e._(`h-10 rounded-md border-border focus-visible:border-primary focus-visible:ring-1 focus-visible:ring-primary/20 bg-background transition-all`,t.state.meta.errors.length>0&&`border-destructive focus-visible:border-destructive ring-destructive/20`)}),t.state.meta.errors.length>0&&(0,s.jsx)(`p`,{className:`text-[12px] font-medium text-destructive mt-1.5 animate-in fade-in slide-in-from-top-1`,children:t.state.meta.errors.join(`, `)})]})}),!w.includes(`location`)&&(0,s.jsx)(T.Field,{name:`location`,children:e=>(0,s.jsxs)(`div`,{className:`space-y-2`,children:[(0,s.jsx)(r.t,{htmlFor:`location`,className:`text-[13px] font-semibold text-foreground/70`,children:`Location`}),(0,s.jsx)(n.t,{id:`location`,placeholder:`Add location`,value:e.state.value,onChange:t=>e.handleChange(t.target.value),disabled:D,className:`h-10 rounded-md border-border focus-visible:border-primary focus-visible:ring-1 focus-visible:ring-primary/20 bg-background transition-all`})]})})]}),(0,s.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-6`,children:[(0,s.jsx)(T.Field,{name:`start`,validators:{onChange:({value:e})=>e?void 0:`Start date is required`},children:e=>(0,s.jsxs)(`div`,{className:`space-y-2`,children:[(0,s.jsx)(r.t,{className:`text-[13px] font-semibold text-foreground/70`,children:`Start`}),(0,s.jsx)(i.t,{date:e.state.value,setDate:t=>e.handleChange(t),disabled:D,required:!0,locale:_,mode:T.getFieldValue(`isAllDay`)?`date`:`datetime`,slotDuration:v,timeOptions:y,className:`border-border focus-visible:border-primary focus-visible:ring-1 focus-visible:ring-primary/20`}),e.state.meta.errors.length>0&&(0,s.jsx)(`p`,{className:`text-[12px] font-medium text-destructive mt-1.5`,children:e.state.meta.errors.join(`, `)})]})}),(0,s.jsx)(T.Field,{name:`end`,validators:{onChange:({value:e,fieldApi:t})=>{if(!e)return`End date is required`;let n=t.form.getFieldValue(`start`);if(n&&e<=n)return`End time must be after start time`}},children:t=>(0,s.jsxs)(`div`,{className:`space-y-2`,children:[(0,s.jsx)(r.t,{className:`text-[13px] font-semibold text-foreground/70`,children:`End`}),(0,s.jsx)(i.t,{date:t.state.value,setDate:e=>t.handleChange(e),disabled:D,required:!0,locale:_,mode:T.getFieldValue(`isAllDay`)?`date`:`datetime`,minDate:T.getFieldValue(`start`),slotDuration:v,timeOptions:y,className:e._(`border-border focus-visible:border-primary focus-visible:ring-1 focus-visible:ring-primary/20`,t.state.meta.errors.length>0&&`border-destructive focus-visible:border-destructive ring-destructive/20`)}),t.state.meta.errors.length>0&&(0,s.jsx)(`p`,{className:`text-[12px] font-medium text-destructive mt-1.5 animate-in fade-in slide-in-from-top-1`,children:t.state.meta.errors.join(`, `)})]})})]}),(0,s.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-6`,children:[(0,s.jsx)(T.Field,{name:`isAllDay`,children:e=>(0,s.jsx)(`div`,{className:`flex items-center h-10`,children:(0,s.jsxs)(`label`,{className:`flex items-center space-x-3 cursor-pointer group select-none`,children:[(0,s.jsx)(`input`,{type:`checkbox`,checked:e.state.value,onChange:t=>e.handleChange(t.target.checked),disabled:D,className:`h-4 w-4 rounded border-border/50 text-primary focus:ring-primary/30 accent-primary transition-all cursor-pointer`}),(0,s.jsx)(`span`,{className:`text-[14px] font-medium text-foreground/70 group-hover:text-foreground`,children:`All day event`})]})})}),(0,s.jsx)(T.Field,{name:`isTimezoneEnabled`,children:e=>(0,s.jsx)(`div`,{className:`flex items-center h-10`,children:(0,s.jsxs)(`label`,{className:`flex items-center space-x-3 cursor-pointer group select-none`,children:[(0,s.jsx)(`input`,{type:`checkbox`,checked:e.state.value,onChange:t=>e.handleChange(t.target.checked),disabled:D,className:`h-4 w-4 rounded border-border/50 text-primary focus:ring-primary/30 accent-primary transition-all cursor-pointer`}),(0,s.jsx)(`span`,{className:`text-[14px] font-medium text-foreground/70 group-hover:text-foreground`,children:`Enable timezone`})]})})})]}),(0,s.jsx)(T.Subscribe,{selector:e=>[e.values.isTimezoneEnabled],children:([e])=>e&&(0,s.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-6 p-6 bg-highlight/50 rounded-lg border border-border animate-in slide-in-from-top-2 duration-300`,children:[(0,s.jsx)(T.Field,{name:`startTimezone`,children:e=>(0,s.jsxs)(`div`,{className:`space-y-2`,children:[(0,s.jsx)(r.t,{className:`text-[13px] font-semibold text-foreground/70`,children:`Start Timezone`}),(0,s.jsxs)(`select`,{className:`w-full h-10 px-3 rounded-md border-border bg-background text-sm focus:outline-none focus-visible:ring-1 focus-visible:ring-primary/20 focus-visible:border-primary appearance-none bg-[url('data:image/svg+xml;charset=utf-8,%3Csvg%20xlmns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20fill%3D%27none%27%20viewBox%3D%270%200%2020%2020%27%3E%3Cpath%20stroke%3D%27%236b7280%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%20stroke-width%3D%271.5%27%20d%3D%27m6%208%204%204%204-4%27%2F%3E%3C%2Fsvg%3E')] bg-[length:20px] bg-[right_8px_center] bg-no-repeat transition-all`,value:e.state.value,onChange:t=>e.handleChange(t.target.value),children:[(0,s.jsx)(`option`,{value:`Asia/Calcutta`,children:`Asia/Calcutta`}),(0,s.jsx)(`option`,{value:`UTC`,children:`UTC`}),(0,s.jsx)(`option`,{value:`America/New_York`,children:`America/New_York`})]})]})}),(0,s.jsx)(T.Field,{name:`endTimezone`,children:e=>(0,s.jsxs)(`div`,{className:`space-y-2`,children:[(0,s.jsx)(r.t,{className:`text-[13px] font-semibold text-foreground/70`,children:`End Timezone`}),(0,s.jsxs)(`select`,{className:`w-full h-10 px-3 rounded-md border-border bg-background text-sm focus:outline-none focus-visible:ring-1 focus-visible:ring-primary/20 focus-visible:border-primary appearance-none bg-[url('data:image/svg+xml;charset=utf-8,%3Csvg%20xlmns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20fill%3D%27none%27%20viewBox%3D%270%200%2020%2020%27%3E%3Cpath%20stroke%3D%27%236b7280%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%20stroke-width%3D%271.5%27%20d%3D%27m6%208%204%204%204-4%27%2F%3E%3C%2Fsvg%3E')] bg-[length:20px] bg-[right_8px_center] bg-no-repeat transition-all`,value:e.state.value,onChange:t=>e.handleChange(t.target.value),children:[(0,s.jsx)(`option`,{value:`Asia/Calcutta`,children:`Asia/Calcutta`}),(0,s.jsx)(`option`,{value:`UTC`,children:`UTC`}),(0,s.jsx)(`option`,{value:`America/New_York`,children:`America/New_York`})]})]})})]})}),(0,s.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-6`,children:[(0,s.jsx)(T.Field,{name:`repeatFrequency`,children:e=>(0,s.jsxs)(`div`,{className:`space-y-2`,children:[(0,s.jsx)(r.t,{className:`text-[13px] font-semibold text-foreground/70`,children:`Repeat`}),(0,s.jsxs)(`select`,{className:`w-full h-10 px-3 rounded-md border-border bg-background text-sm focus:outline-none focus-visible:ring-1 focus-visible:ring-primary/20 focus-visible:border-primary appearance-none bg-[url('data:image/svg+xml;charset=utf-8,%3Csvg%20xlmns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20fill%3D%27none%27%20viewBox%3D%270%200%2020%2020%27%3E%3Cpath%20stroke%3D%27%236b7280%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%20stroke-width%3D%271.5%27%20d%3D%27m6%208%204%204%204-4%27%2F%3E%3C%2Fsvg%3E')] bg-[length:20px] bg-[right_8px_center] bg-no-repeat transition-all`,value:e.state.value,onChange:t=>e.handleChange(t.target.value),children:[(0,s.jsx)(`option`,{value:`Never`,children:`Never`}),(0,s.jsx)(`option`,{value:`Daily`,children:`Daily`}),(0,s.jsx)(`option`,{value:`Weekly`,children:`Weekly`}),(0,s.jsx)(`option`,{value:`Monthly`,children:`Monthly`}),(0,s.jsx)(`option`,{value:`Yearly`,children:`Yearly`})]})]})}),(0,s.jsx)(T.Subscribe,{selector:e=>[e.values.repeatFrequency],children:([e])=>e!==`Never`&&(0,s.jsx)(T.Field,{name:`repeatEndLevel`,children:e=>(0,s.jsxs)(`div`,{className:`space-y-2 animate-in slide-in-from-top-2 duration-300`,children:[(0,s.jsx)(r.t,{className:`text-[13px] font-semibold text-foreground/70`,children:`End`}),(0,s.jsxs)(`select`,{className:`w-full h-10 px-3 rounded-md border-border bg-background text-sm focus:outline-none focus-visible:ring-1 focus-visible:ring-primary/20 focus-visible:border-primary appearance-none bg-[url('data:image/svg+xml;charset=utf-8,%3Csvg%20xlmns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20fill%3D%27none%27%20viewBox%3D%270%200%2020%2020%27%3E%3Cpath%20stroke%3D%27%236b7280%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%20stroke-width%3D%271.5%27%20d%3D%27m6%208%204%204%204-4%27%2F%3E%3C%2Fsvg%3E')] bg-[length:20px] bg-[right_8px_center] bg-no-repeat transition-all`,value:e.state.value,onChange:t=>e.handleChange(t.target.value),children:[(0,s.jsx)(`option`,{value:`Never`,children:`Never`}),(0,s.jsx)(`option`,{value:`Until`,children:`Until`}),(0,s.jsx)(`option`,{value:`Count`,children:`Count`})]})]})})})]}),(0,s.jsx)(T.Subscribe,{selector:e=>[e.values.repeatFrequency,e.values.repeatEndLevel],children:([e,t])=>e!==`Never`&&(0,s.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-6 animate-in slide-in-from-top-2 duration-300`,children:[(0,s.jsx)(T.Field,{name:`repeatInterval`,children:t=>(0,s.jsxs)(`div`,{className:`space-y-2`,children:[(0,s.jsx)(r.t,{className:`text-[13px] font-semibold text-foreground/70`,children:`Repeat every`}),(0,s.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,s.jsx)(`select`,{className:`flex-1 h-10 px-3 rounded-md border-border bg-background text-sm focus:outline-none focus-visible:ring-1 focus-visible:ring-primary/20 focus-visible:border-primary appearance-none bg-[url('data:image/svg+xml;charset=utf-8,%3Csvg%20xlmns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20fill%3D%27none%27%20viewBox%3D%270%200%2020%2020%27%3E%3Cpath%20stroke%3D%27%236b7280%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%20stroke-width%3D%271.5%27%20d%3D%27m6%208%204%204%204-4%27%2F%3E%3C%2Fsvg%3E')] bg-[length:20px] bg-[right_8px_center] bg-no-repeat transition-all`,value:t.state.value,onChange:e=>t.handleChange(parseInt(e.target.value)),children:[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,20,30].map(e=>(0,s.jsx)(`option`,{value:e,children:e},e))}),(0,s.jsx)(`span`,{className:`text-sm font-medium text-muted-foreground whitespace-nowrap`,children:e===`Daily`?`Day(s)`:e.replace(`ly`,``)+`(s)`})]})]})}),t===`Until`&&(0,s.jsx)(T.Field,{name:`repeatEndUntil`,children:e=>(0,s.jsxs)(`div`,{className:`space-y-2 animate-in slide-in-from-top-1`,children:[(0,s.jsx)(r.t,{className:`text-[13px] font-semibold text-foreground/70`,children:`Until`}),(0,s.jsx)(i.t,{date:e.state.value,setDate:t=>e.handleChange(t),disabled:D,locale:_,mode:`date`,minDate:T.getFieldValue(`start`),slotDuration:v,timeOptions:y,className:`border-border focus:border-primary`})]})}),t===`Count`&&(0,s.jsx)(T.Field,{name:`repeatEndCount`,children:e=>(0,s.jsxs)(`div`,{className:`space-y-2 animate-in slide-in-from-top-1`,children:[(0,s.jsx)(r.t,{className:`text-[13px] font-semibold text-foreground/70`,children:`Occurrences`}),(0,s.jsx)(n.t,{type:`number`,min:1,value:e.state.value,onChange:t=>e.handleChange(parseInt(t.target.value)),className:`h-10 rounded-md border-border focus-visible:border-primary focus-visible:ring-1 focus-visible:ring-primary/20 bg-background transition-all`})]})})]})}),(0,s.jsx)(T.Subscribe,{selector:e=>[e.values.repeatFrequency],children:([t])=>t===`Weekly`&&(0,s.jsx)(T.Field,{name:`repeatDays`,children:t=>(0,s.jsxs)(`div`,{className:`space-y-3 animate-in fade-in duration-300`,children:[(0,s.jsx)(r.t,{className:`text-[13px] font-semibold text-foreground/70`,children:`Repeat On`}),(0,s.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:d.map(n=>(0,s.jsx)(`button`,{type:`button`,onClick:()=>{let e=t.state.value||[];e.includes(n.value)?t.handleChange(e.filter(e=>e!==n.value)):t.handleChange([...e,n.value])},className:e._(`w-9 h-9 rounded-full flex items-center justify-center text-sm font-bold transition-all border`,(t.state.value||[]).includes(n.value)?`bg-primary text-white border-primary shadow-sm`:`bg-background text-foreground/60 border-border/60 hover:border-primary/40 hover:text-primary`),children:n.label},n.value))})]})})}),(0,s.jsx)(T.Subscribe,{selector:e=>[e.values.repeatFrequency],children:([e])=>(e===`Monthly`||e===`Yearly`)&&(0,s.jsx)(T.Field,{name:`repeatBy`,children:e=>(0,s.jsxs)(`div`,{className:`space-y-4 animate-in fade-in duration-300`,children:[(0,s.jsx)(r.t,{className:`text-[13px] font-semibold text-foreground/70`,children:`Repeat On`}),(0,s.jsxs)(`div`,{className:`space-y-3`,children:[(0,s.jsxs)(`label`,{className:`flex items-center space-x-3 cursor-pointer group`,children:[(0,s.jsx)(`input`,{type:`radio`,name:`repeatBy`,checked:e.state.value===`day`,onChange:()=>e.handleChange(`day`),className:`h-4 w-4 border-border text-primary focus:ring-primary`}),(0,s.jsx)(`span`,{className:`text-sm text-foreground/80`,children:`Day of the month`})]}),(0,s.jsxs)(`label`,{className:`flex items-center space-x-3 cursor-pointer group`,children:[(0,s.jsx)(`input`,{type:`radio`,name:`repeatBy`,checked:e.state.value===`ordinal`,onChange:()=>e.handleChange(`ordinal`),className:`h-4 w-4 border-border text-primary focus:ring-primary`}),(0,s.jsx)(`span`,{className:`text-sm text-foreground/80`,children:`Ordinal position`})]})]})]})})}),(0,s.jsx)(T.Field,{name:`description`,children:e=>(0,s.jsxs)(`div`,{className:`space-y-2`,children:[(0,s.jsx)(r.t,{htmlFor:`description`,className:`text-[13px] font-semibold text-foreground/70`,children:`Description`}),(0,s.jsx)(`textarea`,{id:`description`,placeholder:`Add description`,className:`flex min-h-[100px] w-full rounded-md border-border bg-background px-4 py-3 text-sm placeholder:text-muted-foreground focus:outline-none focus-visible:ring-1 focus-visible:ring-primary/20 focus-visible:border-primary disabled:cursor-not-allowed disabled:opacity-50 resize-none transition-all hover:border-border`,value:e.state.value,onChange:t=>e.handleChange(t.target.value),disabled:D})]})}),(0,s.jsx)(T.Field,{name:`attachments`,children:e=>(0,s.jsxs)(`div`,{className:`space-y-4 pt-4 pb-2`,children:[(0,s.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,s.jsxs)(r.t,{className:`text-[13px] font-semibold text-foreground/70 flex items-center gap-2`,children:[(0,s.jsx)(o.Paperclip,{className:`w-4 h-4`}),` Attachments`]}),(0,s.jsx)(`input`,{type:`file`,id:`file-upload`,multiple:!0,className:`hidden`,onChange:t=>{t.target.files&&e.handleChange([...e.state.value||[],...Array.from(t.target.files)])}}),(0,s.jsxs)(t.t,{type:`button`,variant:`outline`,size:`sm`,className:`h-8 text-xs font-semibold gap-2 border-dashed border-border/50 hover:border-primary/40 hover:text-primary transition-all`,onClick:()=>document.getElementById(`file-upload`)?.click(),children:[(0,s.jsx)(o.Paperclip,{className:`w-3 h-3`}),` Add Files`]})]}),(e.state.value||[]).length>0&&(0,s.jsx)(`div`,{className:`grid grid-cols-1 gap-3`,children:(e.state.value||[]).map((n,r)=>(0,s.jsxs)(`div`,{className:`flex items-center justify-between p-3 rounded-lg bg-highlight border border-border group hover:border-border transition-all`,children:[(0,s.jsxs)(`div`,{className:`flex items-center gap-3 overflow-hidden`,children:[(0,s.jsx)(`div`,{className:`w-9 h-9 rounded-md bg-white border border-border flex items-center justify-center shrink-0 shadow-sm`,children:(0,s.jsx)(o.Paperclip,{className:`w-4 h-4 text-muted-foreground`})}),(0,s.jsxs)(`div`,{className:`flex flex-col overflow-hidden`,children:[(0,s.jsx)(`span`,{className:`text-[13px] font-medium text-foreground truncate`,children:n.name}),(0,s.jsx)(`span`,{className:`text-[11px] text-muted-foreground font-medium`,children:typeof n.size==`number`?`${(n.size/1024).toFixed(1)} KB`:`Attachment`})]})]}),(0,s.jsx)(t.t,{type:`button`,variant:`ghost`,size:`icon`,className:`h-8 w-8 text-muted-foreground/50 hover:text-destructive hover:bg-destructive/10 opacity-0 group-hover:opacity-100 transition-all`,onClick:()=>e.handleChange((e.state.value||[]).filter((e,t)=>t!==r)),children:(0,s.jsx)(o.Trash2,{className:`w-4 h-4`})})]},r))})]})})]}),S?S(m||{},p,()=>E(),f):(0,s.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`flex-end`,padding:`24px 40px`,backgroundColor:`var(--highlight)`,gap:`12px`,width:`100%`,flexShrink:0},children:[!D&&g&&p===`edit`&&(0,s.jsx)(t.t,{type:`button`,variant:`ghost`,className:`text-destructive hover:bg-destructive/10 hover:text-destructive h-10 px-5 font-bold mr-auto`,onClick:()=>{g(m?.id),f()},children:`Delete`}),(0,s.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`12px`},children:[!D&&(0,s.jsx)(T.Subscribe,{selector:e=>[e.canSubmit,e.isSubmitting],children:([e,n])=>(0,s.jsx)(t.t,{type:`submit`,variant:`default`,className:`h-10 px-10 font-bold rounded-md shrink-0 flex items-center justify-center transition-all hover:opacity-90`,style:{minWidth:`120px`},disabled:!e||n,onClick:e=>{e.preventDefault(),e.stopPropagation(),T.handleSubmit()},children:n?`Saving...`:`Save`})}),(0,s.jsx)(t.t,{type:`button`,variant:`outline`,className:`h-10 px-8 font-bold border border-border hover:bg-highlight text-foreground shrink-0 rounded-md transition-all`,style:{minWidth:`100px`},onClick:f,children:`Cancel`})]})]})]})]}),document.body)};Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return f}});