@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,97 +0,0 @@
1
- import { isPresent } from "@manta-eu/lib/present";
2
- import { useEffect, useState } from "react";
3
- import type { EntityTypeEntry } from "./ActionPlanDetailView";
4
- import { buildSections, matchesManualActionSection } from "./execution-section-model";
5
- import { ExecutionActivityRow } from "./ExecutionActivityRow";
6
- import { ExecutionSectionItem } from "./ExecutionSectionItem";
7
- import type { ManualActionTarget } from "./ManualActionCard";
8
- import type {
9
- ActionPlanExecutionProvenanceResult,
10
- ManualAction,
11
- ManualActionResolution,
12
- ManualActionResolving,
13
- } from "#ldo-ui";
14
-
15
- export type ExecutionSectionsProps = {
16
- entityTypes: EntityTypeEntry[];
17
- provenance: ActionPlanExecutionProvenanceResult | null;
18
- manualActions?: ManualAction[];
19
- manualActionEntities?: Map<string, ManualActionTarget[]>;
20
- activeStartedAtMs?: number | null;
21
- onManualActionResolve?: (subjectIri: string, resolution: ManualActionResolution) => void;
22
- resolvingManualAction?: ManualActionResolving;
23
- canResolveManualAction?: boolean;
24
- manualActionDisabledReason?: string;
25
- };
26
-
27
- export function ExecutionSections(props: ExecutionSectionsProps) {
28
- const {
29
- entityTypes,
30
- provenance,
31
- manualActions = [],
32
- manualActionEntities,
33
- activeStartedAtMs = null,
34
- onManualActionResolve,
35
- resolvingManualAction,
36
- canResolveManualAction,
37
- manualActionDisabledReason,
38
- } = props;
39
- const [expandedIndex, setExpandedIndex] = useState<number | null>(0);
40
- const [lastAutoExpandedRunning, setLastAutoExpandedRunning] = useState(-1);
41
- const activities = provenance?.activities ?? [];
42
- const planFailed = !!provenance?.planErrorMessage;
43
-
44
- const sections = buildSections({ entityTypes, activities, provenance, planFailed });
45
-
46
- const runningSectionIndex = sections.findIndex((s) => s.status === "running");
47
-
48
- useEffect(() => {
49
- if (runningSectionIndex >= 0 && runningSectionIndex !== lastAutoExpandedRunning) {
50
- setLastAutoExpandedRunning(runningSectionIndex);
51
- setExpandedIndex(runningSectionIndex);
52
- }
53
- }, [lastAutoExpandedRunning, runningSectionIndex]);
54
-
55
- if (!isPresent(sections) && isPresent(activities)) {
56
- return (
57
- <div className="overflow-hidden rounded-xl border border-default-border bg-card">
58
- <div className="bg-faint py-1.5">
59
- {activities.map((activity) => (
60
- <ExecutionActivityRow key={activity.iri} activity={activity} />
61
- ))}
62
- </div>
63
- </div>
64
- );
65
- }
66
-
67
- return (
68
- <div className="overflow-hidden rounded-xl border border-default-border bg-card divide-y divide-default-border">
69
- {sections.map((section, index) => {
70
- const activeFallbackApplies = index === 0 && section.status === "pending" && activeStartedAtMs !== null;
71
- const effectiveStatus = activeFallbackApplies ? "running" : section.status;
72
- const fallbackStartedAtMs = activeFallbackApplies ? activeStartedAtMs : null;
73
- const sectionManualActions = manualActions.filter((manualAction) =>
74
- matchesManualActionSection(manualAction, section.entry, sections.length),
75
- );
76
-
77
- return (
78
- <ExecutionSectionItem
79
- key={section.key}
80
- entry={section.entry}
81
- activities={section.activities}
82
- status={effectiveStatus}
83
- fallbackStartedAtMs={fallbackStartedAtMs}
84
- isExpanded={expandedIndex === index}
85
- onToggle={() => setExpandedIndex((prev) => (prev === index ? null : index))}
86
- manualActions={sectionManualActions}
87
- manualActionEntities={manualActionEntities}
88
- onManualActionResolve={onManualActionResolve}
89
- resolvingManualAction={resolvingManualAction}
90
- canResolveManualAction={canResolveManualAction}
91
- manualActionDisabledReason={manualActionDisabledReason}
92
- />
93
- );
94
- })}
95
- </div>
96
- );
97
- }
@@ -1,27 +0,0 @@
1
- import { BarChart2, Bell, CircleDot, DollarSign, Image, Settings, Target, UsersRound, Zap } from "lucide-react";
2
- import type { LucideIcon } from "lucide-react";
3
- import type { ReactNode } from "react";
4
-
5
- const stepIconKeywords: [string[], LucideIcon][] = [
6
- [["campaign", "ad", "advertising", "promote", "advertise", "boost"], Target],
7
- [["audience", "target", "people", "customer", "user", "segment"], UsersRound],
8
- [["remind", "review", "check", "monitor", "follow"], Bell],
9
- [["budget", "spend", "cost", "money", "bid"], DollarSign],
10
- [["creative", "image", "video", "asset", "copy", "content"], Image],
11
- [["launch", "publish", "start", "run", "enable", "activate"], Zap],
12
- [["report", "analys", "track", "metric", "data", "insight"], BarChart2],
13
- [["rule", "logic", "automat", "workflow"], Settings],
14
- ];
15
-
16
- function matchStepIcon(name: string): LucideIcon {
17
- const lower = name.toLowerCase();
18
- for (const [keywords, icon] of stepIconKeywords) {
19
- if (keywords.some((kw) => lower.includes(kw))) return icon;
20
- }
21
- return CircleDot;
22
- }
23
-
24
- export function resolveStepIcon(name: string, className: string): ReactNode {
25
- const Icon = matchStepIcon(name);
26
- return <Icon className={className} />;
27
- }
@@ -1,190 +0,0 @@
1
- import { iriLocalName } from "@manta-eu/client/shared/rdf-namespaces";
2
- import { isPresent } from "@manta-eu/lib/present";
3
- import type { EntityTypeEntry } from "./ActionPlanDetailView";
4
- import type { ActionPlanExecutionProvenanceResult, ExecutionProvenanceActivity, ManualAction } from "#ldo-ui";
5
-
6
- export type SectionStatus = "pending" | "running" | "completed" | "failed";
7
-
8
- export type SectionData = {
9
- key: string;
10
- entry: EntityTypeEntry;
11
- activities: ExecutionProvenanceActivity[];
12
- status: SectionStatus;
13
- };
14
-
15
- export type ResolvedManualActionStatus = Extract<ManualAction["status"], "COMPLETED" | "REJECTED">;
16
-
17
- export type BuildSectionsArgs = {
18
- entityTypes: EntityTypeEntry[];
19
- activities: ExecutionProvenanceActivity[];
20
- provenance: ActionPlanExecutionProvenanceResult | null;
21
- planFailed: boolean;
22
- };
23
-
24
- export function parseTimestampMs(timestamp: string | null | undefined): number | null {
25
- if (!timestamp) return null;
26
- const value = new Date(timestamp).getTime();
27
- return Number.isFinite(value) ? value : null;
28
- }
29
-
30
- export function deriveSectionStatus(
31
- activities: ExecutionProvenanceActivity[],
32
- provenance: ActionPlanExecutionProvenanceResult | null,
33
- planFailed: boolean,
34
- ): SectionStatus {
35
- if (!isPresent(activities)) {
36
- if (planFailed) return "failed";
37
- if (provenance?.planEndedAtTime) return "completed";
38
- return "pending";
39
- }
40
- if (activities.some((a) => a.errorMessage)) return "failed";
41
- if (activities.every((a) => a.endedAtTime)) {
42
- return planFailed ? "failed" : "completed";
43
- }
44
- if (activities.some((a) => a.startedAtTime)) return "running";
45
- return "pending";
46
- }
47
-
48
- function isSectionLabelOrIriMatch(activity: ExecutionProvenanceActivity, typeName: string): boolean {
49
- const entityLabel = activity.entityLabel.toLowerCase();
50
- const activityIri = activity.iri.toLowerCase();
51
- const typeSlug = typeName.replace(/\s+/g, "_");
52
- return entityLabel.includes(typeName) || activityIri.includes(typeSlug) || activityIri.includes(typeName);
53
- }
54
-
55
- function isSectionPauseAliasMatch(activity: ExecutionProvenanceActivity, typeName: string): boolean {
56
- if (!typeName.includes("pause")) return false;
57
- const entityLabel = activity.entityLabel.toLowerCase();
58
- const opType = (activity.operationType ?? "").toLowerCase();
59
- return opType.includes("delete") || opType.includes("pause") || entityLabel.includes("pause");
60
- }
61
-
62
- function isSectionScaleAliasMatch(activity: ExecutionProvenanceActivity, typeName: string): boolean {
63
- if (!typeName.includes("scale")) return false;
64
- const entityLabel = activity.entityLabel.toLowerCase();
65
- const opType = (activity.operationType ?? "").toLowerCase();
66
- return (
67
- opType.includes("addit") ||
68
- opType.includes("scale") ||
69
- opType.includes("budget") ||
70
- entityLabel.includes("scale") ||
71
- entityLabel.includes("budget")
72
- );
73
- }
74
-
75
- function isSectionMonitorAliasMatch(activity: ExecutionProvenanceActivity, typeName: string): boolean {
76
- if (!typeName.includes("monitor")) return false;
77
- const entityLabel = activity.entityLabel.toLowerCase();
78
- const opType = (activity.operationType ?? "").toLowerCase();
79
- return opType.includes("monitor") || entityLabel.includes("monitor") || entityLabel.includes("verif");
80
- }
81
-
82
- function isSectionEntityTypeNameMatch(activity: ExecutionProvenanceActivity, typeName: string): boolean {
83
- if (!activity.entityTypeName) return false;
84
- return typeName.includes(activity.entityTypeName.toLowerCase());
85
- }
86
-
87
- function isSectionRelatedEntitiesMatch(activity: ExecutionProvenanceActivity, entry: EntityTypeEntry): boolean {
88
- const typeName = entry.typeName.toLowerCase();
89
- const entryTypeIri = entry.typeIri.toLowerCase();
90
- for (const entity of activity.entities) {
91
- if (!entity.typeName) continue;
92
- const entityTypeLower = entity.typeName.toLowerCase();
93
- if (typeName.includes(entityTypeLower)) return true;
94
- if (entryTypeIri.includes(entityTypeLower)) return true;
95
- }
96
- return false;
97
- }
98
-
99
- export function matchesSection(activity: ExecutionProvenanceActivity, entry: EntityTypeEntry): boolean {
100
- const typeName = entry.typeName.toLowerCase();
101
- const predicates = [
102
- () => isSectionLabelOrIriMatch(activity, typeName),
103
- () => isSectionPauseAliasMatch(activity, typeName),
104
- () => isSectionScaleAliasMatch(activity, typeName),
105
- () => isSectionMonitorAliasMatch(activity, typeName),
106
- () => isSectionEntityTypeNameMatch(activity, typeName),
107
- () => isSectionRelatedEntitiesMatch(activity, entry),
108
- ];
109
- return predicates.some((p) => p());
110
- }
111
-
112
- export function matchesManualActionSection(
113
- manualAction: ManualAction,
114
- entry: EntityTypeEntry,
115
- sectionCount: number,
116
- ): boolean {
117
- if (sectionCount === 1) return true;
118
-
119
- const entryTypeIri = entry.typeIri.toLowerCase();
120
- const entryTypeName = entry.typeName.toLowerCase();
121
- const manualTypeIri = manualAction.typeIri.toLowerCase();
122
- const manualTypeName = manualAction.typeName.toLowerCase();
123
- const manualSubject = manualAction.subjectLabel?.toLowerCase() ?? manualAction.subjectIri.toLowerCase();
124
-
125
- return (
126
- manualTypeIri === entryTypeIri ||
127
- manualTypeName === entryTypeName ||
128
- entryTypeIri.includes(manualTypeName) ||
129
- manualTypeIri.includes(entryTypeName) ||
130
- manualSubject.includes(entryTypeName)
131
- );
132
- }
133
-
134
- export function matchesManualActionActivity(
135
- manualAction: ManualAction,
136
- activity: ExecutionProvenanceActivity,
137
- ): boolean {
138
- if (activity.entityIri === manualAction.subjectIri) return true;
139
- if (activity.entities.some((entity) => entity.iri === manualAction.subjectIri)) return true;
140
-
141
- const subjectLabel = manualAction.subjectLabel?.toLowerCase();
142
- if (subjectLabel && activity.entityLabel.toLowerCase().includes(subjectLabel)) return true;
143
-
144
- return activity.iri.toLowerCase().includes(iriLocalName(manualAction.subjectIri).toLowerCase());
145
- }
146
-
147
- export function findResolvedManualActionStatus(
148
- activity: ExecutionProvenanceActivity,
149
- manualActions: ManualAction[],
150
- ): ResolvedManualActionStatus | null {
151
- const found = manualActions.find((manualAction) => matchesManualActionActivity(manualAction, activity));
152
- return found?.status === "COMPLETED" || found?.status === "REJECTED" ? found.status : null;
153
- }
154
-
155
- export function buildSections(args: BuildSectionsArgs): SectionData[] {
156
- const { entityTypes, activities, provenance, planFailed } = args;
157
- const matched = new Set<string>();
158
-
159
- const sections: SectionData[] = entityTypes.map((entry) => {
160
- const sectionActivities = activities.filter((a) => {
161
- if (matched.has(a.iri)) return false;
162
- return matchesSection(a, entry);
163
- });
164
- for (const a of sectionActivities) matched.add(a.iri);
165
-
166
- return {
167
- key: entry.typeIri,
168
- entry,
169
- activities: sectionActivities,
170
- status: deriveSectionStatus(sectionActivities, provenance, planFailed),
171
- };
172
- });
173
-
174
- const unmatched = activities.filter((a) => !matched.has(a.iri));
175
- if (isPresent(unmatched)) {
176
- sections.push({
177
- key: "__unmatched",
178
- entry: {
179
- typeIri: "__unmatched",
180
- typeName: "Other actions",
181
- addedCount: 0,
182
- updatedCount: unmatched.length,
183
- },
184
- activities: unmatched,
185
- status: deriveSectionStatus(unmatched, provenance, planFailed),
186
- });
187
- }
188
-
189
- return sections;
190
- }
@@ -1,95 +0,0 @@
1
- import {
2
- useAbortUploadMutation,
3
- useCompleteUploadMutation,
4
- useExecuteAgentActionAdditionMutation,
5
- useInitiateUploadMutation,
6
- } from "@manta-eu/client";
7
- import { namespaces } from "@manta-eu/rdf-lib/namespaces";
8
- import { Upload } from "lucide-react";
9
- import { use, useRef, useState } from "react";
10
- import { toast } from "sonner";
11
- import { Button } from "#components/button/index";
12
- import { buildActionDocument, mintSubjectIri } from "#lib/action-document";
13
- import { uploadFile } from "#lib/upload-client";
14
- import { MantaClientProviderContext } from "#providers/manta-client-context";
15
-
16
- const acceptedFontFiles = ".woff2,.woff,.ttf,.otf";
17
- const attachFontFile = `${namespaces.brand}AttachFontFile`;
18
- const attachFontFileShape = `${namespaces.brand}AttachFontFileShape`;
19
-
20
- function ignoreProgress() {}
21
-
22
- // Graph views sit below the provider barrels, so this reads the client context directly instead of useExecuteAction.
23
- function useAttachFontFile(family: string) {
24
- const clientContext = use(MantaClientProviderContext);
25
- const mantaClient = clientContext?.mantaClient;
26
- if (!mantaClient) throw new Error("BrandFontUploadButton must be used within a MantaClientProvider");
27
- const uploadRelay = clientContext?.uploadRelay;
28
-
29
- const { mutateAsync: initiateUpload } = useInitiateUploadMutation(mantaClient);
30
- const { mutateAsync: completeUpload } = useCompleteUploadMutation(mantaClient);
31
- const { mutateAsync: abortUpload } = useAbortUploadMutation(mantaClient);
32
- const { mutateAsync: startAddition } = useExecuteAgentActionAdditionMutation(mantaClient);
33
-
34
- return async (file: File) => {
35
- const { fileIri } = await uploadFile({
36
- file,
37
- onFileProgress: ignoreProgress,
38
- initiateUpload,
39
- completeUpload,
40
- abortUpload,
41
- ...(uploadRelay ? { relay: uploadRelay } : {}),
42
- });
43
- const subjectIri = mintSubjectIri(attachFontFile);
44
- const properties = buildActionDocument(
45
- { subjectIri, rdfType: attachFontFile },
46
- { [`${namespaces.brand}fontFamily`]: family, [`${namespaces.brand}fontFile`]: { "@id": fileIri } },
47
- );
48
- const { executeActionAddition } = await startAddition({
49
- input: { subjectIri, rdfType: attachFontFile, actionShape: attachFontFileShape, properties },
50
- });
51
- if (!executeActionAddition.success) throw new Error(executeActionAddition.error ?? "The font was not attached");
52
- };
53
- }
54
-
55
- type BrandFontUploadButtonProps = { family: string };
56
-
57
- export function BrandFontUploadButton(props: BrandFontUploadButtonProps) {
58
- const { family } = props;
59
-
60
- const input = useRef<HTMLInputElement>(null);
61
- const [isAttaching, setIsAttaching] = useState(false);
62
- const attach = useAttachFontFile(family);
63
-
64
- async function attachChosen(file: File) {
65
- setIsAttaching(true);
66
- try {
67
- await attach(file);
68
- toast.success(`${file.name} is being attached to ${family}`);
69
- } catch (error) {
70
- toast.error(error instanceof Error ? error.message : `Could not attach ${file.name}`);
71
- } finally {
72
- setIsAttaching(false);
73
- }
74
- }
75
-
76
- return (
77
- <>
78
- <input
79
- ref={input}
80
- type="file"
81
- accept={acceptedFontFiles}
82
- className="hidden"
83
- onChange={(event) => {
84
- const file = event.target.files?.[0];
85
- event.target.value = "";
86
- if (file) void attachChosen(file);
87
- }}
88
- />
89
- <Button variant="secondary" size="sm" disabled={isAttaching} onClick={() => input.current?.click()}>
90
- <Upload size={12} />
91
- Upload font
92
- </Button>
93
- </>
94
- );
95
- }
@@ -1,25 +0,0 @@
1
- import { useState } from "react";
2
- import { Tooltip, TooltipContent, TooltipTrigger } from "#components/tooltip/index";
3
-
4
- type TruncateTooltipProps = { text: string; className: string };
5
-
6
- export function TruncateTooltip(props: TruncateTooltipProps) {
7
- const { text, className } = props;
8
-
9
- const [isTruncated, setIsTruncated] = useState(false);
10
-
11
- return (
12
- <Tooltip>
13
- <TooltipTrigger asChild>
14
- <span
15
- className={className}
16
- onMouseEnter={(event) => setIsTruncated(event.currentTarget.scrollWidth > event.currentTarget.clientWidth)}
17
- >
18
- {text}
19
- </span>
20
- </TooltipTrigger>
21
-
22
- {isTruncated && <TooltipContent>{text}</TooltipContent>}
23
- </Tooltip>
24
- );
25
- }