@burdenoff/microfe-assethandler 2026.510.104

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 (270) hide show
  1. package/README.md +12 -0
  2. package/dist/assethandler/AssetHandlerRoot.d.ts +5 -0
  3. package/dist/assethandler/AssetHandlerRoot.d.ts.map +1 -0
  4. package/dist/assethandler/AssetHandlerRoot.js +159 -0
  5. package/dist/assethandler/AssetHandlerRoot.js.map +1 -0
  6. package/dist/assethandler/AssetHandlerRoutes.d.ts +2 -0
  7. package/dist/assethandler/AssetHandlerRoutes.d.ts.map +1 -0
  8. package/dist/assethandler/AssetHandlerRoutes.js +255 -0
  9. package/dist/assethandler/AssetHandlerRoutes.js.map +1 -0
  10. package/dist/assethandler/index.d.ts +5 -0
  11. package/dist/assethandler/index.d.ts.map +1 -0
  12. package/dist/assethandler/index.js +3 -0
  13. package/dist/assethandler/pages/AiPredictionsPage.d.ts +2 -0
  14. package/dist/assethandler/pages/AiPredictionsPage.d.ts.map +1 -0
  15. package/dist/assethandler/pages/AiPredictionsPage.js +133 -0
  16. package/dist/assethandler/pages/AiPredictionsPage.js.map +1 -0
  17. package/dist/assethandler/pages/AnalyticsPage.d.ts +2 -0
  18. package/dist/assethandler/pages/AnalyticsPage.d.ts.map +1 -0
  19. package/dist/assethandler/pages/AnalyticsPage.js +576 -0
  20. package/dist/assethandler/pages/AnalyticsPage.js.map +1 -0
  21. package/dist/assethandler/pages/AssetsAssetCategoriesPage.d.ts +2 -0
  22. package/dist/assethandler/pages/AssetsAssetCategoriesPage.d.ts.map +1 -0
  23. package/dist/assethandler/pages/AssetsAssetCategoriesPage.js +162 -0
  24. package/dist/assethandler/pages/AssetsAssetCategoriesPage.js.map +1 -0
  25. package/dist/assethandler/pages/AssetsAssetCheckInOutPage.d.ts +2 -0
  26. package/dist/assethandler/pages/AssetsAssetCheckInOutPage.d.ts.map +1 -0
  27. package/dist/assethandler/pages/AssetsAssetCheckInOutPage.js +249 -0
  28. package/dist/assethandler/pages/AssetsAssetCheckInOutPage.js.map +1 -0
  29. package/dist/assethandler/pages/AssetsAssetCreatePage.d.ts +2 -0
  30. package/dist/assethandler/pages/AssetsAssetCreatePage.d.ts.map +1 -0
  31. package/dist/assethandler/pages/AssetsAssetCreatePage.js +323 -0
  32. package/dist/assethandler/pages/AssetsAssetCreatePage.js.map +1 -0
  33. package/dist/assethandler/pages/AssetsAssetDetailPage.d.ts +2 -0
  34. package/dist/assethandler/pages/AssetsAssetDetailPage.d.ts.map +1 -0
  35. package/dist/assethandler/pages/AssetsAssetDetailPage.js +392 -0
  36. package/dist/assethandler/pages/AssetsAssetDetailPage.js.map +1 -0
  37. package/dist/assethandler/pages/AssetsAssetEditPage.d.ts +2 -0
  38. package/dist/assethandler/pages/AssetsAssetEditPage.d.ts.map +1 -0
  39. package/dist/assethandler/pages/AssetsAssetEditPage.js +341 -0
  40. package/dist/assethandler/pages/AssetsAssetEditPage.js.map +1 -0
  41. package/dist/assethandler/pages/AssetsAssetListPage.d.ts +2 -0
  42. package/dist/assethandler/pages/AssetsAssetListPage.d.ts.map +1 -0
  43. package/dist/assethandler/pages/AssetsAssetListPage.js +459 -0
  44. package/dist/assethandler/pages/AssetsAssetListPage.js.map +1 -0
  45. package/dist/assethandler/pages/AssetsAssetTrackingPage.d.ts +2 -0
  46. package/dist/assethandler/pages/AssetsAssetTrackingPage.d.ts.map +1 -0
  47. package/dist/assethandler/pages/AssetsAssetTrackingPage.js +166 -0
  48. package/dist/assethandler/pages/AssetsAssetTrackingPage.js.map +1 -0
  49. package/dist/assethandler/pages/AuditTrailPage.d.ts +2 -0
  50. package/dist/assethandler/pages/AuditTrailPage.d.ts.map +1 -0
  51. package/dist/assethandler/pages/AuditTrailPage.js +197 -0
  52. package/dist/assethandler/pages/AuditTrailPage.js.map +1 -0
  53. package/dist/assethandler/pages/CmdbBrowserPage.d.ts +2 -0
  54. package/dist/assethandler/pages/CmdbBrowserPage.d.ts.map +1 -0
  55. package/dist/assethandler/pages/CmdbBrowserPage.js +75 -0
  56. package/dist/assethandler/pages/CmdbBrowserPage.js.map +1 -0
  57. package/dist/assethandler/pages/DashboardPage.d.ts +2 -0
  58. package/dist/assethandler/pages/DashboardPage.d.ts.map +1 -0
  59. package/dist/assethandler/pages/DashboardPage.js +336 -0
  60. package/dist/assethandler/pages/DashboardPage.js.map +1 -0
  61. package/dist/assethandler/pages/DigitalTwinPage.d.ts +2 -0
  62. package/dist/assethandler/pages/DigitalTwinPage.d.ts.map +1 -0
  63. package/dist/assethandler/pages/DigitalTwinPage.js +71 -0
  64. package/dist/assethandler/pages/DigitalTwinPage.js.map +1 -0
  65. package/dist/assethandler/pages/DiscoveryJobsPage.d.ts +2 -0
  66. package/dist/assethandler/pages/DiscoveryJobsPage.d.ts.map +1 -0
  67. package/dist/assethandler/pages/DiscoveryJobsPage.js +115 -0
  68. package/dist/assethandler/pages/DiscoveryJobsPage.js.map +1 -0
  69. package/dist/assethandler/pages/EsgDashboardPage.d.ts +2 -0
  70. package/dist/assethandler/pages/EsgDashboardPage.d.ts.map +1 -0
  71. package/dist/assethandler/pages/EsgDashboardPage.js +130 -0
  72. package/dist/assethandler/pages/EsgDashboardPage.js.map +1 -0
  73. package/dist/assethandler/pages/FinanceBudgetDetailPage.d.ts +2 -0
  74. package/dist/assethandler/pages/FinanceBudgetDetailPage.d.ts.map +1 -0
  75. package/dist/assethandler/pages/FinanceBudgetDetailPage.js +182 -0
  76. package/dist/assethandler/pages/FinanceBudgetDetailPage.js.map +1 -0
  77. package/dist/assethandler/pages/FinanceFinanceHubPage.d.ts +2 -0
  78. package/dist/assethandler/pages/FinanceFinanceHubPage.d.ts.map +1 -0
  79. package/dist/assethandler/pages/FinanceFinanceHubPage.js +324 -0
  80. package/dist/assethandler/pages/FinanceFinanceHubPage.js.map +1 -0
  81. package/dist/assethandler/pages/FinanceInvoiceDetailPage.d.ts +2 -0
  82. package/dist/assethandler/pages/FinanceInvoiceDetailPage.d.ts.map +1 -0
  83. package/dist/assethandler/pages/FinanceInvoiceDetailPage.js +172 -0
  84. package/dist/assethandler/pages/FinanceInvoiceDetailPage.js.map +1 -0
  85. package/dist/assethandler/pages/IotDevicesPage.d.ts +2 -0
  86. package/dist/assethandler/pages/IotDevicesPage.d.ts.map +1 -0
  87. package/dist/assethandler/pages/IotDevicesPage.js +80 -0
  88. package/dist/assethandler/pages/IotDevicesPage.js.map +1 -0
  89. package/dist/assethandler/pages/ItilChangeDetailPage.d.ts +2 -0
  90. package/dist/assethandler/pages/ItilChangeDetailPage.d.ts.map +1 -0
  91. package/dist/assethandler/pages/ItilChangeDetailPage.js +221 -0
  92. package/dist/assethandler/pages/ItilChangeDetailPage.js.map +1 -0
  93. package/dist/assethandler/pages/ItilChangeManagementPage.d.ts +2 -0
  94. package/dist/assethandler/pages/ItilChangeManagementPage.d.ts.map +1 -0
  95. package/dist/assethandler/pages/ItilChangeManagementPage.js +179 -0
  96. package/dist/assethandler/pages/ItilChangeManagementPage.js.map +1 -0
  97. package/dist/assethandler/pages/ItilIncidentDetailPage.d.ts +2 -0
  98. package/dist/assethandler/pages/ItilIncidentDetailPage.d.ts.map +1 -0
  99. package/dist/assethandler/pages/ItilIncidentDetailPage.js +222 -0
  100. package/dist/assethandler/pages/ItilIncidentDetailPage.js.map +1 -0
  101. package/dist/assethandler/pages/ItilIncidentManagementPage.d.ts +2 -0
  102. package/dist/assethandler/pages/ItilIncidentManagementPage.d.ts.map +1 -0
  103. package/dist/assethandler/pages/ItilIncidentManagementPage.js +265 -0
  104. package/dist/assethandler/pages/ItilIncidentManagementPage.js.map +1 -0
  105. package/dist/assethandler/pages/ItilItilhubPage.d.ts +2 -0
  106. package/dist/assethandler/pages/ItilItilhubPage.d.ts.map +1 -0
  107. package/dist/assethandler/pages/ItilItilhubPage.js +374 -0
  108. package/dist/assethandler/pages/ItilItilhubPage.js.map +1 -0
  109. package/dist/assethandler/pages/ItilProblemDetailPage.d.ts +2 -0
  110. package/dist/assethandler/pages/ItilProblemDetailPage.d.ts.map +1 -0
  111. package/dist/assethandler/pages/ItilProblemDetailPage.js +177 -0
  112. package/dist/assethandler/pages/ItilProblemDetailPage.js.map +1 -0
  113. package/dist/assethandler/pages/ItilProblemManagementPage.d.ts +2 -0
  114. package/dist/assethandler/pages/ItilProblemManagementPage.d.ts.map +1 -0
  115. package/dist/assethandler/pages/ItilProblemManagementPage.js +167 -0
  116. package/dist/assethandler/pages/ItilProblemManagementPage.js.map +1 -0
  117. package/dist/assethandler/pages/KnowledgeBasePage.d.ts +2 -0
  118. package/dist/assethandler/pages/KnowledgeBasePage.d.ts.map +1 -0
  119. package/dist/assethandler/pages/KnowledgeBasePage.js +116 -0
  120. package/dist/assethandler/pages/KnowledgeBasePage.js.map +1 -0
  121. package/dist/assethandler/pages/MaintenanceMaintenanceCalendarPage.d.ts +2 -0
  122. package/dist/assethandler/pages/MaintenanceMaintenanceCalendarPage.d.ts.map +1 -0
  123. package/dist/assethandler/pages/MaintenanceMaintenanceCalendarPage.js +185 -0
  124. package/dist/assethandler/pages/MaintenanceMaintenanceCalendarPage.js.map +1 -0
  125. package/dist/assethandler/pages/MaintenanceMaintenanceSchedulerPage.d.ts +2 -0
  126. package/dist/assethandler/pages/MaintenanceMaintenanceSchedulerPage.d.ts.map +1 -0
  127. package/dist/assethandler/pages/MaintenanceMaintenanceSchedulerPage.js +133 -0
  128. package/dist/assethandler/pages/MaintenanceMaintenanceSchedulerPage.js.map +1 -0
  129. package/dist/assethandler/pages/MarketplaceMarketplaceDetailPage.d.ts +2 -0
  130. package/dist/assethandler/pages/MarketplaceMarketplaceDetailPage.d.ts.map +1 -0
  131. package/dist/assethandler/pages/MarketplaceMarketplaceDetailPage.js +166 -0
  132. package/dist/assethandler/pages/MarketplaceMarketplaceDetailPage.js.map +1 -0
  133. package/dist/assethandler/pages/MarketplaceMarketplaceListPage.d.ts +2 -0
  134. package/dist/assethandler/pages/MarketplaceMarketplaceListPage.d.ts.map +1 -0
  135. package/dist/assethandler/pages/MarketplaceMarketplaceListPage.js +155 -0
  136. package/dist/assethandler/pages/MarketplaceMarketplaceListPage.js.map +1 -0
  137. package/dist/assethandler/pages/MarketplaceMarketplaceOrdersPage.d.ts +2 -0
  138. package/dist/assethandler/pages/MarketplaceMarketplaceOrdersPage.d.ts.map +1 -0
  139. package/dist/assethandler/pages/MarketplaceMarketplaceOrdersPage.js +126 -0
  140. package/dist/assethandler/pages/MarketplaceMarketplaceOrdersPage.js.map +1 -0
  141. package/dist/assethandler/pages/MarketplaceMarketplaceSellPage.d.ts +2 -0
  142. package/dist/assethandler/pages/MarketplaceMarketplaceSellPage.d.ts.map +1 -0
  143. package/dist/assethandler/pages/MarketplaceMarketplaceSellPage.js +157 -0
  144. package/dist/assethandler/pages/MarketplaceMarketplaceSellPage.js.map +1 -0
  145. package/dist/assethandler/pages/OperationsMaintenanceDetailPage.d.ts +2 -0
  146. package/dist/assethandler/pages/OperationsMaintenanceDetailPage.d.ts.map +1 -0
  147. package/dist/assethandler/pages/OperationsMaintenanceDetailPage.js +179 -0
  148. package/dist/assethandler/pages/OperationsMaintenanceDetailPage.js.map +1 -0
  149. package/dist/assethandler/pages/OperationsOperationsHubPage.d.ts +2 -0
  150. package/dist/assethandler/pages/OperationsOperationsHubPage.d.ts.map +1 -0
  151. package/dist/assethandler/pages/OperationsOperationsHubPage.js +291 -0
  152. package/dist/assethandler/pages/OperationsOperationsHubPage.js.map +1 -0
  153. package/dist/assethandler/pages/OperationsWorkOrderDetailPage.d.ts +2 -0
  154. package/dist/assethandler/pages/OperationsWorkOrderDetailPage.d.ts.map +1 -0
  155. package/dist/assethandler/pages/OperationsWorkOrderDetailPage.js +172 -0
  156. package/dist/assethandler/pages/OperationsWorkOrderDetailPage.js.map +1 -0
  157. package/dist/assethandler/pages/PortfolioPortfolioOverviewPage.d.ts +2 -0
  158. package/dist/assethandler/pages/PortfolioPortfolioOverviewPage.d.ts.map +1 -0
  159. package/dist/assethandler/pages/PortfolioPortfolioOverviewPage.js +203 -0
  160. package/dist/assethandler/pages/PortfolioPortfolioOverviewPage.js.map +1 -0
  161. package/dist/assethandler/pages/ProvenancePage.d.ts +2 -0
  162. package/dist/assethandler/pages/ProvenancePage.d.ts.map +1 -0
  163. package/dist/assethandler/pages/ProvenancePage.js +118 -0
  164. package/dist/assethandler/pages/ProvenancePage.js.map +1 -0
  165. package/dist/assethandler/pages/ReportsReportBuilderPage.d.ts +2 -0
  166. package/dist/assethandler/pages/ReportsReportBuilderPage.d.ts.map +1 -0
  167. package/dist/assethandler/pages/ReportsReportBuilderPage.js +201 -0
  168. package/dist/assethandler/pages/ReportsReportBuilderPage.js.map +1 -0
  169. package/dist/assethandler/pages/ReportsReportsDashboardPage.d.ts +2 -0
  170. package/dist/assethandler/pages/ReportsReportsDashboardPage.d.ts.map +1 -0
  171. package/dist/assethandler/pages/ReportsReportsDashboardPage.js +201 -0
  172. package/dist/assethandler/pages/ReportsReportsDashboardPage.js.map +1 -0
  173. package/dist/assethandler/pages/ReportsReportsListPage.d.ts +2 -0
  174. package/dist/assethandler/pages/ReportsReportsListPage.d.ts.map +1 -0
  175. package/dist/assethandler/pages/ReportsReportsListPage.js +128 -0
  176. package/dist/assethandler/pages/ReportsReportsListPage.js.map +1 -0
  177. package/dist/assethandler/pages/SamLicensesPage.d.ts +2 -0
  178. package/dist/assethandler/pages/SamLicensesPage.d.ts.map +1 -0
  179. package/dist/assethandler/pages/SamLicensesPage.js +79 -0
  180. package/dist/assethandler/pages/SamLicensesPage.js.map +1 -0
  181. package/dist/assethandler/pages/SecurityComplianceDetailPage.d.ts +2 -0
  182. package/dist/assethandler/pages/SecurityComplianceDetailPage.d.ts.map +1 -0
  183. package/dist/assethandler/pages/SecurityComplianceDetailPage.js +109 -0
  184. package/dist/assethandler/pages/SecurityComplianceDetailPage.js.map +1 -0
  185. package/dist/assethandler/pages/SecurityPolicyDetailPage.d.ts +2 -0
  186. package/dist/assethandler/pages/SecurityPolicyDetailPage.d.ts.map +1 -0
  187. package/dist/assethandler/pages/SecurityPolicyDetailPage.js +133 -0
  188. package/dist/assethandler/pages/SecurityPolicyDetailPage.js.map +1 -0
  189. package/dist/assethandler/pages/SecurityScheduleBackupPage.d.ts +2 -0
  190. package/dist/assethandler/pages/SecurityScheduleBackupPage.d.ts.map +1 -0
  191. package/dist/assethandler/pages/SecurityScheduleBackupPage.js +143 -0
  192. package/dist/assethandler/pages/SecurityScheduleBackupPage.js.map +1 -0
  193. package/dist/assethandler/pages/SecuritySecurityEventDetailPage.d.ts +2 -0
  194. package/dist/assethandler/pages/SecuritySecurityEventDetailPage.d.ts.map +1 -0
  195. package/dist/assethandler/pages/SecuritySecurityEventDetailPage.js +135 -0
  196. package/dist/assethandler/pages/SecuritySecurityEventDetailPage.js.map +1 -0
  197. package/dist/assethandler/pages/SecuritySecurityHubPage.d.ts +2 -0
  198. package/dist/assethandler/pages/SecuritySecurityHubPage.d.ts.map +1 -0
  199. package/dist/assethandler/pages/SecuritySecurityHubPage.js +355 -0
  200. package/dist/assethandler/pages/SecuritySecurityHubPage.js.map +1 -0
  201. package/dist/assethandler/pages/TransactionsTransactionDetailPage.d.ts +2 -0
  202. package/dist/assethandler/pages/TransactionsTransactionDetailPage.d.ts.map +1 -0
  203. package/dist/assethandler/pages/TransactionsTransactionDetailPage.js +281 -0
  204. package/dist/assethandler/pages/TransactionsTransactionDetailPage.js.map +1 -0
  205. package/dist/assethandler/pages/TransactionsTransactionListPage.d.ts +2 -0
  206. package/dist/assethandler/pages/TransactionsTransactionListPage.d.ts.map +1 -0
  207. package/dist/assethandler/pages/TransactionsTransactionListPage.js +220 -0
  208. package/dist/assethandler/pages/TransactionsTransactionListPage.js.map +1 -0
  209. package/dist/assethandler/pages/UsersPage.d.ts +2 -0
  210. package/dist/assethandler/pages/UsersPage.d.ts.map +1 -0
  211. package/dist/assethandler/pages/UsersPage.js +183 -0
  212. package/dist/assethandler/pages/UsersPage.js.map +1 -0
  213. package/dist/assethandler/pages/UsersUserCreatePage.d.ts +2 -0
  214. package/dist/assethandler/pages/UsersUserCreatePage.d.ts.map +1 -0
  215. package/dist/assethandler/pages/UsersUserCreatePage.js +213 -0
  216. package/dist/assethandler/pages/UsersUserCreatePage.js.map +1 -0
  217. package/dist/assethandler/pages/UsersUserManagementHubPage.d.ts +2 -0
  218. package/dist/assethandler/pages/UsersUserManagementHubPage.d.ts.map +1 -0
  219. package/dist/assethandler/pages/UsersUserManagementHubPage.js +325 -0
  220. package/dist/assethandler/pages/UsersUserManagementHubPage.js.map +1 -0
  221. package/dist/assethandler/pages/WorkflowsWorkflowBuilderPage.d.ts +2 -0
  222. package/dist/assethandler/pages/WorkflowsWorkflowBuilderPage.d.ts.map +1 -0
  223. package/dist/assethandler/pages/WorkflowsWorkflowBuilderPage.js +246 -0
  224. package/dist/assethandler/pages/WorkflowsWorkflowBuilderPage.js.map +1 -0
  225. package/dist/assethandler/pages/WorkflowsWorkflowExecutionsPage.d.ts +2 -0
  226. package/dist/assethandler/pages/WorkflowsWorkflowExecutionsPage.d.ts.map +1 -0
  227. package/dist/assethandler/pages/WorkflowsWorkflowExecutionsPage.js +188 -0
  228. package/dist/assethandler/pages/WorkflowsWorkflowExecutionsPage.js.map +1 -0
  229. package/dist/assethandler/pages/WorkflowsWorkflowListPage.d.ts +2 -0
  230. package/dist/assethandler/pages/WorkflowsWorkflowListPage.d.ts.map +1 -0
  231. package/dist/assethandler/pages/WorkflowsWorkflowListPage.js +163 -0
  232. package/dist/assethandler/pages/WorkflowsWorkflowListPage.js.map +1 -0
  233. package/dist/assethandler/pages/WorkflowsWorkflowTemplatesPage.d.ts +2 -0
  234. package/dist/assethandler/pages/WorkflowsWorkflowTemplatesPage.d.ts.map +1 -0
  235. package/dist/assethandler/pages/WorkflowsWorkflowTemplatesPage.js +158 -0
  236. package/dist/assethandler/pages/WorkflowsWorkflowTemplatesPage.js.map +1 -0
  237. package/dist/assethandler/providers/AssetHandlerProvider.d.ts +6 -0
  238. package/dist/assethandler/providers/AssetHandlerProvider.d.ts.map +1 -0
  239. package/dist/assethandler/providers/AssetHandlerProvider.js +214 -0
  240. package/dist/assethandler/providers/AssetHandlerProvider.js.map +1 -0
  241. package/dist/assethandler/store/assethandlerStore.d.ts +635 -0
  242. package/dist/assethandler/store/assethandlerStore.d.ts.map +1 -0
  243. package/dist/assethandler/store/assethandlerStore.js +2337 -0
  244. package/dist/assethandler/store/assethandlerStore.js.map +1 -0
  245. package/dist/assethandler/types/index.d.ts +56 -0
  246. package/dist/assethandler/types/index.d.ts.map +1 -0
  247. package/dist/assethandler/utils/cn.d.ts +4 -0
  248. package/dist/assethandler/utils/cn.d.ts.map +1 -0
  249. package/dist/assethandler/utils/i18n.d.ts +6 -0
  250. package/dist/assethandler/utils/i18n.d.ts.map +1 -0
  251. package/dist/assethandler/utils/i18n.js +9 -0
  252. package/dist/assethandler/utils/i18n.js.map +1 -0
  253. package/dist/assethandler/utils/navigation.d.ts +2 -0
  254. package/dist/assethandler/utils/navigation.d.ts.map +1 -0
  255. package/dist/assethandler/utils/navigation.js +8 -0
  256. package/dist/assethandler/utils/navigation.js.map +1 -0
  257. package/dist/dev/main.d.ts +2 -0
  258. package/dist/dev/main.d.ts.map +1 -0
  259. package/dist/generated/global-operations.d.ts +2 -0
  260. package/dist/generated/global-operations.d.ts.map +1 -0
  261. package/dist/generated/global-types.d.ts +20716 -0
  262. package/dist/generated/global-types.d.ts.map +1 -0
  263. package/dist/generated/wspace-operations.d.ts +210 -0
  264. package/dist/generated/wspace-operations.d.ts.map +1 -0
  265. package/dist/generated/wspace-types.d.ts +53363 -0
  266. package/dist/generated/wspace-types.d.ts.map +1 -0
  267. package/dist/index.d.ts +2 -0
  268. package/dist/index.d.ts.map +1 -0
  269. package/dist/index.js +5 -0
  270. package/package.json +108 -0
@@ -0,0 +1,188 @@
1
+ import { useAssetHandlerStore as e } from "../store/assethandlerStore.js";
2
+ import { useState as t } from "react";
3
+ import { CheckCircle2 as n, Clock as r, Download as i, Filter as a, Play as o, RefreshCw as s, XCircle as c } from "lucide-react";
4
+ import { Badge as l, Button as u, Card as d, CardContent as f, CardHeader as p, CardTitle as m, Input as h, Select as g, SelectContent as _, SelectItem as v, SelectTrigger as y, SelectValue as b, Table as x, TableBody as S, TableCell as C, TableHead as w, TableHeader as T, TableRow as E } from "@burdenoff/fe-libs/ui";
5
+ import { jsx as D, jsxs as O } from "react/jsx-runtime";
6
+ //#region src/assethandler/pages/WorkflowsWorkflowExecutionsPage.tsx
7
+ function k() {
8
+ let { workflowExecutions: k } = e(), [A, j] = t("all"), [M, N] = t(""), P = k.filter((e) => !(A !== "all" && e.status !== A || M && !e.workflowName.toLowerCase().includes(M.toLowerCase()))), F = k.length, I = k.filter((e) => e.status === "completed").length, L = k.filter((e) => e.status === "failed").length, R = k.filter((e) => e.status === "running").length, z = F > 0 ? Math.round(I / F * 100) : 0, B = {
9
+ running: {
10
+ variant: "default",
11
+ icon: o
12
+ },
13
+ completed: {
14
+ variant: "secondary",
15
+ icon: n
16
+ },
17
+ failed: {
18
+ variant: "destructive",
19
+ icon: c
20
+ },
21
+ cancelled: {
22
+ variant: "outline",
23
+ icon: c
24
+ }
25
+ };
26
+ return /* @__PURE__ */ O("div", {
27
+ className: "space-y-6 p-6",
28
+ children: [
29
+ /* @__PURE__ */ O("div", {
30
+ className: "flex items-center justify-between",
31
+ children: [/* @__PURE__ */ O("div", { children: [/* @__PURE__ */ D("h1", {
32
+ className: "text-2xl font-semibold",
33
+ children: "Workflow Executions"
34
+ }), /* @__PURE__ */ D("p", {
35
+ className: "text-sm text-muted-foreground",
36
+ children: "Monitor and review workflow execution history and performance."
37
+ })] }), /* @__PURE__ */ O("div", {
38
+ className: "flex gap-2",
39
+ children: [/* @__PURE__ */ O(u, {
40
+ variant: "outline",
41
+ size: "sm",
42
+ children: [/* @__PURE__ */ D(i, { className: "mr-2 h-4 w-4" }), "Export"]
43
+ }), /* @__PURE__ */ O(u, {
44
+ size: "sm",
45
+ children: [/* @__PURE__ */ D(s, { className: "mr-2 h-4 w-4" }), "Refresh"]
46
+ })]
47
+ })]
48
+ }),
49
+ /* @__PURE__ */ O("div", {
50
+ className: "grid gap-4 md:grid-cols-4",
51
+ children: [
52
+ /* @__PURE__ */ O(d, { children: [/* @__PURE__ */ O(p, {
53
+ className: "flex flex-row items-center justify-between space-y-0 pb-2",
54
+ children: [/* @__PURE__ */ D(m, {
55
+ className: "text-sm font-medium",
56
+ children: "Total Executions"
57
+ }), /* @__PURE__ */ D(o, { className: "h-4 w-4 text-muted-foreground" })]
58
+ }), /* @__PURE__ */ O(f, { children: [/* @__PURE__ */ D("div", {
59
+ className: "text-2xl font-bold",
60
+ children: F
61
+ }), /* @__PURE__ */ D("p", {
62
+ className: "text-xs text-muted-foreground",
63
+ children: "All time"
64
+ })] })] }),
65
+ /* @__PURE__ */ O(d, { children: [/* @__PURE__ */ O(p, {
66
+ className: "flex flex-row items-center justify-between space-y-0 pb-2",
67
+ children: [/* @__PURE__ */ D(m, {
68
+ className: "text-sm font-medium",
69
+ children: "Success Rate"
70
+ }), /* @__PURE__ */ D(n, { className: "h-4 w-4 text-green-500" })]
71
+ }), /* @__PURE__ */ O(f, { children: [/* @__PURE__ */ O("div", {
72
+ className: "text-2xl font-bold",
73
+ children: [z, "%"]
74
+ }), /* @__PURE__ */ O("p", {
75
+ className: "text-xs text-muted-foreground",
76
+ children: [I, " completed successfully"]
77
+ })] })] }),
78
+ /* @__PURE__ */ O(d, { children: [/* @__PURE__ */ O(p, {
79
+ className: "flex flex-row items-center justify-between space-y-0 pb-2",
80
+ children: [/* @__PURE__ */ D(m, {
81
+ className: "text-sm font-medium",
82
+ children: "Failed"
83
+ }), /* @__PURE__ */ D(c, { className: "h-4 w-4 text-destructive" })]
84
+ }), /* @__PURE__ */ O(f, { children: [/* @__PURE__ */ D("div", {
85
+ className: "text-2xl font-bold",
86
+ children: L
87
+ }), /* @__PURE__ */ D("p", {
88
+ className: "text-xs text-muted-foreground",
89
+ children: "Requires attention"
90
+ })] })] }),
91
+ /* @__PURE__ */ O(d, { children: [/* @__PURE__ */ O(p, {
92
+ className: "flex flex-row items-center justify-between space-y-0 pb-2",
93
+ children: [/* @__PURE__ */ D(m, {
94
+ className: "text-sm font-medium",
95
+ children: "Currently Running"
96
+ }), /* @__PURE__ */ D(r, { className: "h-4 w-4 text-blue-500" })]
97
+ }), /* @__PURE__ */ O(f, { children: [/* @__PURE__ */ D("div", {
98
+ className: "text-2xl font-bold",
99
+ children: R
100
+ }), /* @__PURE__ */ D("p", {
101
+ className: "text-xs text-muted-foreground",
102
+ children: "In progress now"
103
+ })] })] })
104
+ ]
105
+ }),
106
+ /* @__PURE__ */ O(d, { children: [/* @__PURE__ */ D(p, { children: /* @__PURE__ */ O("div", {
107
+ className: "flex items-center justify-between",
108
+ children: [/* @__PURE__ */ D(m, { children: "Execution History" }), /* @__PURE__ */ O("div", {
109
+ className: "flex items-center gap-2",
110
+ children: [/* @__PURE__ */ D(h, {
111
+ placeholder: "Search workflows...",
112
+ value: M,
113
+ onChange: (e) => N(e.target.value),
114
+ className: "w-[200px]"
115
+ }), /* @__PURE__ */ O(g, {
116
+ value: A,
117
+ onValueChange: j,
118
+ children: [/* @__PURE__ */ O(y, {
119
+ className: "w-[150px]",
120
+ children: [/* @__PURE__ */ D(a, { className: "mr-2 h-4 w-4" }), /* @__PURE__ */ D(b, { placeholder: "Status" })]
121
+ }), /* @__PURE__ */ O(_, { children: [
122
+ /* @__PURE__ */ D(v, {
123
+ value: "all",
124
+ children: "All Statuses"
125
+ }),
126
+ /* @__PURE__ */ D(v, {
127
+ value: "running",
128
+ children: "Running"
129
+ }),
130
+ /* @__PURE__ */ D(v, {
131
+ value: "completed",
132
+ children: "Completed"
133
+ }),
134
+ /* @__PURE__ */ D(v, {
135
+ value: "failed",
136
+ children: "Failed"
137
+ }),
138
+ /* @__PURE__ */ D(v, {
139
+ value: "cancelled",
140
+ children: "Cancelled"
141
+ })
142
+ ] })]
143
+ })]
144
+ })]
145
+ }) }), /* @__PURE__ */ D(f, { children: /* @__PURE__ */ O(x, { children: [/* @__PURE__ */ D(T, { children: /* @__PURE__ */ O(E, { children: [
146
+ /* @__PURE__ */ D(w, { children: "Execution ID" }),
147
+ /* @__PURE__ */ D(w, { children: "Workflow" }),
148
+ /* @__PURE__ */ D(w, { children: "Status" }),
149
+ /* @__PURE__ */ D(w, { children: "Triggered By" }),
150
+ /* @__PURE__ */ D(w, { children: "Started At" }),
151
+ /* @__PURE__ */ D(w, { children: "Duration" }),
152
+ /* @__PURE__ */ D(w, { children: "Error" })
153
+ ] }) }), /* @__PURE__ */ O(S, { children: [P.map((e) => {
154
+ let t = B[e.status] || B.cancelled, n = t.icon;
155
+ return /* @__PURE__ */ O(E, { children: [
156
+ /* @__PURE__ */ D(C, {
157
+ className: "font-mono text-sm",
158
+ children: e.id
159
+ }),
160
+ /* @__PURE__ */ D(C, {
161
+ className: "font-medium",
162
+ children: e.workflowName
163
+ }),
164
+ /* @__PURE__ */ D(C, { children: /* @__PURE__ */ O(l, {
165
+ variant: t.variant,
166
+ className: "gap-1",
167
+ children: [/* @__PURE__ */ D(n, { className: "h-3 w-3" }), e.status]
168
+ }) }),
169
+ /* @__PURE__ */ D(C, { children: e.triggeredBy }),
170
+ /* @__PURE__ */ D(C, { children: new Date(e.startedAt).toLocaleString() }),
171
+ /* @__PURE__ */ D(C, { children: e.duration == null ? "—" : `${e.duration}s` }),
172
+ /* @__PURE__ */ D(C, {
173
+ className: "max-w-[200px] truncate text-destructive",
174
+ children: e.error || "—"
175
+ })
176
+ ] }, e.id);
177
+ }), P.length === 0 && /* @__PURE__ */ D(E, { children: /* @__PURE__ */ D(C, {
178
+ colSpan: 7,
179
+ className: "text-center text-muted-foreground py-8",
180
+ children: "No executions found."
181
+ }) })] })] }) })] })
182
+ ]
183
+ });
184
+ }
185
+ //#endregion
186
+ export { k as WorkflowsWorkflowExecutionsPage };
187
+
188
+ //# sourceMappingURL=WorkflowsWorkflowExecutionsPage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkflowsWorkflowExecutionsPage.js","names":[],"sources":["../../../src/assethandler/pages/WorkflowsWorkflowExecutionsPage.tsx"],"sourcesContent":["import { useState } from 'react';\nimport {\n Badge,\n Button,\n Card,\n CardContent,\n CardHeader,\n CardTitle,\n Input,\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableHeader,\n TableRow,\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from '@burdenoff/fe-libs/ui';\nimport { Play, CheckCircle2, XCircle, Clock, RefreshCw, Download, Filter } from 'lucide-react';\nimport { useAssetHandlerStore } from '../store/assethandlerStore';\n\nexport function WorkflowsWorkflowExecutionsPage() {\n const { workflowExecutions } = useAssetHandlerStore();\n const [statusFilter, setStatusFilter] = useState('all');\n const [search, setSearch] = useState('');\n\n const filtered = workflowExecutions.filter((ex) => {\n if (statusFilter !== 'all' && ex.status !== statusFilter) return false;\n if (search && !ex.workflowName.toLowerCase().includes(search.toLowerCase())) return false;\n return true;\n });\n\n const total = workflowExecutions.length;\n const completed = workflowExecutions.filter((e) => e.status === 'completed').length;\n const failed = workflowExecutions.filter((e) => e.status === 'failed').length;\n const running = workflowExecutions.filter((e) => e.status === 'running').length;\n const successRate = total > 0 ? Math.round((completed / total) * 100) : 0;\n\n const statusConfig: Record<\n string,\n { variant: 'default' | 'secondary' | 'destructive' | 'outline'; icon: typeof Play }\n > = {\n running: { variant: 'default', icon: Play },\n completed: { variant: 'secondary', icon: CheckCircle2 },\n failed: { variant: 'destructive', icon: XCircle },\n cancelled: { variant: 'outline', icon: XCircle },\n };\n\n return (\n <div className=\"space-y-6 p-6\">\n <div className=\"flex items-center justify-between\">\n <div>\n <h1 className=\"text-2xl font-semibold\">Workflow Executions</h1>\n <p className=\"text-sm text-muted-foreground\">\n Monitor and review workflow execution history and performance.\n </p>\n </div>\n <div className=\"flex gap-2\">\n <Button variant=\"outline\" size=\"sm\">\n <Download className=\"mr-2 h-4 w-4\" />\n Export\n </Button>\n <Button size=\"sm\">\n <RefreshCw className=\"mr-2 h-4 w-4\" />\n Refresh\n </Button>\n </div>\n </div>\n\n <div className=\"grid gap-4 md:grid-cols-4\">\n <Card>\n <CardHeader className=\"flex flex-row items-center justify-between space-y-0 pb-2\">\n <CardTitle className=\"text-sm font-medium\">Total Executions</CardTitle>\n <Play className=\"h-4 w-4 text-muted-foreground\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">{total}</div>\n <p className=\"text-xs text-muted-foreground\">All time</p>\n </CardContent>\n </Card>\n <Card>\n <CardHeader className=\"flex flex-row items-center justify-between space-y-0 pb-2\">\n <CardTitle className=\"text-sm font-medium\">Success Rate</CardTitle>\n <CheckCircle2 className=\"h-4 w-4 text-green-500\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">{successRate}%</div>\n <p className=\"text-xs text-muted-foreground\">{completed} completed successfully</p>\n </CardContent>\n </Card>\n <Card>\n <CardHeader className=\"flex flex-row items-center justify-between space-y-0 pb-2\">\n <CardTitle className=\"text-sm font-medium\">Failed</CardTitle>\n <XCircle className=\"h-4 w-4 text-destructive\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">{failed}</div>\n <p className=\"text-xs text-muted-foreground\">Requires attention</p>\n </CardContent>\n </Card>\n <Card>\n <CardHeader className=\"flex flex-row items-center justify-between space-y-0 pb-2\">\n <CardTitle className=\"text-sm font-medium\">Currently Running</CardTitle>\n <Clock className=\"h-4 w-4 text-blue-500\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">{running}</div>\n <p className=\"text-xs text-muted-foreground\">In progress now</p>\n </CardContent>\n </Card>\n </div>\n\n <Card>\n <CardHeader>\n <div className=\"flex items-center justify-between\">\n <CardTitle>Execution History</CardTitle>\n <div className=\"flex items-center gap-2\">\n <Input\n placeholder=\"Search workflows...\"\n value={search}\n onChange={(e) => setSearch(e.target.value)}\n className=\"w-[200px]\"\n />\n <Select value={statusFilter} onValueChange={setStatusFilter}>\n <SelectTrigger className=\"w-[150px]\">\n <Filter className=\"mr-2 h-4 w-4\" />\n <SelectValue placeholder=\"Status\" />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value=\"all\">All Statuses</SelectItem>\n <SelectItem value=\"running\">Running</SelectItem>\n <SelectItem value=\"completed\">Completed</SelectItem>\n <SelectItem value=\"failed\">Failed</SelectItem>\n <SelectItem value=\"cancelled\">Cancelled</SelectItem>\n </SelectContent>\n </Select>\n </div>\n </div>\n </CardHeader>\n <CardContent>\n <Table>\n <TableHeader>\n <TableRow>\n <TableHead>Execution ID</TableHead>\n <TableHead>Workflow</TableHead>\n <TableHead>Status</TableHead>\n <TableHead>Triggered By</TableHead>\n <TableHead>Started At</TableHead>\n <TableHead>Duration</TableHead>\n <TableHead>Error</TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n {filtered.map((ex) => {\n const cfg = statusConfig[ex.status] || statusConfig.cancelled;\n const StatusIcon = cfg.icon;\n return (\n <TableRow key={ex.id}>\n <TableCell className=\"font-mono text-sm\">{ex.id}</TableCell>\n <TableCell className=\"font-medium\">{ex.workflowName}</TableCell>\n <TableCell>\n <Badge variant={cfg.variant} className=\"gap-1\">\n <StatusIcon className=\"h-3 w-3\" />\n {ex.status}\n </Badge>\n </TableCell>\n <TableCell>{ex.triggeredBy}</TableCell>\n <TableCell>{new Date(ex.startedAt).toLocaleString()}</TableCell>\n <TableCell>{ex.duration != null ? `${ex.duration}s` : '—'}</TableCell>\n <TableCell className=\"max-w-[200px] truncate text-destructive\">\n {ex.error || '—'}\n </TableCell>\n </TableRow>\n );\n })}\n {filtered.length === 0 && (\n <TableRow>\n <TableCell colSpan={7} className=\"text-center text-muted-foreground py-8\">\n No executions found.\n </TableCell>\n </TableRow>\n )}\n </TableBody>\n </Table>\n </CardContent>\n </Card>\n </div>\n );\n}\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function WorkflowsWorkflowListPage(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=WorkflowsWorkflowListPage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkflowsWorkflowListPage.d.ts","sourceRoot":"","sources":["../../../src/assethandler/pages/WorkflowsWorkflowListPage.tsx"],"names":[],"mappings":"AAYA,wBAAgB,yBAAyB,4CAmHxC"}
@@ -0,0 +1,163 @@
1
+ import { useAssetHandlerStore as e } from "../store/assethandlerStore.js";
2
+ import { Pause as t, Play as n, Plus as r } from "lucide-react";
3
+ import { Badge as i, Button as a, Card as o, CardContent as s } from "@burdenoff/fe-libs/ui";
4
+ import { jsx as c, jsxs as l } from "react/jsx-runtime";
5
+ //#region src/assethandler/pages/WorkflowsWorkflowListPage.tsx
6
+ function u() {
7
+ let { workflows: u } = e();
8
+ return /* @__PURE__ */ l("div", {
9
+ className: "space-y-6 p-6",
10
+ children: [
11
+ /* @__PURE__ */ l("div", {
12
+ className: "flex items-center justify-between",
13
+ children: [/* @__PURE__ */ l("div", { children: [/* @__PURE__ */ c("h1", {
14
+ className: "text-2xl font-bold",
15
+ children: "Workflows"
16
+ }), /* @__PURE__ */ l("p", {
17
+ className: "text-sm text-muted-foreground",
18
+ children: [u.length, " automation workflows"]
19
+ })] }), /* @__PURE__ */ l(a, {
20
+ size: "sm",
21
+ children: [/* @__PURE__ */ c(r, { className: "mr-2 h-4 w-4" }), "Create Workflow"]
22
+ })]
23
+ }),
24
+ /* @__PURE__ */ l("div", {
25
+ className: "grid gap-4 md:grid-cols-3",
26
+ children: [
27
+ /* @__PURE__ */ c(o, { children: /* @__PURE__ */ l(s, {
28
+ className: "pt-4",
29
+ children: [/* @__PURE__ */ c("p", {
30
+ className: "text-sm text-muted-foreground",
31
+ children: "Active"
32
+ }), /* @__PURE__ */ c("p", {
33
+ className: "text-2xl font-bold text-green-600",
34
+ children: u.filter((e) => e.status === "active").length
35
+ })]
36
+ }) }),
37
+ /* @__PURE__ */ c(o, { children: /* @__PURE__ */ l(s, {
38
+ className: "pt-4",
39
+ children: [/* @__PURE__ */ c("p", {
40
+ className: "text-sm text-muted-foreground",
41
+ children: "Total Runs"
42
+ }), /* @__PURE__ */ c("p", {
43
+ className: "text-2xl font-bold",
44
+ children: u.reduce((e, t) => e + t.totalRuns, 0)
45
+ })]
46
+ }) }),
47
+ /* @__PURE__ */ c(o, { children: /* @__PURE__ */ l(s, {
48
+ className: "pt-4",
49
+ children: [/* @__PURE__ */ c("p", {
50
+ className: "text-sm text-muted-foreground",
51
+ children: "Avg Success Rate"
52
+ }), /* @__PURE__ */ l("p", {
53
+ className: "text-2xl font-bold",
54
+ children: [(u.reduce((e, t) => e + t.successRate, 0) / Math.max(u.length, 1)).toFixed(1), "%"]
55
+ })]
56
+ }) })
57
+ ]
58
+ }),
59
+ /* @__PURE__ */ c(o, { children: /* @__PURE__ */ c(s, {
60
+ className: "p-0",
61
+ children: /* @__PURE__ */ c("div", {
62
+ className: "overflow-x-auto",
63
+ children: /* @__PURE__ */ l("table", {
64
+ className: "w-full text-sm",
65
+ children: [/* @__PURE__ */ c("thead", { children: /* @__PURE__ */ l("tr", {
66
+ className: "border-b bg-muted/50",
67
+ children: [
68
+ /* @__PURE__ */ c("th", {
69
+ className: "text-left p-3 font-medium",
70
+ children: "Name"
71
+ }),
72
+ /* @__PURE__ */ c("th", {
73
+ className: "text-left p-3 font-medium",
74
+ children: "Category"
75
+ }),
76
+ /* @__PURE__ */ c("th", {
77
+ className: "text-left p-3 font-medium",
78
+ children: "Trigger"
79
+ }),
80
+ /* @__PURE__ */ c("th", {
81
+ className: "text-left p-3 font-medium",
82
+ children: "Status"
83
+ }),
84
+ /* @__PURE__ */ c("th", {
85
+ className: "text-left p-3 font-medium",
86
+ children: "Runs"
87
+ }),
88
+ /* @__PURE__ */ c("th", {
89
+ className: "text-left p-3 font-medium",
90
+ children: "Success Rate"
91
+ }),
92
+ /* @__PURE__ */ c("th", {
93
+ className: "text-left p-3 font-medium",
94
+ children: "Last Run"
95
+ }),
96
+ /* @__PURE__ */ c("th", { className: "p-3" })
97
+ ]
98
+ }) }), /* @__PURE__ */ c("tbody", { children: u.map((e) => /* @__PURE__ */ l("tr", {
99
+ className: "border-b hover:bg-muted/50 cursor-pointer",
100
+ children: [
101
+ /* @__PURE__ */ l("td", {
102
+ className: "p-3",
103
+ children: [/* @__PURE__ */ c("p", {
104
+ className: "font-medium",
105
+ children: e.name
106
+ }), /* @__PURE__ */ c("p", {
107
+ className: "text-xs text-muted-foreground",
108
+ children: e.description
109
+ })]
110
+ }),
111
+ /* @__PURE__ */ c("td", {
112
+ className: "p-3",
113
+ children: /* @__PURE__ */ c(i, {
114
+ variant: "outline",
115
+ children: e.category
116
+ })
117
+ }),
118
+ /* @__PURE__ */ c("td", {
119
+ className: "p-3 text-xs",
120
+ children: e.triggerType
121
+ }),
122
+ /* @__PURE__ */ c("td", {
123
+ className: "p-3",
124
+ children: /* @__PURE__ */ c(i, {
125
+ variant: e.status === "active" ? "default" : e.status === "paused" ? "secondary" : "outline",
126
+ children: e.status
127
+ })
128
+ }),
129
+ /* @__PURE__ */ c("td", {
130
+ className: "p-3",
131
+ children: e.totalRuns
132
+ }),
133
+ /* @__PURE__ */ c("td", {
134
+ className: "p-3",
135
+ children: /* @__PURE__ */ l("span", {
136
+ className: e.successRate >= 95 ? "text-green-600 font-medium" : "text-yellow-600",
137
+ children: [e.successRate, "%"]
138
+ })
139
+ }),
140
+ /* @__PURE__ */ c("td", {
141
+ className: "p-3 text-xs",
142
+ children: e.lastRun ? new Date(e.lastRun).toLocaleString() : "Never"
143
+ }),
144
+ /* @__PURE__ */ c("td", {
145
+ className: "p-3",
146
+ children: /* @__PURE__ */ c(a, {
147
+ variant: "ghost",
148
+ size: "sm",
149
+ children: e.status === "active" ? /* @__PURE__ */ c(t, { className: "h-3 w-3" }) : /* @__PURE__ */ c(n, { className: "h-3 w-3" })
150
+ })
151
+ })
152
+ ]
153
+ }, e.id)) })]
154
+ })
155
+ })
156
+ }) })
157
+ ]
158
+ });
159
+ }
160
+ //#endregion
161
+ export { u as WorkflowsWorkflowListPage };
162
+
163
+ //# sourceMappingURL=WorkflowsWorkflowListPage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkflowsWorkflowListPage.js","names":[],"sources":["../../../src/assethandler/pages/WorkflowsWorkflowListPage.tsx"],"sourcesContent":["import {\n Badge,\n Button,\n Card,\n CardContent,\n CardHeader,\n CardTitle,\n Input,\n} from '@burdenoff/fe-libs/ui';\nimport { Zap, Plus, Search, Play, Pause } from 'lucide-react';\nimport { useAssetHandlerStore } from '../store/assethandlerStore';\n\nexport function WorkflowsWorkflowListPage() {\n const { workflows } = useAssetHandlerStore();\n\n return (\n <div className=\"space-y-6 p-6\">\n <div className=\"flex items-center justify-between\">\n <div>\n <h1 className=\"text-2xl font-bold\">Workflows</h1>\n <p className=\"text-sm text-muted-foreground\">{workflows.length} automation workflows</p>\n </div>\n <Button size=\"sm\">\n <Plus className=\"mr-2 h-4 w-4\" />\n Create Workflow\n </Button>\n </div>\n\n <div className=\"grid gap-4 md:grid-cols-3\">\n <Card>\n <CardContent className=\"pt-4\">\n <p className=\"text-sm text-muted-foreground\">Active</p>\n <p className=\"text-2xl font-bold text-green-600\">\n {workflows.filter((w) => w.status === 'active').length}\n </p>\n </CardContent>\n </Card>\n <Card>\n <CardContent className=\"pt-4\">\n <p className=\"text-sm text-muted-foreground\">Total Runs</p>\n <p className=\"text-2xl font-bold\">{workflows.reduce((s, w) => s + w.totalRuns, 0)}</p>\n </CardContent>\n </Card>\n <Card>\n <CardContent className=\"pt-4\">\n <p className=\"text-sm text-muted-foreground\">Avg Success Rate</p>\n <p className=\"text-2xl font-bold\">\n {(\n workflows.reduce((s, w) => s + w.successRate, 0) / Math.max(workflows.length, 1)\n ).toFixed(1)}\n %\n </p>\n </CardContent>\n </Card>\n </div>\n\n <Card>\n <CardContent className=\"p-0\">\n <div className=\"overflow-x-auto\">\n <table className=\"w-full text-sm\">\n <thead>\n <tr className=\"border-b bg-muted/50\">\n <th className=\"text-left p-3 font-medium\">Name</th>\n <th className=\"text-left p-3 font-medium\">Category</th>\n <th className=\"text-left p-3 font-medium\">Trigger</th>\n <th className=\"text-left p-3 font-medium\">Status</th>\n <th className=\"text-left p-3 font-medium\">Runs</th>\n <th className=\"text-left p-3 font-medium\">Success Rate</th>\n <th className=\"text-left p-3 font-medium\">Last Run</th>\n <th className=\"p-3\"></th>\n </tr>\n </thead>\n <tbody>\n {workflows.map((wf) => (\n <tr key={wf.id} className=\"border-b hover:bg-muted/50 cursor-pointer\">\n <td className=\"p-3\">\n <p className=\"font-medium\">{wf.name}</p>\n <p className=\"text-xs text-muted-foreground\">{wf.description}</p>\n </td>\n <td className=\"p-3\">\n <Badge variant=\"outline\">{wf.category}</Badge>\n </td>\n <td className=\"p-3 text-xs\">{wf.triggerType}</td>\n <td className=\"p-3\">\n <Badge\n variant={\n wf.status === 'active'\n ? 'default'\n : wf.status === 'paused'\n ? 'secondary'\n : 'outline'\n }\n >\n {wf.status}\n </Badge>\n </td>\n <td className=\"p-3\">{wf.totalRuns}</td>\n <td className=\"p-3\">\n <span\n className={\n wf.successRate >= 95 ? 'text-green-600 font-medium' : 'text-yellow-600'\n }\n >\n {wf.successRate}%\n </span>\n </td>\n <td className=\"p-3 text-xs\">\n {wf.lastRun ? new Date(wf.lastRun).toLocaleString() : 'Never'}\n </td>\n <td className=\"p-3\">\n <Button variant=\"ghost\" size=\"sm\">\n {wf.status === 'active' ? (\n <Pause className=\"h-3 w-3\" />\n ) : (\n <Play className=\"h-3 w-3\" />\n )}\n </Button>\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n </CardContent>\n </Card>\n </div>\n );\n}\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function WorkflowsWorkflowTemplatesPage(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=WorkflowsWorkflowTemplatesPage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkflowsWorkflowTemplatesPage.d.ts","sourceRoot":"","sources":["../../../src/assethandler/pages/WorkflowsWorkflowTemplatesPage.tsx"],"names":[],"mappings":"AAoBA,wBAAgB,8BAA8B,4CAsJ7C"}
@@ -0,0 +1,158 @@
1
+ import { useAssetHandlerStore as e } from "../store/assethandlerStore.js";
2
+ import { useState as t } from "react";
3
+ import { Download as n, LayoutTemplate as r, Plus as i, Search as a, Star as o, Users as s } from "lucide-react";
4
+ import { Badge as c, Button as l, Card as u, CardContent as d, CardDescription as f, CardFooter as p, CardHeader as m, CardTitle as h, Input as g, Select as _, SelectContent as v, SelectItem as y, SelectTrigger as b, SelectValue as x } from "@burdenoff/fe-libs/ui";
5
+ import { jsx as S, jsxs as C } from "react/jsx-runtime";
6
+ //#region src/assethandler/pages/WorkflowsWorkflowTemplatesPage.tsx
7
+ function w() {
8
+ let { workflowTemplates: w } = e(), [T, E] = t(""), [D, O] = t("all"), k = [...new Set(w.map((e) => e.category))], A = w.filter((e) => !(D !== "all" && e.category !== D || T && !e.name.toLowerCase().includes(T.toLowerCase()) && !e.description.toLowerCase().includes(T.toLowerCase()))), j = (e) => Array.from({ length: 5 }, (t, n) => /* @__PURE__ */ S(o, { className: `h-4 w-4 ${n < Math.floor(e) ? "fill-yellow-400 text-yellow-400" : "text-muted-foreground/30"}` }, n));
9
+ return /* @__PURE__ */ C("div", {
10
+ className: "space-y-6 p-6",
11
+ children: [
12
+ /* @__PURE__ */ C("div", {
13
+ className: "flex items-center justify-between",
14
+ children: [/* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S("h1", {
15
+ className: "text-2xl font-semibold",
16
+ children: "Workflow Templates"
17
+ }), /* @__PURE__ */ S("p", {
18
+ className: "text-sm text-muted-foreground",
19
+ children: "Browse and use pre-built workflow templates to get started quickly."
20
+ })] }), /* @__PURE__ */ C(l, {
21
+ size: "sm",
22
+ children: [/* @__PURE__ */ S(i, { className: "mr-2 h-4 w-4" }), "Create Template"]
23
+ })]
24
+ }),
25
+ /* @__PURE__ */ C("div", {
26
+ className: "grid gap-4 md:grid-cols-3",
27
+ children: [
28
+ /* @__PURE__ */ C(u, { children: [/* @__PURE__ */ C(m, {
29
+ className: "flex flex-row items-center justify-between space-y-0 pb-2",
30
+ children: [/* @__PURE__ */ S(h, {
31
+ className: "text-sm font-medium",
32
+ children: "Total Templates"
33
+ }), /* @__PURE__ */ S(r, { className: "h-4 w-4 text-muted-foreground" })]
34
+ }), /* @__PURE__ */ S(d, { children: /* @__PURE__ */ S("div", {
35
+ className: "text-2xl font-bold",
36
+ children: w.length
37
+ }) })] }),
38
+ /* @__PURE__ */ C(u, { children: [/* @__PURE__ */ C(m, {
39
+ className: "flex flex-row items-center justify-between space-y-0 pb-2",
40
+ children: [/* @__PURE__ */ S(h, {
41
+ className: "text-sm font-medium",
42
+ children: "Most Popular"
43
+ }), /* @__PURE__ */ S(s, { className: "h-4 w-4 text-muted-foreground" })]
44
+ }), /* @__PURE__ */ C(d, { children: [/* @__PURE__ */ S("div", {
45
+ className: "text-2xl font-bold",
46
+ children: w.reduce((e, t) => e + t.usageCount, 0)
47
+ }), /* @__PURE__ */ S("p", {
48
+ className: "text-xs text-muted-foreground",
49
+ children: "Total uses across all templates"
50
+ })] })] }),
51
+ /* @__PURE__ */ C(u, { children: [/* @__PURE__ */ C(m, {
52
+ className: "flex flex-row items-center justify-between space-y-0 pb-2",
53
+ children: [/* @__PURE__ */ S(h, {
54
+ className: "text-sm font-medium",
55
+ children: "Average Rating"
56
+ }), /* @__PURE__ */ S(o, { className: "h-4 w-4 text-yellow-400" })]
57
+ }), /* @__PURE__ */ S(d, { children: /* @__PURE__ */ S("div", {
58
+ className: "text-2xl font-bold",
59
+ children: (w.reduce((e, t) => e + t.rating, 0) / w.length).toFixed(1)
60
+ }) })] })
61
+ ]
62
+ }),
63
+ /* @__PURE__ */ C("div", {
64
+ className: "flex items-center gap-3",
65
+ children: [/* @__PURE__ */ C("div", {
66
+ className: "relative flex-1 max-w-sm",
67
+ children: [/* @__PURE__ */ S(a, { className: "absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground" }), /* @__PURE__ */ S(g, {
68
+ placeholder: "Search templates...",
69
+ value: T,
70
+ onChange: (e) => E(e.target.value),
71
+ className: "pl-9"
72
+ })]
73
+ }), /* @__PURE__ */ C(_, {
74
+ value: D,
75
+ onValueChange: O,
76
+ children: [/* @__PURE__ */ S(b, {
77
+ className: "w-[180px]",
78
+ children: /* @__PURE__ */ S(x, { placeholder: "Category" })
79
+ }), /* @__PURE__ */ C(v, { children: [/* @__PURE__ */ S(y, {
80
+ value: "all",
81
+ children: "All Categories"
82
+ }), k.map((e) => /* @__PURE__ */ S(y, {
83
+ value: e,
84
+ children: e
85
+ }, e))] })]
86
+ })]
87
+ }),
88
+ /* @__PURE__ */ C("div", {
89
+ className: "grid gap-4 md:grid-cols-2 lg:grid-cols-3",
90
+ children: [A.map((e) => /* @__PURE__ */ C(u, {
91
+ className: "flex flex-col",
92
+ children: [
93
+ /* @__PURE__ */ C(m, { children: [
94
+ /* @__PURE__ */ C("div", {
95
+ className: "flex items-start justify-between",
96
+ children: [/* @__PURE__ */ S(c, {
97
+ variant: "outline",
98
+ children: e.category
99
+ }), /* @__PURE__ */ S("span", {
100
+ className: "text-xs text-muted-foreground",
101
+ children: e.id
102
+ })]
103
+ }),
104
+ /* @__PURE__ */ S(h, {
105
+ className: "text-lg mt-2",
106
+ children: e.name
107
+ }),
108
+ /* @__PURE__ */ S(f, { children: e.description })
109
+ ] }),
110
+ /* @__PURE__ */ C(d, {
111
+ className: "flex-1 space-y-3",
112
+ children: [
113
+ /* @__PURE__ */ C("div", {
114
+ className: "flex items-center gap-1",
115
+ children: [j(e.rating), /* @__PURE__ */ S("span", {
116
+ className: "ml-2 text-sm text-muted-foreground",
117
+ children: e.rating
118
+ })]
119
+ }),
120
+ /* @__PURE__ */ C("div", {
121
+ className: "flex items-center gap-2 text-sm text-muted-foreground",
122
+ children: [/* @__PURE__ */ S(s, { className: "h-4 w-4" }), /* @__PURE__ */ C("span", { children: [e.usageCount, " uses"] })]
123
+ }),
124
+ /* @__PURE__ */ S("div", {
125
+ className: "flex flex-wrap gap-1",
126
+ children: e.tags.map((e) => /* @__PURE__ */ S(c, {
127
+ variant: "secondary",
128
+ className: "text-xs",
129
+ children: e
130
+ }, e))
131
+ })
132
+ ]
133
+ }),
134
+ /* @__PURE__ */ C(p, {
135
+ className: "gap-2",
136
+ children: [/* @__PURE__ */ S(l, {
137
+ className: "flex-1",
138
+ size: "sm",
139
+ children: "Use Template"
140
+ }), /* @__PURE__ */ S(l, {
141
+ variant: "outline",
142
+ size: "sm",
143
+ children: /* @__PURE__ */ S(n, { className: "h-4 w-4" })
144
+ })]
145
+ })
146
+ ]
147
+ }, e.id)), A.length === 0 && /* @__PURE__ */ S("div", {
148
+ className: "col-span-full text-center py-12 text-muted-foreground",
149
+ children: "No templates found matching your criteria."
150
+ })]
151
+ })
152
+ ]
153
+ });
154
+ }
155
+ //#endregion
156
+ export { w as WorkflowsWorkflowTemplatesPage };
157
+
158
+ //# sourceMappingURL=WorkflowsWorkflowTemplatesPage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkflowsWorkflowTemplatesPage.js","names":[],"sources":["../../../src/assethandler/pages/WorkflowsWorkflowTemplatesPage.tsx"],"sourcesContent":["import { useState } from 'react';\nimport {\n Badge,\n Button,\n Card,\n CardContent,\n CardDescription,\n CardFooter,\n CardHeader,\n CardTitle,\n Input,\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from '@burdenoff/fe-libs/ui';\nimport { Search, Star, Users, Download, Plus, LayoutTemplate } from 'lucide-react';\nimport { useAssetHandlerStore } from '../store/assethandlerStore';\n\nexport function WorkflowsWorkflowTemplatesPage() {\n const { workflowTemplates } = useAssetHandlerStore();\n const [search, setSearch] = useState('');\n const [categoryFilter, setCategoryFilter] = useState('all');\n\n const categories = [...new Set(workflowTemplates.map((t) => t.category))];\n\n const filtered = workflowTemplates.filter((t) => {\n if (categoryFilter !== 'all' && t.category !== categoryFilter) return false;\n if (\n search &&\n !t.name.toLowerCase().includes(search.toLowerCase()) &&\n !t.description.toLowerCase().includes(search.toLowerCase())\n )\n return false;\n return true;\n });\n\n const renderStars = (rating: number) => {\n return Array.from({ length: 5 }, (_, i) => (\n <Star\n key={i}\n className={`h-4 w-4 ${i < Math.floor(rating) ? 'fill-yellow-400 text-yellow-400' : 'text-muted-foreground/30'}`}\n />\n ));\n };\n\n return (\n <div className=\"space-y-6 p-6\">\n <div className=\"flex items-center justify-between\">\n <div>\n <h1 className=\"text-2xl font-semibold\">Workflow Templates</h1>\n <p className=\"text-sm text-muted-foreground\">\n Browse and use pre-built workflow templates to get started quickly.\n </p>\n </div>\n <Button size=\"sm\">\n <Plus className=\"mr-2 h-4 w-4\" />\n Create Template\n </Button>\n </div>\n\n <div className=\"grid gap-4 md:grid-cols-3\">\n <Card>\n <CardHeader className=\"flex flex-row items-center justify-between space-y-0 pb-2\">\n <CardTitle className=\"text-sm font-medium\">Total Templates</CardTitle>\n <LayoutTemplate className=\"h-4 w-4 text-muted-foreground\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">{workflowTemplates.length}</div>\n </CardContent>\n </Card>\n <Card>\n <CardHeader className=\"flex flex-row items-center justify-between space-y-0 pb-2\">\n <CardTitle className=\"text-sm font-medium\">Most Popular</CardTitle>\n <Users className=\"h-4 w-4 text-muted-foreground\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">\n {workflowTemplates.reduce((a, t) => a + t.usageCount, 0)}\n </div>\n <p className=\"text-xs text-muted-foreground\">Total uses across all templates</p>\n </CardContent>\n </Card>\n <Card>\n <CardHeader className=\"flex flex-row items-center justify-between space-y-0 pb-2\">\n <CardTitle className=\"text-sm font-medium\">Average Rating</CardTitle>\n <Star className=\"h-4 w-4 text-yellow-400\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">\n {(\n workflowTemplates.reduce((a, t) => a + t.rating, 0) / workflowTemplates.length\n ).toFixed(1)}\n </div>\n </CardContent>\n </Card>\n </div>\n\n <div className=\"flex items-center gap-3\">\n <div className=\"relative flex-1 max-w-sm\">\n <Search className=\"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground\" />\n <Input\n placeholder=\"Search templates...\"\n value={search}\n onChange={(e) => setSearch(e.target.value)}\n className=\"pl-9\"\n />\n </div>\n <Select value={categoryFilter} onValueChange={setCategoryFilter}>\n <SelectTrigger className=\"w-[180px]\">\n <SelectValue placeholder=\"Category\" />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value=\"all\">All Categories</SelectItem>\n {categories.map((c) => (\n <SelectItem key={c} value={c}>\n {c}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n\n <div className=\"grid gap-4 md:grid-cols-2 lg:grid-cols-3\">\n {filtered.map((template) => (\n <Card key={template.id} className=\"flex flex-col\">\n <CardHeader>\n <div className=\"flex items-start justify-between\">\n <Badge variant=\"outline\">{template.category}</Badge>\n <span className=\"text-xs text-muted-foreground\">{template.id}</span>\n </div>\n <CardTitle className=\"text-lg mt-2\">{template.name}</CardTitle>\n <CardDescription>{template.description}</CardDescription>\n </CardHeader>\n <CardContent className=\"flex-1 space-y-3\">\n <div className=\"flex items-center gap-1\">\n {renderStars(template.rating)}\n <span className=\"ml-2 text-sm text-muted-foreground\">{template.rating}</span>\n </div>\n <div className=\"flex items-center gap-2 text-sm text-muted-foreground\">\n <Users className=\"h-4 w-4\" />\n <span>{template.usageCount} uses</span>\n </div>\n <div className=\"flex flex-wrap gap-1\">\n {template.tags.map((tag) => (\n <Badge key={tag} variant=\"secondary\" className=\"text-xs\">\n {tag}\n </Badge>\n ))}\n </div>\n </CardContent>\n <CardFooter className=\"gap-2\">\n <Button className=\"flex-1\" size=\"sm\">\n Use Template\n </Button>\n <Button variant=\"outline\" size=\"sm\">\n <Download className=\"h-4 w-4\" />\n </Button>\n </CardFooter>\n </Card>\n ))}\n {filtered.length === 0 && (\n <div className=\"col-span-full text-center py-12 text-muted-foreground\">\n No templates found matching your criteria.\n </div>\n )}\n </div>\n </div>\n );\n}\n"],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { FC, PropsWithChildren } from 'react';
2
+ import { AssetHandlerRootProps } from '../types';
3
+
4
+ export declare const useAssetHandler: () => AssetHandlerRootProps;
5
+ export declare const AssetHandlerProvider: FC<PropsWithChildren<AssetHandlerRootProps>>;
6
+ //# sourceMappingURL=AssetHandlerProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AssetHandlerProvider.d.ts","sourceRoot":"","sources":["../../../src/assethandler/providers/AssetHandlerProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAKnD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AA+LtD,eAAO,MAAM,eAAe,6BAI3B,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,EAAE,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,CAwC7E,CAAC"}