@eccenca/gui-elements 22.0.0-rc.7 → 22.1.0-rc.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 (378) hide show
  1. package/CHANGELOG.md +36 -4
  2. package/README.md +21 -7
  3. package/dist/cjs/cmem/ActivityControl/ActivityControlWidget.js +23 -15
  4. package/dist/cjs/cmem/ActivityControl/ActivityControlWidget.js.map +1 -1
  5. package/dist/cjs/cmem/ActivityControl/ActivityExecutionErrorReportModal.js +23 -6
  6. package/dist/cjs/cmem/ActivityControl/ActivityExecutionErrorReportModal.js.map +1 -1
  7. package/dist/cjs/cmem/ActivityControl/SilkActivityControl.js +59 -31
  8. package/dist/cjs/cmem/ActivityControl/SilkActivityControl.js.map +1 -1
  9. package/dist/cjs/cmem/ActivityControl/index.js +11 -0
  10. package/dist/cjs/cmem/ActivityControl/index.js.map +1 -0
  11. package/dist/cjs/cmem/ContentBlobToggler/index.js +8 -0
  12. package/dist/cjs/cmem/ContentBlobToggler/index.js.map +1 -0
  13. package/dist/cjs/cmem/index.js +14 -13
  14. package/dist/cjs/cmem/index.js.map +1 -1
  15. package/dist/cjs/cmem/react-flow/ReactFlow/ReactFlow.js +57 -0
  16. package/dist/cjs/cmem/react-flow/ReactFlow/ReactFlow.js.map +1 -0
  17. package/dist/cjs/cmem/react-flow/configuration/_colors-graph.module.scss +35 -0
  18. package/dist/cjs/cmem/react-flow/configuration/_colors-linking.module.scss +29 -0
  19. package/dist/cjs/cmem/react-flow/configuration/_colors-workflow.module.scss +22 -0
  20. package/dist/cjs/cmem/react-flow/configuration/graph.js +31 -0
  21. package/dist/cjs/cmem/react-flow/configuration/graph.js.map +1 -0
  22. package/dist/cjs/cmem/react-flow/configuration/linking.js +29 -0
  23. package/dist/cjs/cmem/react-flow/configuration/linking.js.map +1 -0
  24. package/dist/cjs/cmem/react-flow/configuration/unspecified.js +15 -0
  25. package/dist/cjs/cmem/react-flow/configuration/unspecified.js.map +1 -0
  26. package/dist/cjs/cmem/react-flow/configuration/workflow.js +27 -0
  27. package/dist/cjs/cmem/react-flow/configuration/workflow.js.map +1 -0
  28. package/dist/cjs/common/utils/stringUtils.js +7 -0
  29. package/dist/cjs/common/utils/stringUtils.js.map +1 -0
  30. package/dist/cjs/components/Application/ApplicationContent.js +1 -7
  31. package/dist/cjs/components/Application/ApplicationContent.js.map +1 -1
  32. package/dist/cjs/components/Application/ApplicationTitle.js +1 -7
  33. package/dist/cjs/components/Application/ApplicationTitle.js.map +1 -1
  34. package/dist/cjs/components/AutoSuggestion/AutoSuggestion.js +284 -0
  35. package/dist/cjs/components/AutoSuggestion/AutoSuggestion.js.map +1 -0
  36. package/dist/cjs/components/AutoSuggestion/AutoSuggestionList.js +81 -0
  37. package/dist/cjs/components/AutoSuggestion/AutoSuggestionList.js.map +1 -0
  38. package/dist/cjs/components/AutoSuggestion/SingleLineCodeEditor.js +46 -0
  39. package/dist/cjs/components/AutoSuggestion/SingleLineCodeEditor.js.map +1 -0
  40. package/dist/cjs/components/AutocompleteField/AutoCompleteField.js +12 -15
  41. package/dist/cjs/components/AutocompleteField/AutoCompleteField.js.map +1 -1
  42. package/dist/cjs/components/Breadcrumb/BreadcrumbItem.js +1 -1
  43. package/dist/cjs/components/Button/Button.js +1 -1
  44. package/dist/cjs/components/Button/Button.js.map +1 -1
  45. package/dist/cjs/components/Card/Card.js +18 -3
  46. package/dist/cjs/components/Card/Card.js.map +1 -1
  47. package/dist/cjs/components/ContextOverlay/ContextMenu.js +1 -1
  48. package/dist/cjs/components/ContextOverlay/ContextMenu.js.map +1 -1
  49. package/dist/cjs/components/Dialog/Modal.js +2 -2
  50. package/dist/cjs/components/Dialog/Modal.js.map +1 -1
  51. package/dist/cjs/components/Dialog/SimpleDialog.js.map +1 -1
  52. package/dist/cjs/components/Form/FieldItemRow.js +2 -3
  53. package/dist/cjs/components/Form/FieldItemRow.js.map +1 -1
  54. package/dist/cjs/components/Icon/Icon.js.map +1 -1
  55. package/dist/cjs/components/Icon/canonicalIconNames.js +30 -0
  56. package/dist/cjs/components/Icon/canonicalIconNames.js.map +1 -1
  57. package/dist/cjs/components/MultiSelect/MultiSelect.js +212 -0
  58. package/dist/cjs/components/MultiSelect/MultiSelect.js.map +1 -0
  59. package/dist/cjs/components/Notification/Notification.js +8 -2
  60. package/dist/cjs/components/Notification/Notification.js.map +1 -1
  61. package/dist/cjs/components/OverviewItem/OverviewItemList.js +1 -1
  62. package/dist/cjs/components/OverviewItem/OverviewItemList.js.map +1 -1
  63. package/dist/cjs/components/Spinner/Spinner.js +1 -1
  64. package/dist/cjs/components/Spinner/Spinner.js.map +1 -1
  65. package/dist/cjs/components/Tabs/Tab.js +94 -0
  66. package/dist/cjs/components/Tabs/Tab.js.map +1 -0
  67. package/dist/cjs/components/Tabs/TabTitle.js +20 -0
  68. package/dist/cjs/components/Tabs/TabTitle.js.map +1 -0
  69. package/dist/cjs/components/Tabs/Tabs.js +26 -19
  70. package/dist/cjs/components/Tabs/Tabs.js.map +1 -1
  71. package/dist/cjs/components/Tag/Tag.js +7 -1
  72. package/dist/cjs/components/Tag/Tag.js.map +1 -1
  73. package/dist/cjs/components/Typography/HtmlContentBlock.js +6 -6
  74. package/dist/cjs/components/Typography/HtmlContentBlock.js.map +1 -1
  75. package/dist/cjs/components/Typography/classnames.js +2 -1
  76. package/dist/cjs/components/Typography/classnames.js.map +1 -1
  77. package/dist/cjs/extensions/react-flow/edges/EdgeDefault.js.map +1 -1
  78. package/dist/cjs/extensions/react-flow/edges/getSmoothStepPath.js +98 -0
  79. package/dist/cjs/extensions/react-flow/edges/getSmoothStepPath.js.map +1 -0
  80. package/dist/cjs/extensions/react-flow/edges/utils.js +97 -4
  81. package/dist/cjs/extensions/react-flow/edges/utils.js.map +1 -1
  82. package/dist/cjs/extensions/react-flow/index.js +5 -1
  83. package/dist/cjs/extensions/react-flow/index.js.map +1 -1
  84. package/dist/cjs/extensions/react-flow/minimap/utils.js +2 -2
  85. package/dist/cjs/extensions/react-flow/nodes/NodeContent.js +141 -0
  86. package/dist/cjs/extensions/react-flow/nodes/NodeContent.js.map +1 -0
  87. package/dist/cjs/extensions/react-flow/nodes/NodeContentExtension.js +41 -0
  88. package/dist/cjs/extensions/react-flow/nodes/NodeContentExtension.js.map +1 -0
  89. package/dist/cjs/extensions/react-flow/nodes/NodeDefault.js +3 -130
  90. package/dist/cjs/extensions/react-flow/nodes/NodeDefault.js.map +1 -1
  91. package/dist/cjs/extensions/react-flow/nodes/NodeTools.js +11 -9
  92. package/dist/cjs/extensions/react-flow/nodes/NodeTools.js.map +1 -1
  93. package/dist/cjs/index.js +17 -2
  94. package/dist/cjs/index.js.map +1 -1
  95. package/dist/cjs/legacy-replacements/Button/AffirmativeButton.js +25 -0
  96. package/dist/cjs/legacy-replacements/Button/AffirmativeButton.js.map +1 -0
  97. package/dist/cjs/legacy-replacements/Button/Button.js +61 -0
  98. package/dist/cjs/legacy-replacements/Button/Button.js.map +1 -0
  99. package/dist/cjs/legacy-replacements/Button/DismissiveButton.js +25 -0
  100. package/dist/cjs/legacy-replacements/Button/DismissiveButton.js.map +1 -0
  101. package/dist/cjs/legacy-replacements/Button/DisruptiveButton.js +25 -0
  102. package/dist/cjs/legacy-replacements/Button/DisruptiveButton.js.map +1 -0
  103. package/dist/cjs/legacy-replacements/Checkbox/Checkbox.js +55 -0
  104. package/dist/cjs/legacy-replacements/Checkbox/Checkbox.js.map +1 -0
  105. package/dist/cjs/legacy-replacements/Radio/RadioButton.js +48 -0
  106. package/dist/cjs/legacy-replacements/Radio/RadioButton.js.map +1 -0
  107. package/dist/cjs/legacy-replacements/Tabs/Tabs.js +36 -0
  108. package/dist/cjs/legacy-replacements/Tabs/Tabs.js.map +1 -0
  109. package/dist/cjs/legacy-replacements/TextField/TextField.js +75 -0
  110. package/dist/cjs/legacy-replacements/TextField/TextField.js.map +1 -0
  111. package/dist/cjs/legacy-replacements/index.js +22 -0
  112. package/dist/cjs/legacy-replacements/index.js.map +1 -0
  113. package/dist/es5/cmem/ActivityControl/ActivityControlWidget.js +23 -15
  114. package/dist/es5/cmem/ActivityControl/ActivityControlWidget.js.map +1 -1
  115. package/dist/es5/cmem/ActivityControl/ActivityExecutionErrorReportModal.js +21 -4
  116. package/dist/es5/cmem/ActivityControl/ActivityExecutionErrorReportModal.js.map +1 -1
  117. package/dist/es5/cmem/ActivityControl/SilkActivityControl.js +57 -31
  118. package/dist/es5/cmem/ActivityControl/SilkActivityControl.js.map +1 -1
  119. package/dist/es5/cmem/ActivityControl/index.js +4 -0
  120. package/dist/es5/cmem/ActivityControl/index.js.map +1 -0
  121. package/dist/es5/cmem/ContentBlobToggler/index.js +3 -0
  122. package/dist/es5/cmem/ContentBlobToggler/index.js.map +1 -0
  123. package/dist/es5/cmem/index.js +6 -8
  124. package/dist/es5/cmem/index.js.map +1 -1
  125. package/dist/es5/cmem/react-flow/ReactFlow/ReactFlow.js +43 -0
  126. package/dist/es5/cmem/react-flow/ReactFlow/ReactFlow.js.map +1 -0
  127. package/dist/es5/cmem/react-flow/configuration/_colors-graph.module.scss +35 -0
  128. package/dist/es5/cmem/react-flow/configuration/_colors-linking.module.scss +29 -0
  129. package/dist/es5/cmem/react-flow/configuration/_colors-workflow.module.scss +22 -0
  130. package/dist/es5/cmem/react-flow/configuration/graph.js +23 -0
  131. package/dist/es5/cmem/react-flow/configuration/graph.js.map +1 -0
  132. package/dist/es5/cmem/react-flow/configuration/linking.js +21 -0
  133. package/dist/es5/cmem/react-flow/configuration/linking.js.map +1 -0
  134. package/dist/es5/cmem/react-flow/configuration/unspecified.js +12 -0
  135. package/dist/es5/cmem/react-flow/configuration/unspecified.js.map +1 -0
  136. package/dist/es5/cmem/react-flow/configuration/workflow.js +19 -0
  137. package/dist/es5/cmem/react-flow/configuration/workflow.js.map +1 -0
  138. package/dist/es5/common/utils/stringUtils.js +3 -0
  139. package/dist/es5/common/utils/stringUtils.js.map +1 -0
  140. package/dist/es5/components/Application/ApplicationContent.js +1 -7
  141. package/dist/es5/components/Application/ApplicationContent.js.map +1 -1
  142. package/dist/es5/components/Application/ApplicationTitle.js +1 -7
  143. package/dist/es5/components/Application/ApplicationTitle.js.map +1 -1
  144. package/dist/es5/components/AutoSuggestion/AutoSuggestion.js +346 -0
  145. package/dist/es5/components/AutoSuggestion/AutoSuggestion.js.map +1 -0
  146. package/dist/es5/components/AutoSuggestion/AutoSuggestionList.js +93 -0
  147. package/dist/es5/components/AutoSuggestion/AutoSuggestionList.js.map +1 -0
  148. package/dist/es5/components/AutoSuggestion/SingleLineCodeEditor.js +42 -0
  149. package/dist/es5/components/AutoSuggestion/SingleLineCodeEditor.js.map +1 -0
  150. package/dist/es5/components/AutocompleteField/AutoCompleteField.js +12 -15
  151. package/dist/es5/components/AutocompleteField/AutoCompleteField.js.map +1 -1
  152. package/dist/es5/components/Breadcrumb/BreadcrumbItem.js +1 -1
  153. package/dist/es5/components/Button/Button.js +1 -1
  154. package/dist/es5/components/Button/Button.js.map +1 -1
  155. package/dist/es5/components/Card/Card.js +18 -3
  156. package/dist/es5/components/Card/Card.js.map +1 -1
  157. package/dist/es5/components/ContextOverlay/ContextMenu.js +1 -1
  158. package/dist/es5/components/ContextOverlay/ContextMenu.js.map +1 -1
  159. package/dist/es5/components/Dialog/Modal.js +2 -2
  160. package/dist/es5/components/Dialog/Modal.js.map +1 -1
  161. package/dist/es5/components/Dialog/SimpleDialog.js.map +1 -1
  162. package/dist/es5/components/Form/FieldItemRow.js +2 -3
  163. package/dist/es5/components/Form/FieldItemRow.js.map +1 -1
  164. package/dist/es5/components/Icon/Icon.js.map +1 -1
  165. package/dist/es5/components/Icon/canonicalIconNames.js +30 -0
  166. package/dist/es5/components/Icon/canonicalIconNames.js.map +1 -1
  167. package/dist/es5/components/MultiSelect/MultiSelect.js +290 -0
  168. package/dist/es5/components/MultiSelect/MultiSelect.js.map +1 -0
  169. package/dist/es5/components/Notification/Notification.js +10 -3
  170. package/dist/es5/components/Notification/Notification.js.map +1 -1
  171. package/dist/es5/components/OverviewItem/OverviewItemList.js +1 -1
  172. package/dist/es5/components/OverviewItem/OverviewItemList.js.map +1 -1
  173. package/dist/es5/components/Spinner/Spinner.js +2 -2
  174. package/dist/es5/components/Spinner/Spinner.js.map +1 -1
  175. package/dist/es5/components/Tabs/Tab.js +97 -0
  176. package/dist/es5/components/Tabs/Tab.js.map +1 -0
  177. package/dist/es5/components/Tabs/TabTitle.js +16 -0
  178. package/dist/es5/components/Tabs/TabTitle.js.map +1 -0
  179. package/dist/es5/components/Tabs/Tabs.js +8 -21
  180. package/dist/es5/components/Tabs/Tabs.js.map +1 -1
  181. package/dist/es5/components/Tag/Tag.js +7 -1
  182. package/dist/es5/components/Tag/Tag.js.map +1 -1
  183. package/dist/es5/components/Typography/HtmlContentBlock.js +17 -8
  184. package/dist/es5/components/Typography/HtmlContentBlock.js.map +1 -1
  185. package/dist/es5/components/Typography/classnames.js +1 -0
  186. package/dist/es5/components/Typography/classnames.js.map +1 -1
  187. package/dist/es5/extensions/react-flow/edges/EdgeDefault.js.map +1 -1
  188. package/dist/es5/extensions/react-flow/edges/getSmoothStepPath.js +119 -0
  189. package/dist/es5/extensions/react-flow/edges/getSmoothStepPath.js.map +1 -0
  190. package/dist/es5/extensions/react-flow/edges/utils.js +100 -5
  191. package/dist/es5/extensions/react-flow/edges/utils.js.map +1 -1
  192. package/dist/es5/extensions/react-flow/index.js +2 -0
  193. package/dist/es5/extensions/react-flow/index.js.map +1 -1
  194. package/dist/es5/extensions/react-flow/minimap/utils.js +1 -1
  195. package/dist/es5/extensions/react-flow/nodes/NodeContent.js +162 -0
  196. package/dist/es5/extensions/react-flow/nodes/NodeContent.js.map +1 -0
  197. package/dist/es5/extensions/react-flow/nodes/NodeContentExtension.js +45 -0
  198. package/dist/es5/extensions/react-flow/nodes/NodeContentExtension.js.map +1 -0
  199. package/dist/es5/extensions/react-flow/nodes/NodeDefault.js +2 -129
  200. package/dist/es5/extensions/react-flow/nodes/NodeDefault.js.map +1 -1
  201. package/dist/es5/extensions/react-flow/nodes/NodeTools.js +12 -10
  202. package/dist/es5/extensions/react-flow/nodes/NodeTools.js.map +1 -1
  203. package/dist/es5/index.js +9 -4
  204. package/dist/es5/index.js.map +1 -1
  205. package/dist/es5/legacy-replacements/Button/AffirmativeButton.js +29 -0
  206. package/dist/es5/legacy-replacements/Button/AffirmativeButton.js.map +1 -0
  207. package/dist/es5/legacy-replacements/Button/Button.js +65 -0
  208. package/dist/es5/legacy-replacements/Button/Button.js.map +1 -0
  209. package/dist/es5/legacy-replacements/Button/DismissiveButton.js +29 -0
  210. package/dist/es5/legacy-replacements/Button/DismissiveButton.js.map +1 -0
  211. package/dist/es5/legacy-replacements/Button/DisruptiveButton.js +29 -0
  212. package/dist/es5/legacy-replacements/Button/DisruptiveButton.js.map +1 -0
  213. package/dist/es5/legacy-replacements/Checkbox/Checkbox.js +59 -0
  214. package/dist/es5/legacy-replacements/Checkbox/Checkbox.js.map +1 -0
  215. package/dist/es5/legacy-replacements/Radio/RadioButton.js +52 -0
  216. package/dist/es5/legacy-replacements/Radio/RadioButton.js.map +1 -0
  217. package/dist/es5/legacy-replacements/Tabs/Tabs.js +40 -0
  218. package/dist/es5/legacy-replacements/Tabs/Tabs.js.map +1 -0
  219. package/dist/es5/legacy-replacements/TextField/TextField.js +81 -0
  220. package/dist/es5/legacy-replacements/TextField/TextField.js.map +1 -0
  221. package/dist/es5/legacy-replacements/index.js +10 -0
  222. package/dist/es5/legacy-replacements/index.js.map +1 -0
  223. package/dist/types/cmem/ActivityControl/ActivityControlTypes.d.ts +2 -1
  224. package/dist/types/cmem/ActivityControl/ActivityControlWidget.d.ts +48 -2
  225. package/dist/types/cmem/ActivityControl/SilkActivityControl.d.ts +18 -3
  226. package/dist/types/cmem/ActivityControl/index.d.ts +3 -0
  227. package/dist/types/cmem/ContentBlobToggler/index.d.ts +2 -0
  228. package/dist/types/cmem/index.d.ts +8 -8
  229. package/dist/types/cmem/react-flow/ReactFlow/ReactFlow.d.ts +14 -0
  230. package/dist/types/cmem/react-flow/configuration/graph.d.ts +21 -0
  231. package/dist/types/cmem/react-flow/configuration/linking.d.ts +19 -0
  232. package/dist/types/cmem/react-flow/configuration/unspecified.d.ts +9 -0
  233. package/dist/types/cmem/react-flow/configuration/workflow.d.ts +17 -0
  234. package/dist/types/common/utils/stringUtils.d.ts +2 -0
  235. package/dist/types/components/AutoSuggestion/AutoSuggestion.d.ts +67 -0
  236. package/dist/types/components/AutoSuggestion/AutoSuggestionList.d.ts +13 -0
  237. package/dist/types/components/AutoSuggestion/SingleLineCodeEditor.d.ts +25 -0
  238. package/dist/types/components/AutocompleteField/AutoCompleteField.d.ts +8 -7
  239. package/dist/types/components/Button/Button.d.ts +3 -2
  240. package/dist/types/components/Card/Card.d.ts +9 -4
  241. package/dist/types/components/ContextOverlay/ContextMenu.d.ts +6 -1
  242. package/dist/types/components/Dialog/Modal.d.ts +4 -3
  243. package/dist/types/components/Dialog/SimpleDialog.d.ts +2 -0
  244. package/dist/types/components/Form/FieldItemRow.d.ts +1 -0
  245. package/dist/types/components/Icon/Icon.d.ts +2 -2
  246. package/dist/types/components/Icon/IconButton.d.ts +1 -1
  247. package/dist/types/components/Icon/canonicalIconNames.d.ts +1 -1
  248. package/dist/types/components/MultiSelect/MultiSelect.d.ts +86 -0
  249. package/dist/types/components/Notification/Notification.d.ts +55 -2
  250. package/dist/types/components/OverviewItem/OverviewItemList.d.ts +1 -1
  251. package/dist/types/components/Spinner/Spinner.d.ts +1 -1
  252. package/dist/types/components/Tabs/Tab.d.ts +549 -0
  253. package/dist/types/components/Tabs/TabTitle.d.ts +38 -0
  254. package/dist/types/components/Tabs/Tabs.d.ts +14 -20
  255. package/dist/types/components/Tag/Tag.d.ts +1 -1
  256. package/dist/types/components/Typography/HtmlContentBlock.d.ts +15 -5
  257. package/dist/types/components/Typography/classnames.d.ts +1 -0
  258. package/dist/types/extensions/react-flow/edges/getSmoothStepPath.d.ts +18 -0
  259. package/dist/types/extensions/react-flow/edges/utils.d.ts +1 -1
  260. package/dist/types/extensions/react-flow/index.d.ts +4 -0
  261. package/dist/types/extensions/react-flow/nodes/NodeContent.d.ts +127 -0
  262. package/dist/types/extensions/react-flow/nodes/NodeContentExtension.d.ts +34 -0
  263. package/dist/types/extensions/react-flow/nodes/NodeDefault.d.ts +4 -121
  264. package/dist/types/extensions/react-flow/nodes/NodeTools.d.ts +9 -2
  265. package/dist/types/extensions/react-flow/nodes/nodeTypes.d.ts +10 -10
  266. package/dist/types/index.d.ts +9 -4
  267. package/dist/types/legacy-replacements/Button/AffirmativeButton.d.ts +2 -0
  268. package/dist/types/legacy-replacements/Button/Button.d.ts +5 -0
  269. package/dist/types/legacy-replacements/Button/DismissiveButton.d.ts +2 -0
  270. package/dist/types/legacy-replacements/Button/DisruptiveButton.d.ts +2 -0
  271. package/dist/types/legacy-replacements/Checkbox/Checkbox.d.ts +2 -0
  272. package/dist/types/legacy-replacements/Radio/RadioButton.d.ts +2 -0
  273. package/dist/types/legacy-replacements/Tabs/Tabs.d.ts +22 -0
  274. package/dist/types/legacy-replacements/TextField/TextField.d.ts +2 -0
  275. package/dist/types/legacy-replacements/index.d.ts +10 -0
  276. package/package.json +48 -20
  277. package/src/cmem/ActivityControl/ActivityControlTypes.ts +3 -1
  278. package/src/cmem/ActivityControl/ActivityControlWidget.stories.tsx +98 -0
  279. package/src/cmem/ActivityControl/ActivityControlWidget.tsx +144 -89
  280. package/src/cmem/ActivityControl/ActivityExecutionErrorReportModal.tsx +11 -3
  281. package/src/cmem/ActivityControl/SilkActivityControl.tsx +182 -120
  282. package/src/cmem/ActivityControl/index.ts +3 -0
  283. package/src/cmem/ContentBlobToggler/index.ts +2 -0
  284. package/src/cmem/_index.scss +6 -0
  285. package/src/cmem/index.ts +10 -23
  286. package/src/cmem/react-flow/ReactFlow/ReactFlow.stories.tsx +222 -0
  287. package/src/cmem/react-flow/ReactFlow/ReactFlow.tsx +40 -0
  288. package/src/cmem/react-flow/_edges.scss +23 -0
  289. package/src/cmem/react-flow/_handles.scss +34 -0
  290. package/src/cmem/react-flow/_index.scss +5 -0
  291. package/src/cmem/react-flow/_minimap.scss +33 -0
  292. package/src/cmem/react-flow/_nodes.scss +66 -0
  293. package/src/cmem/react-flow/configuration/_colors-graph.module.scss +35 -0
  294. package/src/cmem/react-flow/configuration/_colors-linking.module.scss +29 -0
  295. package/src/cmem/react-flow/configuration/_colors-workflow.module.scss +22 -0
  296. package/src/cmem/react-flow/configuration/_colors.scss +3 -0
  297. package/src/cmem/react-flow/configuration/graph.ts +29 -0
  298. package/src/cmem/react-flow/configuration/linking.ts +28 -0
  299. package/src/cmem/react-flow/configuration/unspecified.ts +13 -0
  300. package/src/cmem/react-flow/configuration/workflow.ts +25 -0
  301. package/src/common/utils/stringUtils.ts +2 -0
  302. package/src/components/Application/ApplicationContent.tsx +0 -5
  303. package/src/components/Application/ApplicationTitle.tsx +0 -5
  304. package/src/components/AutoSuggestion/AutoSuggestion.scss +100 -0
  305. package/src/components/AutoSuggestion/AutoSuggestion.tsx +446 -0
  306. package/src/components/AutoSuggestion/AutoSuggestionList.tsx +170 -0
  307. package/src/components/AutoSuggestion/SingleLineCodeEditor.tsx +97 -0
  308. package/src/components/AutoSuggestion/tests/AutoSuggestion.test.tsx +37 -0
  309. package/src/components/AutoSuggestion/tests/AutoSuggestionList.test.tsx +124 -0
  310. package/src/components/AutoSuggestion/tests/SingleLineCodeEditor.test.tsx +55 -0
  311. package/src/components/AutocompleteField/AutoCompleteField.tsx +24 -23
  312. package/src/components/AutocompleteField/autoCompleteFieldUtils.tsx +2 -1
  313. package/src/components/Breadcrumb/BreadcrumbItem.tsx +5 -5
  314. package/src/components/Breadcrumb/BreadcrumbList.tsx +1 -1
  315. package/src/components/Button/Button.stories.tsx +1 -1
  316. package/src/components/Button/Button.tsx +4 -3
  317. package/src/components/Card/Card.tsx +23 -4
  318. package/src/components/Card/card.scss +4 -0
  319. package/src/components/Checkbox/checkbox.scss +4 -0
  320. package/src/components/ContextOverlay/ContextMenu.tsx +8 -2
  321. package/src/components/Dialog/Modal.tsx +9 -2
  322. package/src/components/Dialog/SimpleDialog.tsx +2 -0
  323. package/src/components/Form/FieldItem.tsx +3 -3
  324. package/src/components/Form/FieldItemRow.tsx +2 -4
  325. package/src/components/Icon/Icon.tsx +4 -4
  326. package/src/components/Icon/IconButton.tsx +3 -3
  327. package/src/components/Icon/canonicalIconNames.tsx +39 -2
  328. package/src/components/Menu/MenuItem.tsx +1 -1
  329. package/src/components/MultiSelect/MultiSelect.stories.tsx +71 -0
  330. package/src/components/MultiSelect/MultiSelect.tsx +373 -0
  331. package/src/components/Notification/Notification.stories.tsx +82 -0
  332. package/src/components/Notification/Notification.tsx +62 -4
  333. package/src/components/Notification/notification.scss +2 -1
  334. package/src/components/OverviewItem/OverviewItemList.tsx +2 -2
  335. package/src/components/RadioButton/radiobutton.scss +4 -0
  336. package/src/components/Spinner/Spinner.tsx +1 -1
  337. package/src/components/Switch/switch.scss +1 -0
  338. package/src/components/Tabs/Tab.tsx +111 -0
  339. package/src/components/Tabs/TabTitle.tsx +71 -0
  340. package/src/components/Tabs/Tabs.tsx +22 -90
  341. package/src/components/Tabs/stories/Tab.stories.tsx +65 -0
  342. package/src/components/Tabs/stories/TabTitle.stories.tsx +35 -0
  343. package/src/components/Tabs/stories/Tabs.stories.tsx +98 -0
  344. package/src/components/Tabs/tabs.scss +11 -4
  345. package/src/components/Tag/Tag.tsx +10 -3
  346. package/src/components/Tag/tag.scss +2 -2
  347. package/src/components/TextField/TextField.tsx +1 -1
  348. package/src/components/Toolbar/toolbar.scss +1 -1
  349. package/src/components/Typography/HtmlContentBlock.tsx +27 -4
  350. package/src/components/Typography/classnames.ts +1 -0
  351. package/src/components/Typography/typography.scss +8 -0
  352. package/src/configuration/_variables.scss +3 -3
  353. package/src/extensions/react-flow/_config.scss +2 -2
  354. package/src/extensions/react-flow/_react-flow.scss +4 -0
  355. package/src/extensions/react-flow/edges/EdgeDefault.tsx +0 -1
  356. package/src/extensions/react-flow/edges/_edges.scss +3 -28
  357. package/src/extensions/react-flow/edges/getSmoothStepPath.ts +118 -0
  358. package/src/extensions/react-flow/edges/utils.ts +131 -4
  359. package/src/extensions/react-flow/handles/_handles.scss +4 -58
  360. package/src/extensions/react-flow/index.ts +4 -0
  361. package/src/extensions/react-flow/minimap/_minimap.scss +0 -45
  362. package/src/extensions/react-flow/minimap/utils.ts +1 -1
  363. package/src/extensions/react-flow/nodes/NodeContent.tsx +336 -0
  364. package/src/extensions/react-flow/nodes/NodeContentExtension.tsx +17 -10
  365. package/src/extensions/react-flow/nodes/NodeDefault.tsx +4 -326
  366. package/src/extensions/react-flow/nodes/NodeTools.tsx +27 -10
  367. package/src/extensions/react-flow/nodes/_nodes.scss +61 -196
  368. package/src/extensions/react-flow/nodes/{NodeContent.stories.tsx → stories/NodeContent.stories.tsx} +14 -5
  369. package/src/extensions/react-flow/nodes/stories/NodeContentExtension.stories.tsx +59 -0
  370. package/src/extensions/react-flow/nodes/{NodeDefault.stories.tsx → stories/NodeDefault.stories.tsx} +5 -3
  371. package/src/index.scss +1 -0
  372. package/src/index.ts +19 -4
  373. package/src/legacy-replacements/Tabs/Tabs.stories.tsx +46 -0
  374. package/src/legacy-replacements/Tabs/Tabs.tsx +84 -0
  375. package/src/legacy-replacements/index.ts +11 -0
  376. package/src/test/setupTests.js +19 -0
  377. package/src/components/Icon/canonicalIconNames.json +0 -120
  378. package/src/extensions/react-flow/nodes/NodeContentExtension.stories.tsx +0 -36
package/package.json CHANGED
@@ -1,15 +1,17 @@
1
1
  {
2
2
  "name": "@eccenca/gui-elements",
3
3
  "description": "GUI elements based on other libraries, usable in React application, written in Typescript.",
4
- "version": "22.0.0-rc.7",
4
+ "version": "22.1.0-rc.1",
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://github.com/eccenca/gui-elements",
7
+ "bugs": "https://github.com/eccenca/gui-elements/issues",
7
8
  "keywords": [
8
9
  "GUI",
9
10
  "React",
10
- "Blueprint JS",
11
- "Carbon Components",
12
- "Typescript"
11
+ "Blueprint",
12
+ "Carbon Design System",
13
+ "Typescript",
14
+ "SCSS"
13
15
  ],
14
16
  "maintainers": [
15
17
  {
@@ -18,15 +20,16 @@
18
20
  "web": "https://eccence.com/"
19
21
  }
20
22
  ],
21
- "repositories": [
22
- {
23
- "type": "git",
24
- "url": "git://github.com/eccenca/gui-elements.git"
25
- }
26
- ],
23
+ "repository": {
24
+ "type": "git",
25
+ "url": "git://github.com/eccenca/gui-elements.git"
26
+ },
27
27
  "publishConfig": {
28
28
  "registry": "https://registry.npmjs.org"
29
29
  },
30
+ "engines": {
31
+ "node": ">=14.x"
32
+ },
30
33
  "style": "src/index.scss",
31
34
  "main": "dist/cjs/index.js",
32
35
  "module": "dist/es5/index.js",
@@ -42,7 +45,7 @@
42
45
  "src"
43
46
  ],
44
47
  "scripts": {
45
- "build:clean": "rm -rf dist/",
48
+ "build:clean": "rimraf dist/",
46
49
  "build:es5": "tsc --build .typescript/tsbuild-es5.json && ./scripts/fix-es5-dist",
47
50
  "build:cjs": "tsc --build .typescript/tsbuild-cjs.json && ./scripts/fix-cjs-dist",
48
51
  "build:all": "yarn build:clean && yarn build:es5 && yarn build:cjs",
@@ -53,23 +56,26 @@
53
56
  "test": "jest",
54
57
  "test:ci": "jest --ci --reporters='default'",
55
58
  "test:coverage": "jest --collectCoverage",
56
- "test:generate-output": "jest --json --outputFile=.jest-test-results.json"
59
+ "test:generate-output": "jest --json --outputFile=.jest-test-results.json",
60
+ "check:package": "pjv --warnings --recommendations"
57
61
  },
58
62
  "dependencies": {
59
63
  "@blueprintjs/core": "3.49.1",
60
- "@blueprintjs/select": "^3.18.1",
64
+ "@blueprintjs/select": "3.18.1",
61
65
  "@carbon/icons": "10.44.0",
62
66
  "@carbon/icons-react": "10.44.0",
63
67
  "@mavrin/remark-typograf": "^2.2.0",
64
68
  "carbon-components": "10.44.0",
65
69
  "carbon-components-react": "7.44.1",
66
- "carbon-icons": "^7.0.7",
67
- "codemirror": "^5.52.2",
70
+ "carbon-icons": "7.0.7",
71
+ "codemirror": "^5.61.0",
68
72
  "color": "3.2.1",
73
+ "lodash": "^4.17.21",
69
74
  "micromark": "^3.0.10",
70
75
  "react": "^16.13.1",
76
+ "react-codemirror2": "^7.2.1",
71
77
  "react-dom": "^16.13.1",
72
- "react-flow-renderer": "^9.6.1",
78
+ "react-flow-renderer": "9.7.4",
73
79
  "react-markdown": "^7.0.1",
74
80
  "rehype-raw": "^6.1.0",
75
81
  "remark-definition-list": "^1.1.0",
@@ -95,30 +101,49 @@
95
101
  "@storybook/react": "^6.4.9",
96
102
  "@testing-library/jest-dom": "^5.16.1",
97
103
  "@testing-library/react": "^12.1.2",
98
- "@types/carbon-components-react": "^7.49.0",
99
- "@types/carbon__icons-react": "^10.31.2",
104
+ "@types/carbon-components-react": "7.49.0",
105
+ "@types/codemirror": "^5.60.5",
100
106
  "@types/color": "^3.0.2",
101
107
  "@types/jest": "^24.9.1",
108
+ "@types/lodash": "^4.14.182",
102
109
  "@typescript-eslint/eslint-plugin": "^4.33.0",
103
110
  "@typescript-eslint/parser": "^4.33.0",
104
111
  "babel-jest": "^27.5.1",
105
112
  "chromatic": "^6.5.1",
113
+ "copyfiles": "^2.4.1",
106
114
  "css-loader": "3.4.2",
107
115
  "eslint": "^7.32.0",
108
116
  "eslint-config-react-app": "^6.0.0",
117
+ "identity-obj-proxy": "^3.0.0",
109
118
  "jest": "^26.6.3",
110
119
  "jest-environment-jsdom-fourteen": "1.0.1",
111
120
  "jest-pnp-resolver": "^1.2.1",
112
- "node-sass": "4.12.0",
121
+ "node-sass": "4.14.1",
113
122
  "node-sass-tilde-importer": "^1.0.2",
123
+ "package-json-validator": "^0.6.3",
114
124
  "react-app-polyfill": "^1.0.6",
115
125
  "react-lorem-ipsum": "^1.4.9",
116
126
  "regenerator-runtime": "^0.13.9",
127
+ "rimraf": "^3.0.2",
117
128
  "sass-loader": "8.0.2",
118
129
  "style-loader": "0.23.1",
119
130
  "typescript": "4.4.4",
120
131
  "webpack": "^4.46.0"
121
132
  },
133
+ "resolutions": {
134
+ "**/@blueprintjs/core": "3.49.1",
135
+ "**/@blueprintjs/select": "3.18.1",
136
+ "**/@carbon/icons": "10.44.0",
137
+ "**/@carbon/icons-react": "10.44.0",
138
+ "**/carbon-components": "10.44.0",
139
+ "**/carbon-components-react": "7.44.1",
140
+ "**/carbon-icons": "7.0.7",
141
+ "**/@types/react": "^17.0.0",
142
+ "**/node-gyp": "^7.0.0",
143
+ "**/glob-parent": "^5.1.2",
144
+ "**/trim": "^0.0.3",
145
+ "**/trim-newlines": "^3.0.1"
146
+ },
122
147
  "eslintConfig": {
123
148
  "extends": [
124
149
  "react-app"
@@ -161,6 +186,9 @@
161
186
  "web.jsx",
162
187
  "jsx",
163
188
  "node"
164
- ]
189
+ ],
190
+ "moduleNameMapper": {
191
+ "\\.(css|scss)$": "identity-obj-proxy"
192
+ }
165
193
  }
166
194
  }
@@ -18,7 +18,7 @@ export interface IActivityStatus {
18
18
  // If the activity has been cancelled
19
19
  cancelled: boolean;
20
20
  // The concrete status ID
21
- concreteStatus: "Cancelled" | "Failed" | "Successful" | "Not executed" | "Running" | "Waiting" | "Canceling";
21
+ concreteStatus: ConcreteActivityStatus;
22
22
  // If there was an error, this contains the exception message
23
23
  exceptionMessage?: string | null;
24
24
  // The runtime in ms
@@ -26,3 +26,5 @@ export interface IActivityStatus {
26
26
  // The start time as date time, e.g. "2021-09-07T09:34:53.153Z"
27
27
  startTime?: string;
28
28
  }
29
+
30
+ export type ConcreteActivityStatus = "Cancelled" | "Failed" | "Successful" | "Not executed" | "Running" | "Waiting" | "Canceling"
@@ -0,0 +1,98 @@
1
+ import React from "react";
2
+ import { ComponentStory, ComponentMeta } from "@storybook/react";
3
+
4
+ import { ActivityControlWidget } from "./ActivityControlWidget";
5
+ import { loremIpsum } from "react-lorem-ipsum";
6
+ import Tag from "../../components/Tag/Tag";
7
+ import TagList from "../../components/Tag/TagList";
8
+
9
+ export default {
10
+ title: "Cmem/ActivityControlWidget",
11
+ component: ActivityControlWidget,
12
+ argTypes: {
13
+ border: {
14
+ table: {
15
+ defaultValue: { summary: false },
16
+ type: { summary: "boolean" },
17
+ },
18
+ },
19
+ small: {
20
+ table: {
21
+ defaultValue: { summary: false },
22
+ type: { summary: "boolean" },
23
+ },
24
+ },
25
+ canShrink: {
26
+ table: {
27
+ defaultValue: { summary: false },
28
+ type: { summary: "boolean" },
29
+ },
30
+ },
31
+ },
32
+ } as ComponentMeta<typeof ActivityControlWidget>;
33
+
34
+ const Template: ComponentStory<typeof ActivityControlWidget> = (args) => <ActivityControlWidget {...args} />;
35
+
36
+ export const FullExample = Template.bind({});
37
+
38
+ const actions = [
39
+ {
40
+ "data-test-id": "activity-reload-activity",
41
+ icon: "item-reload",
42
+ action: () => {},
43
+ tooltip: "Reload Activity",
44
+ disabled: false,
45
+ },
46
+ {
47
+ "data-test-id": "activity-start-activity",
48
+ icon: "item-start",
49
+ action: () => console.log("start"),
50
+ tooltip: "Start Activity",
51
+ disabled: false,
52
+ },
53
+ {
54
+ "data-test-id": "activity-stop-activity",
55
+ icon: "item-stop",
56
+ action: () => console.log("cancel"),
57
+ tooltip: "Stop Activity",
58
+ disabled: false,
59
+ },
60
+ {
61
+ "data-test-id": "activity-view-data",
62
+ icon: "artefact-rawdata",
63
+ action: () => {},
64
+ tooltip: "preview report",
65
+ },
66
+ ];
67
+
68
+ const commonWidgetArgs = {
69
+ label: loremIpsum({ p: 1, avgSentencesPerParagraph: 1, avgWordsPerSentence: 4, random: false }),
70
+ border: true,
71
+ activityActions: actions,
72
+ statusMessage: loremIpsum({ p: 1, startWithLoremIpsum: false, random: false }),
73
+ progressSpinner: {
74
+ intent: "none",
75
+ value: 0.5,
76
+ },
77
+ };
78
+
79
+ FullExample.args = {
80
+ ...commonWidgetArgs,
81
+ };
82
+
83
+ const TemplateWithTags: ComponentStory<typeof ActivityControlWidget> = (args) => <ActivityControlWidget {...args} />;
84
+
85
+ export const WidgetWithTags = TemplateWithTags.bind({});
86
+
87
+ const widgetTags = (
88
+ <TagList>
89
+ <Tag small>Tag one</Tag>
90
+ <Tag small>Other tag</Tag>
91
+ <Tag small>Third keyword</Tag>
92
+ </TagList>
93
+ );
94
+
95
+ WidgetWithTags.args = {
96
+ ...commonWidgetArgs,
97
+ tags: widgetTags,
98
+ };
@@ -14,57 +14,93 @@ import {
14
14
  Spinner,
15
15
  Tooltip,
16
16
  } from "../../index";
17
- import {CLASSPREFIX as eccgui} from "../../configuration/constants";
18
- import {TestableComponent} from "../../components/interfaces";
17
+ import { CLASSPREFIX as eccgui } from "../../configuration/constants";
18
+ import { TestableComponent } from "../../components/interfaces";
19
19
  import { ProgressBarProps } from "../../components/ProgressBar/ProgressBar";
20
20
  import { SpinnerProps } from "../../components/Spinner/Spinner";
21
+ import { ValidIconName } from "../../components/Icon/canonicalIconNames";
22
+ import { IconProps } from "../../components/Icon/Icon";
21
23
 
22
24
  export interface IActivityControlProps extends TestableComponent {
23
- // The label to be shown
24
- label?: string | JSX.Element
25
- // The progress bar parameters if it should be show by a progres bar
26
- progressBar?: ProgressBarProps
27
- // The spinner parameters if it should be show by a spinner
28
- progressSpinner?: SpinnerProps
29
- // Status message
30
- statusMessage?: string
31
- // The action buttons
32
- activityActions?: IActivityAction[]
33
- // Context menu items
34
- activityContextMenu?: IActivityContextMenu
35
- // show small version of the widget
25
+ /**
26
+ * The label to be shown
27
+ */
28
+ label?: string | JSX.Element;
29
+ /**
30
+ * Element that wraps around the label.
31
+ * Default: `<OverflowText inline={true} />`
32
+ */
33
+ labelWrapper?: JSX.Element;
34
+ /**
35
+ * To add tags in addition to the widget status description
36
+ */
37
+ tags?: JSX.Element;
38
+ /**
39
+ * The progress bar parameters if it should be show by a progres bar
40
+ */
41
+ progressBar?: ProgressBarProps;
42
+ /**
43
+ * The spinner parameters if it should be show by a spinner
44
+ */
45
+ progressSpinner?: SpinnerProps;
46
+ /**
47
+ * Status message
48
+ */
49
+ statusMessage?: string;
50
+ /**
51
+ * The action buttons
52
+ */
53
+ activityActions?: IActivityAction[];
54
+ /**
55
+ * Context menu items
56
+ */
57
+ activityContextMenu?: IActivityContextMenu;
58
+ /**
59
+ * show small version of the widget
60
+ */
36
61
  small?: boolean;
37
- // display widget inside rectange
62
+ /**
63
+ * display widget inside rectangle
64
+ */
38
65
  border?: boolean;
39
- // only use necessary width, not always the available 100% of parent element
66
+ /**
67
+ * display a bit whitespace around widget, even without border
68
+ */
69
+ hasSpacing?: boolean;
70
+ /**
71
+ * only use necessary width, not always the available 100% of parent element
72
+ */
40
73
  canShrink?: boolean;
74
+ /**
75
+ * if this is set the spinner is replaced when the progress has finished from 0 - 1
76
+ */
77
+ progressSpinnerFinishedIcon?: React.ReactElement<IconProps>;
41
78
  }
42
79
 
43
80
  interface IActivityContextMenu extends TestableComponent {
44
81
  // Tooltip for the context menu
45
- tooltip?: string
82
+ tooltip?: string;
46
83
  // The entries of the context menu
47
- menuItems: IActivityMenuAction[]
84
+ menuItems: IActivityMenuAction[];
48
85
  }
49
86
 
50
87
  export interface IActivityAction extends TestableComponent {
51
88
  // The action that should be triggered
52
- action: () => any
89
+ action: () => any;
53
90
  // The tooltip that should be shown over the action icon
54
- tooltip?: string
91
+ tooltip?: string;
55
92
  // The icon of the action button
56
- icon: string
93
+ icon: ValidIconName
57
94
  // Action is currently disabled (but shown)
58
- disabled?: boolean
95
+ disabled?: boolean;
59
96
  // Warning state
60
- hasStateWarning?: boolean
97
+ hasStateWarning?: boolean;
61
98
  }
62
99
 
63
100
  export interface IActivityMenuAction extends IActivityAction, TestableComponent {
64
101
  // Optional link
65
- href?: string
102
+ href?: string;
66
103
  }
67
-
68
104
  /** Shows the status of activities and supports actions on these activities. */
69
105
  export function ActivityControlWidget(props: IActivityControlProps) {
70
106
  const {
@@ -75,78 +111,99 @@ export function ActivityControlWidget(props: IActivityControlProps) {
75
111
  activityContextMenu,
76
112
  small,
77
113
  border,
78
- canShrink
79
- } = props
80
-
81
- const spinnerClassNames = (progressSpinner?.className ?? "") + ` ${eccgui}-spinner--permanent`
82
-
114
+ hasSpacing,
115
+ canShrink,
116
+ tags,
117
+ progressSpinnerFinishedIcon,
118
+ labelWrapper = <OverflowText inline={true} />,
119
+ } = props;
120
+ const spinnerClassNames = (progressSpinner?.className ?? "") + ` ${eccgui}-spinner--permanent`;
83
121
  const widget = (
84
- <OverviewItem data-test-id={dataTestId} hasSpacing={border} densityHigh={small}>
85
- {progressBar && (
86
- <ProgressBar
87
- {...progressBar}
88
- />
89
- )}
90
- {progressSpinner && (
122
+ <OverviewItem data-test-id={dataTestId} hasSpacing={border || hasSpacing} densityHigh={small}>
123
+ {progressBar && <ProgressBar {...progressBar} />}
124
+ {(progressSpinner || progressSpinnerFinishedIcon) && (
91
125
  <OverviewItemDepiction keepColors>
92
- <Spinner
93
- position="inline"
94
- size={small ? "tiny" : "small"}
95
- stroke={small ? "bold" : "medium"}
96
- {...progressSpinner}
97
- className={spinnerClassNames}
98
- />
126
+ {progressSpinnerFinishedIcon ? (
127
+ React.cloneElement(progressSpinnerFinishedIcon, { small, large: !small })
128
+ ) : (
129
+ <Spinner
130
+ position="inline"
131
+ size={small ? "tiny" : "small"}
132
+ stroke={small ? "bold" : "medium"}
133
+ {...progressSpinner}
134
+ className={spinnerClassNames}
135
+ />
136
+ )}
99
137
  </OverviewItemDepiction>
100
138
  )}
101
139
  <OverviewItemDescription>
102
- {props.label && <OverviewItemLine small={small}>
103
- <OverflowText inline={true}>{props.label}</OverflowText>
104
- </OverviewItemLine>}
105
- {props.statusMessage && (
140
+ {props.label && (
141
+ <OverviewItemLine small={small}>
142
+ { React.cloneElement(labelWrapper, {}, props.label) }
143
+ </OverviewItemLine>
144
+ )}
145
+ {(props.statusMessage || tags) && (
106
146
  <OverviewItemLine small>
107
- {
108
- props.statusMessage.length > 50 ? (
109
- <Tooltip content={props.statusMessage} size="large" tooltipProps={{placement: "top", boundary: "viewport"}}>
110
- <OverflowText inline={true}>
147
+ { tags }
148
+ {props.statusMessage && (
149
+ <OverflowText passDown>
150
+ {props.statusMessage.length > 50 ? (
151
+ <Tooltip
152
+ content={props.statusMessage}
153
+ size="large"
154
+ tooltipProps={{
155
+ position: "top-right",
156
+ boundary: "viewport",
157
+ modifiers: {
158
+ flip: {
159
+ enabled: false
160
+ }
161
+ }
162
+ }}
163
+ >
111
164
  {props.statusMessage}
112
- </OverflowText>
113
- </Tooltip>
114
- ) : (
115
- <OverflowText inline={true}>
116
- {props.statusMessage}
117
- </OverflowText>
118
- )
119
- }
165
+ </Tooltip>
166
+ ) : (
167
+ props.statusMessage
168
+ )}
169
+ </OverflowText>
170
+ )}
120
171
  </OverviewItemLine>
121
172
  )}
122
173
  </OverviewItemDescription>
123
174
  <OverviewItemActions>
124
- {activityActions && activityActions.map((action) => {
125
- return <IconButton
126
- key={action.icon}
127
- data-test-id={action["data-test-id"]}
128
- name={action.icon}
129
- text={action.tooltip}
130
- onClick={action.action}
131
- tooltipOpenDelay={200}
132
- disabled={action.disabled}
133
- hasStateWarning={action.hasStateWarning}
134
- />
135
- })}
136
- {activityContextMenu && activityContextMenu.menuItems.length > 0 && <ContextMenu
137
- data-test-id={activityContextMenu["data-test-id"]}
138
- togglerText={activityContextMenu.tooltip}
139
- >
140
- {activityContextMenu.menuItems.map((menuAction) => {
141
- return <MenuItem
142
- icon={menuAction.icon}
143
- key={menuAction.icon}
144
- onClick={menuAction.action}
145
- text={menuAction.tooltip}
146
- />
175
+ {activityActions &&
176
+ activityActions.map((action) => {
177
+ return (
178
+ <IconButton
179
+ key={action.icon}
180
+ data-test-id={action["data-test-id"]}
181
+ name={action.icon}
182
+ text={action.tooltip}
183
+ onClick={action.action}
184
+ tooltipOpenDelay={200}
185
+ disabled={action.disabled}
186
+ hasStateWarning={action.hasStateWarning}
187
+ />
188
+ );
147
189
  })}
148
- </ContextMenu>
149
- }
190
+ {activityContextMenu && activityContextMenu.menuItems.length > 0 && (
191
+ <ContextMenu
192
+ data-test-id={activityContextMenu["data-test-id"]}
193
+ togglerText={activityContextMenu.tooltip}
194
+ >
195
+ {activityContextMenu.menuItems.map((menuAction) => {
196
+ return (
197
+ <MenuItem
198
+ icon={menuAction.icon}
199
+ key={menuAction.icon}
200
+ onClick={menuAction.action}
201
+ text={menuAction.tooltip}
202
+ />
203
+ );
204
+ })}
205
+ </ContextMenu>
206
+ )}
150
207
  </OverviewItemActions>
151
208
  </OverviewItem>
152
209
  );
@@ -158,8 +215,6 @@ export function ActivityControlWidget(props: IActivityControlProps) {
158
215
  {widget}
159
216
  </Card>
160
217
  ) : (
161
- <div className={classname}>
162
- {widget}
163
- </div>
218
+ <div className={classname}>{widget}</div>
164
219
  );
165
220
  }
@@ -1,5 +1,5 @@
1
- import {Button, HtmlContentBlock, SimpleDialog} from "../../index";
2
- import React from "react";
1
+ import {Button, HtmlContentBlock, IconButton, SimpleDialog} from "../../index";
2
+ import React, { useState } from "react";
3
3
 
4
4
  interface IProps {
5
5
  // Title of the modal
@@ -18,6 +18,7 @@ interface IProps {
18
18
 
19
19
  /** Shows the execution error report to the user and offers to download the report. */
20
20
  export const ActivityExecutionErrorReportModal = ({title, onDiscard, report, downloadButtonValue, closeButtonValue, fetchErrorReport}: IProps) => {
21
+ const [displayFullscreen, setDisplayFullscreen] = useState<boolean>(false);
21
22
  const fileName = "Activity execution report from " + (new Date()).toISOString().replace(/T/, " ").replace(/:/g, "-").substr(0, 19) + ".md"
22
23
  const handleDownload = async () => {
23
24
  const markdown = await fetchErrorReport()
@@ -37,7 +38,14 @@ export const ActivityExecutionErrorReportModal = ({title, onDiscard, report, dow
37
38
  <SimpleDialog
38
39
  title={title}
39
40
  isOpen={true}
41
+ size={displayFullscreen ? "fullscreen" : "large"}
40
42
  onClose={onDiscard}
43
+ headerOptions={(
44
+ <IconButton
45
+ name={displayFullscreen ? "toggler-minimize" : "toggler-maximize"}
46
+ onClick={() => setDisplayFullscreen(!displayFullscreen)}
47
+ />
48
+ )}
41
49
  actions={[
42
50
  <Button data-test-id={"error-report-download-btn"} affirmative onClick={handleDownload} key="download">
43
51
  {downloadButtonValue}
@@ -47,7 +55,7 @@ export const ActivityExecutionErrorReportModal = ({title, onDiscard, report, dow
47
55
  </Button>,
48
56
  ]}
49
57
  >
50
- <HtmlContentBlock>
58
+ <HtmlContentBlock noScrollbarsOnChildren>
51
59
  {report}
52
60
  </HtmlContentBlock>
53
61
  </SimpleDialog>