@manta-eu/react 0.1.10 → 0.2.1

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 (324) hide show
  1. package/dist/components/channel-icon/index.d.ts +1 -0
  2. package/dist/components/channel-icon/index.d.ts.map +1 -1
  3. package/dist/components/channel-icon/index.js +1 -1
  4. package/dist/components/channel-icon/index.js.map +1 -1
  5. package/dist/components/chat-view/ChatTurnErrorNotice.d.ts.map +1 -1
  6. package/dist/components/chat-view/ChatTurnErrorNotice.js +3 -1
  7. package/dist/components/chat-view/ChatTurnErrorNotice.js.map +1 -1
  8. package/dist/components/layouts/ConnectedCustomApp.d.ts +13 -0
  9. package/dist/components/layouts/ConnectedCustomApp.d.ts.map +1 -0
  10. package/dist/components/layouts/ConnectedCustomApp.js +37 -0
  11. package/dist/components/layouts/ConnectedCustomApp.js.map +1 -0
  12. package/dist/components/layouts/Sidebar.d.ts.map +1 -1
  13. package/dist/components/layouts/Sidebar.js +6 -3
  14. package/dist/components/layouts/Sidebar.js.map +1 -1
  15. package/dist/components/planning/ActioningView.d.ts +1 -2
  16. package/dist/components/planning/ActioningView.d.ts.map +1 -1
  17. package/dist/components/planning/ActioningView.js +19 -44
  18. package/dist/components/planning/ActioningView.js.map +1 -1
  19. package/dist/components/planning/ManualActionCard.d.ts +4 -0
  20. package/dist/components/planning/ManualActionCard.d.ts.map +1 -1
  21. package/dist/components/planning/ManualActionCard.js +7 -5
  22. package/dist/components/planning/ManualActionCard.js.map +1 -1
  23. package/dist/components/planning/ManualActionList.d.ts +4 -0
  24. package/dist/components/planning/ManualActionList.d.ts.map +1 -1
  25. package/dist/components/planning/ManualActionList.js +8 -2
  26. package/dist/components/planning/ManualActionList.js.map +1 -1
  27. package/dist/components/planning/actioning-view-utils.d.ts +9 -0
  28. package/dist/components/planning/actioning-view-utils.d.ts.map +1 -1
  29. package/dist/components/planning/actioning-view-utils.js +19 -1
  30. package/dist/components/planning/actioning-view-utils.js.map +1 -1
  31. package/dist/components/table-skeleton/index.d.ts +2 -0
  32. package/dist/components/table-skeleton/index.d.ts.map +1 -1
  33. package/dist/components/table-skeleton/index.js +2 -1
  34. package/dist/components/table-skeleton/index.js.map +1 -1
  35. package/dist/components/tooltip/index.d.ts +7 -0
  36. package/dist/components/tooltip/index.d.ts.map +1 -1
  37. package/dist/components/tooltip/index.js +10 -1
  38. package/dist/components/tooltip/index.js.map +1 -1
  39. package/dist/globals.css +19 -6
  40. package/dist/graph/createNodeRouter.js +3 -3
  41. package/dist/graph/createNodeRouter.js.map +1 -1
  42. package/dist/graph/entity-link.d.ts +14 -0
  43. package/dist/graph/entity-link.d.ts.map +1 -0
  44. package/dist/graph/entity-link.js +12 -0
  45. package/dist/graph/entity-link.js.map +1 -0
  46. package/dist/graph/graph-list-utils.d.ts +1 -0
  47. package/dist/graph/graph-list-utils.d.ts.map +1 -1
  48. package/dist/graph/graph-list-utils.js +1 -0
  49. package/dist/graph/graph-list-utils.js.map +1 -1
  50. package/dist/graph/graph-model.d.ts.map +1 -1
  51. package/dist/graph/graph-model.js +14 -5
  52. package/dist/graph/graph-model.js.map +1 -1
  53. package/dist/graph/nodes/BrandAssetAnalysisView.d.ts.map +1 -1
  54. package/dist/graph/nodes/BrandAssetAnalysisView.js +2 -1
  55. package/dist/graph/nodes/BrandAssetAnalysisView.js.map +1 -1
  56. package/dist/graph/nodes/BrandFontSuggestionView.d.ts +3 -0
  57. package/dist/graph/nodes/BrandFontSuggestionView.d.ts.map +1 -0
  58. package/dist/graph/nodes/{BrandFontFamilyView.js → BrandFontSuggestionView.js} +22 -13
  59. package/dist/graph/nodes/BrandFontSuggestionView.js.map +1 -0
  60. package/dist/graph/nodes/BrandGuidelinesView.js +1 -1
  61. package/dist/graph/nodes/BrandGuidelinesView.js.map +1 -1
  62. package/dist/graph/nodes/NodePropertyTable.d.ts +4 -2
  63. package/dist/graph/nodes/NodePropertyTable.d.ts.map +1 -1
  64. package/dist/graph/nodes/NodePropertyTable.js +12 -59
  65. package/dist/graph/nodes/NodePropertyTable.js.map +1 -1
  66. package/dist/graph/nodes/brand-font.d.ts +8 -0
  67. package/dist/graph/nodes/brand-font.d.ts.map +1 -1
  68. package/dist/graph/nodes/brand-font.js +6 -0
  69. package/dist/graph/nodes/brand-font.js.map +1 -1
  70. package/dist/graph/nodes/brand-shared.d.ts +0 -3
  71. package/dist/graph/nodes/brand-shared.d.ts.map +1 -1
  72. package/dist/graph/nodes/brand-shared.js +1 -4
  73. package/dist/graph/nodes/brand-shared.js.map +1 -1
  74. package/dist/graph/nodes/node-property-row.d.ts +30 -0
  75. package/dist/graph/nodes/node-property-row.d.ts.map +1 -0
  76. package/dist/graph/nodes/node-property-row.js +35 -0
  77. package/dist/graph/nodes/node-property-row.js.map +1 -0
  78. package/dist/graph/property-formatters.d.ts +1 -0
  79. package/dist/graph/property-formatters.d.ts.map +1 -1
  80. package/dist/graph/property-formatters.js +4 -1
  81. package/dist/graph/property-formatters.js.map +1 -1
  82. package/dist/graph/special-nodes/AttributeList.d.ts +27 -0
  83. package/dist/graph/special-nodes/AttributeList.d.ts.map +1 -0
  84. package/dist/graph/special-nodes/AttributeList.js +57 -0
  85. package/dist/graph/special-nodes/AttributeList.js.map +1 -0
  86. package/dist/graph/special-nodes/EntityPreview.d.ts +5 -0
  87. package/dist/graph/special-nodes/EntityPreview.d.ts.map +1 -0
  88. package/dist/graph/special-nodes/EntityPreview.js +19 -0
  89. package/dist/graph/special-nodes/EntityPreview.js.map +1 -0
  90. package/dist/graph/special-nodes/EntityValueChip.d.ts +11 -0
  91. package/dist/graph/special-nodes/EntityValueChip.d.ts.map +1 -0
  92. package/dist/graph/special-nodes/EntityValueChip.js +40 -0
  93. package/dist/graph/special-nodes/EntityValueChip.js.map +1 -0
  94. package/dist/graph/special-nodes/GenericView.d.ts +2 -1
  95. package/dist/graph/special-nodes/GenericView.d.ts.map +1 -1
  96. package/dist/graph/special-nodes/GenericView.js +23 -69
  97. package/dist/graph/special-nodes/GenericView.js.map +1 -1
  98. package/dist/graph/special-nodes/card-facts.d.ts +52 -0
  99. package/dist/graph/special-nodes/card-facts.d.ts.map +1 -0
  100. package/dist/graph/special-nodes/card-facts.js +189 -0
  101. package/dist/graph/special-nodes/card-facts.js.map +1 -0
  102. package/dist/graph/special-nodes/property-icons.d.ts +9 -0
  103. package/dist/graph/special-nodes/property-icons.d.ts.map +1 -0
  104. package/dist/graph/special-nodes/property-icons.js +39 -0
  105. package/dist/graph/special-nodes/property-icons.js.map +1 -0
  106. package/dist/graph/status-utils.d.ts +16 -0
  107. package/dist/graph/status-utils.d.ts.map +1 -1
  108. package/dist/graph/status-utils.js +35 -0
  109. package/dist/graph/status-utils.js.map +1 -1
  110. package/dist/graph/types.d.ts +5 -0
  111. package/dist/graph/types.d.ts.map +1 -1
  112. package/dist/hooks/use-approve-anyway.d.ts +12 -0
  113. package/dist/hooks/use-approve-anyway.d.ts.map +1 -0
  114. package/dist/hooks/use-approve-anyway.js +81 -0
  115. package/dist/hooks/use-approve-anyway.js.map +1 -0
  116. package/dist/hooks/use-connection-problems.d.ts.map +1 -1
  117. package/dist/hooks/useAuth.d.ts +2 -2
  118. package/dist/hooks/useAuth.d.ts.map +1 -1
  119. package/dist/hooks/useAuth.js +2 -2
  120. package/dist/hooks/useAuth.js.map +1 -1
  121. package/dist/hooks/useOnboardingState.js +1 -1
  122. package/dist/hooks/useOnboardingState.js.map +1 -1
  123. package/dist/hooks/useValidateActionPlan.d.ts.map +1 -1
  124. package/dist/ldo-ui.d.ts +2 -1
  125. package/dist/ldo-ui.d.ts.map +1 -1
  126. package/dist/ldo-ui.js +1 -0
  127. package/dist/ldo-ui.js.map +1 -1
  128. package/dist/lib/datastore-route-table.d.ts +2 -1
  129. package/dist/lib/datastore-route-table.d.ts.map +1 -1
  130. package/dist/lib/datastore-route-table.js +2 -1
  131. package/dist/lib/datastore-route-table.js.map +1 -1
  132. package/dist/lib/manual-actions.d.ts +2 -1
  133. package/dist/lib/manual-actions.d.ts.map +1 -1
  134. package/dist/lib/manual-actions.js +3 -2
  135. package/dist/lib/manual-actions.js.map +1 -1
  136. package/dist/providers/ActiveChatProvider.js +3 -1
  137. package/dist/providers/ActiveChatProvider.js.map +1 -1
  138. package/dist/providers/AuthContext.d.ts +2 -1
  139. package/dist/providers/AuthContext.d.ts.map +1 -1
  140. package/dist/providers/AuthContext.js.map +1 -1
  141. package/dist/providers/ChatManagerProvider.d.ts.map +1 -1
  142. package/dist/providers/ChatManagerProvider.js +22 -9
  143. package/dist/providers/ChatManagerProvider.js.map +1 -1
  144. package/dist/providers/chat-socket-auth.d.ts +7 -2
  145. package/dist/providers/chat-socket-auth.d.ts.map +1 -1
  146. package/dist/providers/chat-socket-auth.js +87 -16
  147. package/dist/providers/chat-socket-auth.js.map +1 -1
  148. package/dist/providers/index.d.ts.map +1 -1
  149. package/dist/providers/index.js +8 -1
  150. package/dist/providers/index.js.map +1 -1
  151. package/dist/routes/activity/detail/ActivityChanges.d.ts +2 -0
  152. package/dist/routes/activity/detail/ActivityChanges.d.ts.map +1 -1
  153. package/dist/routes/activity/detail/ActivityChanges.js +8 -7
  154. package/dist/routes/activity/detail/ActivityChanges.js.map +1 -1
  155. package/dist/routes/activity/detail/ActivityDetail.d.ts +1 -0
  156. package/dist/routes/activity/detail/ActivityDetail.d.ts.map +1 -1
  157. package/dist/routes/activity/detail/ActivityDetail.js +5 -4
  158. package/dist/routes/activity/detail/ActivityDetail.js.map +1 -1
  159. package/dist/routes/activity/detail/ActivityStepsRail.d.ts +1 -0
  160. package/dist/routes/activity/detail/ActivityStepsRail.d.ts.map +1 -1
  161. package/dist/routes/activity/detail/ActivityStepsRail.js +3 -2
  162. package/dist/routes/activity/detail/ActivityStepsRail.js.map +1 -1
  163. package/dist/routes/activity/detail/ActivityTimeline.js +2 -2
  164. package/dist/routes/activity/detail/ActivityTimeline.js.map +1 -1
  165. package/dist/routes/activity/detail/NoChangesMessage.d.ts +6 -0
  166. package/dist/routes/activity/detail/NoChangesMessage.d.ts.map +1 -0
  167. package/dist/routes/activity/detail/NoChangesMessage.js +10 -0
  168. package/dist/routes/activity/detail/NoChangesMessage.js.map +1 -0
  169. package/dist/routes/data-explorer/components/RawTriples.js +1 -1
  170. package/dist/routes/data-explorer/components/RawTriples.js.map +1 -1
  171. package/dist/routes/data-explorer/components/RecentTypes.js +1 -1
  172. package/dist/routes/data-explorer/components/RecentTypes.js.map +1 -1
  173. package/dist/routes/data-explorer/components/class-detail/Instances.js +1 -1
  174. package/dist/routes/data-explorer/components/class-detail/Instances.js.map +1 -1
  175. package/dist/routes/data-explorer/components/namespace-detail/NamespaceClassRow.js +1 -1
  176. package/dist/routes/data-explorer/components/namespace-detail/NamespaceClassRow.js.map +1 -1
  177. package/dist/routes/data-explorer/components/ontology-coverage/CoverageTermColumns.js +1 -1
  178. package/dist/routes/data-explorer/components/ontology-coverage/CoverageTermColumns.js.map +1 -1
  179. package/dist/routes/data-explorer/components/ontology-coverage/UnobservedRuleVocabulary.js +1 -1
  180. package/dist/routes/data-explorer/components/ontology-coverage/UnobservedRuleVocabulary.js.map +1 -1
  181. package/dist/routes/data-explorer/components/record-detail/ChatPreview.js +2 -2
  182. package/dist/routes/data-explorer/components/record-detail/ChatPreview.js.map +1 -1
  183. package/dist/routes/data-explorer/declared-namespaces.d.ts +3 -0
  184. package/dist/routes/data-explorer/declared-namespaces.d.ts.map +1 -1
  185. package/dist/routes/data-explorer/declared-namespaces.js +21 -13
  186. package/dist/routes/data-explorer/declared-namespaces.js.map +1 -1
  187. package/dist/routes/data-explorer/namespaces.d.ts +1 -0
  188. package/dist/routes/data-explorer/namespaces.d.ts.map +1 -1
  189. package/dist/routes/data-explorer/namespaces.js +7 -6
  190. package/dist/routes/data-explorer/namespaces.js.map +1 -1
  191. package/dist/routes/datastores/components/DeleteDatastoreDialog.d.ts +10 -0
  192. package/dist/routes/datastores/components/DeleteDatastoreDialog.d.ts.map +1 -0
  193. package/dist/routes/datastores/components/DeleteDatastoreDialog.js +20 -0
  194. package/dist/routes/datastores/components/DeleteDatastoreDialog.js.map +1 -0
  195. package/dist/routes/datastores/flatten.d.ts +1 -0
  196. package/dist/routes/datastores/flatten.d.ts.map +1 -1
  197. package/dist/routes/datastores/flatten.js +17 -0
  198. package/dist/routes/datastores/flatten.js.map +1 -1
  199. package/dist/routes/datastores/hooks/useDatastoreColumns.d.ts +3 -1
  200. package/dist/routes/datastores/hooks/useDatastoreColumns.d.ts.map +1 -1
  201. package/dist/routes/datastores/hooks/useDatastoreColumns.js +14 -6
  202. package/dist/routes/datastores/hooks/useDatastoreColumns.js.map +1 -1
  203. package/dist/routes/datastores/index.d.ts.map +1 -1
  204. package/dist/routes/datastores/index.js +31 -5
  205. package/dist/routes/datastores/index.js.map +1 -1
  206. package/dist/routes/integrations/components/ProviderGroup.js +2 -2
  207. package/dist/routes/integrations/components/ProviderGroup.js.map +1 -1
  208. package/dist/routes/integrations/components/connect-forms/DataConnectionConnectForm.d.ts.map +1 -1
  209. package/dist/routes/integrations/components/connect-forms/DataConnectionConnectForm.js +13 -6
  210. package/dist/routes/integrations/components/connect-forms/DataConnectionConnectForm.js.map +1 -1
  211. package/dist/routes/integrations/components/connect-forms/data-connection-fields.d.ts +3 -0
  212. package/dist/routes/integrations/components/connect-forms/data-connection-fields.d.ts.map +1 -1
  213. package/dist/routes/integrations/components/connect-forms/data-connection-fields.js +9 -2
  214. package/dist/routes/integrations/components/connect-forms/data-connection-fields.js.map +1 -1
  215. package/dist/routes/plans/components/ActionPlanPage.d.ts.map +1 -1
  216. package/dist/routes/plans/components/ActionPlanPage.js +4 -7
  217. package/dist/routes/plans/components/ActionPlanPage.js.map +1 -1
  218. package/dist/routes/plans/components/PlanDetailRouteContent.d.ts.map +1 -1
  219. package/dist/routes/plans/components/PlanDetailRouteContent.js +2 -1
  220. package/dist/routes/plans/components/PlanDetailRouteContent.js.map +1 -1
  221. package/package.json +12 -7
  222. package/src/app-subpaths.json +1 -0
  223. package/src/components/channel-icon/index.tsx +1 -1
  224. package/src/components/chat-view/ChatTurnErrorNotice.tsx +3 -1
  225. package/src/components/layouts/ConnectedCustomApp.tsx +63 -0
  226. package/src/components/layouts/Sidebar.tsx +9 -3
  227. package/src/components/planning/ActioningView.tsx +62 -70
  228. package/src/components/planning/ManualActionCard.tsx +66 -14
  229. package/src/components/planning/ManualActionList.tsx +30 -11
  230. package/src/components/planning/actioning-view-utils.ts +27 -1
  231. package/src/components/table-skeleton/index.tsx +7 -1
  232. package/src/components/tooltip/index.tsx +35 -2
  233. package/src/graph/createNodeRouter.tsx +3 -3
  234. package/src/graph/entity-link.tsx +20 -0
  235. package/src/graph/graph-list-utils.ts +2 -0
  236. package/src/graph/graph-model.ts +15 -6
  237. package/src/graph/nodes/BrandAssetAnalysisView.tsx +3 -1
  238. package/src/graph/nodes/{BrandFontFamilyView.tsx → BrandFontSuggestionView.tsx} +41 -27
  239. package/src/graph/nodes/BrandGuidelinesView.tsx +1 -1
  240. package/src/graph/nodes/NodePropertyTable.tsx +32 -143
  241. package/src/graph/nodes/brand-font.ts +17 -0
  242. package/src/graph/nodes/brand-shared.tsx +1 -4
  243. package/src/graph/nodes/node-property-row.tsx +154 -0
  244. package/src/graph/property-formatters.ts +5 -1
  245. package/src/graph/special-nodes/AttributeList.tsx +177 -0
  246. package/src/graph/special-nodes/EntityPreview.tsx +27 -0
  247. package/src/graph/special-nodes/EntityValueChip.tsx +85 -0
  248. package/src/graph/special-nodes/GenericView.tsx +49 -139
  249. package/src/graph/special-nodes/card-facts.ts +278 -0
  250. package/src/graph/special-nodes/property-icons.ts +59 -0
  251. package/src/graph/status-utils.ts +40 -0
  252. package/src/graph/types.ts +4 -0
  253. package/src/hooks/use-approve-anyway.ts +100 -0
  254. package/src/hooks/useAuth.ts +3 -3
  255. package/src/hooks/useOnboardingState.ts +1 -1
  256. package/src/ldo-ui.ts +8 -0
  257. package/src/lib/datastore-route-table.ts +4 -2
  258. package/src/lib/manual-actions.ts +3 -2
  259. package/src/providers/ActiveChatProvider.tsx +3 -1
  260. package/src/providers/AuthContext.ts +3 -1
  261. package/src/providers/ChatManagerProvider.tsx +19 -9
  262. package/src/providers/chat-socket-auth.ts +95 -16
  263. package/src/providers/index.tsx +16 -1
  264. package/src/routes/activity/detail/ActivityChanges.tsx +21 -5
  265. package/src/routes/activity/detail/ActivityDetail.tsx +24 -5
  266. package/src/routes/activity/detail/ActivityStepsRail.tsx +4 -2
  267. package/src/routes/activity/detail/ActivityTimeline.tsx +2 -2
  268. package/src/routes/activity/detail/NoChangesMessage.tsx +20 -0
  269. package/src/routes/data-explorer/components/RawTriples.tsx +1 -1
  270. package/src/routes/data-explorer/components/RecentTypes.tsx +1 -1
  271. package/src/routes/data-explorer/components/class-detail/Instances.tsx +1 -1
  272. package/src/routes/data-explorer/components/namespace-detail/NamespaceClassRow.tsx +1 -1
  273. package/src/routes/data-explorer/components/ontology-coverage/CoverageTermColumns.tsx +1 -1
  274. package/src/routes/data-explorer/components/ontology-coverage/UnobservedRuleVocabulary.tsx +1 -1
  275. package/src/routes/data-explorer/components/record-detail/ChatPreview.tsx +2 -2
  276. package/src/routes/data-explorer/declared-namespaces.ts +21 -13
  277. package/src/routes/data-explorer/namespaces.ts +7 -6
  278. package/src/routes/datastores/components/DeleteDatastoreDialog.tsx +78 -0
  279. package/src/routes/datastores/flatten.ts +15 -0
  280. package/src/routes/datastores/hooks/useDatastoreColumns.tsx +88 -49
  281. package/src/routes/datastores/index.tsx +41 -2
  282. package/src/routes/integrations/components/ProviderGroup.tsx +2 -2
  283. package/src/routes/integrations/components/connect-forms/DataConnectionConnectForm.tsx +38 -12
  284. package/src/routes/integrations/components/connect-forms/data-connection-fields.ts +11 -2
  285. package/src/routes/plans/components/ActionPlanPage.tsx +9 -8
  286. package/src/routes/plans/components/PlanDetailRouteContent.tsx +4 -3
  287. package/dist/components/planning/ExecutionActivityRow.d.ts +0 -9
  288. package/dist/components/planning/ExecutionActivityRow.d.ts.map +0 -1
  289. package/dist/components/planning/ExecutionActivityRow.js +0 -53
  290. package/dist/components/planning/ExecutionActivityRow.js.map +0 -1
  291. package/dist/components/planning/ExecutionSectionItem.d.ts +0 -20
  292. package/dist/components/planning/ExecutionSectionItem.d.ts.map +0 -1
  293. package/dist/components/planning/ExecutionSectionItem.js +0 -66
  294. package/dist/components/planning/ExecutionSectionItem.js.map +0 -1
  295. package/dist/components/planning/ExecutionSections.d.ts +0 -16
  296. package/dist/components/planning/ExecutionSections.d.ts.map +0 -1
  297. package/dist/components/planning/ExecutionSections.js +0 -32
  298. package/dist/components/planning/ExecutionSections.js.map +0 -1
  299. package/dist/components/planning/action-plan-icons.d.ts +0 -3
  300. package/dist/components/planning/action-plan-icons.d.ts.map +0 -1
  301. package/dist/components/planning/action-plan-icons.js +0 -25
  302. package/dist/components/planning/action-plan-icons.js.map +0 -1
  303. package/dist/components/planning/execution-section-model.d.ts +0 -24
  304. package/dist/components/planning/execution-section-model.d.ts.map +0 -1
  305. package/dist/components/planning/execution-section-model.js +0 -150
  306. package/dist/components/planning/execution-section-model.js.map +0 -1
  307. package/dist/graph/nodes/BrandFontFamilyView.d.ts +0 -3
  308. package/dist/graph/nodes/BrandFontFamilyView.d.ts.map +0 -1
  309. package/dist/graph/nodes/BrandFontFamilyView.js.map +0 -1
  310. package/dist/graph/nodes/BrandFontUploadButton.d.ts +0 -6
  311. package/dist/graph/nodes/BrandFontUploadButton.d.ts.map +0 -1
  312. package/dist/graph/nodes/BrandFontUploadButton.js +0 -69
  313. package/dist/graph/nodes/BrandFontUploadButton.js.map +0 -1
  314. package/dist/routes/data-explorer/components/TruncateTooltip.d.ts +0 -7
  315. package/dist/routes/data-explorer/components/TruncateTooltip.d.ts.map +0 -1
  316. package/dist/routes/data-explorer/components/TruncateTooltip.js +0 -9
  317. package/dist/routes/data-explorer/components/TruncateTooltip.js.map +0 -1
  318. package/src/components/planning/ExecutionActivityRow.tsx +0 -89
  319. package/src/components/planning/ExecutionSectionItem.tsx +0 -184
  320. package/src/components/planning/ExecutionSections.tsx +0 -97
  321. package/src/components/planning/action-plan-icons.tsx +0 -27
  322. package/src/components/planning/execution-section-model.ts +0 -190
  323. package/src/graph/nodes/BrandFontUploadButton.tsx +0 -95
  324. package/src/routes/data-explorer/components/TruncateTooltip.tsx +0 -25
@@ -1,5 +1,6 @@
1
1
  import {
2
2
  useBringDatastoreOnlineMutation,
3
+ useDeleteDatastoreMutation,
3
4
  useOrganizationLinkingQuery,
4
5
  useLinkOrganizationToProviderMutation,
5
6
  useLinkUnlinkedDatastoreMutation,
@@ -26,6 +27,7 @@ import { toast } from "sonner";
26
27
  import type { DatastoreFormTarget } from "./components/DatastoreFormDialog";
27
28
  import { DatastoresToolbar } from "./components/DatastoresToolbar";
28
29
  import { DatastoreTableSkeleton } from "./components/DatastoreTableSkeleton";
30
+ import { DeleteDatastoreDialog } from "./components/DeleteDatastoreDialog";
29
31
  import { LinkUnlinkedDatastoreDialog, type SuggestedLinkTarget } from "./components/LinkUnlinkedDatastoreDialog";
30
32
  import { ProvisionDatastoreDialog } from "./components/ProvisionDatastoreDialog";
31
33
  import { RenameDatastoreGroupDialog } from "./components/RenameDatastoreGroupDialog";
@@ -34,6 +36,7 @@ import {
34
36
  existingOrganizationNameKeys,
35
37
  hiddenRowCount,
36
38
  matchesProviderFilter,
39
+ nestedDatastoreNamesByRowId,
37
40
  organizationNameKey,
38
41
  organizationNames,
39
42
  realmDefaultRow,
@@ -104,6 +107,7 @@ export function DatastoresRoute() {
104
107
 
105
108
  const [formTarget, setFormTarget] = useState<DatastoreFormTarget | null>(null);
106
109
  const [pendingRemoval, setPendingRemoval] = useState<DatastoreRow | null>(null);
110
+ const [pendingDeletion, setPendingDeletion] = useState<DatastoreRow | null>(null);
107
111
  const [renameTarget, setRenameTarget] = useState<DatastoreRow | null>(null);
108
112
  const [linkDialogTarget, setLinkDialogTarget] = useState<string | null>(null);
109
113
  const [visibility, setVisibility] = useState<DatastoreRowVisibility>({
@@ -197,6 +201,25 @@ export function DatastoresRoute() {
197
201
  },
198
202
  });
199
203
 
204
+ const deleteMutation = useDeleteDatastoreMutation(mantaClient, {
205
+ onSuccess: (result, variables) => {
206
+ void refreshDatastores();
207
+ setPendingDeletion(null);
208
+ const { success, error } = result.deleteDatastore;
209
+ if (!success) {
210
+ toast.error("Couldn't delete the datastore", { description: error ?? undefined });
211
+ return;
212
+ }
213
+
214
+ toast.success(`"${variables.confirmName}" was deleted permanently`);
215
+ },
216
+ onError: (error) => {
217
+ setPendingDeletion(null);
218
+ const info = parseError(error, "Couldn't delete the datastore");
219
+ toast.error(info.message, { description: info.description });
220
+ },
221
+ });
222
+
200
223
  const restoreMutation = useRestoreDatastoreMutation(mantaClient, {
201
224
  onSuccess: (result) => {
202
225
  invalidateTree();
@@ -294,6 +317,7 @@ export function DatastoresRoute() {
294
317
  [unlinkedData],
295
318
  );
296
319
  const allRows = useMemo(() => [...treeRows, ...unlinkedRows], [treeRows, unlinkedRows]);
320
+ const nestedDatastoreNames = useMemo(() => nestedDatastoreNamesByRowId(treeRows), [treeRows]);
297
321
  const rows = useMemo(() => visibleDatastoreRows(treeRows, visibility), [treeRows, visibility]);
298
322
  const unprovisionedCount = useMemo(
299
323
  () => hiddenRowCount(treeRows, visibility, "showUnprovisioned", rows.length),
@@ -462,7 +486,7 @@ export function DatastoresRoute() {
462
486
  [navigate],
463
487
  );
464
488
 
465
- const onManageExternalApps = useCallback(
489
+ const onManageCustomApps = useCallback(
466
490
  (row: DatastoreRow) =>
467
491
  void navigate(`/custom-apps?${new URLSearchParams({ org: row.organizationAlias }).toString()}`),
468
492
  [navigate],
@@ -488,6 +512,7 @@ export function DatastoresRoute() {
488
512
  isSwitching,
489
513
  indented,
490
514
  matchableRowIds,
515
+ nestedDatastoreNamesByRowId: nestedDatastoreNames,
491
516
  suggestedMatchByDatastoreId,
492
517
  onSelect,
493
518
  onAddChild,
@@ -495,11 +520,12 @@ export function DatastoresRoute() {
495
520
  onProvision: provisionExisting,
496
521
  onLinkExisting,
497
522
  onRemove: setPendingRemoval,
523
+ onDelete: setPendingDeletion,
498
524
  onRestore,
499
525
  onRename: setRenameTarget,
500
526
  onRegister,
501
527
  onManageUsers,
502
- onManageExternalApps,
528
+ onManageCustomApps,
503
529
  onBringOnline,
504
530
  isBringingOnline: bringOnlineMutation.isPending,
505
531
  onLinkProvider,
@@ -810,6 +836,19 @@ export function DatastoresRoute() {
810
836
  />
811
837
  )}
812
838
 
839
+ {pendingDeletion && isPresent(pendingDeletion.datastoreId) && (
840
+ <DeleteDatastoreDialog
841
+ target={pendingDeletion}
842
+ isDeleting={deleteMutation.isPending}
843
+ onConfirm={(confirmName) => {
844
+ if (isPresent(pendingDeletion.datastoreId)) {
845
+ deleteMutation.mutate({ datastoreId: pendingDeletion.datastoreId, confirmName });
846
+ }
847
+ }}
848
+ onCancel={() => setPendingDeletion(null)}
849
+ />
850
+ )}
851
+
813
852
  {pendingRemoval && isPresent(pendingRemoval.datastoreId) && (
814
853
  <DeleteConfirmationDialog
815
854
  title="Remove datastore"
@@ -57,7 +57,7 @@ export function ProviderGroup<Id extends string = ProviderId>(props: ProviderGro
57
57
  )}
58
58
  </header>
59
59
 
60
- <div className="flex flex-col gap-2 min-w-0 bg-card py-4 border-b border-muted-border">
60
+ <div className="flex flex-col gap-2 min-w-0 bg-card py-4">
61
61
  {alwaysVisible.map(renderConnection)}
62
62
 
63
63
  {hasOverflow && (
@@ -90,7 +90,7 @@ export function ProviderGroupSkeleton() {
90
90
  </div>
91
91
  <Skeleton className="h-8 w-24 rounded-md" />
92
92
  </header>
93
- <div className="flex flex-col gap-2 bg-card py-4 border-b border-muted-border">
93
+ <div className="flex flex-col gap-2 bg-card py-4">
94
94
  <ConnectionRowSkeleton />
95
95
  <ConnectionRowSkeleton />
96
96
  </div>
@@ -23,6 +23,8 @@ import {
23
23
  nameSchema,
24
24
  pickSettings,
25
25
  settingsSchema,
26
+ sourceKey,
27
+ sourceSchema,
26
28
  storedValues,
27
29
  type ConnectorField,
28
30
  type DataConnectionValues,
@@ -39,22 +41,41 @@ export type StoredConnection = StoredDataConnection & { id: string };
39
41
 
40
42
  type Step = StepConfig<DataConnectionValues>;
41
43
 
42
- function nameStep(providerName: string): Step {
44
+ const newSourceHint =
45
+ "Optional. Lowercase letters and digits. Left blank, Manta reuses the name of an earlier connection to this database, or takes one from the connection name. It can't change later.";
46
+ const editingSourceHint = "Set when the connection was created. It can't change.";
47
+
48
+ function nameStep(providerName: string, editing: boolean): Step {
43
49
  return {
44
50
  id: "name",
45
51
  title: "Name this connection",
46
52
  description: `Used to identify this ${providerName} database in Manta.`,
47
- schema: z.object({ [nameKey]: nameSchema }),
53
+ schema: z.object({ [nameKey]: nameSchema, [sourceKey]: sourceSchema }),
48
54
  continueLabel: "Continue",
49
55
  render: (form) => (
50
- <Input
51
- id={inputId(nameKey)}
52
- label="Name"
53
- placeholder="Warehouse"
54
- autoComplete="off"
55
- error={form.formState.errors[nameKey]?.message?.toString()}
56
- {...form.register(nameKey)}
57
- />
56
+ <div className="grid gap-4">
57
+ <Input
58
+ id={inputId(nameKey)}
59
+ label="Name"
60
+ placeholder="Warehouse"
61
+ autoComplete="off"
62
+ error={form.formState.errors[nameKey]?.message?.toString()}
63
+ {...form.register(nameKey)}
64
+ />
65
+
66
+ {(!editing || isPresent(form.getValues(sourceKey))) && (
67
+ <Input
68
+ id={inputId(sourceKey)}
69
+ label="Source name"
70
+ placeholder="warehouse"
71
+ autoComplete="off"
72
+ disabled={editing}
73
+ helperText={editing ? editingSourceHint : newSourceHint}
74
+ error={form.formState.errors[sourceKey]?.message?.toString()}
75
+ {...form.register(sourceKey)}
76
+ />
77
+ )}
78
+ </div>
58
79
  ),
59
80
  };
60
81
  }
@@ -117,7 +138,7 @@ export function createSteps(
117
138
  const required = fields.filter((field) => field.required);
118
139
  const optional = fields.filter((field) => !field.required);
119
140
  const steps = [
120
- nameStep(providerName),
141
+ nameStep(providerName, editing),
121
142
  connectionStep({ providerName, connectorType, stepFields: required, allFields: fields, editing }),
122
143
  ...(isPresent(optional) ? [optionalStep(optional, editing)] : []),
123
144
  ];
@@ -160,7 +181,12 @@ function DataConnectionWizard(props: DataConnectionWizardProps) {
160
181
 
161
182
  async function create(values: DataConnectionValues) {
162
183
  await createMutation.mutateAsync({
163
- input: { name: values[nameKey], connectorType, settings: pickSettings(values, fields) },
184
+ input: {
185
+ name: values[nameKey],
186
+ connectorType,
187
+ sourceName: values[sourceKey] || undefined,
188
+ settings: pickSettings(values, fields),
189
+ },
164
190
  });
165
191
  toast.success(`${provider.name} added`, { description: "Manta is testing the connection." });
166
192
  }
@@ -5,12 +5,19 @@ import { z } from "zod";
5
5
  export type ConnectorField = GQLDataConnectorTypesQuery["dataConnectorTypes"][number]["fields"][number];
6
6
 
7
7
  export const nameKey = "connectionName";
8
+ export const sourceKey = "sourceName";
8
9
 
9
10
  // The setting keys come from the connector descriptor at runtime, so the value type is an index signature.
10
11
  export type DataConnectionValues = { [nameKey]: string; [setting: string]: string };
11
12
 
12
13
  export const nameSchema = z.string().trim().min(1, "Name is required").max(64, "64 characters or fewer");
13
14
 
15
+ export const sourceSchema = z
16
+ .string()
17
+ .trim()
18
+ .regex(/^([a-z][a-z0-9]*)?$/, "Use lowercase letters and digits, starting with a letter")
19
+ .optional();
20
+
14
21
  const valuePatterns: Partial<Record<GQLDataConnectorFieldType, { pattern: RegExp; message: string }>> = {
15
22
  [GQLDataConnectorFieldType.Integer]: { pattern: /^-?\d+$/, message: "Enter a whole number" },
16
23
  [GQLDataConnectorFieldType.Decimal]: { pattern: /^-?\d+(\.\d+)?$/, message: "Enter a number" },
@@ -40,7 +47,7 @@ export function settingsSchema(fields: readonly ConnectorField[]) {
40
47
 
41
48
  // The fields come at runtime, so the built schema has no static output type to infer.
42
49
  export function formSchema(fields: readonly ConnectorField[]): z.ZodType<DataConnectionValues, DataConnectionValues> {
43
- return settingsSchema(fields).extend({ [nameKey]: nameSchema }) as unknown as z.ZodType<
50
+ return settingsSchema(fields).extend({ [nameKey]: nameSchema, [sourceKey]: sourceSchema }) as unknown as z.ZodType<
44
51
  DataConnectionValues,
45
52
  DataConnectionValues
46
53
  >;
@@ -55,13 +62,14 @@ export function pickSettings(values: DataConnectionValues, fields: readonly Conn
55
62
  }
56
63
 
57
64
  export function blankValues(fields: readonly ConnectorField[]): DataConnectionValues {
58
- return { ...Object.fromEntries(fields.map((field) => [field.key, ""])), [nameKey]: "" };
65
+ return { ...Object.fromEntries(fields.map((field) => [field.key, ""])), [nameKey]: "", [sourceKey]: "" };
59
66
  }
60
67
 
61
68
  export type DataConnectionSetting = { key: string; value: string };
62
69
 
63
70
  export type StoredDataConnection = {
64
71
  name: string;
72
+ sourceName?: string | null;
65
73
  settings: readonly DataConnectionSetting[];
66
74
  candidateSettings?: readonly DataConnectionSetting[] | null;
67
75
  error?: string | null;
@@ -83,6 +91,7 @@ export function storedValues(stored: StoredDataConnection, fields: readonly Conn
83
91
  return {
84
92
  ...Object.fromEntries(fields.map((field) => [field.key, field.secret ? "" : (storedByKey.get(field.key) ?? "")])),
85
93
  [nameKey]: stored.name,
94
+ [sourceKey]: stored.sourceName ?? "",
86
95
  };
87
96
  }
88
97
 
@@ -17,8 +17,8 @@ import { ExecutePlanDialog } from "#components/planning/ExecutePlanDialog";
17
17
  import { isTerminalActionPlanState } from "#components/planning/plan-detail-utils";
18
18
  import { useActionPlanDetail } from "#hooks/useActionPlanDetail";
19
19
  import { useActionPlanExecution } from "#hooks/useActionPlanExecution";
20
- import { useActionPlanDiff } from "#ldo-ui";
21
20
  import { useMantaClient } from "#providers/index";
21
+ import { KnowledgeGraphStateProvider } from "#providers/KnowledgeGraphStateProvider";
22
22
 
23
23
  export type ActionPlanPageProps = {
24
24
  planName: string;
@@ -46,10 +46,6 @@ export function ActionPlanPage(props: ActionPlanPageProps) {
46
46
  const viewRef = useRef<ConnectedPlanDetailViewHandle>(null);
47
47
  const { mantaBaseUrl } = useMantaClient();
48
48
  const { plan, graphDocument, isLoading, error } = useActionPlanDetail(planGraphIri);
49
- const { data: diff = null, isLoading: isDiffLoading } = useActionPlanDiff({
50
- planGraphIri,
51
- enabled: !!planGraphIri,
52
- });
53
49
  const [pageMode, setPageMode] = useState<ActionPlanPageMode>(initialMode);
54
50
  const [executePromptNonce, setExecutePromptNonce] = useState(0);
55
51
  const [isRerunDialogOpen, setIsRerunDialogOpen] = useState(false);
@@ -196,11 +192,11 @@ export function ActionPlanPage(props: ActionPlanPageProps) {
196
192
  {!isLoading && plan && !showPlanningSurface && (
197
193
  <ActioningView
198
194
  planGraphIri={planGraphIri}
199
- diff={diff}
200
- isLoading={isLoading || isDiffLoading}
195
+ isLoading={isLoading}
201
196
  mantaChatBaseUrl={mantaBaseUrl}
202
197
  executionControl={executionControl}
203
198
  executePromptNonce={executePromptNonce}
199
+ showActivityLinks={false}
204
200
  datastoreId={datastoreId}
205
201
  userId={userId}
206
202
  hideRunControls={hideRunControls}
@@ -219,5 +215,10 @@ export function ActionPlanPage(props: ActionPlanPageProps) {
219
215
  </>
220
216
  );
221
217
 
222
- return <>{renderLayout({ header, body })}</>;
218
+ // An exported entry point owns its graph refresh, like EmbeddedChat; hosts may mount it outside one.
219
+ return (
220
+ <KnowledgeGraphStateProvider datastoreId={datastoreId}>
221
+ {renderLayout({ header, body })}
222
+ </KnowledgeGraphStateProvider>
223
+ );
223
224
  }
@@ -152,6 +152,7 @@ export function PlanDetailRouteContent(props: PlanDetailRouteContentProps) {
152
152
  plan.hasCurrentFacts && isTerminalActionPlanState(effectivePlanState) ? handleOpenRerun : undefined;
153
153
  const activeViewMode = viewMode === "visual" && !graphDocument?.size ? "overview" : viewMode;
154
154
  const showExecutionSurface = shouldShowActioningSurface && activeViewMode === "overview";
155
+ const rulesSection = <ActionPlanRulesSection planGraphIri={planGraphIri} LinkComponent={Link} />;
155
156
 
156
157
  return (
157
158
  <div className="flex min-h-0 flex-1 flex-col overflow-y-auto overflow-x-hidden">
@@ -183,13 +184,12 @@ export function PlanDetailRouteContent(props: PlanDetailRouteContentProps) {
183
184
  onExecute={detailExecuteAction}
184
185
  onCancel={detailCancelAction}
185
186
  onRerun={detailRerunAction}
186
- rulesSlot={<ActionPlanRulesSection planGraphIri={planGraphIri} LinkComponent={Link} />}
187
+ rulesSlot={showExecutionSurface ? undefined : rulesSection}
187
188
  onRunClick={(activityIri) => navigate(buildActivityHref(activityIri))}
188
189
  />
189
190
  {showExecutionSurface && (
190
191
  <ActioningView
191
192
  planGraphIri={planGraphIri}
192
- diff={null}
193
193
  isLoading={false}
194
194
  mantaChatBaseUrl={mantaBaseUrl}
195
195
  executionControl={executionControl}
@@ -201,7 +201,7 @@ export function PlanDetailRouteContent(props: PlanDetailRouteContentProps) {
201
201
  planGraphIri={planGraphIri}
202
202
  emptyFallback={
203
203
  isPresent(latestRunIri) ? (
204
- <div className="h-[60vh]">
204
+ <div className="flex max-h-[60vh] flex-col">
205
205
  <ActivityDetail
206
206
  activityIri={latestRunIri}
207
207
  variant="embedded"
@@ -214,6 +214,7 @@ export function PlanDetailRouteContent(props: PlanDetailRouteContentProps) {
214
214
  }
215
215
  />
216
216
  )}
217
+ {showExecutionSurface && <div className="mx-auto w-full max-w-7xl px-8 py-6">{rulesSection}</div>}
217
218
  </div>
218
219
  );
219
220
  }
@@ -1,9 +0,0 @@
1
- import { type ResolvedManualActionStatus } from "./execution-section-model.js";
2
- import type { ExecutionProvenanceActivity } from "#ldo-ui";
3
- type ExecutionActivityRowProps = {
4
- activity: ExecutionProvenanceActivity;
5
- manualActionStatus?: ResolvedManualActionStatus | null;
6
- };
7
- export declare function ExecutionActivityRow(props: ExecutionActivityRowProps): import("react/jsx-runtime").JSX.Element;
8
- export {};
9
- //# sourceMappingURL=ExecutionActivityRow.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ExecutionActivityRow.d.ts","sourceRoot":"","sources":["../../../src/components/planning/ExecutionActivityRow.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAoB,KAAK,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AAC9F,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAC;AAG3D,KAAK,yBAAyB,GAAG;IAC/B,QAAQ,EAAE,2BAA2B,CAAC;IACtC,kBAAkB,CAAC,EAAE,0BAA0B,GAAG,IAAI,CAAC;CACxD,CAAC;AAeF,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,yBAAyB,2CA4BpE"}
@@ -1,53 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { humanDuration } from "@manta-eu/lib/humanize";
3
- import { AlertCircle, Check, ClockFading, Loader2, X } from "lucide-react";
4
- import { useEffect, useState } from "react";
5
- import { match } from "ts-pattern";
6
- import { parseTimestampMs } from "./execution-section-model.js";
7
- import { cn } from "#lib/utils";
8
- function resolveIconState(activity, manualActionStatus) {
9
- if (activity.errorMessage)
10
- return "error";
11
- if (manualActionStatus === "REJECTED")
12
- return "rejected";
13
- if (manualActionStatus === "COMPLETED" || !!activity.endedAtTime)
14
- return "completed";
15
- if (activity.startedAtTime)
16
- return "running";
17
- return "pending";
18
- }
19
- export function ExecutionActivityRow(props) {
20
- const { activity, manualActionStatus = null } = props;
21
- const iconState = resolveIconState(activity, manualActionStatus);
22
- const hasError = iconState === "error";
23
- const isPending = iconState === "pending";
24
- return (_jsxs("div", { className: cn("flex items-center justify-between pl-5 pr-3 py-2", hasError && "bg-error/10"), children: [_jsxs("div", { className: "flex items-center gap-3 min-w-0", children: [match(iconState)
25
- .with("error", () => _jsx(AlertCircle, { className: "size-4 shrink-0 text-error-foreground" }))
26
- .with("rejected", () => _jsx(X, { className: "size-4 shrink-0 text-error-foreground" }))
27
- .with("completed", () => _jsx(Check, { className: "size-4 shrink-0 text-success-foreground" }))
28
- .with("running", () => _jsx(Loader2, { className: "size-4 shrink-0 text-muted-foreground animate-spin" }))
29
- .with("pending", () => _jsx(ClockFading, { className: "size-4 shrink-0 text-muted-foreground/40" }))
30
- .exhaustive(), _jsx("span", { className: cn("text-[12px] font-mono leading-[18px] truncate", hasError ? "text-error-foreground" : isPending ? "text-muted-foreground" : "text-default-foreground"), children: activity.errorMessage ?? activity.entityLabel })] }), _jsx(ActivityElapsed, { activity: activity, hasError: hasError, isPending: isPending })] }));
31
- }
32
- function ActivityElapsed(props) {
33
- const { activity, hasError, isPending } = props;
34
- const isRunning = !!activity.startedAtTime && !activity.endedAtTime;
35
- const [now, setNow] = useState(() => Date.now());
36
- useEffect(() => {
37
- if (!isRunning)
38
- return;
39
- const id = setInterval(() => setNow(Date.now()), 1000);
40
- return () => clearInterval(id);
41
- }, [isRunning]);
42
- if (!activity.startedAtTime) {
43
- return _jsx("span", { className: "text-[12px] font-mono leading-[18px] shrink-0 ml-3 text-muted-foreground", children: "-" });
44
- }
45
- const start = parseTimestampMs(activity.startedAtTime);
46
- if (start === null) {
47
- return _jsx("span", { className: "text-[12px] font-mono leading-[18px] shrink-0 ml-3 text-muted-foreground", children: "-" });
48
- }
49
- const end = parseTimestampMs(activity.endedAtTime) ?? now;
50
- const label = humanDuration({ start, end, largest: 2 }) || "0 seconds";
51
- return (_jsx("span", { className: cn("text-[12px] font-mono leading-[18px] shrink-0 ml-3", hasError ? "text-error-foreground" : isPending ? "text-muted-foreground" : "text-default-foreground"), children: label }));
52
- }
53
- //# sourceMappingURL=ExecutionActivityRow.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ExecutionActivityRow.js","sourceRoot":"","sources":["../../../src/components/planning/ExecutionActivityRow.tsx"],"names":[],"mappings":"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"}
@@ -1,20 +0,0 @@
1
- import type { EntityTypeEntry } from "./ActionPlanDetailView.js";
2
- import { type SectionStatus } from "./execution-section-model.js";
3
- import { type ManualActionTarget } from "./ManualActionCard.js";
4
- import type { ExecutionProvenanceActivity, ManualAction, ManualActionResolution, ManualActionResolving } from "#ldo-ui";
5
- export type ExecutionSectionItemProps = {
6
- entry: EntityTypeEntry;
7
- activities: ExecutionProvenanceActivity[];
8
- status: SectionStatus;
9
- fallbackStartedAtMs?: number | null;
10
- isExpanded: boolean;
11
- onToggle: () => void;
12
- manualActions?: ManualAction[];
13
- manualActionEntities?: Map<string, ManualActionTarget[]>;
14
- onManualActionResolve?: (subjectIri: string, resolution: ManualActionResolution) => void;
15
- resolvingManualAction?: ManualActionResolving;
16
- canResolveManualAction?: boolean;
17
- manualActionDisabledReason?: string;
18
- };
19
- export declare function ExecutionSectionItem(props: ExecutionSectionItemProps): import("react/jsx-runtime").JSX.Element;
20
- //# sourceMappingURL=ExecutionSectionItem.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ExecutionSectionItem.d.ts","sourceRoot":"","sources":["../../../src/components/planning/ExecutionSectionItem.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAoD,KAAK,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAEjH,OAAO,EAAoB,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC/E,OAAO,KAAK,EAAE,2BAA2B,EAAE,YAAY,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAIxH,MAAM,MAAM,yBAAyB,GAAG;IACtC,KAAK,EAAE,eAAe,CAAC;IACvB,UAAU,EAAE,2BAA2B,EAAE,CAAC;IAC1C,MAAM,EAAE,aAAa,CAAC;IACtB,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;IAC/B,oBAAoB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,EAAE,CAAC,CAAC;IACzD,qBAAqB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,sBAAsB,KAAK,IAAI,CAAC;IACzF,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAC9C,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,0BAA0B,CAAC,EAAE,MAAM,CAAC;CACrC,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,yBAAyB,2CAwFpE"}
@@ -1,66 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { humanDuration } from "@manta-eu/lib/humanize";
3
- import { isPresent } from "@manta-eu/lib/present";
4
- import { AlertCircle, Check, ChevronDown, ClockFading, Loader2 } from "lucide-react";
5
- import { isNotNil } from "ramda";
6
- import { useEffect, useState } from "react";
7
- import { match } from "ts-pattern";
8
- import { resolveStepIcon } from "./action-plan-icons.js";
9
- import { findResolvedManualActionStatus, parseTimestampMs } from "./execution-section-model.js";
10
- import { ExecutionActivityRow } from "./ExecutionActivityRow.js";
11
- import { ManualActionCard } from "./ManualActionCard.js";
12
- import { getPendingManualActions, getResolvedManualActions } from "#lib/manual-actions";
13
- import { cn } from "#lib/utils";
14
- export function ExecutionSectionItem(props) {
15
- const { entry, activities, status, fallbackStartedAtMs = null, isExpanded, onToggle, manualActions = [], manualActionEntities, onManualActionResolve, resolvingManualAction, canResolveManualAction, manualActionDisabledReason, } = props;
16
- const pendingManualActions = getPendingManualActions(manualActions);
17
- const resolvedManualActions = getResolvedManualActions(manualActions);
18
- const hasContent = isPresent(activities) || isPresent(pendingManualActions);
19
- return (_jsxs("div", { children: [_jsxs("button", { type: "button", onClick: onToggle, className: "flex w-full items-center gap-3 pl-2 pr-3 py-3 text-left transition-colors hover:bg-muted/30", children: [_jsx("div", { className: "flex shrink-0 items-center p-1.5 rounded-lg", children: _jsx(ChevronDown, { className: cn("size-5 shrink-0 text-muted-foreground transition-transform", !isExpanded && "-rotate-90") }) }), _jsx("div", { className: "flex size-9 shrink-0 items-center justify-center rounded-lg bg-faint", children: resolveStepIcon(entry.typeName, "size-5 text-muted-foreground") }), _jsxs("div", { className: "flex-1 min-w-0 flex flex-col gap-0.5", children: [_jsx("span", { className: cn("typography-small-medium block truncate", status === "pending" ? "text-muted-foreground" : "text-default-foreground"), children: entry.typeName }), entry.description && (_jsx("span", { className: "typography-tiny text-muted-foreground block truncate", children: entry.description }))] }), _jsxs("div", { className: "flex items-center gap-3 shrink-0", children: [_jsx(SectionElapsed, { activities: activities, status: status, estimatedTime: entry.estimatedTime ?? null, fallbackStartedAtMs: fallbackStartedAtMs }), _jsx(SectionStatusIcon, { status: status })] })] }), isExpanded && hasContent && (_jsxs("div", { className: "bg-faint border-t border-default-border py-1.5", children: [activities.map((activity) => (_jsx(ExecutionActivityRow, { activity: activity, manualActionStatus: findResolvedManualActionStatus(activity, resolvedManualActions) }, activity.iri))), pendingManualActions.map((ma) => (_jsx(ManualActionCard, { manualAction: ma, entities: manualActionEntities?.get(ma.subjectIri) ?? [], description: ma.description ?? entry.description ?? undefined, resolving: resolvingManualAction, onResolve: (resolution) => onManualActionResolve?.(ma.subjectIri, resolution), canResolve: canResolveManualAction, disabledReason: manualActionDisabledReason }, ma.subjectIri)))] }))] }));
20
- }
21
- function SectionStatusIcon(props) {
22
- return match(props.status)
23
- .with("completed", () => (_jsx("div", { className: "size-5 flex items-center justify-center rounded-full bg-success", children: _jsx(Check, { className: "size-3 text-success-foreground" }) })))
24
- .with("running", () => _jsx(Loader2, { className: "size-5 text-muted-foreground animate-spin" }))
25
- .with("failed", () => (_jsx("div", { className: "size-5 flex items-center justify-center rounded-full bg-error", children: _jsx(AlertCircle, { className: "size-3 text-error-foreground" }) })))
26
- .with("pending", () => _jsx(ClockFading, { className: "size-5 text-muted-foreground/40" }))
27
- .exhaustive();
28
- }
29
- function SectionElapsed(props) {
30
- const { activities, status, estimatedTime, fallbackStartedAtMs = null } = props;
31
- const isRunning = status === "running";
32
- const [now, setNow] = useState(() => Date.now());
33
- useEffect(() => {
34
- if (!isRunning)
35
- return;
36
- const id = setInterval(() => setNow(Date.now()), 1000);
37
- return () => clearInterval(id);
38
- }, [isRunning]);
39
- const started = activities
40
- .map((a) => a.startedAtTime)
41
- .filter(isNotNil)
42
- .sort();
43
- if (!isPresent(started)) {
44
- if (fallbackStartedAtMs !== null) {
45
- return (_jsx("span", { className: "typography-tiny text-muted-foreground whitespace-nowrap", children: humanDuration({ start: fallbackStartedAtMs, end: now, largest: 2 }) || "0 seconds" }));
46
- }
47
- if (estimatedTime) {
48
- return _jsx("span", { className: "typography-tiny text-muted-foreground/60 whitespace-nowrap", children: estimatedTime });
49
- }
50
- return null;
51
- }
52
- const ended = activities
53
- .map((a) => a.endedAtTime)
54
- .filter(isNotNil)
55
- .sort()
56
- .reverse();
57
- const start = parseTimestampMs(started[0]);
58
- if (start === null)
59
- return null;
60
- const end = isPresent(ended) && !isRunning ? parseTimestampMs(ended[0]) : now;
61
- if (end === null)
62
- return null;
63
- const label = humanDuration({ start, end, largest: 2 }) || "0 seconds";
64
- return _jsx("span", { className: "typography-tiny text-muted-foreground whitespace-nowrap", children: label });
65
- }
66
- //# sourceMappingURL=ExecutionSectionItem.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ExecutionSectionItem.js","sourceRoot":"","sources":["../../../src/components/planning/ExecutionSectionItem.tsx"],"names":[],"mappings":"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"}
@@ -1,16 +0,0 @@
1
- import type { EntityTypeEntry } from "./ActionPlanDetailView.js";
2
- import type { ManualActionTarget } from "./ManualActionCard.js";
3
- import type { ActionPlanExecutionProvenanceResult, ManualAction, ManualActionResolution, ManualActionResolving } from "#ldo-ui";
4
- export type ExecutionSectionsProps = {
5
- entityTypes: EntityTypeEntry[];
6
- provenance: ActionPlanExecutionProvenanceResult | null;
7
- manualActions?: ManualAction[];
8
- manualActionEntities?: Map<string, ManualActionTarget[]>;
9
- activeStartedAtMs?: number | null;
10
- onManualActionResolve?: (subjectIri: string, resolution: ManualActionResolution) => void;
11
- resolvingManualAction?: ManualActionResolving;
12
- canResolveManualAction?: boolean;
13
- manualActionDisabledReason?: string;
14
- };
15
- export declare function ExecutionSections(props: ExecutionSectionsProps): import("react/jsx-runtime").JSX.Element;
16
- //# sourceMappingURL=ExecutionSections.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ExecutionSections.d.ts","sourceRoot":"","sources":["../../../src/components/planning/ExecutionSections.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAI9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,KAAK,EACV,mCAAmC,EACnC,YAAY,EACZ,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,SAAS,CAAC;AAEjB,MAAM,MAAM,sBAAsB,GAAG;IACnC,WAAW,EAAE,eAAe,EAAE,CAAC;IAC/B,UAAU,EAAE,mCAAmC,GAAG,IAAI,CAAC;IACvD,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;IAC/B,oBAAoB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,EAAE,CAAC,CAAC;IACzD,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,qBAAqB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,sBAAsB,KAAK,IAAI,CAAC;IACzF,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAC9C,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,0BAA0B,CAAC,EAAE,MAAM,CAAC;CACrC,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,2CAsE9D"}
@@ -1,32 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { isPresent } from "@manta-eu/lib/present";
3
- import { useEffect, useState } from "react";
4
- import { buildSections, matchesManualActionSection } from "./execution-section-model.js";
5
- import { ExecutionActivityRow } from "./ExecutionActivityRow.js";
6
- import { ExecutionSectionItem } from "./ExecutionSectionItem.js";
7
- export function ExecutionSections(props) {
8
- const { entityTypes, provenance, manualActions = [], manualActionEntities, activeStartedAtMs = null, onManualActionResolve, resolvingManualAction, canResolveManualAction, manualActionDisabledReason, } = props;
9
- const [expandedIndex, setExpandedIndex] = useState(0);
10
- const [lastAutoExpandedRunning, setLastAutoExpandedRunning] = useState(-1);
11
- const activities = provenance?.activities ?? [];
12
- const planFailed = !!provenance?.planErrorMessage;
13
- const sections = buildSections({ entityTypes, activities, provenance, planFailed });
14
- const runningSectionIndex = sections.findIndex((s) => s.status === "running");
15
- useEffect(() => {
16
- if (runningSectionIndex >= 0 && runningSectionIndex !== lastAutoExpandedRunning) {
17
- setLastAutoExpandedRunning(runningSectionIndex);
18
- setExpandedIndex(runningSectionIndex);
19
- }
20
- }, [lastAutoExpandedRunning, runningSectionIndex]);
21
- if (!isPresent(sections) && isPresent(activities)) {
22
- return (_jsx("div", { className: "overflow-hidden rounded-xl border border-default-border bg-card", children: _jsx("div", { className: "bg-faint py-1.5", children: activities.map((activity) => (_jsx(ExecutionActivityRow, { activity: activity }, activity.iri))) }) }));
23
- }
24
- return (_jsx("div", { className: "overflow-hidden rounded-xl border border-default-border bg-card divide-y divide-default-border", children: sections.map((section, index) => {
25
- const activeFallbackApplies = index === 0 && section.status === "pending" && activeStartedAtMs !== null;
26
- const effectiveStatus = activeFallbackApplies ? "running" : section.status;
27
- const fallbackStartedAtMs = activeFallbackApplies ? activeStartedAtMs : null;
28
- const sectionManualActions = manualActions.filter((manualAction) => matchesManualActionSection(manualAction, section.entry, sections.length));
29
- return (_jsx(ExecutionSectionItem, { entry: section.entry, activities: section.activities, status: effectiveStatus, fallbackStartedAtMs: fallbackStartedAtMs, isExpanded: expandedIndex === index, onToggle: () => setExpandedIndex((prev) => (prev === index ? null : index)), manualActions: sectionManualActions, manualActionEntities: manualActionEntities, onManualActionResolve: onManualActionResolve, resolvingManualAction: resolvingManualAction, canResolveManualAction: canResolveManualAction, manualActionDisabledReason: manualActionDisabledReason }, section.key));
30
- }) }));
31
- }
32
- //# sourceMappingURL=ExecutionSections.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ExecutionSections.js","sourceRoot":"","sources":["../../../src/components/planning/ExecutionSections.tsx"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import type { ReactNode } from "react";
2
- export declare function resolveStepIcon(name: string, className: string): ReactNode;
3
- //# sourceMappingURL=action-plan-icons.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"action-plan-icons.d.ts","sourceRoot":"","sources":["../../../src/components/planning/action-plan-icons.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAqBvC,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,CAG1E"}