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,789 @@
1
+ import { IService } from '../../shared/services/ServiceRegistry';
2
+ import { SharedBaseProps } from '../../shared/types/BaseProps';
3
+ /**
4
+ * Represents the entire Kanban board structure.
5
+ * @group Models
6
+ */
7
+ export interface KanbanBoard {
8
+ /** Unique identifier for the board. @group Properties */
9
+ id: string;
10
+ /** Display name of the board. @group Properties */
11
+ name: string;
12
+ /** Optional description of the board. @group Properties */
13
+ description?: string;
14
+ /** List of columns in the board. @group Properties */
15
+ columns: KanbanColumn[];
16
+ /** List of swimlanes (if enabled). @group Properties */
17
+ swimlanes?: KanbanSwimlane[];
18
+ /** List of all cards on the board. @group Properties */
19
+ cards: KanbanCard[];
20
+ /** User permissions for this board. @group Properties */
21
+ permissions?: KanbanPermissions;
22
+ /** Board-specific settings. @group Properties */
23
+ settings: BoardSettings;
24
+ /** Custom field definitions. @group Properties */
25
+ customFields?: CustomFieldDefinition[];
26
+ /** Creation timestamp. @group Properties */
27
+ createdAt: Date;
28
+ /** Last update timestamp. @group Properties */
29
+ updatedAt: Date;
30
+ }
31
+ /**
32
+ * Represents a swimlane in the Kanban board.
33
+ * @group Models
34
+ */
35
+ export interface KanbanSwimlane {
36
+ /** Unique identifier for the swimlane. @group Properties */
37
+ id: string;
38
+ /** Display name of the swimlane. @group Properties */
39
+ name: string;
40
+ /** Type of swimlane grouping. @group Properties */
41
+ type: 'team' | 'priority' | 'custom';
42
+ /** Optional background or accent color. @group Properties */
43
+ color?: string;
44
+ /** Vertical sorting position. @group Properties */
45
+ position: number;
46
+ /** Whether the swimlane is currently collapsed. @group State */
47
+ isCollapsed?: boolean;
48
+ }
49
+ /**
50
+ * Represents a column in the Kanban board.
51
+ * @group Models
52
+ */
53
+ export interface KanbanColumn {
54
+ /** Unique identifier for the column. @group Properties */
55
+ id: string;
56
+ /** Display name of the column. @group Properties */
57
+ name: string;
58
+ /** Header color of the column. @group Properties */
59
+ color?: string;
60
+ /** Icon for the column header. @group Properties */
61
+ icon?: string;
62
+ /** Work-in-progress limit for the column. @group Properties */
63
+ wipLimit?: number;
64
+ /** Sorting position of the column. @group Properties */
65
+ position: number;
66
+ /** Whether the column is collapsed. @group State */
67
+ isCollapsed?: boolean;
68
+ }
69
+ /**
70
+ * Configuration settings for a Kanban board.
71
+ * @group Models
72
+ */
73
+ export interface BoardSettings {
74
+ /** Whether to allow drag and drop. @group Properties */
75
+ allowDragAndDrop: boolean;
76
+ /** Whether to allow multi-select. @group Properties */
77
+ allowMultiSelect: boolean;
78
+ /** Whether to respect WIP limits. @group Properties */
79
+ enableWipLimits: boolean;
80
+ /** Initial view mode. @group Properties */
81
+ defaultView: 'standard' | 'swimlane' | 'timeline';
82
+ }
83
+ export type CardType = 'standard' | 'epic' | 'milestone' | 'template';
84
+ /**
85
+ * Represents a single task or card on the Kanban board.
86
+ */
87
+ export interface KanbanCard {
88
+ /** Unique identifier for the card */
89
+ id: string;
90
+ /** Type of card (e.g., standard, epic) */
91
+ type: CardType;
92
+ /** Title of the card */
93
+ title: string;
94
+ /** Description of the card */
95
+ description?: string;
96
+ /** ID of the column the card belongs to */
97
+ columnId: string;
98
+ /** ID of the swimlane the card belongs to (if any) */
99
+ swimlaneId?: string;
100
+ /** Sorting position within the column */
101
+ position: number;
102
+ /** Users assigned to this card */
103
+ assignees: CardAssignee[];
104
+ dueDate?: Date;
105
+ startDate?: Date;
106
+ completedAt?: Date;
107
+ tags: CardTag[];
108
+ priority?: 'low' | 'medium' | 'high' | 'critical';
109
+ metadata: Record<string, any>;
110
+ coverImage?: string;
111
+ checklists?: Checklist[];
112
+ attachments?: Attachment[];
113
+ comments?: Comment[];
114
+ customFieldValues?: Record<string, any>;
115
+ timeTracking?: {
116
+ estimated: number;
117
+ actual: number;
118
+ };
119
+ activity?: CardActivity[];
120
+ parentId?: string;
121
+ subtasks?: {
122
+ id: string;
123
+ title: string;
124
+ isCompleted: boolean;
125
+ }[];
126
+ createdBy: string;
127
+ createdAt: Date;
128
+ updatedBy: string;
129
+ updatedAt: Date;
130
+ isArchived?: boolean;
131
+ }
132
+ export interface CardAssignee {
133
+ id: string;
134
+ name: string;
135
+ email?: string;
136
+ avatarUrl?: string;
137
+ role?: 'owner' | 'assignee' | 'follower';
138
+ }
139
+ export interface CardTag {
140
+ id: string;
141
+ name: string;
142
+ color: string;
143
+ }
144
+ export interface Checklist {
145
+ id: string;
146
+ title: string;
147
+ items: ChecklistItem[];
148
+ }
149
+ export interface ChecklistItem {
150
+ id: string;
151
+ text: string;
152
+ isChecked: boolean;
153
+ }
154
+ export interface Attachment {
155
+ id: string;
156
+ name: string;
157
+ url: string;
158
+ type: string;
159
+ size?: number;
160
+ uploadedAt: Date;
161
+ }
162
+ export interface Comment {
163
+ id: string;
164
+ text: string;
165
+ authorId: string;
166
+ authorName: string;
167
+ isAutoGenerated?: boolean;
168
+ createdAt: Date;
169
+ }
170
+ export interface CardActivity {
171
+ id: string;
172
+ type: 'create' | 'move' | 'update' | 'comment' | 'attachment' | 'delete';
173
+ text: string;
174
+ userId: string;
175
+ userName: string;
176
+ createdAt: Date;
177
+ metadata?: Record<string, any>;
178
+ }
179
+ export interface CustomFieldDefinition {
180
+ id: string;
181
+ name: string;
182
+ type: 'text' | 'number' | 'date' | 'select' | 'checkbox';
183
+ options?: string[];
184
+ required?: boolean;
185
+ }
186
+ export interface KanbanPermissions {
187
+ userRole: 'admin' | 'editor' | 'viewer' | 'guest';
188
+ allowedActions: Array<'createCard' | 'updateCard' | 'deleteCard' | 'moveCard' | 'assignCard' | 'addColumn' | 'editColumn' | 'deleteColumn' | 'addSwimlane' | 'editSwimlane' | 'deleteSwimlane'>;
189
+ }
190
+ export interface FilterConfig {
191
+ tags?: string[];
192
+ assignees?: string[];
193
+ priority?: Array<'low' | 'medium' | 'high' | 'critical'>;
194
+ columns?: string[];
195
+ }
196
+ /**
197
+ * Props for the EzKanban component.
198
+ */
199
+ export interface EzKanbanProps extends SharedBaseProps {
200
+ /**
201
+ * The board data object.
202
+ * @group Properties
203
+ */
204
+ board: KanbanBoard;
205
+ /**
206
+ * Callback when the board state changes.
207
+ * @group Events
208
+ */
209
+ onBoardChange?: (board: KanbanBoard) => void;
210
+ /**
211
+ * The current view mode.
212
+ * @group Properties
213
+ */
214
+ view?: 'standard' | 'swimlane' | 'timeline';
215
+ /**
216
+ * User permissions config.
217
+ * @group Properties
218
+ */
219
+ permissions?: KanbanPermissions;
220
+ /**
221
+ * Enable read-only mode.
222
+ * @group Properties
223
+ */
224
+ readOnly?: boolean;
225
+ /**
226
+ * Allow drag and drop.
227
+ * @group Properties
228
+ */
229
+ allowDragAndDrop?: boolean;
230
+ /**
231
+ * Allow selecting multiple cards.
232
+ * @group Properties
233
+ */
234
+ allowMultiSelect?: boolean;
235
+ /**
236
+ * Confirm before deleting items.
237
+ * @group Properties
238
+ */
239
+ confirmOnDelete?: boolean;
240
+ /**
241
+ * Enforce strict WIP limits.
242
+ * @group Properties
243
+ */
244
+ wipStrict?: boolean;
245
+ /**
246
+ * Locale for the board.
247
+ * @group Properties
248
+ */
249
+ locale?: string;
250
+ /**
251
+ * Enable RTL layout.
252
+ * @group Properties
253
+ */
254
+ rtl?: boolean;
255
+ /**
256
+ * Color theme.
257
+ * @group Properties
258
+ */
259
+ theme?: 'light' | 'dark' | 'system';
260
+ /**
261
+ * Text direction.
262
+ * @group Properties
263
+ */
264
+ dir?: 'ltr' | 'rtl' | 'auto';
265
+ /**
266
+ * Function to determine card class names.
267
+ * @group Properties
268
+ */
269
+ cardClassName?: (card: KanbanCard) => string | undefined;
270
+ /**
271
+ * List of plugins to enhance functionality.
272
+ * @group Extensibility
273
+ */
274
+ plugins?: KanbanPlugin[];
275
+ /**
276
+ * Custom renderers for various board elements.
277
+ * @group Extensibility
278
+ */
279
+ customRenderers?: {
280
+ card?: (card: KanbanCard, defaultContent: React.JSX.Element) => React.JSX.Element;
281
+ cardContent?: (card: KanbanCard) => React.JSX.Element;
282
+ column?: (column: KanbanColumn) => React.JSX.Element;
283
+ cardEditor?: (props: {
284
+ isOpen: boolean;
285
+ card?: Partial<KanbanCard>;
286
+ onClose: () => void;
287
+ onSave: (card: Partial<KanbanCard>) => void;
288
+ onDelete?: (cardId: string) => void;
289
+ columns: KanbanColumn[];
290
+ }) => React.ReactNode;
291
+ };
292
+ /**
293
+ * Callback when a new card is being created.
294
+ * @group Events
295
+ */
296
+ onCardCreate?: (draft: Partial<KanbanCard>) => void | Promise<void>;
297
+ /**
298
+ * Callback when a card is updated.
299
+ * @group Events
300
+ */
301
+ onCardUpdate?: (card: KanbanCard, changeType: 'move' | 'edit' | 'assign' | 'complete') => Promise<void> | void;
302
+ /**
303
+ * Callback when a card is deleted.
304
+ * @group Events
305
+ */
306
+ onCardDelete?: (cardId: string) => void | Promise<void>;
307
+ /**
308
+ * Callback when a card is clicked.
309
+ * @group Events
310
+ */
311
+ onCardClick?: (card: KanbanCard) => void;
312
+ /**
313
+ * Callback when a card is double-clicked.
314
+ * @group Events
315
+ */
316
+ onCardDoubleClick?: (card: KanbanCard) => void;
317
+ /**
318
+ * Callback when cards are selected.
319
+ * @group Events
320
+ */
321
+ onCardSelect?: (cardIds: string[]) => void;
322
+ /**
323
+ * Callback when a column is created.
324
+ * @group Events
325
+ */
326
+ onColumnCreate?: (column: Partial<KanbanColumn>) => void | Promise<void>;
327
+ /**
328
+ * Callback when a column is updated.
329
+ * @group Events
330
+ */
331
+ onColumnUpdate?: (column: KanbanColumn) => void | Promise<void>;
332
+ /**
333
+ * Callback when a column is deleted.
334
+ * @group Events
335
+ */
336
+ onColumnDelete?: (columnId: string) => void | Promise<void>;
337
+ /**
338
+ * Callback when a swimlane is created.
339
+ * @group Events
340
+ */
341
+ onSwimlaneCreate?: (swimlane: Partial<KanbanSwimlane>) => void | Promise<void>;
342
+ /**
343
+ * Callback when a swimlane is updated.
344
+ * @group Events
345
+ */
346
+ onSwimlaneUpdate?: (swimlane: KanbanSwimlane) => void | Promise<void>;
347
+ /**
348
+ * Callback when a swimlane is deleted.
349
+ * @group Events
350
+ */
351
+ onSwimlaneDelete?: (swimlaneId: string) => void | Promise<void>;
352
+ /**
353
+ * Configuration for swimlanes.
354
+ * @group Enterprise
355
+ */
356
+ swimlaneSettings?: {
357
+ allowDragBetweenSwimlanes?: boolean;
358
+ allowReordering?: boolean;
359
+ collapsible?: boolean;
360
+ emptySwimlaneTemplate?: React.ReactNode;
361
+ };
362
+ /**
363
+ * Configuration for columns.
364
+ * @group Enterprise
365
+ */
366
+ columnSettings?: {
367
+ minWidth?: number;
368
+ maxWidth?: number;
369
+ allowCollapse?: boolean;
370
+ showItemCount?: boolean;
371
+ };
372
+ /**
373
+ * Configuration for drag and drop behavior.
374
+ * @group Enterprise
375
+ */
376
+ dragSettings?: {
377
+ dragClass?: string;
378
+ dropClass?: string;
379
+ dragClone?: boolean;
380
+ minDragDistance?: number;
381
+ };
382
+ /**
383
+ * Configuration for dialogs (editor, confirmation).
384
+ * @group Enterprise
385
+ */
386
+ dialogSettings?: {
387
+ modalZIndex?: number;
388
+ closeOnEscape?: boolean;
389
+ showCloseIcon?: boolean;
390
+ };
391
+ /**
392
+ * Enable tooltips for cards.
393
+ * @group Properties
394
+ */
395
+ enableTooltip?: boolean;
396
+ /**
397
+ * Template for card tooltips.
398
+ * @group Templates
399
+ */
400
+ tooltipTemplate?: (data: KanbanCard) => React.ReactNode;
401
+ /**
402
+ * Callback when card drag starts.
403
+ * @group Events
404
+ */
405
+ onCardDragStart?: (args: {
406
+ card: KanbanCard;
407
+ columnId: string;
408
+ cancel?: boolean;
409
+ }) => void;
410
+ /**
411
+ * Callback when card drag stops.
412
+ * @group Events
413
+ */
414
+ onCardDragStop?: (args: {
415
+ card: KanbanCard;
416
+ columnId: string;
417
+ cancel?: boolean;
418
+ }) => void;
419
+ /**
420
+ * Callback when card enters a column.
421
+ * @group Events
422
+ */
423
+ onCardDragEnter?: (args: {
424
+ card: KanbanCard;
425
+ targetColumnId: string;
426
+ }) => void;
427
+ /**
428
+ * Callback when card leaves a column.
429
+ * @group Events
430
+ */
431
+ onCardDragLeave?: (args: {
432
+ card: KanbanCard;
433
+ targetColumnId: string;
434
+ }) => void;
435
+ /**
436
+ * Callback before card render.
437
+ * @group Events
438
+ */
439
+ onBeforeCardRender?: (args: {
440
+ card: KanbanCard;
441
+ }) => void;
442
+ /**
443
+ * Callback when swimlane toggle.
444
+ * @group Events
445
+ */
446
+ onSwimlaneToggle?: (args: {
447
+ swimlaneId: string;
448
+ isCollapsed: boolean;
449
+ }) => void;
450
+ /**
451
+ * Threshold for virtualization.
452
+ * @group Performance
453
+ */
454
+ virtualizationThreshold?: number;
455
+ /**
456
+ * Accessibility configuration.
457
+ * @group Accessibility
458
+ */
459
+ ariaConfig?: Record<string, string>;
460
+ /**
461
+ * Enable keyboard navigation.
462
+ * @group Accessibility
463
+ */
464
+ keyboardNavigation?: boolean;
465
+ }
466
+ export interface KanbanPlugin {
467
+ name?: string;
468
+ onBeforeCardRender?: (card: Readonly<KanbanCard>) => KanbanCard | void;
469
+ onAfterCardRender?: (card: KanbanCard, element: HTMLElement) => void;
470
+ onAfterDragEnd?: (card: KanbanCard, target: {
471
+ columnId: string;
472
+ }) => void;
473
+ onBeforeDragStart?: (card: KanbanCard) => boolean | void;
474
+ onBeforeOptimisticUpdate?: (card: KanbanCard) => Partial<KanbanCard> | void;
475
+ onUpdateRollback?: (originalCard: KanbanCard, error?: Error) => void;
476
+ onWipLimitExceeded?: (columnId: string, currentCount: number, limit: number) => void;
477
+ cleanup?: () => void;
478
+ }
479
+ export interface EzKanbanRef<TCard = KanbanCard> {
480
+ /**
481
+ * Add a new card.
482
+ * @group Methods
483
+ */
484
+ addCard(draft: Partial<TCard>): Promise<TCard>;
485
+ /**
486
+ * Update an existing card.
487
+ * @group Methods
488
+ */
489
+ updateCard(cardId: string, updates: Partial<TCard>): Promise<any>;
490
+ /**
491
+ * Delete a card by ID.
492
+ * @group Methods
493
+ */
494
+ deleteCard(cardId: string): Promise<any>;
495
+ /**
496
+ * Move a card to a new column/swimlane.
497
+ * @group Methods
498
+ */
499
+ moveCard(cardId: string, targetColumnId: string, targetSwimlaneId?: string, targetPosition?: number): Promise<any>;
500
+ /**
501
+ * Duplicate a card.
502
+ * @group Methods
503
+ */
504
+ duplicateCard(cardId: string): Promise<TCard>;
505
+ /**
506
+ * Archive a card.
507
+ * @group Methods
508
+ */
509
+ archiveCard(cardId: string): Promise<any>;
510
+ /**
511
+ * Restore an archived card.
512
+ * @group Methods
513
+ */
514
+ restoreCard(cardId: string): Promise<any>;
515
+ /**
516
+ * Get a card by ID.
517
+ * @group Methods
518
+ */
519
+ getCard(cardId: string): TCard | undefined;
520
+ /**
521
+ * Get all cards.
522
+ * @group Methods
523
+ */
524
+ getCards(): TCard[];
525
+ /**
526
+ * Get cards in a specific column.
527
+ * @group Methods
528
+ */
529
+ getCardsInColumn(columnId: string): TCard[];
530
+ /**
531
+ * Get ordered cards in a column.
532
+ * @group Methods
533
+ */
534
+ getOrderedCards(columnId: string): TCard[];
535
+ /**
536
+ * Add a new column.
537
+ * @group Methods
538
+ */
539
+ addColumn(column: Partial<KanbanColumn>): Promise<KanbanColumn>;
540
+ /**
541
+ * Update a column.
542
+ * @group Methods
543
+ */
544
+ updateColumn(columnId: string, updates: Partial<KanbanColumn>): Promise<any>;
545
+ /**
546
+ * Delete a column.
547
+ * @group Methods
548
+ */
549
+ deleteColumn(columnId: string): Promise<any>;
550
+ /**
551
+ * Reorder columns.
552
+ * @group Methods
553
+ */
554
+ reorderColumns(columnIds: string[]): Promise<any>;
555
+ /**
556
+ * Collapse a column.
557
+ * @group Methods
558
+ */
559
+ collapseColumn(columnId: string): void;
560
+ /**
561
+ * Expand a column.
562
+ * @group Methods
563
+ */
564
+ expandColumn(columnId: string): void;
565
+ /**
566
+ * Get a column by ID.
567
+ * @group Methods
568
+ */
569
+ getColumn(columnId: string): KanbanColumn | undefined;
570
+ /**
571
+ * Get all columns.
572
+ * @group Methods
573
+ */
574
+ getColumns(): KanbanColumn[];
575
+ /**
576
+ * Add a new swimlane.
577
+ * @group Methods
578
+ */
579
+ addSwimlane(swimlane: Partial<KanbanSwimlane>): Promise<KanbanSwimlane>;
580
+ /**
581
+ * Update a swimlane.
582
+ * @group Methods
583
+ */
584
+ updateSwimlane(swimlaneId: string, updates: Partial<KanbanSwimlane>): Promise<any>;
585
+ /**
586
+ * Delete a swimlane.
587
+ * @group Methods
588
+ */
589
+ deleteSwimlane(swimlaneId: string): Promise<any>;
590
+ /**
591
+ * Reorder swimlanes.
592
+ * @group Methods
593
+ */
594
+ reorderSwimlanes(swimlaneIds: string[]): Promise<any>;
595
+ /**
596
+ * Collapse a swimlane.
597
+ * @group Methods
598
+ */
599
+ collapseSwimlane(swimlaneId: string): void;
600
+ /**
601
+ * Expand a swimlane.
602
+ * @group Methods
603
+ */
604
+ expandSwimlane(swimlaneId: string): void;
605
+ /**
606
+ * Get a swimlane by ID.
607
+ * @group Methods
608
+ */
609
+ getSwimlane(swimlaneId: string): KanbanSwimlane | undefined;
610
+ /**
611
+ * Get all swimlanes.
612
+ * @group Methods
613
+ */
614
+ getSwimlanes(): KanbanSwimlane[];
615
+ /**
616
+ * Select a card.
617
+ * @group Methods
618
+ */
619
+ selectCard(cardId: string): void;
620
+ /**
621
+ * Select multiple cards.
622
+ * @group Methods
623
+ */
624
+ selectCards(cardIds: string[]): void;
625
+ /**
626
+ * Deselect a card.
627
+ * @group Methods
628
+ */
629
+ deselectCard(cardId: string): void;
630
+ /**
631
+ * Deselect all cards.
632
+ * @group Methods
633
+ */
634
+ deselectAllCards(): void;
635
+ /**
636
+ * Get currently selected cards.
637
+ * @group Methods
638
+ */
639
+ getSelectedCards(): TCard[];
640
+ /**
641
+ * Focus a card.
642
+ * @group Methods
643
+ */
644
+ focusCard(cardId: string): void;
645
+ /**
646
+ * Highlight a card.
647
+ * @group Methods
648
+ */
649
+ highlightCard(cardId: string, duration?: number): void;
650
+ /**
651
+ * Set the current view.
652
+ * @group Methods
653
+ */
654
+ setView(view: 'standard' | 'swimlane' | 'timeline'): void;
655
+ /**
656
+ * Get the current view.
657
+ * @group Methods
658
+ */
659
+ getView(): 'standard' | 'swimlane' | 'timeline';
660
+ /**
661
+ * Scroll to a column.
662
+ * @group Methods
663
+ */
664
+ scrollToColumn(columnId: string, options?: ScrollIntoViewOptions): void;
665
+ /**
666
+ * Scroll to a card.
667
+ * @group Methods
668
+ */
669
+ scrollToCard(cardId: string, options?: ScrollIntoViewOptions): void;
670
+ /**
671
+ * Set the search query.
672
+ * @group Methods
673
+ */
674
+ setSearchQuery(query: string): void;
675
+ /**
676
+ * Get the search query.
677
+ * @group Methods
678
+ */
679
+ getSearchQuery(): string;
680
+ /**
681
+ * Set active filters.
682
+ * @group Methods
683
+ */
684
+ setActiveFilters(filters: FilterConfig): void;
685
+ /**
686
+ * Get active filters.
687
+ * @group Methods
688
+ */
689
+ getActiveFilters(): FilterConfig;
690
+ /**
691
+ * Clear all filters.
692
+ * @group Methods
693
+ */
694
+ clearFilters(): void;
695
+ /**
696
+ * Get filtered cards.
697
+ * @group Methods
698
+ */
699
+ getFilteredCards(): TCard[];
700
+ /**
701
+ * Get the full board object.
702
+ * @group Methods
703
+ */
704
+ getBoard(): KanbanBoard;
705
+ /**
706
+ * Replace the board object.
707
+ * @group Methods
708
+ */
709
+ setBoard(board: KanbanBoard): void;
710
+ /**
711
+ * Refresh the board layout.
712
+ * @group Methods
713
+ */
714
+ refresh(): Promise<void>;
715
+ /**
716
+ * Reset the board state.
717
+ * @group Methods
718
+ */
719
+ reset(): void;
720
+ /**
721
+ * Show the loading spinner.
722
+ * @group Methods
723
+ */
724
+ showSpinner(): void;
725
+ /**
726
+ * Hide the loading spinner.
727
+ * @group Methods
728
+ */
729
+ hideSpinner(): void;
730
+ /**
731
+ * Force a re-render.
732
+ * @group Methods
733
+ */
734
+ forceUpdate(): void;
735
+ /**
736
+ * Get board statistics.
737
+ * @group Methods
738
+ */
739
+ getStatistics(): {
740
+ totalCards: number;
741
+ totalColumns: number;
742
+ };
743
+ /**
744
+ * Validate the board state.
745
+ * @group Methods
746
+ */
747
+ validate(): {
748
+ isValid: boolean;
749
+ errors: string[];
750
+ };
751
+ }
752
+ /**
753
+ * Service interface for Kanban board data operations.
754
+ * @group Services
755
+ */
756
+ export interface IKanbanService extends IService {
757
+ /** Fetches a board by ID. @group Methods */
758
+ getBoard(boardId: string): Promise<KanbanBoard>;
759
+ /** Creates a new board. @group Methods */
760
+ createBoard(board: Partial<KanbanBoard>): Promise<KanbanBoard>;
761
+ /** Updates board metadata. @group Methods */
762
+ updateBoard(boardId: string, updates: Partial<KanbanBoard>): Promise<void>;
763
+ /** Deletes a board. @group Methods */
764
+ deleteBoard(boardId: string): Promise<void>;
765
+ /** Creates a card in a board. @group Methods */
766
+ createCard(boardId: string, card: Partial<KanbanCard>): Promise<KanbanCard>;
767
+ /** Updates an existing card. @group Methods */
768
+ updateCard(cardId: string, updates: Partial<KanbanCard>): Promise<void>;
769
+ /** Deletes a card. @group Methods */
770
+ deleteCard(cardId: string): Promise<void>;
771
+ /** Moves a card across columns/swimlanes. @group Methods */
772
+ moveCard(cardId: string, targetColumnId: string, targetSwimlaneId?: string, targetPosition?: number): Promise<void>;
773
+ /** Creates a new column. @group Methods */
774
+ createColumn(boardId: string, column: Partial<KanbanColumn>): Promise<KanbanColumn>;
775
+ /** Updates column settings. @group Methods */
776
+ updateColumn(columnId: string, updates: Partial<KanbanColumn>): Promise<void>;
777
+ /** Deletes a column. @group Methods */
778
+ deleteColumn(columnId: string): Promise<void>;
779
+ /** Creates a new swimlane. @group Methods */
780
+ createSwimlane(boardId: string, swimlane: Partial<KanbanSwimlane>): Promise<KanbanSwimlane>;
781
+ /** Updates swimlane settings. @group Methods */
782
+ updateSwimlane(swimlaneId: string, updates: Partial<KanbanSwimlane>): Promise<void>;
783
+ /** Deletes a swimlane. @group Methods */
784
+ deleteSwimlane(swimlaneId: string): Promise<void>;
785
+ /** Optional method to pre-populate board data. @group Methods */
786
+ initializeWithData?(boards: KanbanBoard[]): void;
787
+ /** Service cleanup logic. @group Methods */
788
+ cleanup(): void;
789
+ }