@gostack-framework/ui 0.0.0-stage → 0.1.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 (751) hide show
  1. package/NOTICE.md +5 -0
  2. package/dist/activity/index.d.ts +2 -0
  3. package/dist/activity/index.js +3 -0
  4. package/dist/activity/index.js.map +1 -0
  5. package/dist/clickup/common/InlineNameTab.d.ts +11 -0
  6. package/dist/clickup/common/InlineNameTab.js +50 -0
  7. package/dist/clickup/common/InlineNameTab.js.map +1 -0
  8. package/dist/clickup/common/TaskAssigneeAvatar.d.ts +14 -0
  9. package/dist/clickup/common/TaskAssigneeAvatar.js +32 -0
  10. package/dist/clickup/common/TaskAssigneeAvatar.js.map +1 -0
  11. package/dist/clickup/common/TaskBreadcrumb.d.ts +11 -0
  12. package/dist/clickup/common/TaskBreadcrumb.js +11 -0
  13. package/dist/clickup/common/TaskBreadcrumb.js.map +1 -0
  14. package/dist/clickup/common/TaskCheck.d.ts +10 -0
  15. package/dist/clickup/common/TaskCheck.js +17 -0
  16. package/dist/clickup/common/TaskCheck.js.map +1 -0
  17. package/dist/clickup/common/TaskContextMenu.d.ts +10 -0
  18. package/dist/clickup/common/TaskContextMenu.js +22 -0
  19. package/dist/clickup/common/TaskContextMenu.js.map +1 -0
  20. package/dist/clickup/common/TaskIcon.d.ts +29 -0
  21. package/dist/clickup/common/TaskIcon.js +30 -0
  22. package/dist/clickup/common/TaskIcon.js.map +1 -0
  23. package/dist/clickup/common/TaskPriorityBadge.d.ts +11 -0
  24. package/dist/clickup/common/TaskPriorityBadge.js +11 -0
  25. package/dist/clickup/common/TaskPriorityBadge.js.map +1 -0
  26. package/dist/clickup/common/TaskRowActionMenu.d.ts +6 -0
  27. package/dist/clickup/common/TaskRowActionMenu.js +10 -0
  28. package/dist/clickup/common/TaskRowActionMenu.js.map +1 -0
  29. package/dist/clickup/common/TaskStatusPill.d.ts +12 -0
  30. package/dist/clickup/common/TaskStatusPill.js +24 -0
  31. package/dist/clickup/common/TaskStatusPill.js.map +1 -0
  32. package/dist/clickup/common/WorkspaceButton.d.ts +3 -0
  33. package/dist/clickup/common/WorkspaceButton.js +8 -0
  34. package/dist/clickup/common/WorkspaceButton.js.map +1 -0
  35. package/dist/clickup/common/WorkspaceHeader.d.ts +9 -0
  36. package/dist/clickup/common/WorkspaceHeader.js +7 -0
  37. package/dist/clickup/common/WorkspaceHeader.js.map +1 -0
  38. package/dist/clickup/common/WorkspaceMenus.d.ts +17 -0
  39. package/dist/clickup/common/WorkspaceMenus.js +15 -0
  40. package/dist/clickup/common/WorkspaceMenus.js.map +1 -0
  41. package/dist/clickup/common/WorkspaceMessage.d.ts +7 -0
  42. package/dist/clickup/common/WorkspaceMessage.js +6 -0
  43. package/dist/clickup/common/WorkspaceMessage.js.map +1 -0
  44. package/dist/clickup/common/WorkspaceMetricStrip.d.ts +10 -0
  45. package/dist/clickup/common/WorkspaceMetricStrip.js +6 -0
  46. package/dist/clickup/common/WorkspaceMetricStrip.js.map +1 -0
  47. package/dist/clickup/common/WorkspacePanel.d.ts +7 -0
  48. package/dist/clickup/common/WorkspacePanel.js +7 -0
  49. package/dist/clickup/common/WorkspacePanel.js.map +1 -0
  50. package/dist/clickup/common/WorkspaceSelect.d.ts +5 -0
  51. package/dist/clickup/common/WorkspaceSelect.js +64 -0
  52. package/dist/clickup/common/WorkspaceSelect.js.map +1 -0
  53. package/dist/clickup/common/WorkspaceTable.d.ts +16 -0
  54. package/dist/clickup/common/WorkspaceTable.js +7 -0
  55. package/dist/clickup/common/WorkspaceTable.js.map +1 -0
  56. package/dist/clickup/dialogs/ClickUpCommentComposer.d.ts +9 -0
  57. package/dist/clickup/dialogs/ClickUpCommentComposer.js +35 -0
  58. package/dist/clickup/dialogs/ClickUpCommentComposer.js.map +1 -0
  59. package/dist/clickup/dialogs/ClickUpTaskActions.d.ts +8 -0
  60. package/dist/clickup/dialogs/ClickUpTaskActions.js +10 -0
  61. package/dist/clickup/dialogs/ClickUpTaskActions.js.map +1 -0
  62. package/dist/clickup/dialogs/ClickUpTaskAssignee.d.ts +7 -0
  63. package/dist/clickup/dialogs/ClickUpTaskAssignee.js +12 -0
  64. package/dist/clickup/dialogs/ClickUpTaskAssignee.js.map +1 -0
  65. package/dist/clickup/dialogs/ClickUpTaskDescription.d.ts +12 -0
  66. package/dist/clickup/dialogs/ClickUpTaskDescription.js +12 -0
  67. package/dist/clickup/dialogs/ClickUpTaskDescription.js.map +1 -0
  68. package/dist/clickup/dialogs/ClickUpTaskDialog.d.ts +27 -0
  69. package/dist/clickup/dialogs/ClickUpTaskDialog.js +35 -0
  70. package/dist/clickup/dialogs/ClickUpTaskDialog.js.map +1 -0
  71. package/dist/clickup/dialogs/ClickUpTaskDiscussion.d.ts +11 -0
  72. package/dist/clickup/dialogs/ClickUpTaskDiscussion.js +29 -0
  73. package/dist/clickup/dialogs/ClickUpTaskDiscussion.js.map +1 -0
  74. package/dist/clickup/dialogs/ClickUpTaskMain.d.ts +24 -0
  75. package/dist/clickup/dialogs/ClickUpTaskMain.js +26 -0
  76. package/dist/clickup/dialogs/ClickUpTaskMain.js.map +1 -0
  77. package/dist/clickup/dialogs/ClickUpTaskProperties.d.ts +17 -0
  78. package/dist/clickup/dialogs/ClickUpTaskProperties.js +26 -0
  79. package/dist/clickup/dialogs/ClickUpTaskProperties.js.map +1 -0
  80. package/dist/clickup/elements/TaskCalendarCell.d.ts +14 -0
  81. package/dist/clickup/elements/TaskCalendarCell.js +19 -0
  82. package/dist/clickup/elements/TaskCalendarCell.js.map +1 -0
  83. package/dist/clickup/elements/TaskCard.d.ts +16 -0
  84. package/dist/clickup/elements/TaskCard.js +51 -0
  85. package/dist/clickup/elements/TaskCard.js.map +1 -0
  86. package/dist/clickup/elements/TaskGroup.d.ts +24 -0
  87. package/dist/clickup/elements/TaskGroup.js +50 -0
  88. package/dist/clickup/elements/TaskGroup.js.map +1 -0
  89. package/dist/clickup/elements/TaskRow.d.ts +19 -0
  90. package/dist/clickup/elements/TaskRow.js +60 -0
  91. package/dist/clickup/elements/TaskRow.js.map +1 -0
  92. package/dist/clickup/elements/TaskTableHead.d.ts +1 -0
  93. package/dist/clickup/elements/TaskTableHead.js +15 -0
  94. package/dist/clickup/elements/TaskTableHead.js.map +1 -0
  95. package/dist/clickup/elements/TaskTimelineRow.d.ts +12 -0
  96. package/dist/clickup/elements/TaskTimelineRow.js +16 -0
  97. package/dist/clickup/elements/TaskTimelineRow.js.map +1 -0
  98. package/dist/clickup/index.d.ts +41 -0
  99. package/dist/clickup/index.js +48 -0
  100. package/dist/clickup/index.js.map +1 -0
  101. package/dist/clickup/task-ui.css +864 -0
  102. package/dist/clickup/toolbar/TaskToolbar.d.ts +20 -0
  103. package/dist/clickup/toolbar/TaskToolbar.js +16 -0
  104. package/dist/clickup/toolbar/TaskToolbar.js.map +1 -0
  105. package/dist/clickup/toolbar/TaskViewPicker.d.ts +8 -0
  106. package/dist/clickup/toolbar/TaskViewPicker.js +48 -0
  107. package/dist/clickup/toolbar/TaskViewPicker.js.map +1 -0
  108. package/dist/clickup/toolbar/TaskViewSwitcher.d.ts +21 -0
  109. package/dist/clickup/toolbar/TaskViewSwitcher.js +55 -0
  110. package/dist/clickup/toolbar/TaskViewSwitcher.js.map +1 -0
  111. package/dist/clickup/types.d.ts +66 -0
  112. package/dist/clickup/types.js +2 -0
  113. package/dist/clickup/types.js.map +1 -0
  114. package/dist/clickup/views/TaskBoardView.d.ts +21 -0
  115. package/dist/clickup/views/TaskBoardView.js +75 -0
  116. package/dist/clickup/views/TaskBoardView.js.map +1 -0
  117. package/dist/clickup/views/TaskCalendarView.d.ts +12 -0
  118. package/dist/clickup/views/TaskCalendarView.js +197 -0
  119. package/dist/clickup/views/TaskCalendarView.js.map +1 -0
  120. package/dist/clickup/views/TaskGanttView.d.ts +12 -0
  121. package/dist/clickup/views/TaskGanttView.js +64 -0
  122. package/dist/clickup/views/TaskGanttView.js.map +1 -0
  123. package/dist/clickup/views/TaskListView.d.ts +22 -0
  124. package/dist/clickup/views/TaskListView.js +17 -0
  125. package/dist/clickup/views/TaskListView.js.map +1 -0
  126. package/dist/clickup/views/TaskTableView.d.ts +21 -0
  127. package/dist/clickup/views/TaskTableView.js +50 -0
  128. package/dist/clickup/views/TaskTableView.js.map +1 -0
  129. package/dist/components/ActivityFeed.d.ts +48 -0
  130. package/dist/components/ActivityFeed.js +60 -0
  131. package/dist/components/ActivityFeed.js.map +1 -0
  132. package/dist/components/AudioPlayer.d.ts +8 -0
  133. package/dist/components/AudioPlayer.js +96 -0
  134. package/dist/components/AudioPlayer.js.map +1 -0
  135. package/dist/components/BulkActionBar.d.ts +10 -0
  136. package/dist/components/BulkActionBar.js +10 -0
  137. package/dist/components/BulkActionBar.js.map +1 -0
  138. package/dist/components/Carousel.d.ts +8 -0
  139. package/dist/components/Carousel.js +38 -0
  140. package/dist/components/Carousel.js.map +1 -0
  141. package/dist/components/ChatBot.d.ts +6 -0
  142. package/dist/components/ChatBot.js +52 -0
  143. package/dist/components/ChatBot.js.map +1 -0
  144. package/dist/components/CheckboxCustom.d.ts +9 -0
  145. package/dist/components/CheckboxCustom.js +42 -0
  146. package/dist/components/CheckboxCustom.js.map +1 -0
  147. package/dist/components/ClickUpTaskModal.d.ts +36 -0
  148. package/dist/components/ClickUpTaskModal.js +180 -0
  149. package/dist/components/ClickUpTaskModal.js.map +1 -0
  150. package/dist/components/ConditionBuilder.d.ts +28 -0
  151. package/dist/components/ConditionBuilder.js +63 -0
  152. package/dist/components/ConditionBuilder.js.map +1 -0
  153. package/dist/components/ConfirmDialog.d.ts +21 -0
  154. package/dist/components/ConfirmDialog.js +51 -0
  155. package/dist/components/ConfirmDialog.js.map +1 -0
  156. package/dist/components/DataCard.d.ts +43 -0
  157. package/dist/components/DataCard.js +30 -0
  158. package/dist/components/DataCard.js.map +1 -0
  159. package/dist/components/DataTable.d.ts +107 -0
  160. package/dist/components/DataTable.js +153 -0
  161. package/dist/components/DataTable.js.map +1 -0
  162. package/dist/components/DatePicker.d.ts +16 -0
  163. package/dist/components/DatePicker.js +184 -0
  164. package/dist/components/DatePicker.js.map +1 -0
  165. package/dist/components/EmptyState.d.ts +26 -0
  166. package/dist/components/EmptyState.js +37 -0
  167. package/dist/components/EmptyState.js.map +1 -0
  168. package/dist/components/Error.d.ts +12 -0
  169. package/dist/components/Error.js +41 -0
  170. package/dist/components/Error.js.map +1 -0
  171. package/dist/components/ErrorState.d.ts +10 -0
  172. package/dist/components/ErrorState.js +53 -0
  173. package/dist/components/ErrorState.js.map +1 -0
  174. package/dist/components/FileAttachmentChip.d.ts +10 -0
  175. package/dist/components/FileAttachmentChip.js +21 -0
  176. package/dist/components/FileAttachmentChip.js.map +1 -0
  177. package/dist/components/FilterConditionChip.d.ts +10 -0
  178. package/dist/components/FilterConditionChip.js +11 -0
  179. package/dist/components/FilterConditionChip.js.map +1 -0
  180. package/dist/components/GalleryCarouselDialog.d.ts +14 -0
  181. package/dist/components/GalleryCarouselDialog.js +167 -0
  182. package/dist/components/GalleryCarouselDialog.js.map +1 -0
  183. package/dist/components/HierarchicalSelectionMenu.d.ts +21 -0
  184. package/dist/components/HierarchicalSelectionMenu.js +168 -0
  185. package/dist/components/HierarchicalSelectionMenu.js.map +1 -0
  186. package/dist/components/InfiniteSelect.d.ts +44 -0
  187. package/dist/components/InfiniteSelect.js +121 -0
  188. package/dist/components/InfiniteSelect.js.map +1 -0
  189. package/dist/components/LoadingState.d.ts +28 -0
  190. package/dist/components/LoadingState.js +24 -0
  191. package/dist/components/LoadingState.js.map +1 -0
  192. package/dist/components/LucidIconRender.d.ts +9 -0
  193. package/dist/components/LucidIconRender.js +7 -0
  194. package/dist/components/LucidIconRender.js.map +1 -0
  195. package/dist/components/MasterDetailLayout.d.ts +67 -0
  196. package/dist/components/MasterDetailLayout.js +79 -0
  197. package/dist/components/MasterDetailLayout.js.map +1 -0
  198. package/dist/components/PinnedAttributeRow.d.ts +12 -0
  199. package/dist/components/PinnedAttributeRow.js +11 -0
  200. package/dist/components/PinnedAttributeRow.js.map +1 -0
  201. package/dist/components/PopUp.d.ts +11 -0
  202. package/dist/components/PopUp.js +83 -0
  203. package/dist/components/PopUp.js.map +1 -0
  204. package/dist/components/PrioritySignal.d.ts +10 -0
  205. package/dist/components/PrioritySignal.js +54 -0
  206. package/dist/components/PrioritySignal.js.map +1 -0
  207. package/dist/components/RichTextEditor.d.ts +7 -0
  208. package/dist/components/RichTextEditor.js +252 -0
  209. package/dist/components/RichTextEditor.js.map +1 -0
  210. package/dist/components/SLACountdown.d.ts +15 -0
  211. package/dist/components/SLACountdown.js +26 -0
  212. package/dist/components/SLACountdown.js.map +1 -0
  213. package/dist/components/StatusBadge.d.ts +14 -0
  214. package/dist/components/StatusBadge.js +55 -0
  215. package/dist/components/StatusBadge.js.map +1 -0
  216. package/dist/components/StatusCards.d.ts +12 -0
  217. package/dist/components/StatusCards.js +12 -0
  218. package/dist/components/StatusCards.js.map +1 -0
  219. package/dist/components/StatusProgressBar.d.ts +18 -0
  220. package/dist/components/StatusProgressBar.js +50 -0
  221. package/dist/components/StatusProgressBar.js.map +1 -0
  222. package/dist/components/TableActions.d.ts +26 -0
  223. package/dist/components/TableActions.js +49 -0
  224. package/dist/components/TableActions.js.map +1 -0
  225. package/dist/components/TaskDetailsModal.d.ts +3 -0
  226. package/dist/components/TaskDetailsModal.js +8 -0
  227. package/dist/components/TaskDetailsModal.js.map +1 -0
  228. package/dist/components/ThemedText.d.ts +24 -0
  229. package/dist/components/ThemedText.js +103 -0
  230. package/dist/components/ThemedText.js.map +1 -0
  231. package/dist/components/TicketWorkspaceLayout.d.ts +11 -0
  232. package/dist/components/TicketWorkspaceLayout.js +7 -0
  233. package/dist/components/TicketWorkspaceLayout.js.map +1 -0
  234. package/dist/components/TimePicker.d.ts +15 -0
  235. package/dist/components/TimePicker.js +96 -0
  236. package/dist/components/TimePicker.js.map +1 -0
  237. package/dist/components/Tooltip.d.ts +19 -0
  238. package/dist/components/Tooltip.js +75 -0
  239. package/dist/components/Tooltip.js.map +1 -0
  240. package/dist/components/TreeView.d.ts +33 -0
  241. package/dist/components/TreeView.js +55 -0
  242. package/dist/components/TreeView.js.map +1 -0
  243. package/dist/components/accordion.d.ts +6 -0
  244. package/dist/components/accordion.js +18 -0
  245. package/dist/components/accordion.js.map +1 -0
  246. package/dist/components/avatar.d.ts +11 -0
  247. package/dist/components/avatar.js +23 -0
  248. package/dist/components/avatar.js.map +1 -0
  249. package/dist/components/badge.d.ts +12 -0
  250. package/dist/components/badge.js +44 -0
  251. package/dist/components/badge.js.map +1 -0
  252. package/dist/components/button.d.ts +15 -0
  253. package/dist/components/button.js +47 -0
  254. package/dist/components/button.js.map +1 -0
  255. package/dist/components/card.d.ts +11 -0
  256. package/dist/components/card.js +25 -0
  257. package/dist/components/card.js.map +1 -0
  258. package/dist/components/context menu core/context-menu.d.ts +28 -0
  259. package/dist/components/context menu core/context-menu.js +91 -0
  260. package/dist/components/context menu core/context-menu.js.map +1 -0
  261. package/dist/components/context menu core/contextMenuAdvanced.d.ts +46 -0
  262. package/dist/components/context menu core/contextMenuAdvanced.js +34 -0
  263. package/dist/components/context menu core/contextMenuAdvanced.js.map +1 -0
  264. package/dist/components/dialog.d.ts +18 -0
  265. package/dist/components/dialog.js +42 -0
  266. package/dist/components/dialog.js.map +1 -0
  267. package/dist/components/dropdown-menu.d.ts +29 -0
  268. package/dist/components/dropdown-menu.js +51 -0
  269. package/dist/components/dropdown-menu.js.map +1 -0
  270. package/dist/components/filter/AdvancedFilters.d.ts +14 -0
  271. package/dist/components/filter/AdvancedFilters.js +220 -0
  272. package/dist/components/filter/AdvancedFilters.js.map +1 -0
  273. package/dist/components/filter/Filter.d.ts +48 -0
  274. package/dist/components/filter/Filter.js +153 -0
  275. package/dist/components/filter/Filter.js.map +1 -0
  276. package/dist/components/filter/FilterButton.d.ts +10 -0
  277. package/dist/components/filter/FilterButton.js +9 -0
  278. package/dist/components/filter/FilterButton.js.map +1 -0
  279. package/dist/components/filter/NormalFilters.d.ts +14 -0
  280. package/dist/components/filter/NormalFilters.js +40 -0
  281. package/dist/components/filter/NormalFilters.js.map +1 -0
  282. package/dist/components/filter/index.d.ts +5 -0
  283. package/dist/components/filter/index.js +6 -0
  284. package/dist/components/filter/index.js.map +1 -0
  285. package/dist/components/filter/types.d.ts +32 -0
  286. package/dist/components/filter/types.js +2 -0
  287. package/dist/components/filter/types.js.map +1 -0
  288. package/dist/components/form-error.d.ts +42 -0
  289. package/dist/components/form-error.js +103 -0
  290. package/dist/components/form-error.js.map +1 -0
  291. package/dist/components/icons.d.ts +19 -0
  292. package/dist/components/icons.js +21 -0
  293. package/dist/components/icons.js.map +1 -0
  294. package/dist/components/image.d.ts +12 -0
  295. package/dist/components/image.js +18 -0
  296. package/dist/components/image.js.map +1 -0
  297. package/dist/components/index.d.ts +59 -0
  298. package/dist/components/index.js +60 -0
  299. package/dist/components/index.js.map +1 -0
  300. package/dist/components/input.d.ts +22 -0
  301. package/dist/components/input.js +102 -0
  302. package/dist/components/input.js.map +1 -0
  303. package/dist/components/label.d.ts +7 -0
  304. package/dist/components/label.js +8 -0
  305. package/dist/components/label.js.map +1 -0
  306. package/dist/components/layout/FeatureLayout.d.ts +131 -0
  307. package/dist/components/layout/FeatureLayout.js +113 -0
  308. package/dist/components/layout/FeatureLayout.js.map +1 -0
  309. package/dist/components/layout/FeatureLayoutExportButton.d.ts +10 -0
  310. package/dist/components/layout/FeatureLayoutExportButton.js +21 -0
  311. package/dist/components/layout/FeatureLayoutExportButton.js.map +1 -0
  312. package/dist/components/layout/FeatureLayoutTabs.d.ts +36 -0
  313. package/dist/components/layout/FeatureLayoutTabs.js +192 -0
  314. package/dist/components/layout/FeatureLayoutTabs.js.map +1 -0
  315. package/dist/components/layout/kanban/FeatureLayoutKanban.d.ts +6 -0
  316. package/dist/components/layout/kanban/FeatureLayoutKanban.js +195 -0
  317. package/dist/components/layout/kanban/FeatureLayoutKanban.js.map +1 -0
  318. package/dist/components/layout/kanban/KanbanCard.d.ts +12 -0
  319. package/dist/components/layout/kanban/KanbanCard.js +43 -0
  320. package/dist/components/layout/kanban/KanbanCard.js.map +1 -0
  321. package/dist/components/layout/kanban/KanbanColumn.d.ts +23 -0
  322. package/dist/components/layout/kanban/KanbanColumn.js +30 -0
  323. package/dist/components/layout/kanban/KanbanColumn.js.map +1 -0
  324. package/dist/components/layout/kanban/KanbanToolbar.d.ts +11 -0
  325. package/dist/components/layout/kanban/KanbanToolbar.js +10 -0
  326. package/dist/components/layout/kanban/KanbanToolbar.js.map +1 -0
  327. package/dist/components/layout/kanban/index.d.ts +6 -0
  328. package/dist/components/layout/kanban/index.js +7 -0
  329. package/dist/components/layout/kanban/index.js.map +1 -0
  330. package/dist/components/layout/kanban/types.d.ts +67 -0
  331. package/dist/components/layout/kanban/types.js +2 -0
  332. package/dist/components/layout/kanban/types.js.map +1 -0
  333. package/dist/components/popover.d.ts +11 -0
  334. package/dist/components/popover.js +20 -0
  335. package/dist/components/popover.js.map +1 -0
  336. package/dist/components/react-flow/FlowGraphHeader.d.ts +2 -0
  337. package/dist/components/react-flow/FlowGraphHeader.js +10 -0
  338. package/dist/components/react-flow/FlowGraphHeader.js.map +1 -0
  339. package/dist/components/react-flow/GlowEdge.d.ts +3 -0
  340. package/dist/components/react-flow/GlowEdge.js +100 -0
  341. package/dist/components/react-flow/GlowEdge.js.map +1 -0
  342. package/dist/components/react-flow/ReactFlowCanvas.d.ts +7 -0
  343. package/dist/components/react-flow/ReactFlowCanvas.js +44 -0
  344. package/dist/components/react-flow/ReactFlowCanvas.js.map +1 -0
  345. package/dist/components/react-flow/RelationshipFlow.d.ts +2 -0
  346. package/dist/components/react-flow/RelationshipFlow.js +9 -0
  347. package/dist/components/react-flow/RelationshipFlow.js.map +1 -0
  348. package/dist/components/react-flow/TreeFlowLayout.d.ts +29 -0
  349. package/dist/components/react-flow/TreeFlowLayout.js +14 -0
  350. package/dist/components/react-flow/TreeFlowLayout.js.map +1 -0
  351. package/dist/components/react-flow/edges.d.ts +8 -0
  352. package/dist/components/react-flow/edges.js +21 -0
  353. package/dist/components/react-flow/edges.js.map +1 -0
  354. package/dist/components/react-flow/index.d.ts +9 -0
  355. package/dist/components/react-flow/index.js +10 -0
  356. package/dist/components/react-flow/index.js.map +1 -0
  357. package/dist/components/react-flow/layout.d.ts +5 -0
  358. package/dist/components/react-flow/layout.js +11 -0
  359. package/dist/components/react-flow/layout.js.map +1 -0
  360. package/dist/components/react-flow/types.d.ts +82 -0
  361. package/dist/components/react-flow/types.js +6 -0
  362. package/dist/components/react-flow/types.js.map +1 -0
  363. package/dist/components/react-flow/useFlowGraph.d.ts +3 -0
  364. package/dist/components/react-flow/useFlowGraph.js +22 -0
  365. package/dist/components/react-flow/useFlowGraph.js.map +1 -0
  366. package/dist/components/react-flow/useFlowGraphSync.d.ts +4 -0
  367. package/dist/components/react-flow/useFlowGraphSync.js +43 -0
  368. package/dist/components/react-flow/useFlowGraphSync.js.map +1 -0
  369. package/dist/components/select.d.ts +23 -0
  370. package/dist/components/select.js +109 -0
  371. package/dist/components/select.js.map +1 -0
  372. package/dist/components/sonner.d.ts +4 -0
  373. package/dist/components/sonner.js +29 -0
  374. package/dist/components/sonner.js.map +1 -0
  375. package/dist/components/stepper.d.ts +12 -0
  376. package/dist/components/stepper.js +22 -0
  377. package/dist/components/stepper.js.map +1 -0
  378. package/dist/components/switch.d.ts +5 -0
  379. package/dist/components/switch.js +16 -0
  380. package/dist/components/switch.js.map +1 -0
  381. package/dist/components/table.d.ts +52 -0
  382. package/dist/components/table.js +112 -0
  383. package/dist/components/table.js.map +1 -0
  384. package/dist/components/tabs.d.ts +10 -0
  385. package/dist/components/tabs.js +29 -0
  386. package/dist/components/tabs.js.map +1 -0
  387. package/dist/components/textarea.d.ts +6 -0
  388. package/dist/components/textarea.js +17 -0
  389. package/dist/components/textarea.js.map +1 -0
  390. package/dist/condition-builder/index.d.ts +2 -0
  391. package/dist/condition-builder/index.js +3 -0
  392. package/dist/condition-builder/index.js.map +1 -0
  393. package/dist/context-menu/index.d.ts +2 -0
  394. package/dist/context-menu/index.js +3 -0
  395. package/dist/context-menu/index.js.map +1 -0
  396. package/dist/dropdown/SearchDropdown.d.ts +19 -0
  397. package/dist/dropdown/SearchDropdown.js +27 -0
  398. package/dist/dropdown/SearchDropdown.js.map +1 -0
  399. package/dist/dropdown/index.d.ts +2 -0
  400. package/dist/dropdown/index.js +3 -0
  401. package/dist/dropdown/index.js.map +1 -0
  402. package/dist/editor.d.ts +1 -0
  403. package/dist/editor.js +2 -0
  404. package/dist/editor.js.map +1 -0
  405. package/dist/feedback/index.d.ts +6 -0
  406. package/dist/feedback/index.js +7 -0
  407. package/dist/feedback/index.js.map +1 -0
  408. package/dist/flow.d.ts +1 -0
  409. package/dist/flow.js +2 -0
  410. package/dist/flow.js.map +1 -0
  411. package/dist/hooks/index.d.ts +3 -0
  412. package/dist/hooks/index.js +4 -0
  413. package/dist/hooks/index.js.map +1 -0
  414. package/dist/hooks/useContextMenuActions.d.ts +16 -0
  415. package/dist/hooks/useContextMenuActions.js +35 -0
  416. package/dist/hooks/useContextMenuActions.js.map +1 -0
  417. package/dist/hooks/useFeatureLayout.d.ts +14 -0
  418. package/dist/hooks/useFeatureLayout.js +21 -0
  419. package/dist/hooks/useFeatureLayout.js.map +1 -0
  420. package/dist/hooks/useTableActions.d.ts +46 -0
  421. package/dist/hooks/useTableActions.js +71 -0
  422. package/dist/hooks/useTableActions.js.map +1 -0
  423. package/dist/index.d.ts +19 -0
  424. package/dist/index.js +26 -0
  425. package/dist/index.js.map +1 -0
  426. package/dist/integrations.d.ts +42 -0
  427. package/dist/integrations.js +9 -0
  428. package/dist/integrations.js.map +1 -0
  429. package/dist/itsm/index.d.ts +7 -0
  430. package/dist/itsm/index.js +8 -0
  431. package/dist/itsm/index.js.map +1 -0
  432. package/dist/locales/ar.json +149 -0
  433. package/dist/locales/en.json +149 -0
  434. package/dist/primitives/index.d.ts +11 -0
  435. package/dist/primitives/index.js +12 -0
  436. package/dist/primitives/index.js.map +1 -0
  437. package/dist/progress.d.ts +7 -0
  438. package/dist/progress.js +20 -0
  439. package/dist/progress.js.map +1 -0
  440. package/dist/select/index.d.ts +3 -0
  441. package/dist/select/index.js +4 -0
  442. package/dist/select/index.js.map +1 -0
  443. package/dist/styles.css +2 -0
  444. package/dist/support/api.d.ts +8 -0
  445. package/dist/support/api.js +2 -0
  446. package/dist/support/api.js.map +1 -0
  447. package/dist/support/types/file.types.d.ts +12 -0
  448. package/dist/support/types/file.types.js +2 -0
  449. package/dist/support/types/file.types.js.map +1 -0
  450. package/dist/support/types/gallery.types.d.ts +22 -0
  451. package/dist/support/types/gallery.types.js +2 -0
  452. package/dist/support/types/gallery.types.js.map +1 -0
  453. package/dist/support/types/governorates.types.d.ts +12 -0
  454. package/dist/support/types/governorates.types.js +2 -0
  455. package/dist/support/types/governorates.types.js.map +1 -0
  456. package/dist/support/types/grade.types.d.ts +7 -0
  457. package/dist/support/types/grade.types.js +2 -0
  458. package/dist/support/types/grade.types.js.map +1 -0
  459. package/dist/support/types/index.d.ts +13 -0
  460. package/dist/support/types/index.js +14 -0
  461. package/dist/support/types/index.js.map +1 -0
  462. package/dist/support/types/metadata.types.d.ts +61 -0
  463. package/dist/support/types/metadata.types.js +3 -0
  464. package/dist/support/types/metadata.types.js.map +1 -0
  465. package/dist/support/types/table.types.d.ts +33 -0
  466. package/dist/support/types/table.types.js +2 -0
  467. package/dist/support/types/table.types.js.map +1 -0
  468. package/dist/support/types/viewCard.types.d.ts +78 -0
  469. package/dist/support/types/viewCard.types.js +3 -0
  470. package/dist/support/types/viewCard.types.js.map +1 -0
  471. package/dist/support/utils/fileUtils.d.ts +1 -0
  472. package/dist/support/utils/fileUtils.js +2 -0
  473. package/dist/support/utils/fileUtils.js.map +1 -0
  474. package/dist/support/utils.d.ts +5 -0
  475. package/dist/support/utils.js +4 -0
  476. package/dist/support/utils.js.map +1 -0
  477. package/dist/table/index.d.ts +6 -0
  478. package/dist/table/index.js +7 -0
  479. package/dist/table/index.js.map +1 -0
  480. package/dist/tasks.d.ts +3 -0
  481. package/dist/tasks.js +4 -0
  482. package/dist/tasks.js.map +1 -0
  483. package/dist/tours/TourContext.d.ts +33 -0
  484. package/dist/tours/TourContext.js +98 -0
  485. package/dist/tours/TourContext.js.map +1 -0
  486. package/dist/tours/TourOverlay.d.ts +7 -0
  487. package/dist/tours/TourOverlay.js +129 -0
  488. package/dist/tours/TourOverlay.js.map +1 -0
  489. package/dist/tours.d.ts +2 -0
  490. package/dist/tours.js +3 -0
  491. package/dist/tours.js.map +1 -0
  492. package/dist/types.d.ts +91 -0
  493. package/dist/types.js +7 -0
  494. package/dist/types.js.map +1 -0
  495. package/dist/typography/index.d.ts +4 -0
  496. package/dist/typography/index.js +5 -0
  497. package/dist/typography/index.js.map +1 -0
  498. package/dist/typography/typography.adapter.d.ts +18 -0
  499. package/dist/typography/typography.adapter.js +113 -0
  500. package/dist/typography/typography.adapter.js.map +1 -0
  501. package/dist/typography/typography.constants.d.ts +56 -0
  502. package/dist/typography/typography.constants.js +649 -0
  503. package/dist/typography/typography.constants.js.map +1 -0
  504. package/dist/typography/typography.types.d.ts +62 -0
  505. package/dist/typography/typography.types.js +6 -0
  506. package/dist/typography/typography.types.js.map +1 -0
  507. package/dist/typography/useTypography.d.ts +25 -0
  508. package/dist/typography/useTypography.js +158 -0
  509. package/dist/typography/useTypography.js.map +1 -0
  510. package/dist/ui/accordion.d.ts +7 -0
  511. package/dist/ui/accordion.js +18 -0
  512. package/dist/ui/accordion.js.map +1 -0
  513. package/dist/ui/avatar.d.ts +11 -0
  514. package/dist/ui/avatar.js +23 -0
  515. package/dist/ui/avatar.js.map +1 -0
  516. package/dist/ui/badge.d.ts +10 -0
  517. package/dist/ui/badge.js +33 -0
  518. package/dist/ui/badge.js.map +1 -0
  519. package/dist/ui/button.d.ts +11 -0
  520. package/dist/ui/button.js +41 -0
  521. package/dist/ui/button.js.map +1 -0
  522. package/dist/ui/card.d.ts +9 -0
  523. package/dist/ui/card.js +25 -0
  524. package/dist/ui/card.js.map +1 -0
  525. package/dist/ui/dialog.d.ts +17 -0
  526. package/dist/ui/dialog.js +37 -0
  527. package/dist/ui/dialog.js.map +1 -0
  528. package/dist/ui/dropdown-menu.d.ts +25 -0
  529. package/dist/ui/dropdown-menu.js +51 -0
  530. package/dist/ui/dropdown-menu.js.map +1 -0
  531. package/dist/ui/index.d.ts +15 -0
  532. package/dist/ui/index.js +16 -0
  533. package/dist/ui/index.js.map +1 -0
  534. package/dist/ui/input.d.ts +3 -0
  535. package/dist/ui/input.js +7 -0
  536. package/dist/ui/input.js.map +1 -0
  537. package/dist/ui/popover.d.ts +10 -0
  538. package/dist/ui/popover.js +26 -0
  539. package/dist/ui/popover.js.map +1 -0
  540. package/dist/ui/select.d.ts +15 -0
  541. package/dist/ui/select.js +38 -0
  542. package/dist/ui/select.js.map +1 -0
  543. package/dist/ui/switch.d.ts +6 -0
  544. package/dist/ui/switch.js +8 -0
  545. package/dist/ui/switch.js.map +1 -0
  546. package/dist/ui/table.d.ts +10 -0
  547. package/dist/ui/table.js +28 -0
  548. package/dist/ui/table.js.map +1 -0
  549. package/dist/ui/tabs.d.ts +11 -0
  550. package/dist/ui/tabs.js +29 -0
  551. package/dist/ui/tabs.js.map +1 -0
  552. package/dist/ui/textarea.d.ts +3 -0
  553. package/dist/ui/textarea.js +7 -0
  554. package/dist/ui/textarea.js.map +1 -0
  555. package/dist/ui/tooltip.d.ts +7 -0
  556. package/dist/ui/tooltip.js +17 -0
  557. package/dist/ui/tooltip.js.map +1 -0
  558. package/dist/workspace/index.d.ts +2 -0
  559. package/dist/workspace/index.js +3 -0
  560. package/dist/workspace/index.js.map +1 -0
  561. package/package.json +61 -4
  562. package/src/activity/index.ts +2 -0
  563. package/src/clickup/common/InlineNameTab.tsx +122 -0
  564. package/src/clickup/common/TaskAssigneeAvatar.tsx +127 -0
  565. package/src/clickup/common/TaskBreadcrumb.tsx +91 -0
  566. package/src/clickup/common/TaskCheck.tsx +51 -0
  567. package/src/clickup/common/TaskContextMenu.tsx +42 -0
  568. package/src/clickup/common/TaskIcon.tsx +145 -0
  569. package/src/clickup/common/TaskPriorityBadge.tsx +52 -0
  570. package/src/clickup/common/TaskRowActionMenu.tsx +43 -0
  571. package/src/clickup/common/TaskStatusPill.tsx +73 -0
  572. package/src/clickup/common/WorkspaceButton.tsx +22 -0
  573. package/src/clickup/common/WorkspaceHeader.tsx +41 -0
  574. package/src/clickup/common/WorkspaceMenus.tsx +92 -0
  575. package/src/clickup/common/WorkspaceMessage.tsx +39 -0
  576. package/src/clickup/common/WorkspaceMetricStrip.tsx +49 -0
  577. package/src/clickup/common/WorkspacePanel.tsx +27 -0
  578. package/src/clickup/common/WorkspaceSelect.tsx +173 -0
  579. package/src/clickup/common/WorkspaceTable.tsx +78 -0
  580. package/src/clickup/dialogs/ClickUpCommentComposer.tsx +93 -0
  581. package/src/clickup/dialogs/ClickUpTaskActions.tsx +73 -0
  582. package/src/clickup/dialogs/ClickUpTaskAssignee.tsx +86 -0
  583. package/src/clickup/dialogs/ClickUpTaskDescription.tsx +67 -0
  584. package/src/clickup/dialogs/ClickUpTaskDialog.tsx +187 -0
  585. package/src/clickup/dialogs/ClickUpTaskDiscussion.tsx +136 -0
  586. package/src/clickup/dialogs/ClickUpTaskMain.tsx +156 -0
  587. package/src/clickup/dialogs/ClickUpTaskProperties.tsx +214 -0
  588. package/src/clickup/elements/TaskCalendarCell.tsx +91 -0
  589. package/src/clickup/elements/TaskCard.tsx +154 -0
  590. package/src/clickup/elements/TaskGroup.tsx +208 -0
  591. package/src/clickup/elements/TaskRow.tsx +172 -0
  592. package/src/clickup/elements/TaskTableHead.tsx +29 -0
  593. package/src/clickup/elements/TaskTimelineRow.tsx +77 -0
  594. package/src/clickup/index.ts +63 -0
  595. package/src/clickup/task-ui.css +864 -0
  596. package/src/clickup/toolbar/TaskToolbar.tsx +130 -0
  597. package/src/clickup/toolbar/TaskViewPicker.tsx +148 -0
  598. package/src/clickup/toolbar/TaskViewSwitcher.tsx +129 -0
  599. package/src/clickup/types.ts +79 -0
  600. package/src/clickup/views/TaskBoardView.tsx +259 -0
  601. package/src/clickup/views/TaskCalendarView.tsx +410 -0
  602. package/src/clickup/views/TaskGanttView.tsx +178 -0
  603. package/src/clickup/views/TaskListView.tsx +95 -0
  604. package/src/clickup/views/TaskTableView.tsx +192 -0
  605. package/src/components/ActivityFeed.tsx +440 -0
  606. package/src/components/AudioPlayer.tsx +179 -0
  607. package/src/components/BulkActionBar.tsx +72 -0
  608. package/src/components/Carousel.tsx +107 -0
  609. package/src/components/ChatBot.tsx +205 -0
  610. package/src/components/CheckboxCustom.tsx +106 -0
  611. package/src/components/ClickUpTaskModal.tsx +661 -0
  612. package/src/components/ConditionBuilder.tsx +322 -0
  613. package/src/components/ConfirmDialog.tsx +157 -0
  614. package/src/components/DataCard.tsx +203 -0
  615. package/src/components/DataTable.tsx +609 -0
  616. package/src/components/DatePicker.tsx +397 -0
  617. package/src/components/EmptyState.tsx +105 -0
  618. package/src/components/Error.tsx +248 -0
  619. package/src/components/ErrorState.tsx +199 -0
  620. package/src/components/FileAttachmentChip.tsx +84 -0
  621. package/src/components/FilterConditionChip.tsx +56 -0
  622. package/src/components/GalleryCarouselDialog.tsx +439 -0
  623. package/src/components/HierarchicalSelectionMenu.tsx +432 -0
  624. package/src/components/InfiniteSelect.tsx +397 -0
  625. package/src/components/LoadingState.tsx +105 -0
  626. package/src/components/LucidIconRender.tsx +25 -0
  627. package/src/components/MasterDetailLayout.tsx +442 -0
  628. package/src/components/PinnedAttributeRow.tsx +70 -0
  629. package/src/components/PopUp.tsx +309 -0
  630. package/src/components/PrioritySignal.tsx +131 -0
  631. package/src/components/RichTextEditor.tsx +433 -0
  632. package/src/components/SLACountdown.tsx +133 -0
  633. package/src/components/StatusBadge.tsx +119 -0
  634. package/src/components/StatusCards.tsx +78 -0
  635. package/src/components/StatusProgressBar.tsx +158 -0
  636. package/src/components/TableActions.tsx +182 -0
  637. package/src/components/TaskDetailsModal.tsx +7 -0
  638. package/src/components/ThemedText.tsx +181 -0
  639. package/src/components/TicketWorkspaceLayout.tsx +63 -0
  640. package/src/components/TimePicker.tsx +283 -0
  641. package/src/components/Tooltip.tsx +128 -0
  642. package/src/components/TreeView.tsx +297 -0
  643. package/src/components/accordion.tsx +78 -0
  644. package/src/components/avatar.tsx +107 -0
  645. package/src/components/badge.tsx +72 -0
  646. package/src/components/button.tsx +93 -0
  647. package/src/components/card.tsx +103 -0
  648. package/src/components/context menu core/context-menu.tsx +304 -0
  649. package/src/components/context menu core/contextMenuAdvanced.tsx +130 -0
  650. package/src/components/dialog.tsx +186 -0
  651. package/src/components/dropdown-menu.tsx +274 -0
  652. package/src/components/filter/AdvancedFilters.tsx +834 -0
  653. package/src/components/filter/Filter.tsx +233 -0
  654. package/src/components/filter/FilterButton.tsx +38 -0
  655. package/src/components/filter/NormalFilters.tsx +109 -0
  656. package/src/components/filter/index.ts +5 -0
  657. package/src/components/filter/types.ts +36 -0
  658. package/src/components/form-error.tsx +172 -0
  659. package/src/components/icons.tsx +468 -0
  660. package/src/components/image.tsx +85 -0
  661. package/src/components/index.ts +59 -0
  662. package/src/components/input.tsx +260 -0
  663. package/src/components/label.tsx +27 -0
  664. package/src/components/layout/FeatureLayout.tsx +739 -0
  665. package/src/components/layout/FeatureLayoutExportButton.tsx +93 -0
  666. package/src/components/layout/FeatureLayoutTabs.tsx +413 -0
  667. package/src/components/layout/kanban/FeatureLayoutKanban.tsx +386 -0
  668. package/src/components/layout/kanban/KanbanCard.tsx +132 -0
  669. package/src/components/layout/kanban/KanbanColumn.tsx +241 -0
  670. package/src/components/layout/kanban/KanbanToolbar.tsx +77 -0
  671. package/src/components/layout/kanban/index.ts +6 -0
  672. package/src/components/layout/kanban/types.ts +96 -0
  673. package/src/components/popover.tsx +66 -0
  674. package/src/components/react-flow/FlowGraphHeader.tsx +68 -0
  675. package/src/components/react-flow/GlowEdge.tsx +238 -0
  676. package/src/components/react-flow/ReactFlowCanvas.tsx +112 -0
  677. package/src/components/react-flow/RelationshipFlow.tsx +50 -0
  678. package/src/components/react-flow/TreeFlowLayout.tsx +187 -0
  679. package/src/components/react-flow/edges.ts +39 -0
  680. package/src/components/react-flow/index.ts +9 -0
  681. package/src/components/react-flow/layout.ts +16 -0
  682. package/src/components/react-flow/types.ts +103 -0
  683. package/src/components/react-flow/useFlowGraph.ts +36 -0
  684. package/src/components/react-flow/useFlowGraphSync.ts +67 -0
  685. package/src/components/select.tsx +386 -0
  686. package/src/components/sonner.tsx +58 -0
  687. package/src/components/stepper.tsx +97 -0
  688. package/src/components/switch.tsx +46 -0
  689. package/src/components/table.tsx +577 -0
  690. package/src/components/tabs.tsx +81 -0
  691. package/src/components/textarea.tsx +67 -0
  692. package/src/condition-builder/index.ts +2 -0
  693. package/src/context-menu/index.ts +2 -0
  694. package/src/dropdown/SearchDropdown.tsx +145 -0
  695. package/src/dropdown/index.ts +2 -0
  696. package/src/editor.ts +1 -0
  697. package/src/feedback/index.ts +6 -0
  698. package/src/flow.ts +1 -0
  699. package/src/hooks/index.ts +3 -0
  700. package/src/hooks/useContextMenuActions.ts +69 -0
  701. package/src/hooks/useFeatureLayout.ts +44 -0
  702. package/src/hooks/useTableActions.ts +146 -0
  703. package/src/index.ts +27 -0
  704. package/src/integrations.tsx +11 -0
  705. package/src/itsm/index.ts +7 -0
  706. package/src/locales/ar.json +149 -0
  707. package/src/locales/en.json +149 -0
  708. package/src/primitives/index.ts +11 -0
  709. package/src/progress.tsx +87 -0
  710. package/src/select/index.ts +3 -0
  711. package/src/support/api.ts +1 -0
  712. package/src/support/types/file.types.ts +13 -0
  713. package/src/support/types/gallery.types.ts +22 -0
  714. package/src/support/types/governorates.types.ts +13 -0
  715. package/src/support/types/grade.types.ts +7 -0
  716. package/src/support/types/index.ts +14 -0
  717. package/src/support/types/metadata.types.ts +93 -0
  718. package/src/support/types/table.types.ts +45 -0
  719. package/src/support/types/viewCard.types.ts +100 -0
  720. package/src/support/utils/fileUtils.ts +1 -0
  721. package/src/support/utils.ts +3 -0
  722. package/src/table/index.ts +6 -0
  723. package/src/tasks.ts +3 -0
  724. package/src/tours/TourContext.tsx +142 -0
  725. package/src/tours/TourOverlay.tsx +281 -0
  726. package/src/tours.ts +2 -0
  727. package/src/types.ts +138 -0
  728. package/src/typography/index.ts +4 -0
  729. package/src/typography/typography.adapter.ts +131 -0
  730. package/src/typography/typography.constants.ts +700 -0
  731. package/src/typography/typography.types.ts +156 -0
  732. package/src/typography/useTypography.ts +211 -0
  733. package/src/ui/accordion.tsx +66 -0
  734. package/src/ui/avatar.tsx +106 -0
  735. package/src/ui/badge.tsx +58 -0
  736. package/src/ui/button.tsx +69 -0
  737. package/src/ui/card.tsx +97 -0
  738. package/src/ui/dialog.tsx +165 -0
  739. package/src/ui/dropdown-menu.tsx +262 -0
  740. package/src/ui/index.ts +15 -0
  741. package/src/ui/input.tsx +22 -0
  742. package/src/ui/popover.tsx +86 -0
  743. package/src/ui/select.tsx +193 -0
  744. package/src/ui/switch.tsx +32 -0
  745. package/src/ui/table.tsx +119 -0
  746. package/src/ui/tabs.tsx +89 -0
  747. package/src/ui/textarea.tsx +21 -0
  748. package/src/ui/tooltip.tsx +54 -0
  749. package/src/workspace/index.ts +2 -0
  750. package/styles.css +532 -0
  751. package/README.md +0 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TaskCalendarView.js","sourceRoot":"","sources":["../../../src/clickup/views/TaskCalendarView.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import "../task-ui.css";
2
+ import React from "react";
3
+ import { ClickUpTask } from "../types";
4
+ export interface TaskGanttViewProps {
5
+ tasks: ClickUpTask[];
6
+ startDate?: Date;
7
+ daysCount?: number;
8
+ onTaskClick?: (task: ClickUpTask) => void;
9
+ className?: string;
10
+ }
11
+ export declare const TaskGanttView: React.FC<TaskGanttViewProps>;
12
+ export default TaskGanttView;
@@ -0,0 +1,64 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import "../task-ui.css";
3
+ import { useTranslation } from "react-i18next";
4
+ import React from "react";
5
+ import { cn } from "../../support/utils.js";
6
+ import { TaskTimelineRow } from "../elements/TaskTimelineRow.js";
7
+ import { ThemedText } from "../../components/ThemedText.js";
8
+ export const TaskGanttView = ({ tasks, startDate, daysCount = 28, onTaskClick, className, }) => {
9
+ const { t: tr, i18n } = useTranslation("designSystem");
10
+ // Compute timeline window
11
+ const baseStart = React.useMemo(() => {
12
+ if (startDate)
13
+ return new Date(startDate);
14
+ const validDates = tasks
15
+ .map((t) => t.start_date)
16
+ .filter(Boolean)
17
+ .map((d) => new Date(d).getTime())
18
+ .filter((t) => !isNaN(t));
19
+ if (validDates.length > 0) {
20
+ return new Date(Math.min(...validDates));
21
+ }
22
+ return new Date();
23
+ }, [startDate, tasks]);
24
+ const DAY_MS = 86400000;
25
+ const startTime = Date.UTC(baseStart.getUTCFullYear(), baseStart.getUTCMonth(), baseStart.getUTCDate());
26
+ const days = Array.from({ length: daysCount }, (_, i) => {
27
+ const d = new Date(startTime + i * DAY_MS);
28
+ return {
29
+ date: d,
30
+ dayNumber: d.getUTCDate(),
31
+ isWeekend: d.getUTCDay() === 0 || d.getUTCDay() === 6,
32
+ };
33
+ });
34
+ const rangeLabel = React.useMemo(() => {
35
+ const startStr = new Intl.DateTimeFormat(i18n.language, {
36
+ month: "short",
37
+ day: "numeric",
38
+ timeZone: "UTC",
39
+ }).format(new Date(startTime));
40
+ const endStr = new Intl.DateTimeFormat(i18n.language, {
41
+ month: "short",
42
+ day: "numeric",
43
+ year: "numeric",
44
+ timeZone: "UTC",
45
+ }).format(new Date(startTime + (daysCount - 1) * DAY_MS));
46
+ return `${startStr} - ${endStr}`;
47
+ }, [startTime, daysCount, i18n.language]);
48
+ const scheduledTasks = tasks.filter((t) => t.start_date && t.due_date);
49
+ return (_jsxs("div", { className: cn("space-y-3 py-2", className), children: [_jsxs("div", { className: "cu-task-gantt-header", children: [_jsx(ThemedText, { variant: "title", as: "h3", className: "text-sm font-semibold text-dashboard-foreground", children: rangeLabel }), _jsx(ThemedText, { variant: "caption", as: "span", className: "text-xs text-dashboard-muted-foreground", children: tr("clickup.dateRange", { count: daysCount }) })] }), _jsx("div", { className: "overflow-x-auto", children: _jsxs("div", { className: "cu-task-timeline", style: { "--task-days-count": daysCount }, children: [_jsxs("div", { className: "cu-task-timeline-row", children: [_jsx(ThemedText, { as: "span", variant: "body", className: "cu-task-timeline-label text-[11px] font-medium text-dashboard-muted-foreground", children: tr("clickup.Project_Task") }), _jsx("div", { className: "cu-task-timeline-days", children: days.map((d, index) => (_jsx(ThemedText, { as: "span", variant: "caption", className: cn("cu-task-timeline-day", d.isWeekend
50
+ ? "text-dashboard-muted-foreground/40"
51
+ : "text-dashboard-muted-foreground font-medium"), children: d.dayNumber }, index))) })] }), _jsxs("div", { className: "divide-y divide-dashboard-border/30", children: [scheduledTasks.map((task) => {
52
+ const startTask = Date.parse(task.start_date + "T00:00:00Z");
53
+ const dueTask = Date.parse(task.due_date + "T00:00:00Z");
54
+ const leftDays = Math.max(0, (startTask - startTime) / DAY_MS);
55
+ const endDays = Math.min(daysCount, (dueTask - startTime) / DAY_MS + 1);
56
+ if (endDays <= leftDays || leftDays >= daysCount)
57
+ return null;
58
+ const leftPercent = (leftDays / daysCount) * 100;
59
+ const widthPercent = ((endDays - leftDays) / daysCount) * 100;
60
+ return (_jsx(TaskTimelineRow, { task: task, status: task.status, leftPercent: leftPercent, widthPercent: widthPercent, onClick: onTaskClick }, task.id));
61
+ }), scheduledTasks.length === 0 && (_jsx("div", { className: "py-12 text-center text-dashboard-muted-foreground text-xs", children: _jsx(ThemedText, { as: "p", variant: "body", children: tr("clickup.noScheduled") }) }))] })] }) }), _jsx(ThemedText, { variant: "caption", as: "p", className: "text-[11px] text-dashboard-muted-foreground/70 pt-1", children: tr("clickup.projection") })] }));
62
+ };
63
+ export default TaskGanttView;
64
+ //# sourceMappingURL=TaskGanttView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TaskGanttView.js","sourceRoot":"","sources":["../../../src/clickup/views/TaskGanttView.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import React from "react";
2
+ import { ClickUpTask, ClickUpStatus, ClickUpPhase, ClickUpUser } from "../types";
3
+ export interface TaskListViewProps {
4
+ tasks: ClickUpTask[];
5
+ statuses: ClickUpStatus[];
6
+ phases?: ClickUpPhase[];
7
+ users?: ClickUpUser[];
8
+ canEdit?: boolean;
9
+ collapsedGroupIds?: Record<string, boolean>;
10
+ onToggleGroup?: (statusId: string) => void;
11
+ onToggleComplete?: (task: ClickUpTask, checked: boolean) => void;
12
+ onTaskClick?: (task: ClickUpTask) => void;
13
+ onAddTask?: (statusId: string) => void;
14
+ onStatusAction?: (status: ClickUpStatus) => void;
15
+ onStatusClick?: (task: ClickUpTask) => void;
16
+ onAssigneeClick?: (task: ClickUpTask) => void;
17
+ onPriorityClick?: (task: ClickUpTask) => void;
18
+ onActionClick?: (task: ClickUpTask, e: React.MouseEvent) => void;
19
+ className?: string;
20
+ }
21
+ export declare const TaskListView: React.FC<TaskListViewProps>;
22
+ export default TaskListView;
@@ -0,0 +1,17 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useTranslation } from "react-i18next";
3
+ import { cn } from "../../support/utils.js";
4
+ import { TaskGroup } from "../elements/TaskGroup.js";
5
+ import { ThemedText } from "../../components/ThemedText.js";
6
+ export const TaskListView = ({ tasks, statuses, phases = [], users = [], canEdit = true, collapsedGroupIds, onToggleGroup, onToggleComplete, onTaskClick, onAddTask, onStatusAction, onStatusClick, onAssigneeClick, onPriorityClick, onActionClick, className, }) => {
7
+ const { t: tr } = useTranslation("designSystem");
8
+ if (statuses.length === 0) {
9
+ return (_jsx("div", { className: "py-12 text-center text-dashboard-muted-foreground", children: _jsx(ThemedText, { variant: "body", as: "p", className: "text-dashboard-muted-foreground", children: tr("clickup.No_task_statuses_configured") }) }));
10
+ }
11
+ return (_jsx("div", { className: cn("cu-task-list", className), children: statuses.map((status) => {
12
+ const statusTasks = tasks.filter((t) => t.status_id === status.id);
13
+ return (_jsx(TaskGroup, { status: status, tasks: statusTasks, phases: phases, users: users, canEdit: canEdit, isExpanded: !collapsedGroupIds?.[status.id], onToggleExpand: onToggleGroup, onToggleComplete: onToggleComplete, onTaskClick: onTaskClick, onAddTask: onAddTask, onStatusAction: onStatusAction, onStatusClick: onStatusClick, onAssigneeClick: onAssigneeClick, onPriorityClick: onPriorityClick, onActionClick: onActionClick }, status.id));
14
+ }) }));
15
+ };
16
+ export default TaskListView;
17
+ //# sourceMappingURL=TaskListView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TaskListView.js","sourceRoot":"","sources":["../../../src/clickup/views/TaskListView.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,EAAE,EAAE,EAAE,MAAM,qBAAqB,CAAC;AAOzC,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAqBzD,MAAM,CAAC,MAAM,YAAY,GAAgC,CAAC,EACxD,KAAK,EACL,QAAQ,EACR,MAAM,GAAG,EAAE,EACX,KAAK,GAAG,EAAE,EACV,OAAO,GAAG,IAAI,EACd,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,WAAW,EACX,SAAS,EACT,cAAc,EACd,aAAa,EACb,eAAe,EACf,eAAe,EACf,aAAa,EACb,SAAS,GACV,EAAE,EAAE;IACH,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,cAAc,CAAC,cAAc,CAAC,CAAC;IACjD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,CACL,cAAK,SAAS,EAAC,mDAAmD,YAChE,KAAC,UAAU,IACT,OAAO,EAAC,MAAM,EACd,EAAE,EAAC,GAAG,EACN,SAAS,EAAC,iCAAiC,YAE1C,EAAE,CAAC,qCAAqC,CAAC,GAC/B,GACT,CACP,CAAC;IACJ,CAAC;IAED,OAAO,CACL,cAAK,SAAS,EAAE,EAAE,CAAC,cAAc,EAAE,SAAS,CAAC,YAC1C,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YACvB,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC;YAEnE,OAAO,CACL,KAAC,SAAS,IAER,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,CAAC,iBAAiB,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,EAC3C,cAAc,EAAE,aAAa,EAC7B,gBAAgB,EAAE,gBAAgB,EAClC,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,aAAa,EAC5B,eAAe,EAAE,eAAe,EAChC,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,IAfvB,MAAM,CAAC,EAAE,CAgBd,CACH,CAAC;QACJ,CAAC,CAAC,GACE,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -0,0 +1,21 @@
1
+ import "../task-ui.css";
2
+ import React from "react";
3
+ import { ClickUpTask, ClickUpStatus, ClickUpPhase, ClickUpUser } from "../types";
4
+ export interface TaskTableViewProps {
5
+ tasks: ClickUpTask[];
6
+ statuses?: ClickUpStatus[];
7
+ phases?: ClickUpPhase[];
8
+ users?: ClickUpUser[];
9
+ canEdit?: boolean;
10
+ collapsedGroupIds?: Record<string, boolean>;
11
+ onToggleGroup?: (statusId: string) => void;
12
+ onToggleComplete?: (task: ClickUpTask, checked: boolean) => void;
13
+ onTaskClick?: (task: ClickUpTask) => void;
14
+ onStatusClick?: (task: ClickUpTask) => void;
15
+ onAssigneeClick?: (task: ClickUpTask) => void;
16
+ onPriorityClick?: (task: ClickUpTask) => void;
17
+ onActionClick?: (task: ClickUpTask, e: React.MouseEvent) => void;
18
+ className?: string;
19
+ }
20
+ export declare const TaskTableView: React.FC<TaskTableViewProps>;
21
+ export default TaskTableView;
@@ -0,0 +1,50 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import "../task-ui.css";
3
+ import { TaskTableHead } from "../elements/TaskTableHead.js";
4
+ import { useTranslation } from "react-i18next";
5
+ import React from "react";
6
+ import { ChevronDown } from "lucide-react";
7
+ import { cn } from "../../support/utils.js";
8
+ import { TaskRow } from "../elements/TaskRow.js";
9
+ import { TaskStatusPill } from "../common/TaskStatusPill.js";
10
+ import { ThemedText } from "../../components/ThemedText.js";
11
+ export const TaskTableView = ({ tasks, statuses = [], phases = [], users = [], canEdit = true, collapsedGroupIds, onToggleGroup, onToggleComplete, onTaskClick, onStatusClick, onAssigneeClick, onPriorityClick, onActionClick, className, }) => {
12
+ const { t: tr } = useTranslation("designSystem");
13
+ const statusMap = React.useMemo(() => {
14
+ const map = new Map();
15
+ statuses.forEach((s) => map.set(s.id, s));
16
+ return map;
17
+ }, [statuses]);
18
+ const phaseMap = React.useMemo(() => {
19
+ const map = new Map();
20
+ phases.forEach((p) => map.set(p.id, p));
21
+ return map;
22
+ }, [phases]);
23
+ const userMap = React.useMemo(() => {
24
+ const map = new Map();
25
+ users.forEach((u) => map.set(u.id, u));
26
+ return map;
27
+ }, [users]);
28
+ return (_jsx("div", { className: cn("cu-task-table-wrap", className), children: _jsxs("div", { className: "overflow-x-auto", children: [_jsxs("table", { className: "cu-task-table", children: [_jsx(TaskTableHead, {}), _jsx("tbody", { children: statuses.length > 0
29
+ ? statuses.map((status) => {
30
+ const statusTasks = tasks.filter((t) => t.status_id === status.id);
31
+ const isExpanded = !collapsedGroupIds?.[status.id];
32
+ return (_jsxs(React.Fragment, { children: [_jsx("tr", { className: "bg-dashboard-secondary/35 border-b border-dashboard-border", children: _jsx("td", { colSpan: 6, className: "py-2 px-3", children: _jsxs("button", { type: "button", onClick: () => onToggleGroup?.(status.id), className: "inline-flex items-center gap-2 text-xs font-semibold text-dashboard-foreground hover:text-dashboard-primary transition-colors cursor-pointer", "aria-expanded": isExpanded, children: [_jsx(ChevronDown, { className: cn("size-3.5 text-dashboard-muted-foreground transition-transform duration-200", !isExpanded && "-rotate-90 rtl:rotate-90") }), _jsx(TaskStatusPill, { status: status, size: "sm" }), _jsxs("span", { className: "text-[11px] text-dashboard-muted-foreground font-normal", children: ["(", statusTasks.length, ")"] })] }) }) }), isExpanded &&
33
+ statusTasks.map((task) => (_jsx(TaskRow, { task: task, status: status, phase: task.phase_id
34
+ ? phaseMap.get(task.phase_id)
35
+ : undefined, assignee: task.assignee_id
36
+ ? userMap.get(task.assignee_id)
37
+ : undefined, canEdit: canEdit, onToggleComplete: onToggleComplete, onClick: onTaskClick, onStatusClick: onStatusClick, onAssigneeClick: onAssigneeClick, onPriorityClick: onPriorityClick, onActionClick: onActionClick }, task.id))), isExpanded && statusTasks.length === 0 && (_jsx("tr", { className: "border-b border-dashboard-border/50", children: _jsx("td", { colSpan: 6, className: "py-4 text-center text-xs text-dashboard-muted-foreground", children: tr("clickup.noStatusTasks", {
38
+ defaultValue: "No tasks in this status.",
39
+ }) }) }))] }, status.id));
40
+ })
41
+ : tasks.map((task) => (_jsx(TaskRow, { task: task, status: task.status ||
42
+ (task.status_id
43
+ ? statusMap.get(task.status_id)
44
+ : undefined), phase: task.phase_id ? phaseMap.get(task.phase_id) : undefined, assignee: task.assignee ||
45
+ (task.assignee_id
46
+ ? userMap.get(task.assignee_id)
47
+ : undefined), canEdit: canEdit, onToggleComplete: onToggleComplete, onClick: onTaskClick, onStatusClick: onStatusClick, onAssigneeClick: onAssigneeClick, onPriorityClick: onPriorityClick, onActionClick: onActionClick }, task.id))) })] }), tasks.length === 0 && statuses.length === 0 && (_jsx("div", { className: "py-12 text-center text-dashboard-muted-foreground", children: _jsx(ThemedText, { variant: "body", as: "p", className: "text-dashboard-muted-foreground", children: "No tasks match this view." }) }))] }) }));
48
+ };
49
+ export default TaskTableView;
50
+ //# sourceMappingURL=TaskTableView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TaskTableView.js","sourceRoot":"","sources":["../../../src/clickup/views/TaskTableView.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ import React from "react";
2
+ export interface ActivityAttachment {
3
+ id: string;
4
+ name: string;
5
+ size: string;
6
+ url?: string;
7
+ }
8
+ export interface ActivityReaction {
9
+ emoji: string;
10
+ count: number;
11
+ userReacted?: boolean;
12
+ }
13
+ export interface ActivityFeedItem {
14
+ id: string;
15
+ type: "comment" | "audit" | "note";
16
+ author: {
17
+ name: string;
18
+ avatar?: string;
19
+ initials?: string;
20
+ isOnline?: boolean;
21
+ };
22
+ timestamp: string;
23
+ isEdited?: boolean;
24
+ content?: string;
25
+ attachments?: ActivityAttachment[];
26
+ reactions?: ActivityReaction[];
27
+ auditDetails?: {
28
+ action: string;
29
+ target?: string;
30
+ from?: React.ReactNode;
31
+ to?: React.ReactNode;
32
+ };
33
+ }
34
+ export interface ActivityFeedProps {
35
+ items: ActivityFeedItem[];
36
+ totalCount?: number;
37
+ newCount?: number;
38
+ onAddComment?: (content: string, isNote: boolean) => void;
39
+ onAddReaction?: (itemId: string, emoji: string) => void;
40
+ currentUser?: {
41
+ name: string;
42
+ avatar?: string;
43
+ initials?: string;
44
+ };
45
+ className?: string;
46
+ }
47
+ export declare function ActivityFeed({ items, totalCount, newCount, onAddComment, onAddReaction, currentUser, className, }: ActivityFeedProps): React.JSX.Element;
48
+ export default ActivityFeed;
@@ -0,0 +1,60 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { cn } from "../support/utils.js";
3
+ import { Activity, ChevronDown, ChevronRight, FileText, History, MessageSquare, Paperclip, Zap, } from "lucide-react";
4
+ import { useState } from "react";
5
+ import { Avatar, AvatarFallback, AvatarImage } from "./avatar.js";
6
+ import { Button } from "./button.js";
7
+ import { FileAttachmentChip } from "./FileAttachmentChip.js";
8
+ import { Textarea } from "./textarea.js";
9
+ export function ActivityFeed({ items, totalCount = 0, newCount = 0, onAddComment, onAddReaction, currentUser, className, }) {
10
+ const [isCollapsed, setIsCollapsed] = useState(false);
11
+ const [activeFilter, setActiveFilter] = useState("all");
12
+ const [commentText, setCommentText] = useState("");
13
+ const [isNoteMode, setIsNoteMode] = useState(false);
14
+ const filteredItems = items.filter((item) => {
15
+ if (activeFilter === "comments")
16
+ return item.type === "comment";
17
+ if (activeFilter === "audit")
18
+ return item.type === "audit";
19
+ if (activeFilter === "notes")
20
+ return item.type === "note";
21
+ return true;
22
+ });
23
+ const handleSendComment = () => {
24
+ if (!commentText.trim())
25
+ return;
26
+ onAddComment?.(commentText, isNoteMode);
27
+ setCommentText("");
28
+ };
29
+ return (_jsxs("div", { className: cn("rounded-xl bg-dashboard-card border border-dashboard-border overflow-hidden select-none", className), children: [_jsxs("div", { className: "flex items-center justify-between px-4 py-2.5 bg-dashboard-secondary/30 border-b border-dashboard-border", children: [_jsxs("button", { type: "button", onClick: () => setIsCollapsed(!isCollapsed), className: "flex items-center gap-2 text-xs font-semibold text-dashboard-foreground hover:text-dashboard-primary transition-colors cursor-pointer", children: [isCollapsed ? (_jsx(ChevronRight, { className: "w-3.5 h-3.5 text-dashboard-muted-foreground" })) : (_jsx(ChevronDown, { className: "w-3.5 h-3.5 text-dashboard-muted-foreground" })), _jsx(Activity, { className: "w-3.5 h-3.5 text-dashboard-primary" }), _jsx("span", { children: "Activity" }), _jsxs("span", { className: "font-mono text-[11px] text-dashboard-muted-foreground", children: [totalCount || items.length, newCount > 0 && ` + ${newCount}`] })] }), _jsxs("div", { className: "flex items-center gap-1", children: [_jsx("button", { type: "button", "aria-label": "Filter comments", onClick: () => setActiveFilter(activeFilter === "comments"
30
+ ? "all"
31
+ : "comments"), className: cn("p-1.5 rounded-md text-xs transition-colors", activeFilter === "comments"
32
+ ? "bg-dashboard-primary/10 text-dashboard-primary"
33
+ : "text-dashboard-muted-foreground hover:text-dashboard-foreground hover:bg-dashboard-secondary"), children: _jsx(MessageSquare, { className: "w-3.5 h-3.5" }) }), _jsx("button", { type: "button", "aria-label": "Filter audit history", onClick: () => setActiveFilter(activeFilter === "audit" ? "all" : "audit"), className: cn("p-1.5 rounded-md text-xs transition-colors", activeFilter === "audit"
34
+ ? "bg-dashboard-primary/10 text-dashboard-primary"
35
+ : "text-dashboard-muted-foreground hover:text-dashboard-foreground hover:bg-dashboard-secondary"), children: _jsx(History, { className: "w-3.5 h-3.5" }) }), _jsx("button", { type: "button", "aria-label": "Filter notes", onClick: () => setActiveFilter(activeFilter === "notes" ? "all" : "notes"), className: cn("p-1.5 rounded-md text-xs transition-colors", activeFilter === "notes"
36
+ ? "bg-dashboard-primary/10 text-dashboard-primary"
37
+ : "text-dashboard-muted-foreground hover:text-dashboard-foreground hover:bg-dashboard-secondary"), children: _jsx(FileText, { className: "w-3.5 h-3.5" }) })] })] }), !isCollapsed && (_jsxs("div", { className: "divide-y divide-dashboard-border/60", children: [_jsx("div", { className: "p-4 space-y-4 max-h-[460px] overflow-y-auto", children: filteredItems.length === 0 ? (_jsx("div", { className: "text-center py-6 text-xs text-dashboard-muted-foreground", children: "No activity recorded yet." })) : (filteredItems.map((item) => (_jsxs("div", { className: cn("flex gap-3 text-xs", item.type === "note" &&
38
+ "p-3 rounded-lg bg-amber-500/5 border border-amber-500/20"), children: [_jsxs("div", { className: "relative shrink-0", children: [_jsxs(Avatar, { size: "sm", className: "size-7", children: [item.author.avatar && (_jsx(AvatarImage, { src: item.author.avatar, alt: item.author.name })), _jsx(AvatarFallback, { className: "text-[10px]", children: item.author.initials ||
39
+ item.author.name.slice(0, 2) })] }), item.author.isOnline && (_jsx("span", { className: "absolute bottom-0 right-0 size-2 bg-emerald-500 rounded-full ring-2 ring-dashboard-card" }))] }), _jsxs("div", { className: "flex-1 space-y-1.5 min-w-0", children: [_jsxs("div", { className: "flex items-center justify-between gap-2", children: [_jsxs("div", { className: "flex items-center gap-1.5", children: [_jsx("span", { className: "font-semibold text-dashboard-foreground", children: item.author.name }), item.type === "note" && (_jsx("span", { className: "text-[10px] font-bold px-1.5 py-0.2 rounded bg-amber-500/20 text-amber-400", children: "Internal Note" }))] }), _jsxs("span", { className: "text-[11px] text-dashboard-muted-foreground", children: [item.timestamp, " ", item.isEdited && "(edited)"] })] }), item.type === "audit" &&
40
+ item.auditDetails && (_jsxs("div", { className: "text-dashboard-muted-foreground leading-relaxed", children: [_jsxs("span", { children: [item.auditDetails
41
+ .action, " "] }), item.auditDetails.from && (_jsxs("span", { children: ["from", " ", _jsx("span", { className: "text-dashboard-foreground", children: item
42
+ .auditDetails
43
+ .from }), " "] })), item.auditDetails.to && (_jsxs("span", { children: ["to", " ", _jsx("span", { className: "text-dashboard-foreground", children: item
44
+ .auditDetails
45
+ .to })] }))] })), item.content && (_jsx("p", { className: "text-dashboard-foreground/90 leading-relaxed break-words whitespace-pre-wrap", children: item.content })), item.attachments &&
46
+ item.attachments.length > 0 && (_jsx("div", { className: "space-y-1.5 pt-1", children: item.attachments.map((att) => (_jsx(FileAttachmentChip, { name: att.name, size: att.size, url: att.url }, att.id))) })), item.reactions &&
47
+ item.reactions.length > 0 && (_jsx("div", { className: "flex items-center gap-1.5 pt-1", children: item.reactions.map((reaction, idx) => (_jsxs("button", { type: "button", onClick: () => onAddReaction?.(item.id, reaction.emoji), className: cn("inline-flex items-center gap-1 px-2 py-0.5 rounded-full text-[11px] border transition-colors", reaction.userReacted
48
+ ? "bg-dashboard-primary/10 border-dashboard-primary/30 text-dashboard-primary"
49
+ : "bg-dashboard-secondary border-dashboard-border text-dashboard-muted-foreground hover:text-dashboard-foreground"), children: [_jsx("span", { children: reaction.emoji }), _jsx("span", { children: reaction.count })] }, idx))) }))] })] }, item.id)))) }), _jsx("div", { className: "p-3 bg-dashboard-secondary/20 space-y-2", children: _jsxs("div", { className: "flex gap-2.5", children: [_jsxs(Avatar, { size: "sm", className: "size-7 shrink-0", children: [currentUser?.avatar && (_jsx(AvatarImage, { src: currentUser.avatar, alt: currentUser.name })), _jsx(AvatarFallback, { className: "text-[10px]", children: currentUser?.initials || "ME" })] }), _jsxs("div", { className: "flex-1 space-y-2", children: [_jsx(Textarea, { value: commentText, onChange: (e) => setCommentText(e.target.value), placeholder: isNoteMode
50
+ ? "Leave an internal note (only team visible)..."
51
+ : "Leave a comment or reply...", rows: 2, className: "text-xs bg-dashboard-background border-dashboard-border min-h-[56px] resize-none" }), _jsxs("div", { className: "flex items-center justify-between pt-1", children: [_jsxs("div", { className: "flex items-center gap-1.5", children: [_jsx(Button, { type: "button", variant: isNoteMode
52
+ ? "default"
53
+ : "outline", size: "xs", onClick: () => setIsNoteMode(!isNoteMode), className: cn("h-7 rounded-full text-[11px]", isNoteMode
54
+ ? "bg-amber-500 hover:bg-amber-600 text-white"
55
+ : "bg-dashboard-secondary border-dashboard-border text-dashboard-muted-foreground hover:text-dashboard-foreground"), children: isNoteMode
56
+ ? "Note Mode Active"
57
+ : "Make a note" }), _jsx(Button, { type: "button", variant: "ghost", size: "icon-xs", "aria-label": "Attach file", className: "size-7 text-dashboard-muted-foreground hover:text-dashboard-foreground", children: _jsx(Paperclip, { className: "w-3.5 h-3.5" }) }), _jsx(Button, { type: "button", variant: "ghost", size: "icon-xs", "aria-label": "Insert quick macro", className: "size-7 text-dashboard-muted-foreground hover:text-dashboard-foreground", children: _jsx(Zap, { className: "w-3.5 h-3.5" }) })] }), _jsx(Button, { type: "button", variant: "default", size: "xs", disabled: !commentText.trim(), onClick: handleSendComment, className: "h-7 px-3.5 bg-dashboard-primary hover:bg-dashboard-primary/90 text-white rounded-full text-xs font-semibold", children: "Comment" })] })] })] }) })] }))] }));
58
+ }
59
+ export default ActivityFeed;
60
+ //# sourceMappingURL=ActivityFeed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ActivityFeed.js","sourceRoot":"","sources":["../../src/components/ActivityFeed.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ interface AudioPlayerProps {
3
+ src: string;
4
+ variant?: "message" | "preview";
5
+ className?: string;
6
+ }
7
+ export declare const AudioPlayer: React.FC<AudioPlayerProps>;
8
+ export {};
@@ -0,0 +1,96 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { cn } from "../support/utils.js";
3
+ import { Pause, Play } from "lucide-react";
4
+ import { useEffect, useMemo, useRef, useState } from "react";
5
+ const formatTime = (time) => {
6
+ if (isNaN(time))
7
+ return "0:00";
8
+ const minutes = Math.floor(time / 60);
9
+ const seconds = Math.floor(time % 60);
10
+ return `${minutes}:${seconds < 10 ? "0" : ""}${seconds}`;
11
+ };
12
+ export const AudioPlayer = ({ src, variant = "message", className, }) => {
13
+ const audioRef = useRef(null);
14
+ const [isPlaying, setIsPlaying] = useState(false);
15
+ const [duration, setDuration] = useState(0);
16
+ const [currentTime, setCurrentTime] = useState(0);
17
+ const [playbackSpeed, setPlaybackSpeed] = useState(1);
18
+ const speeds = [1, 1.5, 2];
19
+ useEffect(() => {
20
+ const audio = audioRef.current;
21
+ if (!audio)
22
+ return;
23
+ const setAudioData = () => {
24
+ setDuration(audio.duration || 0);
25
+ setCurrentTime(audio.currentTime || 0);
26
+ };
27
+ const setAudioTime = () => setCurrentTime(audio.currentTime || 0);
28
+ const onEnd = () => setIsPlaying(false);
29
+ audio.addEventListener("loadeddata", setAudioData);
30
+ audio.addEventListener("timeupdate", setAudioTime);
31
+ audio.addEventListener("ended", onEnd);
32
+ return () => {
33
+ audio.removeEventListener("loadeddata", setAudioData);
34
+ audio.removeEventListener("timeupdate", setAudioTime);
35
+ audio.removeEventListener("ended", onEnd);
36
+ };
37
+ }, []);
38
+ const togglePlayPause = () => {
39
+ if (!audioRef.current)
40
+ return;
41
+ if (isPlaying) {
42
+ audioRef.current.pause();
43
+ }
44
+ else {
45
+ audioRef.current.play().catch(() => { });
46
+ }
47
+ setIsPlaying(!isPlaying);
48
+ };
49
+ const handleSpeedToggle = () => {
50
+ const nextSpeed = speeds[(speeds.indexOf(playbackSpeed) + 1) % speeds.length];
51
+ setPlaybackSpeed(nextSpeed);
52
+ if (audioRef.current) {
53
+ audioRef.current.playbackRate = nextSpeed;
54
+ }
55
+ };
56
+ // Deterministic waveform data based on audio source string
57
+ const waveData = useMemo(() => {
58
+ let hash = 0;
59
+ for (let i = 0; i < src.length; i++) {
60
+ hash = src.charCodeAt(i) + ((hash << 5) - hash);
61
+ }
62
+ const random = (seed) => {
63
+ const x = Math.sin(seed++) * 10000;
64
+ return x - Math.floor(x);
65
+ };
66
+ return Array.from({ length: 36 }, (_, i) => {
67
+ return Math.max(0.2, random(hash + i));
68
+ });
69
+ }, [src]);
70
+ const handleSeek = (e) => {
71
+ if (!audioRef.current || !duration)
72
+ return;
73
+ const rect = e.currentTarget.getBoundingClientRect();
74
+ const percent = Math.max(0, Math.min(1, (e.clientX - rect.left) / rect.width));
75
+ audioRef.current.currentTime = percent * duration;
76
+ setCurrentTime(percent * duration);
77
+ };
78
+ const isMessage = variant === "message";
79
+ return (_jsxs("div", { className: cn("flex items-center gap-3 rounded-2xl min-w-56 max-w-sm p-2 transition-all", isMessage
80
+ ? "bg-dashboard-secondary/60 border border-dashboard-border"
81
+ : "bg-dashboard-primary/10 border border-dashboard-primary/30", className), children: [_jsx("audio", { ref: audioRef, src: src, preload: "metadata" }), _jsx("button", { onClick: togglePlayPause, type: "button", "aria-label": isPlaying ? "Pause audio" : "Play audio", className: cn("w-9 h-9 shrink-0 flex items-center justify-center rounded-full transition-all cursor-pointer", isMessage
82
+ ? "bg-dashboard-primary text-white shadow-md hover:bg-dashboard-primary/90"
83
+ : "bg-dashboard-primary text-white shadow-sm hover:opacity-90"), children: isPlaying ? (_jsx(Pause, { className: "w-4 h-4 fill-current" })) : (_jsx(Play, { className: "w-4 h-4 fill-current ml-0.5" })) }), _jsxs("div", { className: "flex-1 flex flex-col gap-1 pr-1 min-w-0", children: [_jsx("div", { className: "w-full h-5 flex items-center gap-0.5 cursor-pointer group", onClick: handleSeek, children: waveData.map((val, i) => {
84
+ const isFilled = duration > 0
85
+ ? i / waveData.length <= currentTime / duration
86
+ : false;
87
+ return (_jsx("div", { className: cn("flex-1 rounded-full transition-colors duration-75", isFilled
88
+ ? "bg-dashboard-primary"
89
+ : isMessage
90
+ ? "bg-dashboard-muted-foreground/30"
91
+ : "bg-dashboard-primary/25"), style: {
92
+ height: `${Math.max(20, val * 100)}%`,
93
+ } }, i));
94
+ }) }), _jsxs("div", { className: "flex items-center justify-between text-[10px] font-medium text-dashboard-muted-foreground", children: [_jsx("span", { children: formatTime(currentTime) }), _jsxs("div", { className: "flex items-center gap-1.5", children: [_jsxs("button", { onClick: handleSpeedToggle, type: "button", "aria-label": `Playback speed: ${playbackSpeed}x`, className: "opacity-80 hover:opacity-100 transition-opacity px-1.5 py-0.5 rounded-md font-bold text-[9px] bg-dashboard-secondary border border-dashboard-border text-dashboard-foreground cursor-pointer", children: [playbackSpeed, "x"] }), _jsx("span", { children: formatTime(duration) })] })] })] })] }));
95
+ };
96
+ //# sourceMappingURL=AudioPlayer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AudioPlayer.js","sourceRoot":"","sources":["../../src/components/AudioPlayer.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import React from "react";
2
+ export interface BulkActionBarProps {
3
+ selectedCount: number;
4
+ onClearSelection?: () => void;
5
+ children?: React.ReactNode;
6
+ className?: string;
7
+ label?: string;
8
+ }
9
+ export declare function BulkActionBar({ selectedCount, onClearSelection, children, className, label, }: BulkActionBarProps): React.JSX.Element;
10
+ export default BulkActionBar;
@@ -0,0 +1,10 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { cn } from "../support/utils.js";
3
+ import { AnimatePresence, motion } from "framer-motion";
4
+ import { X } from "lucide-react";
5
+ import { Button } from "./button.js";
6
+ export function BulkActionBar({ selectedCount, onClearSelection, children, className, label = "selected", }) {
7
+ return (_jsx(AnimatePresence, { children: selectedCount > 0 && (_jsxs(motion.div, { initial: { opacity: 0, y: 30, scale: 0.95 }, animate: { opacity: 1, y: 0, scale: 1 }, exit: { opacity: 0, y: 30, scale: 0.95 }, transition: { duration: 0.18, ease: "easeOut" }, className: cn("fixed bottom-6 left-1/2 -translate-x-1/2 z-50", "flex items-center gap-3 px-4 py-2", "bg-dashboard-card dark:bg-dashboard-card/95 border border-dashboard-border shadow-2xl backdrop-blur-md", "rounded-full text-xs text-dashboard-foreground select-none", className), role: "toolbar", "aria-label": "Bulk actions toolbar", children: [_jsxs("div", { className: "flex items-center gap-2 pl-1 pr-2 border-r border-dashboard-border", children: [_jsx("span", { className: "inline-flex items-center justify-center min-w-5 h-5 px-1.5 rounded-full bg-dashboard-primary text-white font-mono text-[11px] font-bold", children: selectedCount }), _jsx("span", { className: "text-dashboard-muted-foreground font-medium", children: label })] }), _jsx("div", { className: "flex items-center gap-1.5", children: children }), onClearSelection && (_jsx(Button, { type: "button", variant: "ghost", size: "icon-xs", onClick: onClearSelection, "aria-label": "Clear selection", className: "rounded-full text-dashboard-muted-foreground hover:text-dashboard-foreground hover:bg-dashboard-secondary shrink-0 size-7", children: _jsx(X, { className: "w-3.5 h-3.5" }) }))] })) }));
8
+ }
9
+ export default BulkActionBar;
10
+ //# sourceMappingURL=BulkActionBar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BulkActionBar.js","sourceRoot":"","sources":["../../src/components/BulkActionBar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AAEjC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAUlC,MAAM,UAAU,aAAa,CAAC,EAC1B,aAAa,EACb,gBAAgB,EAChB,QAAQ,EACR,SAAS,EACT,KAAK,GAAG,UAAU,GACD;IACjB,OAAO,CACH,KAAC,eAAe,cACX,aAAa,GAAG,CAAC,IAAI,CAClB,MAAC,MAAM,CAAC,GAAG,IACP,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAC3C,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EACvC,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EACxC,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAC/C,SAAS,EAAE,EAAE,CACT,+CAA+C,EAC/C,mCAAmC,EACnC,wGAAwG,EACxG,4DAA4D,EAC5D,SAAS,CACZ,EACD,IAAI,EAAC,SAAS,gBACH,sBAAsB,aAGjC,eAAK,SAAS,EAAC,oEAAoE,aAC/E,eAAM,SAAS,EAAC,yIAAyI,YACpJ,aAAa,GACX,EACP,eAAM,SAAS,EAAC,6CAA6C,YACxD,KAAK,GACH,IACL,EAGN,cAAK,SAAS,EAAC,2BAA2B,YAAE,QAAQ,GAAO,EAG1D,gBAAgB,IAAI,CACjB,KAAC,MAAM,IACH,IAAI,EAAC,QAAQ,EACb,OAAO,EAAC,OAAO,EACf,IAAI,EAAC,SAAS,EACd,OAAO,EAAE,gBAAgB,gBACd,iBAAiB,EAC5B,SAAS,EAAC,2HAA2H,YAErI,KAAC,CAAC,IAAC,SAAS,EAAC,aAAa,GAAG,GACxB,CACZ,IACQ,CAChB,GACa,CACrB,CAAC;AACN,CAAC;AAED,eAAe,aAAa,CAAC"}
@@ -0,0 +1,8 @@
1
+ interface CarouselProps {
2
+ children: React.ReactNode[];
3
+ autoSlide?: boolean;
4
+ autoSlideInterval?: number;
5
+ className?: string;
6
+ }
7
+ export declare const Carousel: ({ children, autoSlide, autoSlideInterval, className, }: CarouselProps) => import("react").JSX.Element;
8
+ export {};
@@ -0,0 +1,38 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { motion, useMotionValue } from "motion/react";
3
+ import { useEffect, useRef, useState } from "react";
4
+ export const Carousel = ({ children, autoSlide = true, autoSlideInterval = 5000, className = "", }) => {
5
+ const [currentIndex, setCurrentIndex] = useState(0);
6
+ const x = useMotionValue(0);
7
+ const containerRef = useRef(null);
8
+ const [isDragging, setIsDragging] = useState(false);
9
+ const next = () => {
10
+ setCurrentIndex((prev) => (prev + 1) % children.length);
11
+ };
12
+ const prev = () => {
13
+ setCurrentIndex((prev) => (prev - 1 + children.length) % children.length);
14
+ };
15
+ useEffect(() => {
16
+ if (autoSlide && !isDragging) {
17
+ const interval = setInterval(next, autoSlideInterval);
18
+ return () => clearInterval(interval);
19
+ }
20
+ }, [currentIndex, autoSlide, autoSlideInterval, isDragging]);
21
+ const handleDragEnd = (_, { offset, velocity, }) => {
22
+ const swipe = offset.x + velocity.x * 50;
23
+ if (swipe < -50) {
24
+ next();
25
+ }
26
+ else if (swipe > 50) {
27
+ prev();
28
+ }
29
+ setIsDragging(false);
30
+ };
31
+ const handleDragStart = () => {
32
+ setIsDragging(true);
33
+ };
34
+ return (_jsxs("div", { className: `relative overflow-hidden ${className}`, ref: containerRef, children: [_jsx(motion.div, { className: "flex", animate: { x: `-${currentIndex * 100}%` }, transition: { type: "spring", stiffness: 300, damping: 30 }, drag: "x", dragConstraints: { left: 0, right: 0 }, dragElastic: 0.2, onDragStart: handleDragStart, onDragEnd: handleDragEnd, style: { x }, children: children.map((child, index) => (_jsx(motion.div, { className: "w-full shrink-0", initial: { opacity: 0, scale: 0.95 }, animate: { opacity: 1, scale: 1 }, exit: { opacity: 0, scale: 0.95 }, transition: { duration: 0.3 }, children: child }, index))) }), _jsx("div", { className: "flex justify-center items-center gap-1.5 mt-5", children: children.map((_, index) => (_jsx("button", { type: "button", "aria-label": `Go to slide ${index + 1}`, onClick: () => setCurrentIndex(index), className: `rounded-full transition-all cursor-pointer ${index === currentIndex
35
+ ? "bg-dashboard-primary w-5 h-1.5"
36
+ : "bg-dashboard-secondary border border-dashboard-border hover:bg-dashboard-secondary/80 w-1.5 h-1.5"}` }, index))) })] }));
37
+ };
38
+ //# sourceMappingURL=Carousel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Carousel.js","sourceRoot":"","sources":["../../src/components/Carousel.tsx"],"names":[],"mappings":"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"}