ezux 1.1.15 → 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.
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-C079wLjP.js} +57 -52
  8. package/dist/EzEventModal-CAA9cAM0.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-BlJWybKe.js} +351 -365
  14. package/dist/EzKanban-DdKODRRv.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-CTYXyOG8.js → EzScheduler-C1Jtvvju.js} +600 -637
  20. package/dist/EzScheduler-CkqTngI6.cjs +1 -0
  21. package/dist/{EzSchedulerQuickAdd-wXGn1L1c.js → EzSchedulerQuickAdd-BIC8xbSn.js} +4 -4
  22. package/dist/EzSchedulerQuickAdd-BeNfGdWs.cjs +1 -0
  23. package/dist/EzSchedulerToolbar-BJwTpgas.cjs +1 -0
  24. package/dist/{EzSchedulerToolbar-NdKzGgMo.js → EzSchedulerToolbar-Ba4gbvUg.js} +33 -34
  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-B7_Z5sh1.js} +300 -301
  39. package/dist/KanbanBoard-CyitudI1.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 +1252 -0
  126. package/dist/components/EzScheduler/EzSchedulerToolbar.d.ts +117 -0
  127. package/dist/components/EzScheduler/components/EzEventModal.d.ts +23 -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 +14 -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-Bs-7XzHD.cjs +1 -0
  289. package/dist/{date-time-picker-C6i4TdP7.js → date-time-picker-fUzf4TnU.js} +3 -3
  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-fUzf4TnU.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, editorTemplate: S, headerTemplate: C, footerTemplate: w, headerFieldsTemplate: T, hiddenFields: E = [] }) => {
43
+ let D = 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 && D.reset();
95
95
  }, [
96
96
  e,
97
97
  v,
98
- T
98
+ D
99
99
  ]), !e) return null;
100
- let E = (e) => {
101
- e.preventDefault(), e.stopPropagation(), T.handleSubmit();
102
- }, D = _ === "view";
100
+ let O = (e) => {
101
+ e?.preventDefault(), e?.stopPropagation(), D.handleSubmit();
102
+ }, k = _ === "view";
103
103
  return m(/* @__PURE__ */ f("div", {
104
104
  "data-testid": "ez-event-modal",
105
105
  style: {
@@ -156,13 +156,18 @@ var h = /* @__PURE__ */ e({ EzEventModal: () => _ }), g = [
156
156
  style: { padding: "8px 40px 32px 40px" },
157
157
  children: S(v || {})
158
158
  }) : /* @__PURE__ */ f("form", {
159
- onSubmit: E,
159
+ onSubmit: O,
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
+ T?.({
164
+ event: v || {},
165
+ mode: _,
166
+ isReadOnly: k
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(D.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: k,
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
+ }), !E.includes("location") && /* @__PURE__ */ d(D.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: k,
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(D.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,10 @@ 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: k,
226
231
  required: !0,
227
232
  locale: x,
228
- mode: T.getFieldValue("isAllDay") ? "date" : "datetime",
233
+ mode: D.getFieldValue("isAllDay") ? "date" : "datetime",
229
234
  className: "border-border focus-visible:border-primary focus-visible:ring-1 focus-visible:ring-primary/20"
230
235
  }),
231
236
  e.state.meta.errors.length > 0 && /* @__PURE__ */ d("p", {
@@ -234,7 +239,7 @@ var h = /* @__PURE__ */ e({ EzEventModal: () => _ }), g = [
234
239
  })
235
240
  ]
236
241
  })
237
- }), /* @__PURE__ */ d(T.Field, {
242
+ }), /* @__PURE__ */ d(D.Field, {
238
243
  name: "end",
239
244
  validators: { onChange: ({ value: e, fieldApi: t }) => {
240
245
  if (!e) return "End date is required";
@@ -251,11 +256,11 @@ var h = /* @__PURE__ */ e({ EzEventModal: () => _ }), g = [
251
256
  /* @__PURE__ */ d(a, {
252
257
  date: e.state.value,
253
258
  setDate: (t) => e.handleChange(t),
254
- disabled: D,
259
+ disabled: k,
255
260
  required: !0,
256
261
  locale: x,
257
- mode: T.getFieldValue("isAllDay") ? "date" : "datetime",
258
- minDate: T.getFieldValue("start"),
262
+ mode: D.getFieldValue("isAllDay") ? "date" : "datetime",
263
+ minDate: D.getFieldValue("start"),
259
264
  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
265
  }),
261
266
  e.state.meta.errors.length > 0 && /* @__PURE__ */ d("p", {
@@ -268,7 +273,7 @@ var h = /* @__PURE__ */ e({ EzEventModal: () => _ }), g = [
268
273
  }),
269
274
  /* @__PURE__ */ f("div", {
270
275
  className: "grid grid-cols-1 md:grid-cols-2 gap-6",
271
- children: [/* @__PURE__ */ d(T.Field, {
276
+ children: [/* @__PURE__ */ d(D.Field, {
272
277
  name: "isAllDay",
273
278
  children: (e) => /* @__PURE__ */ d("div", {
274
279
  className: "flex items-center h-10",
@@ -278,7 +283,7 @@ var h = /* @__PURE__ */ e({ EzEventModal: () => _ }), g = [
278
283
  type: "checkbox",
279
284
  checked: e.state.value,
280
285
  onChange: (t) => e.handleChange(t.target.checked),
281
- disabled: D,
286
+ disabled: k,
282
287
  className: "h-4 w-4 rounded border-border/50 text-primary focus:ring-primary/30 accent-primary transition-all cursor-pointer"
283
288
  }), /* @__PURE__ */ d("span", {
284
289
  className: "text-[14px] font-medium text-foreground/70 group-hover:text-foreground",
@@ -286,7 +291,7 @@ var h = /* @__PURE__ */ e({ EzEventModal: () => _ }), g = [
286
291
  })]
287
292
  })
288
293
  })
289
- }), /* @__PURE__ */ d(T.Field, {
294
+ }), /* @__PURE__ */ d(D.Field, {
290
295
  name: "isTimezoneEnabled",
291
296
  children: (e) => /* @__PURE__ */ d("div", {
292
297
  className: "flex items-center h-10",
@@ -296,7 +301,7 @@ var h = /* @__PURE__ */ e({ EzEventModal: () => _ }), g = [
296
301
  type: "checkbox",
297
302
  checked: e.state.value,
298
303
  onChange: (t) => e.handleChange(t.target.checked),
299
- disabled: D,
304
+ disabled: k,
300
305
  className: "h-4 w-4 rounded border-border/50 text-primary focus:ring-primary/30 accent-primary transition-all cursor-pointer"
301
306
  }), /* @__PURE__ */ d("span", {
302
307
  className: "text-[14px] font-medium text-foreground/70 group-hover:text-foreground",
@@ -306,11 +311,11 @@ var h = /* @__PURE__ */ e({ EzEventModal: () => _ }), g = [
306
311
  })
307
312
  })]
308
313
  }),
309
- /* @__PURE__ */ d(T.Subscribe, {
314
+ /* @__PURE__ */ d(D.Subscribe, {
310
315
  selector: (e) => [e.values.isTimezoneEnabled],
311
316
  children: ([e]) => e && /* @__PURE__ */ f("div", {
312
317
  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, {
318
+ children: [/* @__PURE__ */ d(D.Field, {
314
319
  name: "startTimezone",
315
320
  children: (e) => /* @__PURE__ */ f("div", {
316
321
  className: "space-y-2",
@@ -337,7 +342,7 @@ var h = /* @__PURE__ */ e({ EzEventModal: () => _ }), g = [
337
342
  ]
338
343
  })]
339
344
  })
340
- }), /* @__PURE__ */ d(T.Field, {
345
+ }), /* @__PURE__ */ d(D.Field, {
341
346
  name: "endTimezone",
342
347
  children: (e) => /* @__PURE__ */ f("div", {
343
348
  className: "space-y-2",
@@ -369,7 +374,7 @@ var h = /* @__PURE__ */ e({ EzEventModal: () => _ }), g = [
369
374
  }),
370
375
  /* @__PURE__ */ f("div", {
371
376
  className: "grid grid-cols-1 md:grid-cols-2 gap-6",
372
- children: [/* @__PURE__ */ d(T.Field, {
377
+ children: [/* @__PURE__ */ d(D.Field, {
373
378
  name: "repeatFrequency",
374
379
  children: (e) => /* @__PURE__ */ f("div", {
375
380
  className: "space-y-2",
@@ -404,9 +409,9 @@ var h = /* @__PURE__ */ e({ EzEventModal: () => _ }), g = [
404
409
  ]
405
410
  })]
406
411
  })
407
- }), /* @__PURE__ */ d(T.Subscribe, {
412
+ }), /* @__PURE__ */ d(D.Subscribe, {
408
413
  selector: (e) => [e.values.repeatFrequency],
409
- children: ([e]) => e !== "Never" && /* @__PURE__ */ d(T.Field, {
414
+ children: ([e]) => e !== "Never" && /* @__PURE__ */ d(D.Field, {
410
415
  name: "repeatEndLevel",
411
416
  children: (e) => /* @__PURE__ */ f("div", {
412
417
  className: "space-y-2 animate-in slide-in-from-top-2 duration-300",
@@ -436,12 +441,12 @@ var h = /* @__PURE__ */ e({ EzEventModal: () => _ }), g = [
436
441
  })
437
442
  })]
438
443
  }),
439
- /* @__PURE__ */ d(T.Subscribe, {
444
+ /* @__PURE__ */ d(D.Subscribe, {
440
445
  selector: (e) => [e.values.repeatFrequency, e.values.repeatEndLevel],
441
446
  children: ([e, t]) => e !== "Never" && /* @__PURE__ */ f("div", {
442
447
  className: "grid grid-cols-1 md:grid-cols-2 gap-6 animate-in slide-in-from-top-2 duration-300",
443
448
  children: [
444
- /* @__PURE__ */ d(T.Field, {
449
+ /* @__PURE__ */ d(D.Field, {
445
450
  name: "repeatInterval",
446
451
  children: (t) => /* @__PURE__ */ f("div", {
447
452
  className: "space-y-2",
@@ -483,7 +488,7 @@ var h = /* @__PURE__ */ e({ EzEventModal: () => _ }), g = [
483
488
  })]
484
489
  })
485
490
  }),
486
- t === "Until" && /* @__PURE__ */ d(T.Field, {
491
+ t === "Until" && /* @__PURE__ */ d(D.Field, {
487
492
  name: "repeatEndUntil",
488
493
  children: (e) => /* @__PURE__ */ f("div", {
489
494
  className: "space-y-2 animate-in slide-in-from-top-1",
@@ -493,15 +498,15 @@ var h = /* @__PURE__ */ e({ EzEventModal: () => _ }), g = [
493
498
  }), /* @__PURE__ */ d(a, {
494
499
  date: e.state.value,
495
500
  setDate: (t) => e.handleChange(t),
496
- disabled: D,
501
+ disabled: k,
497
502
  locale: x,
498
503
  mode: "date",
499
- minDate: T.getFieldValue("start"),
504
+ minDate: D.getFieldValue("start"),
500
505
  className: "border-border focus:border-primary"
501
506
  })]
502
507
  })
503
508
  }),
504
- t === "Count" && /* @__PURE__ */ d(T.Field, {
509
+ t === "Count" && /* @__PURE__ */ d(D.Field, {
505
510
  name: "repeatEndCount",
506
511
  children: (e) => /* @__PURE__ */ f("div", {
507
512
  className: "space-y-2 animate-in slide-in-from-top-1",
@@ -520,9 +525,9 @@ var h = /* @__PURE__ */ e({ EzEventModal: () => _ }), g = [
520
525
  ]
521
526
  })
522
527
  }),
523
- /* @__PURE__ */ d(T.Subscribe, {
528
+ /* @__PURE__ */ d(D.Subscribe, {
524
529
  selector: (e) => [e.values.repeatFrequency],
525
- children: ([e]) => e === "Weekly" && /* @__PURE__ */ d(T.Field, {
530
+ children: ([e]) => e === "Weekly" && /* @__PURE__ */ d(D.Field, {
526
531
  name: "repeatDays",
527
532
  children: (e) => /* @__PURE__ */ f("div", {
528
533
  className: "space-y-3 animate-in fade-in duration-300",
@@ -544,9 +549,9 @@ var h = /* @__PURE__ */ e({ EzEventModal: () => _ }), g = [
544
549
  })
545
550
  })
546
551
  }),
547
- /* @__PURE__ */ d(T.Subscribe, {
552
+ /* @__PURE__ */ d(D.Subscribe, {
548
553
  selector: (e) => [e.values.repeatFrequency],
549
- children: ([e]) => (e === "Monthly" || e === "Yearly") && /* @__PURE__ */ d(T.Field, {
554
+ children: ([e]) => (e === "Monthly" || e === "Yearly") && /* @__PURE__ */ d(D.Field, {
550
555
  name: "repeatBy",
551
556
  children: (e) => /* @__PURE__ */ f("div", {
552
557
  className: "space-y-4 animate-in fade-in duration-300",
@@ -584,7 +589,7 @@ var h = /* @__PURE__ */ e({ EzEventModal: () => _ }), g = [
584
589
  })
585
590
  })
586
591
  }),
587
- /* @__PURE__ */ d(T.Field, {
592
+ /* @__PURE__ */ d(D.Field, {
588
593
  name: "description",
589
594
  children: (e) => /* @__PURE__ */ f("div", {
590
595
  className: "space-y-2",
@@ -598,11 +603,11 @@ var h = /* @__PURE__ */ e({ EzEventModal: () => _ }), g = [
598
603
  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
604
  value: e.state.value,
600
605
  onChange: (t) => e.handleChange(t.target.value),
601
- disabled: D
606
+ disabled: k
602
607
  })]
603
608
  })
604
609
  }),
605
- /* @__PURE__ */ d(T.Field, {
610
+ /* @__PURE__ */ d(D.Field, {
606
611
  name: "attachments",
607
612
  children: (e) => /* @__PURE__ */ f("div", {
608
613
  className: "space-y-4 pt-4 pb-2",
@@ -664,7 +669,7 @@ var h = /* @__PURE__ */ e({ EzEventModal: () => _ }), g = [
664
669
  })
665
670
  ]
666
671
  }),
667
- w ? w(v || {}, _, () => E({}), h) : /* @__PURE__ */ f("div", {
672
+ w ? w(v || {}, _, () => O(), h) : /* @__PURE__ */ f("div", {
668
673
  style: {
669
674
  display: "flex",
670
675
  alignItems: "center",
@@ -675,7 +680,7 @@ var h = /* @__PURE__ */ e({ EzEventModal: () => _ }), g = [
675
680
  width: "100%",
676
681
  flexShrink: 0
677
682
  },
678
- children: [!D && b && _ === "edit" && /* @__PURE__ */ d(n, {
683
+ children: [!k && b && _ === "edit" && /* @__PURE__ */ d(n, {
679
684
  type: "button",
680
685
  variant: "ghost",
681
686
  className: "text-destructive hover:bg-destructive/10 hover:text-destructive h-10 px-5 font-bold mr-auto",
@@ -689,7 +694,7 @@ var h = /* @__PURE__ */ e({ EzEventModal: () => _ }), g = [
689
694
  alignItems: "center",
690
695
  gap: "12px"
691
696
  },
692
- children: [!D && /* @__PURE__ */ d(T.Subscribe, {
697
+ children: [!k && /* @__PURE__ */ d(D.Subscribe, {
693
698
  selector: (e) => [e.canSubmit, e.isSubmitting],
694
699
  children: ([e, t]) => /* @__PURE__ */ d(n, {
695
700
  type: "submit",
@@ -698,7 +703,7 @@ var h = /* @__PURE__ */ e({ EzEventModal: () => _ }), g = [
698
703
  style: { minWidth: "120px" },
699
704
  disabled: !e || t,
700
705
  onClick: (e) => {
701
- e.preventDefault(), e.stopPropagation(), T.handleSubmit();
706
+ e.preventDefault(), e.stopPropagation(), D.handleSubmit();
702
707
  },
703
708
  children: t ? "Saving..." : "Save"
704
709
  })
@@ -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-Bs-7XzHD.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:_,editorTemplate:v,headerTemplate:y,footerTemplate:b,headerFieldsTemplate:x,hiddenFields:S=[]})=>{let C=(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&&C.reset()},[u,m,C]),!u)return null;let w=e=>{e?.preventDefault(),e?.stopPropagation(),C.handleSubmit()},T=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:y?y(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`})})]})}),v?(0,s.jsx)(`div`,{className:`overflow-y-auto custom-scrollbar flex-1 bg-background`,style:{padding:`8px 40px 32px 40px`},children:v(m||{})}):(0,s.jsxs)(`form`,{onSubmit:w,className:`space-y-6 overflow-y-auto custom-scrollbar flex-1 bg-background`,style:{padding:`8px 40px 32px 40px`},children:[x?.({event:m||{},mode:p,isReadOnly:T}),(0,s.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-6`,children:[(0,s.jsx)(C.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:T,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(`, `)})]})}),!S.includes(`location`)&&(0,s.jsx)(C.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:T,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)(C.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:T,required:!0,locale:_,mode:C.getFieldValue(`isAllDay`)?`date`:`datetime`,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)(C.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:T,required:!0,locale:_,mode:C.getFieldValue(`isAllDay`)?`date`:`datetime`,minDate:C.getFieldValue(`start`),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)(C.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:T,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)(C.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:T,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)(C.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)(C.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)(C.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)(C.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)(C.Subscribe,{selector:e=>[e.values.repeatFrequency],children:([e])=>e!==`Never`&&(0,s.jsx)(C.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)(C.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)(C.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)(C.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:T,locale:_,mode:`date`,minDate:C.getFieldValue(`start`),className:`border-border focus:border-primary`})]})}),t===`Count`&&(0,s.jsx)(C.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)(C.Subscribe,{selector:e=>[e.values.repeatFrequency],children:([t])=>t===`Weekly`&&(0,s.jsx)(C.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)(C.Subscribe,{selector:e=>[e.values.repeatFrequency],children:([e])=>(e===`Monthly`||e===`Yearly`)&&(0,s.jsx)(C.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)(C.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:T})]})}),(0,s.jsx)(C.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))})]})})]}),b?b(m||{},p,()=>w(),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:[!T&&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:[!T&&(0,s.jsx)(C.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(),C.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}});