ezux 1.0.0

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 (293) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +56 -0
  3. package/dist/EzEventModal-DtpvYwGr.js +684 -0
  4. package/dist/EzGroupingPanel-CFwKUrF_.js +59 -0
  5. package/dist/EzTableEditDialog-BIk_mNpI.js +60 -0
  6. package/dist/components/EzKanban/EzKanban.types.d.ts +789 -0
  7. package/dist/components/EzKanban/components/CardEditorModal.d.ts +23 -0
  8. package/dist/components/EzKanban/components/EzKanbanErrorFallback.d.ts +1 -0
  9. package/dist/components/EzKanban/components/FilterPopover.d.ts +10 -0
  10. package/dist/components/EzKanban/components/KanbanBoard.d.ts +62 -0
  11. package/dist/components/EzKanban/components/KanbanCard.d.ts +38 -0
  12. package/dist/components/EzKanban/components/KanbanColumn.d.ts +55 -0
  13. package/dist/components/EzKanban/components/KanbanSwimlane.d.ts +46 -0
  14. package/dist/components/EzKanban/components/KanbanToolbar.d.ts +41 -0
  15. package/dist/components/EzKanban/exports.d.ts +4 -0
  16. package/dist/components/EzKanban/hooks/useKanbanCards.d.ts +36 -0
  17. package/dist/components/EzKanban/hooks/useKanbanColumns.d.ts +27 -0
  18. package/dist/components/EzKanban/hooks/useKanbanDragDrop.d.ts +31 -0
  19. package/dist/components/EzKanban/hooks/useKanbanFilters.d.ts +23 -0
  20. package/dist/components/EzKanban/hooks/useKanbanState.d.ts +79 -0
  21. package/dist/components/EzKanban/hooks/useKanbanSwimlanes.d.ts +27 -0
  22. package/dist/components/EzKanban/hooks/useKanbanVirtualization.d.ts +16 -0
  23. package/dist/components/EzKanban/index.d.ts +45 -0
  24. package/dist/components/EzKanban/services/KanbanService.d.ts +30 -0
  25. package/dist/components/EzKanban/state/kanban.store.d.ts +33 -0
  26. package/dist/components/EzKanban/useEzKanban.d.ts +162 -0
  27. package/dist/components/EzKanban/views/KanbanTimelineView.d.ts +15 -0
  28. package/dist/components/EzLayout/Authentication/AuthSlider.d.ts +13 -0
  29. package/dist/components/EzLayout/Authentication/InputPassword.d.ts +7 -0
  30. package/dist/components/EzLayout/Authentication/SignInForm.d.ts +21 -0
  31. package/dist/components/EzLayout/Authentication/SignUpForm.d.ts +20 -0
  32. package/dist/components/EzLayout/EzHeader.d.ts +33 -0
  33. package/dist/components/EzLayout/EzLanguageSwitcher.d.ts +4 -0
  34. package/dist/components/EzLayout/EzLayout.types.d.ts +223 -0
  35. package/dist/components/EzLayout/EzSidebar.d.ts +14 -0
  36. package/dist/components/EzLayout/EzThemeColorChanger.d.ts +9 -0
  37. package/dist/components/EzLayout/EzThemeSwitcher.d.ts +8 -0
  38. package/dist/components/EzLayout/EzUserProfile.d.ts +23 -0
  39. package/dist/components/EzLayout/components/MainContent.d.ts +13 -0
  40. package/dist/components/EzLayout/hooks/useLayoutImperative.d.ts +17 -0
  41. package/dist/components/EzLayout/hooks/useLayoutState.d.ts +25 -0
  42. package/dist/components/EzLayout/index.d.ts +19 -0
  43. package/dist/components/EzLayout/useEzLayout.d.ts +26 -0
  44. package/dist/components/EzScheduler/EzScheduler.types.d.ts +1658 -0
  45. package/dist/components/EzScheduler/EzSchedulerToolbar.d.ts +117 -0
  46. package/dist/components/EzScheduler/components/EzEventModal.d.ts +17 -0
  47. package/dist/components/EzScheduler/components/EzOverlapAlert.d.ts +12 -0
  48. package/dist/components/EzScheduler/components/EzQuickInfoPopup.d.ts +22 -0
  49. package/dist/components/EzScheduler/components/EzResourceSidebar.d.ts +33 -0
  50. package/dist/components/EzScheduler/components/EzSchedulerContent.d.ts +123 -0
  51. package/dist/components/EzScheduler/components/EzSchedulerQuickAdd.d.ts +17 -0
  52. package/dist/components/EzScheduler/components/RecurrenceEditor.d.ts +7 -0
  53. package/dist/components/EzScheduler/components/SchedulerLoadingSpinner.d.ts +2 -0
  54. package/dist/components/EzScheduler/components/dnd/DraggableEvent.d.ts +21 -0
  55. package/dist/components/EzScheduler/components/dnd/DroppableSlot.d.ts +19 -0
  56. package/dist/components/EzScheduler/hooks/useRecurrence.d.ts +2 -0
  57. package/dist/components/EzScheduler/hooks/useSchedulerEventHandlers.d.ts +11 -0
  58. package/dist/components/EzScheduler/hooks/useSchedulerEvents.d.ts +26 -0
  59. package/dist/components/EzScheduler/hooks/useSchedulerImperative.d.ts +15 -0
  60. package/dist/components/EzScheduler/hooks/useSchedulerNavigation.d.ts +9 -0
  61. package/dist/components/EzScheduler/hooks/useSchedulerResources.d.ts +10 -0
  62. package/dist/components/EzScheduler/hooks/useSchedulerState.d.ts +14 -0
  63. package/dist/components/EzScheduler/hooks/useSchedulerVirtualization.d.ts +9 -0
  64. package/dist/components/EzScheduler/index.d.ts +41 -0
  65. package/dist/components/EzScheduler/models/EventSettings.d.ts +11 -0
  66. package/dist/components/EzScheduler/models/View.d.ts +49 -0
  67. package/dist/components/EzScheduler/models/index.d.ts +2 -0
  68. package/dist/components/EzScheduler/services/AttendeeService.d.ts +15 -0
  69. package/dist/components/EzScheduler/services/AuditService.d.ts +15 -0
  70. package/dist/components/EzScheduler/services/CollisionDetectionService.d.ts +19 -0
  71. package/dist/components/EzScheduler/services/DragAndDropService.d.ts +16 -0
  72. package/dist/components/EzScheduler/services/HistoryService.d.ts +31 -0
  73. package/dist/components/EzScheduler/services/ICalendarImportService.d.ts +16 -0
  74. package/dist/components/EzScheduler/services/PrintService.d.ts +7 -0
  75. package/dist/components/EzScheduler/services/RecurrenceEngine.d.ts +7 -0
  76. package/dist/components/EzScheduler/services/ReminderService.d.ts +17 -0
  77. package/dist/components/EzScheduler/services/SchedulerService.d.ts +69 -0
  78. package/dist/components/EzScheduler/services/SearchService.d.ts +11 -0
  79. package/dist/components/EzScheduler/services/SecurityService.d.ts +25 -0
  80. package/dist/components/EzScheduler/services/TimezoneService.d.ts +20 -0
  81. package/dist/components/EzScheduler/services/VirtualScrollingService.d.ts +34 -0
  82. package/dist/components/EzScheduler/state/scheduler.store.d.ts +27 -0
  83. package/dist/components/EzScheduler/templates/CellTemplate.d.ts +42 -0
  84. package/dist/components/EzScheduler/templates/EditorTemplate.d.ts +32 -0
  85. package/dist/components/EzScheduler/templates/HeaderTemplate.d.ts +36 -0
  86. package/dist/components/EzScheduler/tests/phase1_rendering.spec.d.ts +1 -0
  87. package/dist/components/EzScheduler/tests/phase2_events.spec.d.ts +1 -0
  88. package/dist/components/EzScheduler/tests/phase3_templates.spec.d.ts +1 -0
  89. package/dist/components/EzScheduler/tests/phase4_export.spec.d.ts +1 -0
  90. package/dist/components/EzScheduler/tests/phase5_advanced.spec.d.ts +1 -0
  91. package/dist/components/EzScheduler/tests/phase6_security.spec.d.ts +1 -0
  92. package/dist/components/EzScheduler/tests/phase7_regression.spec.d.ts +1 -0
  93. package/dist/components/EzScheduler/useEzScheduler.d.ts +152 -0
  94. package/dist/components/EzScheduler/utils/createDragConstraint.d.ts +7 -0
  95. package/dist/components/EzScheduler/utils/getWeekNumber.d.ts +8 -0
  96. package/dist/components/EzScheduler/utils/sanitizeHtml.d.ts +17 -0
  97. package/dist/components/EzScheduler/views/AgendaView.d.ts +33 -0
  98. package/dist/components/EzScheduler/views/DayWeekView.d.ts +182 -0
  99. package/dist/components/EzScheduler/views/MonthView.d.ts +65 -0
  100. package/dist/components/EzScheduler/views/TimelineView.d.ts +121 -0
  101. package/dist/components/EzSignature/EzSignature.d.ts +42 -0
  102. package/dist/components/EzSignature/EzSignature.test.d.ts +1 -0
  103. package/dist/components/EzSignature/EzSignature.types.d.ts +132 -0
  104. package/dist/components/EzSignature/index.d.ts +2 -0
  105. package/dist/components/EzTable/EzColumnMenu.d.ts +7 -0
  106. package/dist/components/EzTable/EzDateFilterTree.d.ts +7 -0
  107. package/dist/components/EzTable/EzExcelFilter.d.ts +6 -0
  108. package/dist/components/EzTable/EzFilterBuilder.d.ts +12 -0
  109. package/dist/components/EzTable/EzGroupingPanel.d.ts +9 -0
  110. package/dist/components/EzTable/EzHeaderContextMenu.d.ts +8 -0
  111. package/dist/components/EzTable/EzPagination.d.ts +19 -0
  112. package/dist/components/EzTable/EzTable.types.d.ts +1481 -0
  113. package/dist/components/EzTable/EzTableEditDialog.d.ts +15 -0
  114. package/dist/components/EzTable/EzTableFooter.d.ts +10 -0
  115. package/dist/components/EzTable/EzTableOverlays.d.ts +11 -0
  116. package/dist/components/EzTable/EzTableStatusBar.d.ts +6 -0
  117. package/dist/components/EzTable/EzTableToolbar.d.ts +58 -0
  118. package/dist/components/EzTable/SmartCell.d.ts +7 -0
  119. package/dist/components/EzTable/__tests__/EzTableDX.test.d.ts +0 -0
  120. package/dist/components/EzTable/__tests__/EzTableEnterprise.test.d.ts +1 -0
  121. package/dist/components/EzTable/__tests__/useEzTable.test.d.ts +1 -0
  122. package/dist/components/EzTable/components/AdvancedColumnFilter.d.ts +16 -0
  123. package/dist/components/EzTable/components/BooleanFilterSection.d.ts +7 -0
  124. package/dist/components/EzTable/components/DraggableHeader.d.ts +10 -0
  125. package/dist/components/EzTable/components/EzTableBodySection.d.ts +70 -0
  126. package/dist/components/EzTable/components/EzTableCell.d.ts +46 -0
  127. package/dist/components/EzTable/components/EzTableHeaderSection.d.ts +22 -0
  128. package/dist/components/EzTable/components/EzTablePaginationSection.d.ts +31 -0
  129. package/dist/components/EzTable/components/EzTableRow.d.ts +56 -0
  130. package/dist/components/EzTable/components/FilterActionButtons.d.ts +16 -0
  131. package/dist/components/EzTable/components/FilterRuleSelect.d.ts +26 -0
  132. package/dist/components/EzTable/components/SelectAllCheckbox.d.ts +21 -0
  133. package/dist/components/EzTable/components/SelectFilterSection.d.ts +18 -0
  134. package/dist/components/EzTable/components/VirtualizedFilterList.d.ts +21 -0
  135. package/dist/components/EzTable/constants/filterOptions.d.ts +47 -0
  136. package/dist/components/EzTable/context/EzTableContext.d.ts +10 -0
  137. package/dist/components/EzTable/context/TableConfigContext.d.ts +13 -0
  138. package/dist/components/EzTable/context/TableStore.d.ts +17 -0
  139. package/dist/components/EzTable/filterUtils.d.ts +5 -0
  140. package/dist/components/EzTable/hooks/useAutoFit.d.ts +4 -0
  141. package/dist/components/EzTable/hooks/useCellEventHandlers.d.ts +16 -0
  142. package/dist/components/EzTable/hooks/useColumnSizeVars.d.ts +6 -0
  143. package/dist/components/EzTable/hooks/useContainerResize.d.ts +11 -0
  144. package/dist/components/EzTable/hooks/useDialogStateInitialization.d.ts +8 -0
  145. package/dist/components/EzTable/hooks/useFilterSelection.d.ts +12 -0
  146. package/dist/components/EzTable/hooks/useTableFiltering.d.ts +23 -0
  147. package/dist/components/EzTable/hooks/useTableHistory.d.ts +87 -0
  148. package/dist/components/EzTable/hooks/useTableImperative.d.ts +42 -0
  149. package/dist/components/EzTable/hooks/useTableSelection.d.ts +32 -0
  150. package/dist/components/EzTable/hooks/useTableState.d.ts +31 -0
  151. package/dist/components/EzTable/hooks/useTableVirtualization.d.ts +33 -0
  152. package/dist/components/EzTable/index.d.ts +50 -0
  153. package/dist/components/EzTable/renderers/index.d.ts +6 -0
  154. package/dist/components/EzTable/services/TableService.d.ts +26 -0
  155. package/dist/components/EzTable/useEzTable.d.ts +17 -0
  156. package/dist/components/EzTable/utils/TextMeasurer.d.ts +1 -0
  157. package/dist/components/EzTable/utils/TruncatedTooltip.d.ts +7 -0
  158. package/dist/components/EzTable/utils/columnTypeDetector.d.ts +5 -0
  159. package/dist/components/EzTable/utils/filterTypeGuards.d.ts +3 -0
  160. package/dist/components/EzTable/utils/index.d.ts +1 -0
  161. package/dist/components/EzTreeView/EzTreeView.types.d.ts +395 -0
  162. package/dist/components/EzTreeView/EzTreeViewItem.d.ts +77 -0
  163. package/dist/components/EzTreeView/EzVirtualTree.d.ts +72 -0
  164. package/dist/components/EzTreeView/components/EzTreeViewLoadingSpinner.d.ts +2 -0
  165. package/dist/components/EzTreeView/hooks/useTreeDragDrop.d.ts +31 -0
  166. package/dist/components/EzTreeView/hooks/useTreeExpansion.d.ts +21 -0
  167. package/dist/components/EzTreeView/hooks/useTreeImperative.d.ts +28 -0
  168. package/dist/components/EzTreeView/hooks/useTreeSelection.d.ts +31 -0
  169. package/dist/components/EzTreeView/hooks/useTreeState.d.ts +21 -0
  170. package/dist/components/EzTreeView/hooks/useTreeVirtualization.d.ts +18 -0
  171. package/dist/components/EzTreeView/index.d.ts +40 -0
  172. package/dist/components/EzTreeView/services/TreeService.d.ts +11 -0
  173. package/dist/components/EzTreeView/useEzTreeView.d.ts +62 -0
  174. package/dist/components/EzTreeView/utils/treeUtils.d.ts +17 -0
  175. package/dist/components/shared/components/EzErrorBoundary.d.ts +18 -0
  176. package/dist/components/shared/components/EzLayoutErrorFallback.d.ts +2 -0
  177. package/dist/components/shared/components/EzLoadingSpinner.d.ts +8 -0
  178. package/dist/components/shared/components/EzSchedulerErrorFallback.d.ts +2 -0
  179. package/dist/components/shared/components/EzTableErrorFallback.d.ts +2 -0
  180. package/dist/components/shared/components/EzTreeViewErrorFallback.d.ts +2 -0
  181. package/dist/components/ui/avatar.d.ts +5 -0
  182. package/dist/components/ui/badge.d.ts +9 -0
  183. package/dist/components/ui/breadcrumb.d.ts +19 -0
  184. package/dist/components/ui/button.d.ts +12 -0
  185. package/dist/components/ui/calendar.d.ts +15 -0
  186. package/dist/components/ui/card.d.ts +8 -0
  187. package/dist/components/ui/checkbox.d.ts +7 -0
  188. package/dist/components/ui/command.d.ts +78 -0
  189. package/dist/components/ui/context-menu.d.ts +27 -0
  190. package/dist/components/ui/date-time-picker.d.ts +13 -0
  191. package/dist/components/ui/dropdown-menu.d.ts +27 -0
  192. package/dist/components/ui/index.d.ts +26 -0
  193. package/dist/components/ui/input.d.ts +5 -0
  194. package/dist/components/ui/label.d.ts +5 -0
  195. package/dist/components/ui/modal.d.ts +9 -0
  196. package/dist/components/ui/password-input.d.ts +5 -0
  197. package/dist/components/ui/popover.d.ts +4 -0
  198. package/dist/components/ui/progress.d.ts +7 -0
  199. package/dist/components/ui/radio-group.d.ts +5 -0
  200. package/dist/components/ui/scroll-area.d.ts +5 -0
  201. package/dist/components/ui/select.d.ts +24 -0
  202. package/dist/components/ui/skeleton.d.ts +2 -0
  203. package/dist/components/ui/switch.d.ts +4 -0
  204. package/dist/components/ui/table.d.ts +10 -0
  205. package/dist/components/ui/tabs.d.ts +14 -0
  206. package/dist/components/ui/textarea.d.ts +5 -0
  207. package/dist/components/ui/tooltip.d.ts +7 -0
  208. package/dist/ezux.es.js +149 -0
  209. package/dist/ezux.umd.js +68 -0
  210. package/dist/index-DBwoXp4n.js +30656 -0
  211. package/dist/index.d.ts +70 -0
  212. package/dist/lib/perfect-freehand.d.ts +221 -0
  213. package/dist/lib/utils.d.ts +2 -0
  214. package/dist/shared/components/AnimatedText.d.ts +44 -0
  215. package/dist/shared/components/BaseCell.d.ts +14 -0
  216. package/dist/shared/components/BooleanRenderer.d.ts +34 -0
  217. package/dist/shared/components/ChartRenderer.d.ts +19 -0
  218. package/dist/shared/components/DeleteConfirmationModal.d.ts +11 -0
  219. package/dist/shared/components/EzContextMenu.d.ts +12 -0
  220. package/dist/shared/components/EzNotificationDropdown.d.ts +1 -0
  221. package/dist/shared/components/HighlightText.d.ts +4 -0
  222. package/dist/shared/components/Modal.d.ts +13 -0
  223. package/dist/shared/components/NotificationPanel.d.ts +2 -0
  224. package/dist/shared/components/PrimitiveRenderer.d.ts +39 -0
  225. package/dist/shared/components/SearchableSelect.d.ts +13 -0
  226. package/dist/shared/components/SelectRenderer.d.ts +33 -0
  227. package/dist/shared/components/StatusBadge.d.ts +12 -0
  228. package/dist/shared/components/TooltipWrapper.d.ts +12 -0
  229. package/dist/shared/components/index.d.ts +9 -0
  230. package/dist/shared/hooks/index.d.ts +56 -0
  231. package/dist/shared/hooks/useBaseComponent.d.ts +60 -0
  232. package/dist/shared/hooks/useComponentImperativeAPI.d.ts +11 -0
  233. package/dist/shared/hooks/useComponentState.d.ts +39 -0
  234. package/dist/shared/hooks/useCurrentTime.d.ts +6 -0
  235. package/dist/shared/hooks/useDataChangeEvents.d.ts +53 -0
  236. package/dist/shared/hooks/useDebounce.d.ts +10 -0
  237. package/dist/shared/hooks/useDeleteConfirmation.d.ts +9 -0
  238. package/dist/shared/hooks/useDialogState.d.ts +21 -0
  239. package/dist/shared/hooks/useDndHandlers.d.ts +17 -0
  240. package/dist/shared/hooks/useEditing.d.ts +107 -0
  241. package/dist/shared/hooks/useEventHandlers.d.ts +61 -0
  242. package/dist/shared/hooks/useEzTheme.d.ts +22 -0
  243. package/dist/shared/hooks/useFieldValidation.d.ts +24 -0
  244. package/dist/shared/hooks/useHistory.d.ts +13 -0
  245. package/dist/shared/hooks/useI18n.d.ts +9 -0
  246. package/dist/shared/hooks/useImperativeAPI.d.ts +8 -0
  247. package/dist/shared/hooks/useInitCoreServices.d.ts +5 -0
  248. package/dist/shared/hooks/useKeyboardNavigation.d.ts +36 -0
  249. package/dist/shared/hooks/useKeyboardShortcuts.d.ts +14 -0
  250. package/dist/shared/hooks/useLifecycleEvents.d.ts +22 -0
  251. package/dist/shared/hooks/useLoadingState.d.ts +17 -0
  252. package/dist/shared/hooks/useMediaQuery.d.ts +6 -0
  253. package/dist/shared/hooks/useNotificationService.d.ts +8 -0
  254. package/dist/shared/hooks/usePerformanceMonitor.d.ts +15 -0
  255. package/dist/shared/hooks/useRowSelectionEvents.d.ts +44 -0
  256. package/dist/shared/hooks/useSelection.d.ts +73 -0
  257. package/dist/shared/hooks/useService.d.ts +12 -0
  258. package/dist/shared/hooks/useServiceState.d.ts +12 -0
  259. package/dist/shared/hooks/useStateChangeEvents.d.ts +61 -0
  260. package/dist/shared/hooks/useTheme.d.ts +13 -0
  261. package/dist/shared/hooks/useVirtualization.d.ts +85 -0
  262. package/dist/shared/services/BaseService.d.ts +56 -0
  263. package/dist/shared/services/ContextMenuService.d.ts +58 -0
  264. package/dist/shared/services/ExportService.d.ts +35 -0
  265. package/dist/shared/services/FocusManagerService.d.ts +33 -0
  266. package/dist/shared/services/HierarchyService.d.ts +43 -0
  267. package/dist/shared/services/I18nService.d.ts +65 -0
  268. package/dist/shared/services/LayoutService.d.ts +80 -0
  269. package/dist/shared/services/NotificationService.d.ts +44 -0
  270. package/dist/shared/services/PersistenceService.d.ts +69 -0
  271. package/dist/shared/services/ServiceRegistry.d.ts +51 -0
  272. package/dist/shared/services/ThemeService.d.ts +49 -0
  273. package/dist/shared/services/VirtualizationService.d.ts +51 -0
  274. package/dist/shared/state/store.d.ts +10 -0
  275. package/dist/shared/themes.d.ts +25 -0
  276. package/dist/shared/types/BaseProps.d.ts +18 -0
  277. package/dist/shared/types/common.d.ts +292 -0
  278. package/dist/shared/types/commonTypes.d.ts +101 -0
  279. package/dist/shared/types/index.d.ts +2 -0
  280. package/dist/shared/utils/canvasUtils.d.ts +16 -0
  281. package/dist/shared/utils/commonUtils.d.ts +28 -0
  282. package/dist/shared/utils/csvUtils.d.ts +7 -0
  283. package/dist/shared/utils/dateUtils.d.ts +5 -0
  284. package/dist/shared/utils/dndUtils.d.ts +16 -0
  285. package/dist/shared/utils/ezStyleUtils.d.ts +64 -0
  286. package/dist/shared/utils/formatUtils.d.ts +20 -0
  287. package/dist/shared/utils/imperativeApiUtils.d.ts +36 -0
  288. package/dist/shared/utils/index.d.ts +11 -0
  289. package/dist/shared/utils/renderUtils.d.ts +6 -0
  290. package/dist/shared/utils/serviceUtils.d.ts +10 -0
  291. package/dist/shared/utils/styleUtils.d.ts +66 -0
  292. package/dist/shared/utils/validationUtils.d.ts +16 -0
  293. package/package.json +101 -0
@@ -0,0 +1,101 @@
1
+ import { default as React } from 'react';
2
+ /**
3
+ * Base Component Types
4
+ */
5
+ export interface BaseComponentProps {
6
+ /**
7
+ * Unique identifier for the component instance
8
+ * @group Properties
9
+ */
10
+ id?: string;
11
+ /**
12
+ * Custom class names for styling
13
+ * @group Properties
14
+ */
15
+ className?: string;
16
+ /**
17
+ * Inline styles
18
+ * @group Properties
19
+ */
20
+ style?: React.CSSProperties;
21
+ /**
22
+ * Data attribute for testing
23
+ * @group Properties
24
+ */
25
+ dataTestId?: string;
26
+ /**
27
+ * Direction of the text (ltr, rtl, auto)
28
+ * @group Properties
29
+ */
30
+ dir?: 'ltr' | 'rtl' | 'auto';
31
+ }
32
+ /**
33
+ * State Types
34
+ */
35
+ export interface State<T> {
36
+ data: T;
37
+ loading: boolean;
38
+ error: Error | null;
39
+ initialized: boolean;
40
+ }
41
+ /**
42
+ * Event Types
43
+ */
44
+ export interface BaseEvent {
45
+ timestamp: Date;
46
+ source: string;
47
+ }
48
+ export interface SelectionEvent<T> extends BaseEvent {
49
+ selected: T[];
50
+ deselected: T[];
51
+ changed: boolean;
52
+ }
53
+ /**
54
+ * Service Types
55
+ */
56
+ export interface Service<T> {
57
+ name: string;
58
+ initialize(): Promise<void>;
59
+ cleanup(): void;
60
+ getState(): T;
61
+ setState(state: T): void;
62
+ }
63
+ /**
64
+ * Utility Types
65
+ */
66
+ export type DeepPartial<T> = {
67
+ [P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P];
68
+ };
69
+ export type PickPartial<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
70
+ /**
71
+ * Tree Manipulation Types
72
+ */
73
+ export interface TreeNode {
74
+ id: string;
75
+ label: string;
76
+ children?: TreeNode[];
77
+ icon?: React.ReactNode;
78
+ level?: number;
79
+ parentId?: string;
80
+ isLeaf?: boolean;
81
+ isLoading?: boolean;
82
+ isLoaded?: boolean;
83
+ [key: string]: any;
84
+ }
85
+ /**
86
+ * Filter Utilities Types
87
+ */
88
+ export type FilterOperator = 'contains' | 'doesNotContain' | 'shouldContain' | 'equals' | 'notEquals' | 'doesNotEqual' | 'startsWith' | 'endsWith' | 'empty' | 'notEmpty' | 'gt' | 'greaterThan' | 'lt' | 'lessThan' | 'gte' | 'greaterThanOrEqual' | 'lte' | 'lessThanOrEqual' | 'between';
89
+ export interface FilterRule {
90
+ kind: 'rule';
91
+ id: string;
92
+ field: string;
93
+ operator: FilterOperator;
94
+ value: any;
95
+ }
96
+ export interface FilterGroup {
97
+ kind: 'group';
98
+ id: string;
99
+ logic: 'AND' | 'OR';
100
+ filters: (FilterRule | FilterGroup)[];
101
+ }
@@ -0,0 +1,2 @@
1
+ export * from './BaseProps';
2
+ export * from './commonTypes';
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Helper to convert stroke points to SVG path data (Quadratic Bezier).
3
+ */
4
+ export declare function getSvgPathFromStroke(stroke: number[][]): string;
5
+ /**
6
+ * Standardized way to get a stroke path string from an outline or points with options.
7
+ */
8
+ export declare function getStrokePath(stroke: number[][], options?: {
9
+ size?: number;
10
+ thinning?: number;
11
+ smoothing?: number;
12
+ streamline?: number;
13
+ simulatePressure?: boolean;
14
+ start?: any;
15
+ end?: any;
16
+ }): string;
@@ -0,0 +1,28 @@
1
+ import { TreeNode, FilterGroup, FilterRule } from '../types/commonTypes';
2
+ import * as formatters from './formatUtils';
3
+ /**
4
+ * Data Transformation Utilities
5
+ */
6
+ export declare function transformData<T>(data: any[], transformFn: (item: any) => T): T[];
7
+ /**
8
+ * Validation Utilities
9
+ */
10
+ export declare const validateRequired: (value: any) => import('./validationUtils').ValidationResult;
11
+ /**
12
+ * Formatting Utilities
13
+ */
14
+ export declare const currencyFormatter: Intl.NumberFormat;
15
+ export declare const numberFormatter: Intl.NumberFormat;
16
+ export declare const percentFormatter: Intl.NumberFormat;
17
+ export declare const formatNumber: typeof formatters.formatNumber;
18
+ export declare const formatDate: typeof formatters.formatDate;
19
+ /**
20
+ * Tree Manipulation Utilities
21
+ */
22
+ export declare const findNodeById: (nodes: TreeNode[], id: string) => TreeNode | undefined;
23
+ export declare const updateNodeInNodes: (nodes: TreeNode[], id: string, updates: Partial<TreeNode>) => TreeNode[];
24
+ /**
25
+ * Filter Utilities
26
+ */
27
+ export declare const checkRule: (rule: FilterRule, getValue: (field: string) => any) => boolean;
28
+ export declare const checkGroup: (group: FilterGroup, getValue: (field: string) => any) => boolean;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Utility to convert an array of objects to a CSV string.
3
+ */
4
+ export declare function convertToCSV(data: any[], columns: {
5
+ id: string;
6
+ header: string;
7
+ }[]): string;
@@ -0,0 +1,5 @@
1
+ export declare const dateUtils: {
2
+ formatDate: (date: Date | string | number | null | undefined, formatStr?: string) => string;
3
+ formatDateTime: (date: Date | string | number | null | undefined, formatStr?: string) => string;
4
+ isValidDate: (date: any) => boolean;
5
+ };
@@ -0,0 +1,16 @@
1
+ import { DragEndEvent } from '@dnd-kit/core';
2
+ /**
3
+ * Shared DnD utilities for components.
4
+ */
5
+ /**
6
+ * Basic arrayMove implementation to avoid dependency on @dnd-kit/sortable
7
+ */
8
+ export declare const arrayMove: <T>(array: T[], from: number, to: number) => T[];
9
+ /**
10
+ * Helper to handle basic array reordering after drag and drop
11
+ */
12
+ export declare const reorderArray: <T>(items: T[], event: DragEndEvent) => T[];
13
+ /**
14
+ * Checks if a drop is valid based on types
15
+ */
16
+ export declare const isValidDrop: (activeType: string, overType: string, allowedTypes: string[]) => boolean;
@@ -0,0 +1,64 @@
1
+ import { ClassValue } from 'clsx';
2
+ /**
3
+ * Merges Tailwind classes safely
4
+ */
5
+ export declare function cn(...inputs: ClassValue[]): string;
6
+ /**
7
+ * Shared density styles for all components
8
+ */
9
+ export declare const densityStyles: {
10
+ compact: string;
11
+ standard: string;
12
+ comfortable: string;
13
+ };
14
+ /**
15
+ * Helper to get density class based on prop
16
+ */
17
+ export declare const getDensityClass: (density?: "compact" | "standard" | "comfortable") => string;
18
+ /**
19
+ * Common flex container styles
20
+ */
21
+ export declare const flexCenter = "flex items-center justify-center";
22
+ export declare const flexBetween = "flex items-center justify-between";
23
+ export declare const flexStart = "flex items-center justify-start";
24
+ export declare const flexEnd = "flex items-center justify-end";
25
+ export declare const flexColumn = "flex flex-col";
26
+ /**
27
+ * Common grid styles
28
+ */
29
+ export declare const gridCenter = "grid place-items-center";
30
+ /**
31
+ * Common interactive element styles
32
+ */
33
+ export declare const interactiveStyles: {
34
+ base: string;
35
+ hover: string;
36
+ active: string;
37
+ disabled: string;
38
+ };
39
+ /**
40
+ * Helper to generate interactive classes
41
+ */
42
+ export declare const getInteractiveClass: (disabled?: boolean) => string;
43
+ /**
44
+ * Common border styles
45
+ */
46
+ export declare const borderStyles: {
47
+ default: string;
48
+ bottom: string;
49
+ top: string;
50
+ left: string;
51
+ right: string;
52
+ none: string;
53
+ };
54
+ /**
55
+ * Scrollbar utilities (for custom scrollbars if needed)
56
+ */
57
+ export declare const scrollbarStyles: {
58
+ hidden: string;
59
+ thin: string;
60
+ };
61
+ /**
62
+ * Text ellipsis styles
63
+ */
64
+ export declare const ellipsisStyles = "truncate whitespace-nowrap overflow-hidden text-ellipsis";
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Standard formatters with fallback to en-US.
3
+ * These are static - use the functional versions for dynamic locale support.
4
+ */
5
+ export declare const currencyFormatter: Intl.NumberFormat;
6
+ export declare const numberFormatter: Intl.NumberFormat;
7
+ export declare const percentFormatter: Intl.NumberFormat;
8
+ export declare function formatNumber(value: number | null | undefined, options?: {
9
+ format?: 'integer' | 'float' | 'currency' | 'percentage';
10
+ decimals?: number;
11
+ locale?: string;
12
+ currency?: string;
13
+ }): string;
14
+ export declare function formatDate(value: Date | string | null | undefined, options?: {
15
+ format?: 'short' | 'long' | 'relative' | 'iso';
16
+ locale?: string;
17
+ }): string;
18
+ export declare const formatCurrency: (value: number, locale?: string, currency?: string) => string;
19
+ export declare const formatPercent: (value: number, locale?: string) => string;
20
+ export declare const formatDateTime: (date: Date | string, locale?: string) => string;
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Creates common CRUD methods for imperative APIs
3
+ */
4
+ export declare const createCRUDMethods: <T>(getData: () => T[] | Promise<T[]>, addItem: (item: T) => void | Promise<any>, updateItem: (item: T) => void | Promise<any>, deleteItem: (id: string | number) => void | Promise<void>) => {
5
+ getData: () => T[] | Promise<T[]>;
6
+ addRecord: (item: T) => void | Promise<any>;
7
+ updateRecord: (item: T) => void | Promise<any>;
8
+ deleteRecord: (id: string | number) => void | Promise<void>;
9
+ };
10
+ /**
11
+ * Creates common spinner control methods
12
+ */
13
+ export declare const createSpinnerMethods: (showSpinner: () => void, hideSpinner: () => void) => {
14
+ showSpinner: () => void;
15
+ hideSpinner: () => void;
16
+ };
17
+ /**
18
+ * Creates common refresh methods
19
+ */
20
+ export declare const createRefreshMethods: (refresh: () => void, forceUpdate?: () => void) => Record<string, any>;
21
+ /**
22
+ * Creates common selection methods
23
+ */
24
+ export declare const createSelectionMethods: <T>(selectItem: (id: string | number) => void, selectItems: (ids: (string | number)[]) => void, clearSelection: () => void, selectAll: () => void, getSelectedItems: () => T[], selectRowByRange?: (start: string | number, end: string | number) => void) => Record<string, any>;
25
+ /**
26
+ * Creates common navigation methods
27
+ */
28
+ export declare const createNavigationMethods: (scrollToIndex: (index: number) => void, goToPage?: (page: number) => void) => Record<string, any>;
29
+ /**
30
+ * Creates common export methods
31
+ */
32
+ export declare const createExportMethods: (exportToCsv?: () => void, exportToExcel?: () => void, print?: () => void) => Record<string, any>;
33
+ /**
34
+ * Validates imperative API for completeness and consistency
35
+ */
36
+ export declare const validateImperativeAPI: (api: Record<string, any>, requiredMethods: string[]) => boolean;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Shared utilities index
3
+ * Exports all shared utilities for easy importing
4
+ */
5
+ export * from './imperativeApiUtils';
6
+ export * from './styleUtils';
7
+ export { transformData, findNodeById, updateNodeInNodes, checkRule, checkGroup } from './commonUtils';
8
+ export * from './serviceUtils';
9
+ export * from './validationUtils';
10
+ export * from './formatUtils';
11
+ export * from './dndUtils';
@@ -0,0 +1,6 @@
1
+ import { default as React } from 'react';
2
+ /**
3
+ * Renders a component or node that can be passed as a prop.
4
+ * Handles React elements, functional/class components, and raw nodes.
5
+ */
6
+ export declare const renderInjected: (ComponentOrNode: any, props?: any) => React.ReactNode;
@@ -0,0 +1,10 @@
1
+ import { ServiceRegistry, IService } from '../services/ServiceRegistry';
2
+ /**
3
+ * Ensures a service is registered in the registry and returns it.
4
+ * If not present, creates a new instance using the factory.
5
+ */
6
+ export declare const getOrRegisterService: <T extends IService>(registry: ServiceRegistry, key: string, factory: () => T) => T;
7
+ /**
8
+ * Ensures multiple services are registered in the registry.
9
+ */
10
+ export declare const ensureServices: (registry: ServiceRegistry, services: Record<string, () => IService>) => void;
@@ -0,0 +1,66 @@
1
+ /**
2
+ * Shared style utilities to reduce inline style computations
3
+ */
4
+ export type Density = 'compact' | 'standard' | 'comfortable';
5
+ export type PinnedPosition = 'left' | 'right' | false;
6
+ /**
7
+ * Get density-based class names for height
8
+ */
9
+ export declare const getDensityHeightClasses: (density?: Density) => string;
10
+ /**
11
+ * Get density-based class names for padding
12
+ */
13
+ export declare const getDensityPaddingClasses: (density?: Density) => string;
14
+ /**
15
+ * Get density-based text size classes
16
+ */
17
+ export declare const getDensityTextClasses: (density?: Density) => string;
18
+ /**
19
+ * Get complete density classes (combines height, padding, text)
20
+ */
21
+ export declare const getDensityClasses: (density?: Density) => string;
22
+ /**
23
+ * Get pinned column/row styles
24
+ */
25
+ export declare const getPinnedStyles: (isPinned: PinnedPosition, position: number, dir?: "ltr" | "rtl") => React.CSSProperties;
26
+ /**
27
+ * Get pinned column/row class names
28
+ */
29
+ export declare const getPinnedClasses: (isPinned: PinnedPosition, dir?: "ltr" | "rtl") => string;
30
+ /**
31
+ * Get alignment classes
32
+ */
33
+ export declare const getAlignmentClasses: (align?: "left" | "center" | "right", dir?: "ltr" | "rtl") => string;
34
+ /**
35
+ * Get cell/row selection classes
36
+ * Excel-like: Uses border for focus (thick border on all sides)
37
+ */
38
+ export declare const getSelectionClasses: (isSelected: boolean, isFocused: boolean) => string;
39
+ /**
40
+ * Get hover classes
41
+ */
42
+ export declare const getHoverClasses: (enabled?: boolean) => string;
43
+ /**
44
+ * Get drag-and-drop classes
45
+ */
46
+ export declare const getDragDropClasses: (isDragging: boolean, isOver: boolean) => string;
47
+ /**
48
+ * Get border classes
49
+ */
50
+ export declare const getBorderClasses: (position?: "top" | "bottom" | "left" | "right" | "all", variant?: "default" | "muted") => string;
51
+ /**
52
+ * Get truncation/wrapping classes
53
+ */
54
+ export declare const getTextOverflowClasses: (mode?: "truncate" | "wrap" | "ellipsis", enableTooltip?: boolean) => string;
55
+ /**
56
+ * Get sticky classes
57
+ */
58
+ export declare const getStickyClasses: (position?: "top" | "bottom", zIndex?: number) => string;
59
+ /**
60
+ * Get grid line classes
61
+ */
62
+ export declare const getGridLinesClasses: (gridLines?: "Both" | "Horizontal" | "Vertical" | "None", isLastColumn?: boolean, dir?: "ltr" | "rtl") => string;
63
+ /**
64
+ * Combine multiple style utilities
65
+ */
66
+ export declare const combineStyleClasses: (...classes: (string | undefined | false)[]) => string;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Shared validation utilities for components.
3
+ */
4
+ export type ValidationResult = boolean | string;
5
+ export interface ValidationProps<T = any> {
6
+ fieldName: string;
7
+ value: any;
8
+ data: T;
9
+ }
10
+ export declare const validateRequired: (value: any) => ValidationResult;
11
+ export declare const validateEmail: (value: string) => ValidationResult;
12
+ export declare const validateNumber: (value: any) => ValidationResult;
13
+ /**
14
+ * Helper to combine multiple validation results
15
+ */
16
+ export declare const combineValidation: (...results: ValidationResult[]) => ValidationResult;
package/package.json ADDED
@@ -0,0 +1,101 @@
1
+ {
2
+ "name": "ezux",
3
+ "version": "1.0.0",
4
+ "description": "A comprehensive, type-safe TanStack First Advance component library designed for modern enterprise applications.",
5
+ "keywords": [
6
+ "react",
7
+ "components",
8
+ "table",
9
+ "scheduler",
10
+ "kanban",
11
+ "dashboard",
12
+ "enterprise",
13
+ "ui-kit",
14
+ "tanstack",
15
+ "typescript"
16
+ ],
17
+ "homepage": "https://ezux.dev",
18
+ "repository": {
19
+ "type": "git",
20
+ "url": "https://github.com/ezux-org/ezux"
21
+ },
22
+ "author": "Zeeshan Sayed",
23
+ "license": "MIT",
24
+ "type": "module",
25
+ "sideEffects": false,
26
+ "files": [
27
+ "dist"
28
+ ],
29
+ "main": "./dist/ezux.umd.js",
30
+ "module": "./dist/ezux.es.js",
31
+ "types": "./dist/index.d.ts",
32
+ "exports": {
33
+ ".": {
34
+ "import": "./dist/ezux.es.js",
35
+ "require": "./dist/ezux.umd.js"
36
+ }
37
+ },
38
+ "scripts": {
39
+ "dev": "vite",
40
+ "build": "tsc && vite build",
41
+ "preview": "vite preview",
42
+ "test": "vitest run",
43
+ "test:ui": "vitest --ui",
44
+ "test:watch": "vitest",
45
+ "test:coverage": "vitest run --coverage"
46
+ },
47
+ "peerDependencies": {
48
+ "@dnd-kit/modifiers": "^9.0.0",
49
+ "@dnd-kit/utilities": "^3.2.2",
50
+ "@radix-ui/react-context-menu": "^2.2.16",
51
+ "@radix-ui/react-dropdown-menu": "^2.1.16",
52
+ "@radix-ui/react-label": "^2.1.8",
53
+ "@radix-ui/react-radio-group": "^1.3.8",
54
+ "@radix-ui/react-scroll-area": "^1.2.10",
55
+ "@radix-ui/react-slot": "^1.2.4",
56
+ "@radix-ui/react-switch": "^1.2.6",
57
+ "@radix-ui/react-tooltip": "^1.2.8",
58
+ "@tanstack/react-form": "^1.28.0",
59
+ "@tanstack/react-table": "^8.21.3",
60
+ "@tanstack/react-virtual": "^3.13.18",
61
+ "@tanstack/store": "^0.8.0",
62
+ "@tanstack/virtual-core": "^3.13.18",
63
+ "dompurify": "^3.3.1",
64
+ "react": "^19.2.3",
65
+ "react-dom": "^19.2.3",
66
+ "rrule": "^2.8.1"
67
+ },
68
+ "dependencies": {
69
+ "@dnd-kit/core": "^6.3.1",
70
+ "@types/dompurify": "^3.0.5",
71
+ "class-variance-authority": "^0.7.1",
72
+ "clsx": "^2.1.1",
73
+ "cmdk": "^1.1.1",
74
+ "country-flag-icons": "^1.6.8",
75
+ "date-fns": "^4.1.0",
76
+ "lucide-react": "^0.563.0",
77
+ "tailwind-merge": "^3.4.0",
78
+ "tailwindcss-animate": "^1.0.7"
79
+ },
80
+ "devDependencies": {
81
+ "@tailwindcss/postcss": "^4.1.18",
82
+ "@testing-library/jest-dom": "^6.9.1",
83
+ "@testing-library/react": "^16.3.2",
84
+ "@testing-library/user-event": "^14.6.1",
85
+ "@types/node": "^25.2.2",
86
+ "@types/react": "^19.2.13",
87
+ "@types/react-dom": "^19.2.3",
88
+ "@vitejs/plugin-react": "^5.1.4",
89
+ "autoprefixer": "^10.4.24",
90
+ "dompurify": "^3.3.1",
91
+ "happy-dom": "^20.6.0",
92
+ "postcss": "^8.5.6",
93
+ "rrule": "^2.8.1",
94
+ "tailwindcss": "^4.1.18",
95
+ "tw-animate-css": "^1.4.0",
96
+ "typescript": "^5.9.3",
97
+ "vite": "^7.3.1",
98
+ "vite-plugin-dts": "^4.5.4",
99
+ "vitest": "^4.0.18"
100
+ }
101
+ }