@eccenca/gui-elements 22.1.0-rc.0 → 23.0.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (511) hide show
  1. package/CHANGELOG.md +41 -4
  2. package/dist/cjs/cmem/ActivityControl/ActivityControlWidget.js +13 -9
  3. package/dist/cjs/cmem/ActivityControl/ActivityControlWidget.js.map +1 -1
  4. package/dist/cjs/cmem/ActivityControl/ActivityExecutionErrorReportModal.js +23 -6
  5. package/dist/cjs/cmem/ActivityControl/ActivityExecutionErrorReportModal.js.map +1 -1
  6. package/dist/cjs/cmem/ActivityControl/SilkActivityControl.js +1 -1
  7. package/dist/cjs/cmem/ActivityControl/SilkActivityControl.js.map +1 -1
  8. package/dist/cjs/cmem/ContentBlobToggler/StringPreviewContentBlobToggler.js +1 -1
  9. package/dist/cjs/cmem/ContentBlobToggler/StringPreviewContentBlobToggler.js.map +1 -1
  10. package/dist/cjs/cmem/react-flow/configuration/graph.js +1 -6
  11. package/dist/cjs/cmem/react-flow/configuration/graph.js.map +1 -1
  12. package/dist/cjs/cmem/react-flow/configuration/linking.js +1 -6
  13. package/dist/cjs/cmem/react-flow/configuration/linking.js.map +1 -1
  14. package/dist/cjs/cmem/react-flow/configuration/workflow.js +1 -6
  15. package/dist/cjs/cmem/react-flow/configuration/workflow.js.map +1 -1
  16. package/dist/cjs/common/utils/stringUtils.js +7 -0
  17. package/dist/cjs/common/utils/stringUtils.js.map +1 -0
  18. package/dist/cjs/components/Application/ApplicationContent.js +1 -7
  19. package/dist/cjs/components/Application/ApplicationContent.js.map +1 -1
  20. package/dist/cjs/components/Application/ApplicationTitle.js +1 -7
  21. package/dist/cjs/components/Application/ApplicationTitle.js.map +1 -1
  22. package/dist/cjs/components/AutoSuggestion/AutoSuggestion.js +2 -1
  23. package/dist/cjs/components/AutoSuggestion/AutoSuggestion.js.map +1 -1
  24. package/dist/cjs/components/AutoSuggestion/SingleLineCodeEditor.js +3 -3
  25. package/dist/cjs/components/AutoSuggestion/SingleLineCodeEditor.js.map +1 -1
  26. package/dist/cjs/components/AutocompleteField/AutoCompleteField.js +6 -4
  27. package/dist/cjs/components/AutocompleteField/AutoCompleteField.js.map +1 -1
  28. package/dist/cjs/components/Breadcrumb/BreadcrumbItem.js +1 -1
  29. package/dist/cjs/components/Button/Button.js +1 -1
  30. package/dist/cjs/components/Button/Button.js.map +1 -1
  31. package/dist/cjs/components/Card/Card.js +18 -3
  32. package/dist/cjs/components/Card/Card.js.map +1 -1
  33. package/dist/cjs/components/Dialog/Modal.js +1 -1
  34. package/dist/cjs/components/Dialog/Modal.js.map +1 -1
  35. package/dist/cjs/components/Form/FieldItemRow.js +3 -4
  36. package/dist/cjs/components/Form/FieldItemRow.js.map +1 -1
  37. package/dist/cjs/components/Form/FieldSet.js +2 -2
  38. package/dist/cjs/components/Form/FieldSet.js.map +1 -1
  39. package/dist/cjs/components/Iframe/Iframe.js +1 -1
  40. package/dist/cjs/components/Iframe/Iframe.js.map +1 -1
  41. package/dist/cjs/components/MultiSelect/MultiSelect.js +34 -41
  42. package/dist/cjs/components/MultiSelect/MultiSelect.js.map +1 -1
  43. package/dist/cjs/components/Notification/Notification.js +8 -2
  44. package/dist/cjs/components/Notification/Notification.js.map +1 -1
  45. package/dist/cjs/components/OverviewItem/OverviewItemList.js +2 -2
  46. package/dist/cjs/components/OverviewItem/OverviewItemList.js.map +1 -1
  47. package/dist/cjs/components/Spinner/Spinner.js +2 -1
  48. package/dist/cjs/components/Spinner/Spinner.js.map +1 -1
  49. package/dist/cjs/components/Tabs/Tab.js +1 -2
  50. package/dist/cjs/components/Tabs/Tab.js.map +1 -1
  51. package/dist/cjs/components/Tabs/Tabs.js +1 -4
  52. package/dist/cjs/components/Tabs/Tabs.js.map +1 -1
  53. package/dist/cjs/components/Tag/TagList.js +2 -2
  54. package/dist/cjs/components/Tag/TagList.js.map +1 -1
  55. package/dist/cjs/components/Typography/HtmlContentBlock.js +6 -6
  56. package/dist/cjs/components/Typography/HtmlContentBlock.js.map +1 -1
  57. package/dist/cjs/components/Typography/classnames.js +2 -1
  58. package/dist/cjs/components/Typography/classnames.js.map +1 -1
  59. package/dist/cjs/extensions/codemirror/CodeMirror.js +59 -0
  60. package/dist/cjs/extensions/codemirror/CodeMirror.js.map +1 -0
  61. package/dist/cjs/extensions/index.js +15 -0
  62. package/dist/cjs/extensions/index.js.map +1 -0
  63. package/dist/cjs/extensions/react-flow/edges/EdgeDefault.js.map +1 -1
  64. package/dist/cjs/extensions/react-flow/edges/getSmoothStepPath.js +98 -0
  65. package/dist/cjs/extensions/react-flow/edges/getSmoothStepPath.js.map +1 -0
  66. package/dist/cjs/extensions/react-flow/edges/utils.js +21 -20
  67. package/dist/cjs/extensions/react-flow/edges/utils.js.map +1 -1
  68. package/dist/cjs/extensions/react-flow/minimap/MiniMap.js +1 -1
  69. package/dist/cjs/extensions/react-flow/minimap/MiniMap.js.map +1 -1
  70. package/dist/cjs/extensions/react-flow/nodes/NodeContent.js +6 -4
  71. package/dist/cjs/extensions/react-flow/nodes/NodeContent.js.map +1 -1
  72. package/dist/cjs/extensions/react-flow/nodes/NodeContentExtension.js +3 -2
  73. package/dist/cjs/extensions/react-flow/nodes/NodeContentExtension.js.map +1 -1
  74. package/dist/cjs/extensions/react-flow/nodes/NodeTools.js +11 -9
  75. package/dist/cjs/extensions/react-flow/nodes/NodeTools.js.map +1 -1
  76. package/dist/cjs/index.js +1 -1
  77. package/dist/cjs/index.js.map +1 -1
  78. package/dist/{es5 → esm}/cmem/ActivityControl/ActivityControlTypes.js +0 -0
  79. package/dist/{es5 → esm}/cmem/ActivityControl/ActivityControlTypes.js.map +0 -0
  80. package/dist/{es5 → esm}/cmem/ActivityControl/ActivityControlWidget.js +15 -11
  81. package/dist/esm/cmem/ActivityControl/ActivityControlWidget.js.map +1 -0
  82. package/dist/{es5 → esm}/cmem/ActivityControl/ActivityExecutionErrorReportModal.js +21 -4
  83. package/dist/esm/cmem/ActivityControl/ActivityExecutionErrorReportModal.js.map +1 -0
  84. package/dist/{es5 → esm}/cmem/ActivityControl/SilkActivityControl.js +5 -5
  85. package/dist/{es5 → esm}/cmem/ActivityControl/SilkActivityControl.js.map +1 -1
  86. package/dist/esm/cmem/ActivityControl/index.js +4 -0
  87. package/dist/{es5 → esm}/cmem/ActivityControl/index.js.map +0 -0
  88. package/dist/{es5 → esm}/cmem/ContentBlobToggler/ContentBlobToggler.js +1 -1
  89. package/dist/{es5 → esm}/cmem/ContentBlobToggler/ContentBlobToggler.js.map +0 -0
  90. package/dist/{es5 → esm}/cmem/ContentBlobToggler/StringPreviewContentBlobToggler.js +1 -1
  91. package/dist/{es5 → esm}/cmem/ContentBlobToggler/StringPreviewContentBlobToggler.js.map +1 -1
  92. package/dist/esm/cmem/ContentBlobToggler/index.js +3 -0
  93. package/dist/{es5 → esm}/cmem/ContentBlobToggler/index.js.map +0 -0
  94. package/dist/{es5 → esm}/cmem/DateTimeDisplay/ElapsedDateTimeDisplay.js +0 -0
  95. package/dist/{es5 → esm}/cmem/DateTimeDisplay/ElapsedDateTimeDisplay.js.map +0 -0
  96. package/dist/{es5 → esm}/cmem/index.js +6 -6
  97. package/dist/{es5 → esm}/cmem/index.js.map +0 -0
  98. package/dist/{es5 → esm}/cmem/markdown/Markdown.js +2 -2
  99. package/dist/{es5 → esm}/cmem/markdown/Markdown.js.map +0 -0
  100. package/dist/{es5 → esm}/cmem/react-flow/ReactFlow/ReactFlow.js +4 -4
  101. package/dist/{es5 → esm}/cmem/react-flow/ReactFlow/ReactFlow.js.map +0 -0
  102. package/dist/{es5 → esm}/cmem/react-flow/configuration/graph.js +3 -4
  103. package/dist/esm/cmem/react-flow/configuration/graph.js.map +1 -0
  104. package/dist/{es5 → esm}/cmem/react-flow/configuration/linking.js +3 -4
  105. package/dist/esm/cmem/react-flow/configuration/linking.js.map +1 -0
  106. package/dist/{es5 → esm}/cmem/react-flow/configuration/unspecified.js +3 -3
  107. package/dist/{es5 → esm}/cmem/react-flow/configuration/unspecified.js.map +0 -0
  108. package/dist/{es5 → esm}/cmem/react-flow/configuration/workflow.js +3 -4
  109. package/dist/esm/cmem/react-flow/configuration/workflow.js.map +1 -0
  110. package/dist/{es5 → esm}/common/Intent/index.js +1 -1
  111. package/dist/{es5 → esm}/common/Intent/index.js.map +0 -0
  112. package/dist/{es5 → esm}/common/utils/openInNewTab.js +0 -0
  113. package/dist/{es5 → esm}/common/utils/openInNewTab.js.map +0 -0
  114. package/dist/esm/common/utils/stringUtils.js +3 -0
  115. package/dist/esm/common/utils/stringUtils.js.map +1 -0
  116. package/dist/{es5 → esm}/components/Accordion/Accordion.js +1 -1
  117. package/dist/{es5 → esm}/components/Accordion/Accordion.js.map +0 -0
  118. package/dist/{es5 → esm}/components/Accordion/AccordionItem.js +1 -1
  119. package/dist/{es5 → esm}/components/Accordion/AccordionItem.js.map +0 -0
  120. package/dist/{es5 → esm}/components/Application/ApplicationContainer.js +1 -1
  121. package/dist/{es5 → esm}/components/Application/ApplicationContainer.js.map +0 -0
  122. package/dist/{es5 → esm}/components/Application/ApplicationContent.js +2 -8
  123. package/dist/esm/components/Application/ApplicationContent.js.map +1 -0
  124. package/dist/{es5 → esm}/components/Application/ApplicationHeader.js +1 -1
  125. package/dist/{es5 → esm}/components/Application/ApplicationHeader.js.map +0 -0
  126. package/dist/{es5 → esm}/components/Application/ApplicationSidebarNavigation.js +1 -1
  127. package/dist/{es5 → esm}/components/Application/ApplicationSidebarNavigation.js.map +0 -0
  128. package/dist/{es5 → esm}/components/Application/ApplicationSidebarToggler.js +1 -1
  129. package/dist/{es5 → esm}/components/Application/ApplicationSidebarToggler.js.map +0 -0
  130. package/dist/{es5 → esm}/components/Application/ApplicationTitle.js +2 -8
  131. package/dist/esm/components/Application/ApplicationTitle.js.map +1 -0
  132. package/dist/{es5 → esm}/components/Application/ApplicationToolbar.js +1 -1
  133. package/dist/{es5 → esm}/components/Application/ApplicationToolbar.js.map +0 -0
  134. package/dist/{es5 → esm}/components/Application/ApplicationToolbarAction.js +1 -1
  135. package/dist/{es5 → esm}/components/Application/ApplicationToolbarAction.js.map +0 -0
  136. package/dist/{es5 → esm}/components/Application/ApplicationToolbarPanel.js +1 -1
  137. package/dist/{es5 → esm}/components/Application/ApplicationToolbarPanel.js.map +0 -0
  138. package/dist/{es5 → esm}/components/Application/ApplicationToolbarSection.js +1 -1
  139. package/dist/{es5 → esm}/components/Application/ApplicationToolbarSection.js.map +0 -0
  140. package/dist/{es5 → esm}/components/AutoSuggestion/AutoSuggestion.js +5 -4
  141. package/dist/esm/components/AutoSuggestion/AutoSuggestion.js.map +1 -0
  142. package/dist/{es5 → esm}/components/AutoSuggestion/AutoSuggestionList.js +1 -1
  143. package/dist/{es5 → esm}/components/AutoSuggestion/AutoSuggestionList.js.map +0 -0
  144. package/dist/{es5 → esm}/components/AutoSuggestion/SingleLineCodeEditor.js +3 -3
  145. package/dist/{es5 → esm}/components/AutoSuggestion/SingleLineCodeEditor.js.map +1 -1
  146. package/dist/{es5 → esm}/components/AutocompleteField/AutoCompleteField.js +8 -6
  147. package/dist/esm/components/AutocompleteField/AutoCompleteField.js.map +1 -0
  148. package/dist/{es5 → esm}/components/Breadcrumb/BreadcrumbItem.js +3 -3
  149. package/dist/{es5 → esm}/components/Breadcrumb/BreadcrumbItem.js.map +0 -0
  150. package/dist/{es5 → esm}/components/Breadcrumb/BreadcrumbList.js +2 -2
  151. package/dist/{es5 → esm}/components/Breadcrumb/BreadcrumbList.js.map +0 -0
  152. package/dist/{es5 → esm}/components/Button/Button.js +4 -4
  153. package/dist/{es5 → esm}/components/Button/Button.js.map +1 -1
  154. package/dist/{es5 → esm}/components/Card/Card.js +19 -4
  155. package/dist/esm/components/Card/Card.js.map +1 -0
  156. package/dist/{es5 → esm}/components/Card/CardActions.js +1 -1
  157. package/dist/{es5 → esm}/components/Card/CardActions.js.map +0 -0
  158. package/dist/{es5 → esm}/components/Card/CardActionsAux.js +1 -1
  159. package/dist/{es5 → esm}/components/Card/CardActionsAux.js.map +0 -0
  160. package/dist/{es5 → esm}/components/Card/CardContent.js +1 -1
  161. package/dist/{es5 → esm}/components/Card/CardContent.js.map +0 -0
  162. package/dist/{es5 → esm}/components/Card/CardHeader.js +5 -5
  163. package/dist/{es5 → esm}/components/Card/CardHeader.js.map +0 -0
  164. package/dist/{es5 → esm}/components/Card/CardOptions.js +2 -2
  165. package/dist/{es5 → esm}/components/Card/CardOptions.js.map +0 -0
  166. package/dist/{es5 → esm}/components/Card/CardTitle.js +2 -2
  167. package/dist/{es5 → esm}/components/Card/CardTitle.js.map +0 -0
  168. package/dist/esm/components/Card/index.js +9 -0
  169. package/dist/{es5 → esm}/components/Card/index.js.map +0 -0
  170. package/dist/{es5 → esm}/components/Checkbox/Checkbox.js +1 -1
  171. package/dist/{es5 → esm}/components/Checkbox/Checkbox.js.map +0 -0
  172. package/dist/{es5 → esm}/components/ContextOverlay/ContextMenu.js +4 -4
  173. package/dist/{es5 → esm}/components/ContextOverlay/ContextMenu.js.map +0 -0
  174. package/dist/{es5 → esm}/components/ContextOverlay/ContextOverlay.js +1 -1
  175. package/dist/{es5 → esm}/components/ContextOverlay/ContextOverlay.js.map +0 -0
  176. package/dist/{es5 → esm}/components/Dialog/AlertDialog.js +2 -2
  177. package/dist/{es5 → esm}/components/Dialog/AlertDialog.js.map +0 -0
  178. package/dist/{es5 → esm}/components/Dialog/Modal.js +3 -3
  179. package/dist/{es5 → esm}/components/Dialog/Modal.js.map +1 -1
  180. package/dist/{es5 → esm}/components/Dialog/SimpleDialog.js +4 -4
  181. package/dist/{es5 → esm}/components/Dialog/SimpleDialog.js.map +0 -0
  182. package/dist/{es5 → esm}/components/Form/FieldItem.js +3 -3
  183. package/dist/{es5 → esm}/components/Form/FieldItem.js.map +0 -0
  184. package/dist/esm/components/Form/FieldItemRow.js +34 -0
  185. package/dist/esm/components/Form/FieldItemRow.js.map +1 -0
  186. package/dist/{es5 → esm}/components/Form/FieldSet.js +15 -4
  187. package/dist/esm/components/Form/FieldSet.js.map +1 -0
  188. package/dist/{es5 → esm}/components/Grid/Grid.js +1 -1
  189. package/dist/{es5 → esm}/components/Grid/Grid.js.map +0 -0
  190. package/dist/{es5 → esm}/components/Grid/GridColumn.js +1 -1
  191. package/dist/{es5 → esm}/components/Grid/GridColumn.js.map +0 -0
  192. package/dist/{es5 → esm}/components/Grid/GridRow.js +1 -1
  193. package/dist/{es5 → esm}/components/Grid/GridRow.js.map +0 -0
  194. package/dist/{es5 → esm}/components/Icon/Icon.js +3 -3
  195. package/dist/{es5 → esm}/components/Icon/Icon.js.map +0 -0
  196. package/dist/{es5 → esm}/components/Icon/IconButton.js +3 -3
  197. package/dist/{es5 → esm}/components/Icon/IconButton.js.map +0 -0
  198. package/dist/{es5 → esm}/components/Icon/canonicalIconNames.js +0 -0
  199. package/dist/{es5 → esm}/components/Icon/canonicalIconNames.js.map +0 -0
  200. package/dist/{es5 → esm}/components/Iframe/Iframe.js +3 -3
  201. package/dist/{es5 → esm}/components/Iframe/Iframe.js.map +1 -1
  202. package/dist/{es5 → esm}/components/Iframe/IframeModal.js +4 -4
  203. package/dist/{es5 → esm}/components/Iframe/IframeModal.js.map +0 -0
  204. package/dist/{es5 → esm}/components/Label/Label.js +3 -3
  205. package/dist/{es5 → esm}/components/Label/Label.js.map +0 -0
  206. package/dist/{es5 → esm}/components/Link/Link.js +2 -2
  207. package/dist/{es5 → esm}/components/Link/Link.js.map +0 -0
  208. package/dist/{es5 → esm}/components/List/List.js +1 -1
  209. package/dist/{es5 → esm}/components/List/List.js.map +0 -0
  210. package/dist/{es5 → esm}/components/Menu/Menu.js +1 -1
  211. package/dist/{es5 → esm}/components/Menu/Menu.js.map +0 -0
  212. package/dist/{es5 → esm}/components/Menu/MenuDivider.js +1 -1
  213. package/dist/{es5 → esm}/components/Menu/MenuDivider.js.map +0 -0
  214. package/dist/{es5 → esm}/components/Menu/MenuItem.js +3 -3
  215. package/dist/{es5 → esm}/components/Menu/MenuItem.js.map +0 -0
  216. package/dist/{es5 → esm}/components/MultiSelect/MultiSelect.js +44 -55
  217. package/dist/esm/components/MultiSelect/MultiSelect.js.map +1 -0
  218. package/dist/{es5 → esm}/components/Notification/Notification.js +13 -6
  219. package/dist/esm/components/Notification/Notification.js.map +1 -0
  220. package/dist/{es5 → esm}/components/Notification/Toast.js +2 -2
  221. package/dist/{es5 → esm}/components/Notification/Toast.js.map +0 -0
  222. package/dist/{es5 → esm}/components/NumericInput/NumericInput.js +0 -0
  223. package/dist/{es5 → esm}/components/NumericInput/NumericInput.js.map +0 -0
  224. package/dist/{es5 → esm}/components/OverviewItem/OverviewItem.js +1 -1
  225. package/dist/{es5 → esm}/components/OverviewItem/OverviewItem.js.map +0 -0
  226. package/dist/{es5 → esm}/components/OverviewItem/OverviewItemActions.js +1 -1
  227. package/dist/{es5 → esm}/components/OverviewItem/OverviewItemActions.js.map +0 -0
  228. package/dist/{es5 → esm}/components/OverviewItem/OverviewItemDepiction.js +1 -1
  229. package/dist/{es5 → esm}/components/OverviewItem/OverviewItemDepiction.js.map +0 -0
  230. package/dist/{es5 → esm}/components/OverviewItem/OverviewItemDescription.js +1 -1
  231. package/dist/{es5 → esm}/components/OverviewItem/OverviewItemDescription.js.map +0 -0
  232. package/dist/{es5 → esm}/components/OverviewItem/OverviewItemLine.js +1 -1
  233. package/dist/{es5 → esm}/components/OverviewItem/OverviewItemLine.js.map +0 -0
  234. package/dist/{es5 → esm}/components/OverviewItem/OverviewItemList.js +3 -3
  235. package/dist/{es5 → esm}/components/OverviewItem/OverviewItemList.js.map +1 -1
  236. package/dist/esm/components/OverviewItem/index.js +8 -0
  237. package/dist/{es5 → esm}/components/OverviewItem/index.js.map +0 -0
  238. package/dist/{es5 → esm}/components/Pagination/Pagination.js +1 -1
  239. package/dist/{es5 → esm}/components/Pagination/Pagination.js.map +0 -0
  240. package/dist/{es5 → esm}/components/ProgressBar/ProgressBar.js +0 -0
  241. package/dist/{es5 → esm}/components/ProgressBar/ProgressBar.js.map +0 -0
  242. package/dist/{es5 → esm}/components/PropertyValuePair/PropertyName.js +2 -2
  243. package/dist/{es5 → esm}/components/PropertyValuePair/PropertyName.js.map +0 -0
  244. package/dist/{es5 → esm}/components/PropertyValuePair/PropertyValue.js +1 -1
  245. package/dist/{es5 → esm}/components/PropertyValuePair/PropertyValue.js.map +0 -0
  246. package/dist/{es5 → esm}/components/PropertyValuePair/PropertyValueList.js +1 -1
  247. package/dist/{es5 → esm}/components/PropertyValuePair/PropertyValueList.js.map +0 -0
  248. package/dist/{es5 → esm}/components/PropertyValuePair/PropertyValuePair.js +1 -1
  249. package/dist/{es5 → esm}/components/PropertyValuePair/PropertyValuePair.js.map +0 -0
  250. package/dist/esm/components/PropertyValuePair/index.js +6 -0
  251. package/dist/{es5 → esm}/components/PropertyValuePair/index.js.map +0 -0
  252. package/dist/{es5 → esm}/components/RadioButton/RadioButton.js +1 -1
  253. package/dist/{es5 → esm}/components/RadioButton/RadioButton.js.map +0 -0
  254. package/dist/{es5 → esm}/components/Separation/Divider.js +1 -1
  255. package/dist/{es5 → esm}/components/Separation/Divider.js.map +0 -0
  256. package/dist/{es5 → esm}/components/Separation/Spacing.js +1 -1
  257. package/dist/{es5 → esm}/components/Separation/Spacing.js.map +0 -0
  258. package/dist/{es5 → esm}/components/SimpleTable/TableContainer.js +1 -1
  259. package/dist/{es5 → esm}/components/SimpleTable/TableContainer.js.map +0 -0
  260. package/dist/{es5 → esm}/components/SimpleTable/index.js +1 -1
  261. package/dist/{es5 → esm}/components/SimpleTable/index.js.map +0 -0
  262. package/dist/{es5 → esm}/components/Spinner/Spinner.js +4 -3
  263. package/dist/esm/components/Spinner/Spinner.js.map +1 -0
  264. package/dist/{es5 → esm}/components/Structure/Section.js +1 -1
  265. package/dist/{es5 → esm}/components/Structure/Section.js.map +0 -0
  266. package/dist/{es5 → esm}/components/Structure/SectionHeader.js +1 -1
  267. package/dist/{es5 → esm}/components/Structure/SectionHeader.js.map +0 -0
  268. package/dist/{es5 → esm}/components/Structure/TitleMainsection.js +1 -1
  269. package/dist/{es5 → esm}/components/Structure/TitleMainsection.js.map +0 -0
  270. package/dist/{es5 → esm}/components/Structure/TitlePage.js +1 -1
  271. package/dist/{es5 → esm}/components/Structure/TitlePage.js.map +0 -0
  272. package/dist/{es5 → esm}/components/Structure/TitleSubsection.js +1 -1
  273. package/dist/{es5 → esm}/components/Structure/TitleSubsection.js.map +0 -0
  274. package/dist/{es5 → esm}/components/Switch/Switch.js +1 -1
  275. package/dist/{es5 → esm}/components/Switch/Switch.js.map +0 -0
  276. package/dist/{es5 → esm}/components/Tabs/Tab.js +3 -4
  277. package/dist/{es5 → esm}/components/Tabs/Tab.js.map +1 -1
  278. package/dist/{es5 → esm}/components/Tabs/TabTitle.js +2 -2
  279. package/dist/{es5 → esm}/components/Tabs/TabTitle.js.map +0 -0
  280. package/dist/{es5 → esm}/components/Tabs/Tabs.js +3 -6
  281. package/dist/esm/components/Tabs/Tabs.js.map +1 -0
  282. package/dist/{es5 → esm}/components/Tag/Tag.js +1 -1
  283. package/dist/{es5 → esm}/components/Tag/Tag.js.map +0 -0
  284. package/dist/{es5 → esm}/components/Tag/TagList.js +14 -3
  285. package/dist/esm/components/Tag/TagList.js.map +1 -0
  286. package/dist/{es5 → esm}/components/TextField/SearchField.js +4 -4
  287. package/dist/{es5 → esm}/components/TextField/SearchField.js.map +0 -0
  288. package/dist/{es5 → esm}/components/TextField/TextArea.js +1 -1
  289. package/dist/{es5 → esm}/components/TextField/TextArea.js.map +0 -0
  290. package/dist/{es5 → esm}/components/TextField/TextField.js +2 -2
  291. package/dist/{es5 → esm}/components/TextField/TextField.js.map +0 -0
  292. package/dist/{es5 → esm}/components/Toolbar/Toolbar.js +1 -1
  293. package/dist/{es5 → esm}/components/Toolbar/Toolbar.js.map +0 -0
  294. package/dist/{es5 → esm}/components/Toolbar/ToolbarSection.js +1 -1
  295. package/dist/{es5 → esm}/components/Toolbar/ToolbarSection.js.map +0 -0
  296. package/dist/{es5 → esm}/components/Tooltip/Tooltip.js +1 -1
  297. package/dist/{es5 → esm}/components/Tooltip/Tooltip.js.map +0 -0
  298. package/dist/{es5 → esm}/components/Typography/Highlighter.js +0 -0
  299. package/dist/{es5 → esm}/components/Typography/Highlighter.js.map +0 -0
  300. package/dist/esm/components/Typography/HtmlContentBlock.js +39 -0
  301. package/dist/esm/components/Typography/HtmlContentBlock.js.map +1 -0
  302. package/dist/{es5 → esm}/components/Typography/OverflowText.js +1 -1
  303. package/dist/{es5 → esm}/components/Typography/OverflowText.js.map +0 -0
  304. package/dist/{es5 → esm}/components/Typography/WhiteSpaceContainer.js +1 -1
  305. package/dist/{es5 → esm}/components/Typography/WhiteSpaceContainer.js.map +0 -0
  306. package/dist/{es5 → esm}/components/Typography/classnames.js +2 -1
  307. package/dist/{es5 → esm}/components/Typography/classnames.js.map +1 -1
  308. package/dist/{es5 → esm}/components/Workspace/WorkspaceContent.js +3 -3
  309. package/dist/{es5 → esm}/components/Workspace/WorkspaceContent.js.map +0 -0
  310. package/dist/{es5 → esm}/components/Workspace/WorkspaceHeader.js +1 -1
  311. package/dist/{es5 → esm}/components/Workspace/WorkspaceHeader.js.map +0 -0
  312. package/dist/{es5 → esm}/components/Workspace/WorkspaceMain.js +2 -2
  313. package/dist/{es5 → esm}/components/Workspace/WorkspaceMain.js.map +0 -0
  314. package/dist/{es5 → esm}/components/Workspace/WorkspaceSide.js +2 -2
  315. package/dist/{es5 → esm}/components/Workspace/WorkspaceSide.js.map +0 -0
  316. package/dist/{es5 → esm}/components/interfaces.js +0 -0
  317. package/dist/{es5 → esm}/components/interfaces.js.map +0 -0
  318. package/dist/{es5 → esm}/configuration/constants.js +0 -0
  319. package/dist/{es5 → esm}/configuration/constants.js.map +0 -0
  320. package/dist/esm/extensions/codemirror/CodeMirror.js +34 -0
  321. package/dist/esm/extensions/codemirror/CodeMirror.js.map +1 -0
  322. package/dist/esm/extensions/index.js +3 -0
  323. package/dist/esm/extensions/index.js.map +1 -0
  324. package/dist/{es5 → esm}/extensions/react-flow/edges/EdgeDefault.js +1 -1
  325. package/dist/{es5 → esm}/extensions/react-flow/edges/EdgeDefault.js.map +1 -1
  326. package/dist/{es5 → esm}/extensions/react-flow/edges/EdgeStep.js +2 -2
  327. package/dist/{es5 → esm}/extensions/react-flow/edges/EdgeStep.js.map +0 -0
  328. package/dist/{es5 → esm}/extensions/react-flow/edges/EdgeTools.js +2 -2
  329. package/dist/{es5 → esm}/extensions/react-flow/edges/EdgeTools.js.map +0 -0
  330. package/dist/{es5 → esm}/extensions/react-flow/edges/edgeTypes.js +2 -2
  331. package/dist/{es5 → esm}/extensions/react-flow/edges/edgeTypes.js.map +0 -0
  332. package/dist/esm/extensions/react-flow/edges/getSmoothStepPath.js +119 -0
  333. package/dist/esm/extensions/react-flow/edges/getSmoothStepPath.js.map +1 -0
  334. package/dist/{es5 → esm}/extensions/react-flow/edges/utils.js +21 -20
  335. package/dist/esm/extensions/react-flow/edges/utils.js.map +1 -0
  336. package/dist/{es5 → esm}/extensions/react-flow/handles/HandleContent.js +2 -2
  337. package/dist/{es5 → esm}/extensions/react-flow/handles/HandleContent.js.map +0 -0
  338. package/dist/{es5 → esm}/extensions/react-flow/handles/HandleDefault.js +1 -1
  339. package/dist/{es5 → esm}/extensions/react-flow/handles/HandleDefault.js.map +0 -0
  340. package/dist/esm/extensions/react-flow/index.js +12 -0
  341. package/dist/{es5 → esm}/extensions/react-flow/index.js.map +0 -0
  342. package/dist/{es5 → esm}/extensions/react-flow/minimap/MiniMap.js +1 -1
  343. package/dist/{es5 → esm}/extensions/react-flow/minimap/MiniMap.js.map +1 -1
  344. package/dist/{es5 → esm}/extensions/react-flow/minimap/utils.js +2 -2
  345. package/dist/{es5 → esm}/extensions/react-flow/minimap/utils.js.map +0 -0
  346. package/dist/{es5 → esm}/extensions/react-flow/nodes/NodeContent.js +10 -8
  347. package/dist/esm/extensions/react-flow/nodes/NodeContent.js.map +1 -0
  348. package/dist/{es5 → esm}/extensions/react-flow/nodes/NodeContentExtension.js +5 -4
  349. package/dist/esm/extensions/react-flow/nodes/NodeContentExtension.js.map +1 -0
  350. package/dist/{es5 → esm}/extensions/react-flow/nodes/NodeDefault.js +2 -2
  351. package/dist/{es5 → esm}/extensions/react-flow/nodes/NodeDefault.js.map +0 -0
  352. package/dist/{es5 → esm}/extensions/react-flow/nodes/NodeTools.js +14 -12
  353. package/dist/esm/extensions/react-flow/nodes/NodeTools.js.map +1 -0
  354. package/dist/{es5 → esm}/extensions/react-flow/nodes/nodeTypes.js +1 -1
  355. package/dist/{es5 → esm}/extensions/react-flow/nodes/nodeTypes.js.map +0 -0
  356. package/dist/esm/index.js +97 -0
  357. package/dist/{es5 → esm}/index.js.map +1 -1
  358. package/dist/{es5 → esm}/legacy-replacements/Button/AffirmativeButton.js +1 -1
  359. package/dist/{es5 → esm}/legacy-replacements/Button/AffirmativeButton.js.map +0 -0
  360. package/dist/{es5 → esm}/legacy-replacements/Button/Button.js +1 -1
  361. package/dist/{es5 → esm}/legacy-replacements/Button/Button.js.map +0 -0
  362. package/dist/{es5 → esm}/legacy-replacements/Button/DismissiveButton.js +1 -1
  363. package/dist/{es5 → esm}/legacy-replacements/Button/DismissiveButton.js.map +0 -0
  364. package/dist/{es5 → esm}/legacy-replacements/Button/DisruptiveButton.js +1 -1
  365. package/dist/{es5 → esm}/legacy-replacements/Button/DisruptiveButton.js.map +0 -0
  366. package/dist/{es5 → esm}/legacy-replacements/Checkbox/Checkbox.js +1 -1
  367. package/dist/{es5 → esm}/legacy-replacements/Checkbox/Checkbox.js.map +0 -0
  368. package/dist/{es5 → esm}/legacy-replacements/Radio/RadioButton.js +1 -1
  369. package/dist/{es5 → esm}/legacy-replacements/Radio/RadioButton.js.map +0 -0
  370. package/dist/{es5 → esm}/legacy-replacements/Tabs/Tabs.js +1 -1
  371. package/dist/{es5 → esm}/legacy-replacements/Tabs/Tabs.js.map +0 -0
  372. package/dist/{es5 → esm}/legacy-replacements/TextField/TextField.js +4 -4
  373. package/dist/{es5 → esm}/legacy-replacements/TextField/TextField.js.map +0 -0
  374. package/dist/{es5 → esm}/legacy-replacements/index.js +9 -9
  375. package/dist/{es5 → esm}/legacy-replacements/index.js.map +0 -0
  376. package/dist/{es5 → esm}/package.json +0 -0
  377. package/dist/types/cmem/ActivityControl/ActivityControlWidget.d.ts +9 -0
  378. package/dist/types/cmem/ActivityControl/SilkActivityControl.d.ts +2 -0
  379. package/dist/types/cmem/react-flow/configuration/graph.d.ts +1 -2
  380. package/dist/types/cmem/react-flow/configuration/linking.d.ts +1 -2
  381. package/dist/types/cmem/react-flow/configuration/workflow.d.ts +1 -2
  382. package/dist/types/common/utils/stringUtils.d.ts +2 -0
  383. package/dist/types/components/AutoSuggestion/SingleLineCodeEditor.d.ts +1 -1
  384. package/dist/types/components/Card/Card.d.ts +9 -4
  385. package/dist/types/components/Form/FieldItemRow.d.ts +1 -0
  386. package/dist/types/components/MultiSelect/MultiSelect.d.ts +17 -10
  387. package/dist/types/components/Notification/Notification.d.ts +55 -2
  388. package/dist/types/components/OverviewItem/OverviewItemList.d.ts +1 -1
  389. package/dist/types/components/Spinner/Spinner.d.ts +1 -1
  390. package/dist/types/components/Typography/HtmlContentBlock.d.ts +15 -5
  391. package/dist/types/components/Typography/classnames.d.ts +1 -0
  392. package/dist/types/extensions/codemirror/CodeMirror.d.ts +35 -0
  393. package/dist/types/extensions/index.d.ts +2 -0
  394. package/dist/types/extensions/react-flow/edges/getSmoothStepPath.d.ts +18 -0
  395. package/dist/types/extensions/react-flow/nodes/NodeContent.d.ts +8 -2
  396. package/dist/types/extensions/react-flow/nodes/NodeContentExtension.d.ts +5 -1
  397. package/dist/types/extensions/react-flow/nodes/NodeTools.d.ts +7 -1
  398. package/dist/types/index.d.ts +2 -4
  399. package/package.json +29 -19
  400. package/src/cmem/ActivityControl/ActivityControlWidget.stories.tsx +6 -6
  401. package/src/cmem/ActivityControl/ActivityControlWidget.tsx +27 -14
  402. package/src/cmem/ActivityControl/ActivityExecutionErrorReportModal.tsx +11 -3
  403. package/src/cmem/ActivityControl/SilkActivityControl.tsx +5 -1
  404. package/src/cmem/ContentBlobToggler/StringPreviewContentBlobToggler.tsx +1 -1
  405. package/src/cmem/react-flow/_nodes.scss +12 -6
  406. package/src/cmem/react-flow/configuration/_colors-graph.scss +35 -0
  407. package/src/cmem/react-flow/configuration/_colors-linking.scss +29 -0
  408. package/src/cmem/react-flow/configuration/_colors-workflow.scss +22 -0
  409. package/src/cmem/react-flow/configuration/_colors.scss +3 -3
  410. package/src/cmem/react-flow/configuration/graph.ts +0 -2
  411. package/src/cmem/react-flow/configuration/linking.ts +0 -2
  412. package/src/cmem/react-flow/configuration/workflow.ts +0 -2
  413. package/src/common/utils/CssCustomProperties.ts +123 -0
  414. package/src/common/utils/getColorConfiguration.ts +21 -0
  415. package/src/common/utils/stringUtils.ts +2 -0
  416. package/src/components/Accordion/accordion.scss +8 -2
  417. package/src/components/Application/ApplicationContent.tsx +0 -5
  418. package/src/components/Application/ApplicationTitle.tsx +0 -5
  419. package/src/components/AutoSuggestion/AutoSuggestion.tsx +2 -1
  420. package/src/components/AutoSuggestion/SingleLineCodeEditor.tsx +3 -3
  421. package/src/components/AutocompleteField/AutoCompleteField.tsx +6 -4
  422. package/src/components/Breadcrumb/BreadcrumbItem.tsx +5 -5
  423. package/src/components/Breadcrumb/BreadcrumbList.tsx +1 -1
  424. package/src/components/Button/Button.stories.tsx +1 -1
  425. package/src/components/Button/Button.tsx +1 -1
  426. package/src/components/Card/Card.tsx +23 -4
  427. package/src/components/Card/card.scss +4 -0
  428. package/src/components/Checkbox/checkbox.scss +4 -0
  429. package/src/components/Dialog/Modal.tsx +1 -1
  430. package/src/components/Form/FieldItem.tsx +3 -3
  431. package/src/components/Form/FieldItemRow.tsx +3 -5
  432. package/src/components/Form/FieldSet.tsx +1 -0
  433. package/src/components/Icon/IconButton.tsx +2 -2
  434. package/src/components/Iframe/Iframe.tsx +1 -1
  435. package/src/components/Menu/MenuItem.tsx +1 -1
  436. package/src/components/MultiSelect/MultiSelect.stories.tsx +15 -7
  437. package/src/components/MultiSelect/MultiSelect.tsx +65 -62
  438. package/src/components/Notification/Notification.stories.tsx +82 -0
  439. package/src/components/Notification/Notification.tsx +62 -4
  440. package/src/components/Notification/notification.scss +2 -1
  441. package/src/components/OverviewItem/OverviewItemList.tsx +3 -3
  442. package/src/components/RadioButton/radiobutton.scss +4 -0
  443. package/src/components/Spinner/Spinner.tsx +2 -1
  444. package/src/components/Switch/switch.scss +1 -0
  445. package/src/components/Tabs/Tab.tsx +1 -2
  446. package/src/components/Tabs/Tabs.tsx +1 -5
  447. package/src/components/Tabs/stories/Tabs.stories.tsx +3 -3
  448. package/src/components/Tag/TagList.tsx +1 -0
  449. package/src/components/Tag/tag.scss +1 -1
  450. package/src/components/Toolbar/toolbar.scss +1 -1
  451. package/src/components/Typography/HtmlContentBlock.tsx +27 -4
  452. package/src/components/Typography/classnames.ts +1 -0
  453. package/src/components/Typography/typography.scss +8 -0
  454. package/src/extensions/_index.scss +5 -0
  455. package/src/extensions/codemirror/CodeMirror.stories.tsx +26 -0
  456. package/src/extensions/codemirror/CodeMirror.tsx +82 -0
  457. package/src/extensions/codemirror/_codemirror.scss +31 -0
  458. package/src/extensions/index.ts +2 -0
  459. package/src/extensions/react-flow/_react-flow.scss +4 -0
  460. package/src/extensions/react-flow/edges/EdgeDefault.tsx +0 -1
  461. package/src/extensions/react-flow/edges/getSmoothStepPath.ts +118 -0
  462. package/src/extensions/react-flow/edges/utils.ts +21 -29
  463. package/src/extensions/react-flow/minimap/MiniMap.tsx +1 -1
  464. package/src/extensions/react-flow/nodes/NodeContent.tsx +13 -7
  465. package/src/extensions/react-flow/nodes/NodeContentExtension.tsx +6 -0
  466. package/src/extensions/react-flow/nodes/NodeTools.tsx +25 -9
  467. package/src/extensions/react-flow/nodes/_nodes.scss +31 -12
  468. package/src/extensions/react-flow/nodes/stories/NodeContent.stories.tsx +10 -1
  469. package/src/extensions/react-flow/nodes/stories/NodeContentExtension.stories.tsx +23 -0
  470. package/src/index.scss +1 -4
  471. package/src/index.ts +4 -4
  472. package/dist/cjs/cmem/react-flow/configuration/_colors-graph.module.scss +0 -35
  473. package/dist/cjs/cmem/react-flow/configuration/_colors-linking.module.scss +0 -29
  474. package/dist/cjs/cmem/react-flow/configuration/_colors-workflow.module.scss +0 -22
  475. package/dist/es5/cmem/ActivityControl/ActivityControlWidget.js.map +0 -1
  476. package/dist/es5/cmem/ActivityControl/ActivityExecutionErrorReportModal.js.map +0 -1
  477. package/dist/es5/cmem/ActivityControl/index.js +0 -4
  478. package/dist/es5/cmem/ContentBlobToggler/index.js +0 -3
  479. package/dist/es5/cmem/react-flow/configuration/_colors-graph.module.scss +0 -35
  480. package/dist/es5/cmem/react-flow/configuration/_colors-linking.module.scss +0 -29
  481. package/dist/es5/cmem/react-flow/configuration/_colors-workflow.module.scss +0 -22
  482. package/dist/es5/cmem/react-flow/configuration/graph.js.map +0 -1
  483. package/dist/es5/cmem/react-flow/configuration/linking.js.map +0 -1
  484. package/dist/es5/cmem/react-flow/configuration/workflow.js.map +0 -1
  485. package/dist/es5/components/Application/ApplicationContent.js.map +0 -1
  486. package/dist/es5/components/Application/ApplicationTitle.js.map +0 -1
  487. package/dist/es5/components/AutoSuggestion/AutoSuggestion.js.map +0 -1
  488. package/dist/es5/components/AutocompleteField/AutoCompleteField.js.map +0 -1
  489. package/dist/es5/components/Card/Card.js.map +0 -1
  490. package/dist/es5/components/Card/index.js +0 -9
  491. package/dist/es5/components/Form/FieldItemRow.js +0 -24
  492. package/dist/es5/components/Form/FieldItemRow.js.map +0 -1
  493. package/dist/es5/components/Form/FieldSet.js.map +0 -1
  494. package/dist/es5/components/MultiSelect/MultiSelect.js.map +0 -1
  495. package/dist/es5/components/Notification/Notification.js.map +0 -1
  496. package/dist/es5/components/OverviewItem/index.js +0 -8
  497. package/dist/es5/components/PropertyValuePair/index.js +0 -6
  498. package/dist/es5/components/Spinner/Spinner.js.map +0 -1
  499. package/dist/es5/components/Tabs/Tabs.js.map +0 -1
  500. package/dist/es5/components/Tag/TagList.js.map +0 -1
  501. package/dist/es5/components/Typography/HtmlContentBlock.js +0 -30
  502. package/dist/es5/components/Typography/HtmlContentBlock.js.map +0 -1
  503. package/dist/es5/extensions/react-flow/edges/utils.js.map +0 -1
  504. package/dist/es5/extensions/react-flow/index.js +0 -12
  505. package/dist/es5/extensions/react-flow/nodes/NodeContent.js.map +0 -1
  506. package/dist/es5/extensions/react-flow/nodes/NodeContentExtension.js.map +0 -1
  507. package/dist/es5/extensions/react-flow/nodes/NodeTools.js.map +0 -1
  508. package/dist/es5/index.js +0 -99
  509. package/src/cmem/react-flow/configuration/_colors-graph.module.scss +0 -35
  510. package/src/cmem/react-flow/configuration/_colors-linking.module.scss +0 -29
  511. package/src/cmem/react-flow/configuration/_colors-workflow.module.scss +0 -22
@@ -2,15 +2,34 @@ import React from "react";
2
2
  import { CLASSPREFIX as eccgui } from "../../configuration/constants";
3
3
  import * as TypographyClassNames from "./classnames";
4
4
 
5
+ // FIXME: CMEM-3742: comment + add story
6
+
7
+ export interface HtmlContentBlockProps extends React.HTMLAttributes<HTMLDivElement> {
8
+ className?: string;
9
+ small?: boolean;
10
+ /** currently not supported */
11
+ large?: boolean;
12
+ /** currently not supported */
13
+ muted ?: boolean;
14
+ /** currently not supported */
15
+ disabled?: boolean;
16
+ linebreakForced?: boolean;
17
+ linebreakPrevented?: boolean;
18
+ noScrollbarsOnChildren?: boolean;
19
+ }
20
+
5
21
  function HtmlContentBlock({
6
22
  className = "",
7
23
  children,
8
24
  small = false,
9
- large = false, // currently unsupported
10
- muted = false, // currently unsupported
11
- disabled = false, // currently unsupported
25
+ large = false,
26
+ muted = false,
27
+ disabled = false,
28
+ linebreakForced = false,
29
+ linebreakPrevented = false,
30
+ noScrollbarsOnChildren = false,
12
31
  ...otherProps
13
- }: any) {
32
+ }: HtmlContentBlockProps) {
14
33
  return (
15
34
  <div
16
35
  className={
@@ -19,8 +38,12 @@ function HtmlContentBlock({
19
38
  (small ? " " + TypographyClassNames.SMALL : "") +
20
39
  (large ? " " + TypographyClassNames.LARGE : "") +
21
40
  (muted ? " " + TypographyClassNames.MUTED : "") +
41
+ (linebreakForced ? " " + TypographyClassNames.FORCELINEBREAK : "") +
42
+ (linebreakPrevented ? " " + TypographyClassNames.PREVENTLINEBREAK : "") +
43
+ (noScrollbarsOnChildren ? " " + TypographyClassNames.NOSCROLLBARSONCHILDREN : "") +
22
44
  (disabled ? " " + TypographyClassNames.DISABLED : "")
23
45
  }
46
+ {...otherProps}
24
47
  >
25
48
  {children}
26
49
  </div>
@@ -4,6 +4,7 @@ import { CLASSPREFIX as eccgui } from "../../configuration/constants";
4
4
  export const NOOVERFLOW = eccgui + "-typography--nooverflow";
5
5
  export const FORCELINEBREAK = eccgui + "-typography--forcelinebreak";
6
6
  export const PREVENTLINEBREAK = eccgui + "-typography--preventlinebreak";
7
+ export const NOSCROLLBARSONCHILDREN = eccgui + "-typography--noscrollbarsonchildren";
7
8
  export const LARGE = eccgui + "-typography--large";
8
9
  export const SMALL = eccgui + "-typography--small";
9
10
  export const MUTED = eccgui + "-typography--muted";
@@ -261,6 +261,14 @@ table {
261
261
  white-space: nowrap;
262
262
  }
263
263
 
264
+ .#{$eccgui}-typography--noscrollbarsonchildren * {
265
+ overflow: visible;
266
+
267
+ pre {
268
+ width: fit-content;
269
+ }
270
+ }
271
+
264
272
  // white spaces
265
273
  @each $whitespacePlace in ("margin", "padding") {
266
274
  @each $whitespaceDirection in ("top", "right", "bottom", "left") {
@@ -1 +1,6 @@
1
1
  @import "./react-flow/react-flow";
2
+ /*
3
+ CodeMirror styles are already included by the base component styles
4
+ because it is used as lib for elements there already.
5
+ @import "./codemirror/codemirror";
6
+ */
@@ -0,0 +1,26 @@
1
+ import React from "react";
2
+ import { ComponentStory, ComponentMeta } from "@storybook/react";
3
+
4
+ import { CodeEditor } from "./CodeMirror";
5
+
6
+ export default {
7
+ title: "Extensions/CodeEditor",
8
+ component: CodeEditor,
9
+ //parameters: { actions: { argTypesRegex: '^on.*' } },
10
+ argTypes: {
11
+ onChange: {
12
+ action: "value changed"
13
+ }
14
+ },
15
+ } as ComponentMeta<typeof CodeEditor>;
16
+
17
+ const TemplateFull: ComponentStory<typeof CodeEditor> = (args) => (
18
+ <CodeEditor {...args} />
19
+ );
20
+
21
+ export const BasicExample = TemplateFull.bind({});
22
+ BasicExample.args = {
23
+ name: "codeinput",
24
+ mode: "markdown",
25
+ defaultValue: "**test me**",
26
+ };
@@ -0,0 +1,82 @@
1
+ import React, { useEffect, useRef } from "react";
2
+ import CodeMirror from "codemirror";
3
+ import { CLASSPREFIX as eccgui } from "../../configuration/constants";
4
+ import "codemirror/mode/markdown/markdown.js";
5
+ import "codemirror/mode/python/python.js";
6
+ import "codemirror/mode/sparql/sparql.js";
7
+ import "codemirror/mode/sql/sql.js";
8
+ import "codemirror/mode/turtle/turtle.js";
9
+ import "codemirror/mode/xml/xml.js";
10
+
11
+ export interface CodeEditorProps {
12
+ /**
13
+ * `name` attribute of connected textarea element.
14
+ */
15
+ name: string;
16
+ /**
17
+ * `id` attribute of connected textarea element.
18
+ * If not set then the default value is created by `codemirror-${name-attribute}`.
19
+ */
20
+ id?: string;
21
+ /**
22
+ * Handler method to receive onChange events.
23
+ * As input the new value is given.
24
+ */
25
+ onChange: (v: any) => void;
26
+ /**
27
+ * Syntax mode of the code editor.
28
+ */
29
+ mode?: "markdown" | "python" | "sparql" | "sql" | "turtle" | "xml" | "undefined";
30
+ /**
31
+ * Default value used first when the editor is instanciated.
32
+ */
33
+ defaultValue?: any;
34
+ }
35
+
36
+ /**
37
+ * Includes a code editor, currently we use CodeMirror library as base.
38
+ */
39
+ export const CodeEditor = ({
40
+ onChange,
41
+ name,
42
+ id,
43
+ mode = "undefined",
44
+ defaultValue
45
+ }: CodeEditorProps) => {
46
+ const domRef = useRef<HTMLTextAreaElement>(null);
47
+
48
+ useEffect(() => {
49
+ const editorInstance = CodeMirror.fromTextArea(domRef.current!, {
50
+ mode: mode === "undefined" ? undefined : mode,
51
+ lineWrapping: true,
52
+ lineNumbers: true,
53
+ tabSize: 2,
54
+ theme: "xq-light",
55
+ });
56
+
57
+ editorInstance.on("change", (api) => {
58
+ onChange(api.getValue());
59
+ });
60
+
61
+ return function cleanup() {
62
+ editorInstance.toTextArea();
63
+ };
64
+ }, [onChange, mode]);
65
+
66
+ return (
67
+ <div className={`${eccgui}-codeeditor`}>
68
+ <textarea
69
+ ref={domRef}
70
+ /**
71
+ * FIXME: same `data-test-id` for multiple code editor elements are valid
72
+ * but may not make really sense for testing purposes. Currently let it
73
+ * unchanged from the code what was took over here.
74
+ */
75
+ data-test-id="codemirror-wrapper"
76
+ id={!!id ? id : `codemirror-${name}`}
77
+ name={name}
78
+ defaultValue={defaultValue}
79
+ />
80
+ </div>
81
+ );
82
+ }
@@ -0,0 +1,31 @@
1
+ @import "~codemirror/lib/codemirror.css";
2
+ @import "~codemirror/theme/xq-light.css";
3
+
4
+ // adjustments
5
+
6
+ .#{$eccgui}-codeeditor {
7
+ .CodeMirror {
8
+ border-radius: $pt-border-radius;
9
+
10
+ // get them a "border" like input boxes from blueprintjs
11
+ box-shadow: input-transition-shadow($input-shadow-color-focus), $pt-input-box-shadow;
12
+ &.CodeMirror-focused {
13
+ box-shadow: input-transition-shadow($input-shadow-color-focus, true), $input-box-shadow-focus;
14
+ }
15
+
16
+ .CodeMirror-gutters {
17
+ // allow "borders" to shine through
18
+ background-color: rgba(0,0,0,0.05);
19
+ }
20
+
21
+ .CodeMirror-scroll {
22
+ cursor: text;
23
+ }
24
+ }
25
+ }
26
+
27
+ .#{$prefix}--accordion__content {
28
+ .CodeMirror-scroll, .CodeMirror-sizer, .CodeMirror-gutter, .CodeMirror-gutters, .CodeMirror-linenumber {
29
+ box-sizing: content-box;
30
+ }
31
+ }
@@ -0,0 +1,2 @@
1
+ export * from "./codemirror/CodeMirror";
2
+ export * from "./react-flow";
@@ -3,3 +3,7 @@
3
3
  @import "edges/edges";
4
4
  @import "handles/handles";
5
5
  @import "minimap/minimap";
6
+
7
+ .react-flow__background {
8
+ border: solid 1px $eccgui-color-separation-divider;
9
+ }
@@ -67,7 +67,6 @@ export const EdgeDefault = memo(
67
67
  <path
68
68
  d={pathDisplay}
69
69
  className="react-flow__edge-path"
70
-
71
70
  markerEnd={markerEnd}
72
71
  />
73
72
  { edgeLabel }
@@ -0,0 +1,118 @@
1
+ /**
2
+ * Copied from `react-flow` because we need to change there routing.
3
+ * We use the 10.2.0cversion minus commit 87d518f8b5540a91a3f9c163a2315c2de47abc31
4
+ * @see https://github.com/wbkd/react-flow/commit/87d518f8b5540a91a3f9c163a2315c2de47abc31
5
+ */
6
+
7
+ import { getEdgeCenter as getCenter, Position } from "react-flow-renderer";
8
+
9
+ // These are some helper methods for drawing the round corners
10
+ // The name indicates the direction of the path. "bottomLeftCorner" goes
11
+ // from bottom to the left and "leftBottomCorner" goes from left to the bottom.
12
+ // We have to consider the direction of the paths because of the animated lines.
13
+ const bottomLeftCorner = (x: number, y: number, size: number): string =>
14
+ `L ${x},${y - size}Q ${x},${y} ${x + size},${y}`;
15
+ const leftBottomCorner = (x: number, y: number, size: number): string =>
16
+ `L ${x + size},${y}Q ${x},${y} ${x},${y - size}`;
17
+ const bottomRightCorner = (x: number, y: number, size: number): string =>
18
+ `L ${x},${y - size}Q ${x},${y} ${x - size},${y}`;
19
+ const rightBottomCorner = (x: number, y: number, size: number): string =>
20
+ `L ${x - size},${y}Q ${x},${y} ${x},${y - size}`;
21
+ const leftTopCorner = (x: number, y: number, size: number): string => `L ${x + size},${y}Q ${x},${y} ${x},${y + size}`;
22
+ const topLeftCorner = (x: number, y: number, size: number): string => `L ${x},${y + size}Q ${x},${y} ${x + size},${y}`;
23
+ const topRightCorner = (x: number, y: number, size: number): string => `L ${x},${y + size}Q ${x},${y} ${x - size},${y}`;
24
+ const rightTopCorner = (x: number, y: number, size: number): string => `L ${x - size},${y}Q ${x},${y} ${x},${y + size}`;
25
+
26
+ export interface GetSmoothStepPathParams {
27
+ sourceX: number;
28
+ sourceY: number;
29
+ sourcePosition?: Position;
30
+ targetX: number;
31
+ targetY: number;
32
+ targetPosition?: Position;
33
+ borderRadius?: number;
34
+ centerX?: number;
35
+ centerY?: number;
36
+ }
37
+
38
+ export function getSmoothStepPath({
39
+ sourceX,
40
+ sourceY,
41
+ sourcePosition = Position.Bottom,
42
+ targetX,
43
+ targetY,
44
+ targetPosition = Position.Top,
45
+ borderRadius = 5,
46
+ centerX,
47
+ centerY,
48
+ }: GetSmoothStepPathParams): string {
49
+ const [_centerX, _centerY, offsetX, offsetY] = getCenter({ sourceX, sourceY, targetX, targetY });
50
+ const cornerWidth = Math.min(borderRadius, Math.abs(targetX - sourceX));
51
+ const cornerHeight = Math.min(borderRadius, Math.abs(targetY - sourceY));
52
+ const cornerSize = Math.min(cornerWidth, cornerHeight, offsetX, offsetY);
53
+ const cX = typeof centerX !== 'undefined' ? centerX : _centerX;
54
+ const cY = typeof centerY !== 'undefined' ? centerY : _centerY;
55
+
56
+ let firstCornerPath = "";
57
+ let secondCornerPath = "";
58
+
59
+ if (sourceX <= targetX) {
60
+ if (sourceY <= targetY) {
61
+ firstCornerPath = bottomLeftCorner(sourceX, cY, cornerSize);
62
+ secondCornerPath = rightTopCorner(targetX, cY, cornerSize);
63
+ if (sourcePosition === Position.Right) {
64
+ if (targetPosition === Position.Left) {
65
+ firstCornerPath = rightTopCorner(cX, sourceY, cornerSize);
66
+ secondCornerPath = bottomLeftCorner(cX, targetY, cornerSize);
67
+ }
68
+ } else {
69
+ if (targetPosition === Position.Left) {
70
+ // no change
71
+ }
72
+ }
73
+ } else {
74
+ firstCornerPath = topLeftCorner(sourceX, cY, cornerSize);
75
+ secondCornerPath = rightBottomCorner(targetX, cY, cornerSize);
76
+ if (sourcePosition === Position.Right) {
77
+ if (targetPosition === Position.Left) {
78
+ firstCornerPath = rightBottomCorner(cX, sourceY, cornerSize);
79
+ secondCornerPath = topLeftCorner(cX, targetY, cornerSize);
80
+ }
81
+ } else {
82
+ if (targetPosition === Position.Left) {
83
+ // no change
84
+ }
85
+ }
86
+ }
87
+ } else {
88
+ if (sourceY <= targetY) {
89
+ firstCornerPath = bottomRightCorner(sourceX, cY, cornerSize);
90
+ secondCornerPath = leftTopCorner(targetX, cY, cornerSize);
91
+ if (sourcePosition === Position.Left) {
92
+ if (targetPosition === Position.Right) {
93
+ firstCornerPath = leftTopCorner(cX, sourceY, cornerSize);
94
+ secondCornerPath = bottomRightCorner(cX, targetY, cornerSize);
95
+ }
96
+ } else {
97
+ if (targetPosition === Position.Right) {
98
+ // no change
99
+ }
100
+ }
101
+ } else {
102
+ firstCornerPath = topRightCorner(sourceX, cY, cornerSize);
103
+ secondCornerPath = leftBottomCorner(targetX, cY, cornerSize);
104
+ if (sourcePosition === Position.Left) {
105
+ if (targetPosition === Position.Right) {
106
+ firstCornerPath = leftBottomCorner(cX, sourceY, cornerSize);
107
+ secondCornerPath = topRightCorner(cX, targetY, cornerSize);
108
+ }
109
+ } else {
110
+ if (targetPosition === Position.Right) {
111
+ // no change
112
+ }
113
+ }
114
+ }
115
+ }
116
+
117
+ return `M ${sourceX},${sourceY}${firstCornerPath}${secondCornerPath}L ${targetX},${targetY}`;
118
+ }
@@ -1,6 +1,7 @@
1
1
  import { EdgeDefaultProps } from "./EdgeDefault";
2
2
  import { EdgeStepProps } from "./EdgeStep";
3
- import { getSmoothStepPath, Position } from "react-flow-renderer";
3
+ import { Position } from "react-flow-renderer";
4
+ import { getSmoothStepPath } from "./getSmoothStepPath";
4
5
 
5
6
  interface EdgePositionCorrectionProps extends Omit<EdgeDefaultProps, "id" | "source" | "target" | "drawSvgPath" | "data"> {
6
7
  correctionLength?: number;
@@ -25,58 +26,49 @@ const posCorrectionEdge = ({
25
26
  let endCommandCorrection = ``;
26
27
 
27
28
  if (sourcePosition === Position.Left && sourceX < targetX) {
28
- newSourceX = newSourceX - correctionLength;
29
+ newSourceX = newSourceX - 2 * correctionLength;
29
30
  if (sourceY < targetY) {
30
- newSourceY = sourceY + 2 * correctionRadius;
31
- startCommandCorrection = startCommandCorrection + ` L ${newSourceX},${sourceY} A ${correctionRadius} ${correctionRadius} ${180} ${1} ${0} `;
31
+ newSourceY = sourceY + correctionRadius;
32
+ startCommandCorrection = startCommandCorrection + ` L ${newSourceX + correctionRadius},${sourceY} A ${correctionRadius} ${correctionRadius} ${90} ${0} ${0} `;
32
33
  } else {
33
- newSourceY = sourceY - 2 * correctionRadius;
34
- startCommandCorrection = startCommandCorrection + ` L ${newSourceX},${sourceY} A ${correctionRadius} ${correctionRadius} ${180} ${1} ${1} `;
34
+ newSourceY = sourceY - correctionRadius;
35
+ startCommandCorrection = startCommandCorrection + ` L ${newSourceX + correctionRadius},${sourceY} A ${correctionRadius} ${correctionRadius} ${90} ${0} ${1} `;
35
36
  }
36
37
  }
37
38
 
38
39
  if (sourcePosition === Position.Right && sourceX > targetX) {
39
40
  newSourceX = targetPosition === Position.Right ? newSourceX + correctionLength + correctionRadius : newSourceX + correctionLength;
40
41
  if (sourceY < targetY) {
41
- newSourceY = targetPosition === Position.Right ? sourceY + 1 * correctionRadius : sourceY + 2 * correctionRadius;
42
- startCommandCorrection = targetPosition === Position.Right ? (
43
- startCommandCorrection + ` L ${newSourceX - correctionRadius},${sourceY} A ${correctionRadius} ${correctionRadius} ${90} ${0} ${1} `
44
- ) : (
45
- startCommandCorrection + ` L ${newSourceX},${sourceY} A ${correctionRadius} ${correctionRadius} ${180} ${1} ${1} `
46
- );
42
+ newSourceY = sourceY + correctionRadius;
43
+ startCommandCorrection = startCommandCorrection + ` L ${newSourceX - correctionRadius},${sourceY} A ${correctionRadius} ${correctionRadius} ${90} ${0} ${1} `;
47
44
  } else {
48
- newSourceY = targetPosition === Position.Right ? sourceY - 1 * correctionRadius : sourceY - 2 * correctionRadius;
49
- startCommandCorrection = targetPosition === Position.Right ? (
50
- startCommandCorrection + ` L ${newSourceX - correctionRadius},${sourceY} A ${correctionRadius} ${correctionRadius} ${90} ${0} ${0} `
51
- ) : (
52
- startCommandCorrection + ` L ${newSourceX},${sourceY} A ${correctionRadius} ${correctionRadius} ${180} ${1} ${0} `
53
- );
45
+ newSourceY = sourceY - correctionRadius;
46
+ startCommandCorrection = startCommandCorrection + ` L ${newSourceX - correctionRadius},${sourceY} A ${correctionRadius} ${correctionRadius} ${90} ${0} ${0} `;
54
47
  }
55
48
  }
56
49
 
57
50
  if (targetPosition === Position.Left && sourceX > targetX) {
58
- newTargetX = newTargetX - correctionLength;
51
+ newTargetX = newTargetX - 3 * correctionLength;
59
52
  if (sourceY < targetY) {
60
- newTargetY = targetY - 2 * correctionRadius;
61
- endCommandCorrection = ` A ${correctionRadius} ${correctionRadius} ${180} ${1} ${0} ${newTargetX},${targetY} L ${targetX},${targetY}`;
53
+ newTargetY = targetY - correctionRadius;
54
+ endCommandCorrection = ` A ${correctionRadius} ${correctionRadius} ${90} ${0} ${0} ${newTargetX + correctionRadius},${targetY} L ${targetX},${targetY}`;
62
55
  } else {
63
- newTargetY = targetY + 2 * correctionRadius;
64
- endCommandCorrection = ` A ${correctionRadius} ${correctionRadius} ${180} ${1} ${1} ${newTargetX},${targetY} L ${targetX},${targetY}`;
56
+ newTargetY = targetY + correctionRadius;
57
+ endCommandCorrection = ` A ${correctionRadius} ${correctionRadius} ${90} ${0} ${1} ${newTargetX + correctionRadius},${targetY} L ${targetX},${targetY}`;
65
58
  }
66
59
  }
67
60
 
68
61
  if (targetPosition === Position.Right && sourceX < targetX) {
69
- newTargetX = newTargetX + correctionLength;
62
+ newTargetX = newTargetX + 3 * correctionLength;
70
63
  if (sourceY < targetY) {
71
- newTargetY = targetY - 2 * correctionRadius;
72
- endCommandCorrection = ` A ${correctionRadius} ${correctionRadius} ${180} ${1} ${1} ${newTargetX},${targetY} L ${targetX},${targetY}`;
64
+ newTargetY = targetY - correctionRadius;
65
+ endCommandCorrection = ` A ${correctionRadius} ${correctionRadius} ${90} ${0} ${1} ${newTargetX - correctionRadius},${targetY} L ${targetX},${targetY}`;
73
66
  } else {
74
- newTargetY = targetY + 2 * correctionRadius;
75
- endCommandCorrection = ` A ${correctionRadius} ${correctionRadius} ${180} ${1} ${0} ${newTargetX},${targetY} L ${targetX},${targetY}`;
67
+ newTargetY = targetY + correctionRadius;
68
+ endCommandCorrection = ` A ${correctionRadius} ${correctionRadius} ${90} ${0} ${0} ${newTargetX - correctionRadius},${targetY} L ${targetX},${targetY}`;
76
69
  }
77
70
  }
78
71
 
79
-
80
72
  return {
81
73
  newSourceX,
82
74
  newSourceY,
@@ -91,7 +91,7 @@ export const MiniMap = memo(({
91
91
  /**
92
92
  enables the mini-map fake drag effect see "handleMiniMapMouseMove" above.
93
93
  **/
94
- const handleMiniMapMouseDown = (event: any) => {
94
+ const handleMiniMapMouseDown = () => {
95
95
  if (enableNavigation && flowInstance) { minimapCalcConf.navigationOn = true; }
96
96
  };
97
97
 
@@ -7,6 +7,7 @@ import { CLASSPREFIX as eccgui } from "../../../configuration/constants";
7
7
  import {ValidIconName} from "../../../components/Icon/canonicalIconNames";
8
8
  import { HandleDefault, HandleProps } from "./../handles/HandleDefault";
9
9
  import { NodeProps } from "./NodeDefault";
10
+ import { NodeContentExtensionProps } from "./NodeContentExtension";
10
11
 
11
12
  export type HighlightingState = "success" | "warning" | "danger" | "match" | "altmatch";
12
13
 
@@ -35,7 +36,7 @@ interface NodeContentData<CONTENT_PROPS = any> {
35
36
  /**
36
37
  * Content extension, displayed at the bottom side of a node.
37
38
  */
38
- contentExtension?: React.ReactNode;
39
+ contentExtension?: React.ReactElement<NodeContentExtensionProps>;
39
40
  }
40
41
 
41
42
  export interface NodeContentProps<NODE_DATA, NODE_CONTENT_PROPS = any> extends NodeContentData, React.HTMLAttributes<HTMLDivElement> {
@@ -124,6 +125,11 @@ export interface NodeContentProps<NODE_DATA, NODE_CONTENT_PROPS = any> extends N
124
125
  * If set then it will be always overwritten internally.
125
126
  */
126
127
  selected?: boolean;
128
+ /**
129
+ * Allow react flow wheel events, e.g. for zooming using the mouse wheel over a node.
130
+ * If this is allowed scrolling inside a node is not possible.
131
+ */
132
+ letPassWheelEvents?: boolean;
127
133
  }
128
134
 
129
135
  interface MemoHandlerProps extends HandleProps {
@@ -226,6 +232,7 @@ const MemoHandler = React.memo(
226
232
  sourcePosition = Position.Right,
227
233
  isConnectable = true,
228
234
  selected,
235
+ letPassWheelEvents = false,
229
236
  // businessData is just being ignored
230
237
  businessData,
231
238
  // other props for DOM element
@@ -279,7 +286,8 @@ const MemoHandler = React.memo(
279
286
  ` ${eccgui}-graphviz__node--minimal-${minimalShape}` +
280
287
  (!!highlightedState ? " " + gethighlightedStateClasses(highlightedState, `${eccgui}-graphviz__node`) : "") +
281
288
  (animated ? ` ${eccgui}-graphviz__node--animated` : "") +
282
- (showUnconnectableHandles === false ? ` ${eccgui}-graphviz__node--hidehandles` : "")
289
+ (showUnconnectableHandles === false ? ` ${eccgui}-graphviz__node--hidehandles` : "") +
290
+ (letPassWheelEvents === false ? ` nowheel` : "")
283
291
  }
284
292
  >
285
293
  <header className={`${eccgui}-graphviz__node__header`}>
@@ -311,11 +319,9 @@ const MemoHandler = React.memo(
311
319
  {typeof content === "function" ? content(adjustedContentProps) : content}
312
320
  </div>
313
321
  )}
314
- {contentExtension && (
315
- <div className={`${eccgui}-graphviz__node__footer`}>
316
- {contentExtension}
317
- </div>
318
- )}
322
+ <div className={`${eccgui}-graphviz__node__footer`}>
323
+ </div>
324
+ {contentExtension}
319
325
  </section>
320
326
  {!!handles && (
321
327
  <>
@@ -3,6 +3,10 @@ import { CLASSPREFIX as eccgui } from "../../../configuration/constants";
3
3
  import IconButton from "../../../components/Icon/IconButton";
4
4
 
5
5
  export interface NodeContentExtensionProps extends React.HTMLAttributes<HTMLDivElement> {
6
+ /**
7
+ * When enabled the element is displayed in a way that it does not count into the node size calculation.
8
+ */
9
+ slideOutOfNode?: boolean;
6
10
  /**
7
11
  * Element is displayed in expanded state.
8
12
  * If it has no `onToggle` handler property set then it is always expanded.
@@ -33,6 +37,7 @@ export interface NodeContentExtensionProps extends React.HTMLAttributes<HTMLDivE
33
37
  */
34
38
  export const NodeContentExtension = ({
35
39
  children,
40
+ slideOutOfNode = false,
36
41
  isExpanded = false,
37
42
  onToggle = undefined,
38
43
  actionButtons,
@@ -50,6 +55,7 @@ export const NodeContentExtension = ({
50
55
  {...otherProps}
51
56
  className={
52
57
  `${eccgui}-graphviz__node__extension` +
58
+ (slideOutOfNode ? ` ${eccgui}-graphviz__node__extension--slideout` : "") +
53
59
  (expanded ? ` ${eccgui}-graphviz__node__extension--expanded` : "")
54
60
  }
55
61
  >
@@ -1,4 +1,4 @@
1
- import React, {memo, useState} from "react";import {
1
+ import React, {memo, useEffect, useState} from "react";import {
2
2
  IPopoverProps as IBlueprintPopoverProps,
3
3
  PopoverInteractionKind as BlueprintPopoverInteractionKind,
4
4
  } from "@blueprintjs/core";
@@ -11,6 +11,14 @@ export interface NodeToolsProps extends IBlueprintPopoverProps {
11
11
  togglerElement?: ValidIconName | JSX.Element;
12
12
  togglerText?: string;
13
13
  menuButtonDataTestId?: string
14
+ /** If defined this function will be called with the menu API object to be used externally. */
15
+ menuFunctionsCallback?: (menuFunctions: NodeToolsMenuFunctions) => any
16
+ }
17
+
18
+ // Functions regarding the menu that can be called from the outside
19
+ export interface NodeToolsMenuFunctions {
20
+ /** Closes the menu if its open. */
21
+ closeMenu: () => void
14
22
  }
15
23
 
16
24
  export const NodeTools = memo(({
@@ -18,16 +26,25 @@ export const NodeTools = memo(({
18
26
  togglerElement = "item-moremenu",
19
27
  togglerText = "Show more options",
20
28
  menuButtonDataTestId,
29
+ menuFunctionsCallback,
21
30
  ...otherOverlayProps
22
31
  }: NodeToolsProps) => {
23
- const [isOpened, toggleIsOpened] = useState<boolean>(false);
32
+ const [isOpen, setIsOpen] = useState<boolean>(false);
33
+
34
+ useEffect(() => {
35
+ menuFunctionsCallback && menuFunctionsCallback({
36
+ closeMenu(): void {
37
+ setIsOpen(false)
38
+ }
39
+ })
40
+ }, [menuFunctionsCallback])
24
41
 
25
42
  return (
26
43
  <ContextOverlay
27
- defaultIsOpen={isOpened}
28
- interactionKind={isOpened ? BlueprintPopoverInteractionKind.HOVER : BlueprintPopoverInteractionKind.CLICK}
29
- onOpening={() => { toggleIsOpened(true); }}
30
- onClosing={() => { toggleIsOpened(false); }}
44
+ isOpen={isOpen}
45
+ onClose={() => setIsOpen(false)}
46
+ hoverCloseDelay={500}
47
+ interactionKind={isOpen ? BlueprintPopoverInteractionKind.HOVER : BlueprintPopoverInteractionKind.CLICK}
31
48
  {...otherOverlayProps}
32
49
  >
33
50
  {typeof togglerElement === "string" ? (
@@ -35,9 +52,8 @@ export const NodeTools = memo(({
35
52
  data-test-id={menuButtonDataTestId}
36
53
  name={togglerElement}
37
54
  text={togglerText}
38
- onMouseUp={() => {
39
- if (isOpened) { toggleIsOpened(false) };
40
- }}/>
55
+ onClick={() => setIsOpen(previous => !previous)}
56
+ />
41
57
  ) : (
42
58
  { togglerElement }
43
59
  )}