@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
@@ -1,12 +1,14 @@
1
1
  import React from "react";
2
- import { Intent as BlueprintIntent } from "@blueprintjs/core";
3
- import { MultiSelect as BlueprintMultiSelect, MultiSelectProps, IItemRendererProps } from "@blueprintjs/select";
2
+ import {Intent as BlueprintIntent} from "@blueprintjs/core";
3
+ import {IItemRendererProps, MultiSelect as BlueprintMultiSelect, MultiSelectProps} from "@blueprintjs/select";
4
4
  import MenuItem from "../Menu/MenuItem";
5
5
  import Highlighter from "../Typography/Highlighter";
6
6
  import Button from "../Button/Button";
7
7
  import OverflowText from "../Typography/OverflowText";
8
+ import {HTMLInputProps} from "@blueprintjs/core/src/common/props";
9
+ import {removeExtraSpaces} from "../../common/utils/stringUtils";
8
10
 
9
- interface SelectedParamsType<T> {
11
+ export interface SelectedParamsType<T> {
10
12
  newlySelected: T;
11
13
  selectedItems: T[];
12
14
  createdItems: Partial<T>[];
@@ -14,18 +16,14 @@ interface SelectedParamsType<T> {
14
16
 
15
17
  interface IProps<T> extends Pick<MultiSelectProps<T>, "items" | "placeholder" | "openOnKeyDown"> {
16
18
  /**
17
- * field in an item, that differentiates on item from the other.
19
+ * Returns the unique ID of an item. This will be used for equality of items.
18
20
  */
19
- equalityProp: string;
21
+ itemId: (item: T) => string;
20
22
  /**
21
- * field in the item object that would be used to describe the item.
23
+ * Returns the label of an item.
22
24
  * this would be used in the item selection list as well as the multi-select input
23
25
  */
24
- labelProp: string;
25
- /**
26
- * if new items that are not in the original item list can be created and appended
27
- */
28
- canCreateNewItem?: boolean;
26
+ itemLabel: (item: T) => string;
29
27
  /**
30
28
  * When set to true will set the multi-select value with all the items provided
31
29
  */
@@ -43,6 +41,9 @@ interface IProps<T> extends Pick<MultiSelectProps<T>, "items" | "placeholder" |
43
41
  */
44
42
  tagInputProps?: MultiSelectProps<T>["tagInputProps"];
45
43
 
44
+ /** Additional properties for the (query) input field of the multi-selection. */
45
+ inputProps?: HTMLInputProps;
46
+
46
47
  /**
47
48
  * prop to listen for query changes, when text is entered in the multi-select input
48
49
  */
@@ -62,6 +63,14 @@ interface IProps<T> extends Pick<MultiSelectProps<T>, "items" | "placeholder" |
62
63
  * If omitted, "No results." will be rendered in this case.
63
64
  */
64
65
  newItemCreationText?: string;
66
+ /**
67
+ * Allows to creates new item from a given query. If this is not provided then no new items can be created.
68
+ */
69
+ createNewItemFromQuery?: (query: string) => T
70
+ /**
71
+ * Items that were newly created and not taken from the list will be post-fixed with this string.
72
+ */
73
+ newItemPostfix?: string
65
74
  /**
66
75
  * The input element is displayed with primary color scheme.
67
76
  */
@@ -87,21 +96,23 @@ interface IProps<T> extends Pick<MultiSelectProps<T>, "items" | "placeholder" |
87
96
  function MultiSelect<T>({
88
97
  items,
89
98
  prePopulateWithItems,
90
- equalityProp,
91
- labelProp,
99
+ itemId,
100
+ itemLabel,
92
101
  onSelection,
93
- canCreateNewItem,
94
102
  popoverProps,
95
103
  tagInputProps,
104
+ inputProps,
96
105
  runOnQueryChange,
97
106
  fullWidth = true,
98
107
  noResultText = "No results.",
99
- newItemCreationText = "Add new tag",
108
+ newItemCreationText = "Add new item",
109
+ newItemPostfix = " (new item)",
100
110
  hasStatePrimary,
101
111
  hasStateDanger,
102
112
  hasStateSuccess,
103
113
  hasStateWarning,
104
114
  disabled,
115
+ createNewItemFromQuery,
105
116
  ...otherProps
106
117
  }: IProps<T>) {
107
118
  const [createdItems, setCreatedItems] = React.useState<T[]>([]);
@@ -111,7 +122,7 @@ function MultiSelect<T>({
111
122
  const [query, setQuery] = React.useState<string | undefined>(undefined);
112
123
  //currently focused element in popover list
113
124
  const [focusedItem, setFocusedItem] = React.useState<T | null>(null);
114
- const tagInputRef = React.useRef<any>();
125
+ const inputRef = React.useRef<HTMLInputElement>(null);
115
126
 
116
127
  let intent;
117
128
  switch (true) {
@@ -138,7 +149,7 @@ function MultiSelect<T>({
138
149
  setItemsCopy([...items, ...createdItems]);
139
150
  setFilteredItemList([...items, ...createdItems]);
140
151
  /* eslint-disable react-hooks/exhaustive-deps */
141
- }, [items.map((item) => item[equalityProp as keyof T]).join("|")]);
152
+ }, [items.map((item) => itemId(item)).join("|")]);
142
153
 
143
154
  React.useEffect(() => {
144
155
  onSelection &&
@@ -150,8 +161,8 @@ function MultiSelect<T>({
150
161
  /* eslint-disable react-hooks/exhaustive-deps */
151
162
  }, [
152
163
  onSelection,
153
- selectedItems.map((item) => item[equalityProp as keyof T]).join("|"),
154
- createdItems.map((item) => item[equalityProp as keyof T]).join("|"),
164
+ selectedItems.map((item) => itemId(item)).join("|"),
165
+ createdItems.map((item) => itemId(item)).join("|"),
155
166
  ]);
156
167
 
157
168
  /**
@@ -160,7 +171,7 @@ function MultiSelect<T>({
160
171
  * @returns
161
172
  */
162
173
  const itemHasBeenSelectedAlready = (matcher: string) => {
163
- return !!selectedItems.find((item) => String(item[equalityProp as keyof typeof item]).toString() === matcher);
174
+ return !!selectedItems.find((item) => itemId(item) === matcher);
164
175
  };
165
176
 
166
177
  /**
@@ -168,7 +179,7 @@ function MultiSelect<T>({
168
179
  * @param matcher
169
180
  */
170
181
  const removeItemSelection = (matcher: string) => {
171
- setSelectedItems((items) => items.filter((t) => String(t[equalityProp as keyof typeof t]).toString() !== matcher));
182
+ setSelectedItems((items) => items.filter((item) => itemId(item) !== matcher));
172
183
  };
173
184
 
174
185
  /**
@@ -177,12 +188,12 @@ function MultiSelect<T>({
177
188
  * @param item
178
189
  */
179
190
  const onItemSelect = (item: T) => {
180
- if (itemHasBeenSelectedAlready(String(item[equalityProp as keyof T]).toString())) {
181
- removeItemSelection(String(item[equalityProp as keyof T]).toString());
191
+ if (itemHasBeenSelectedAlready(itemId(item))) {
192
+ removeItemSelection(itemId(item));
182
193
  } else {
183
194
  setSelectedItems((items) => [...items, item]);
184
195
  }
185
- setQuery("");
196
+ inputRef.current?.select()
186
197
  };
187
198
 
188
199
  /**
@@ -192,10 +203,11 @@ function MultiSelect<T>({
192
203
  const onQueryChange = async (query: string) => {
193
204
  if (query.length) {
194
205
  setQuery(query);
206
+ setFilteredItemList([])
195
207
  const resultFromQuery = runOnQueryChange && (await runOnQueryChange(removeExtraSpaces(query)));
196
208
  setFilteredItemList(() =>
197
- [...(resultFromQuery ?? itemsCopy), ...createdItems].filter((t) =>
198
- String(t[labelProp as keyof typeof t]).toLowerCase().includes(query.toLowerCase())
209
+ [...(resultFromQuery ?? itemsCopy), ...createdItems].filter(item =>
210
+ itemLabel(item).toLowerCase().includes(query.toLowerCase())
199
211
  )
200
212
  );
201
213
  }
@@ -208,24 +220,22 @@ function MultiSelect<T>({
208
220
 
209
221
  /**
210
222
  * defines how an item in the item list is displayed
211
- * @param tag
212
- * @param param
213
- * @returns
214
223
  */
215
224
  const onItemRenderer = (item: T, { handleClick, modifiers }: IItemRendererProps) => {
216
225
  if (!modifiers.matchesPredicate) {
217
226
  return null;
218
227
  }
219
- const label = createdItems.find((createdItem) => createdItem[labelProp as keyof T] === item[labelProp as keyof T])
220
- ? `${item[labelProp as keyof T]} (new tag)`
221
- : item[labelProp as keyof T];
228
+ let label = itemLabel(item)
229
+ if(createdItems.find(created => itemId(created) === itemId(item))) {
230
+ label += newItemPostfix
231
+ }
222
232
  return (
223
233
  <MenuItem
224
234
  active={modifiers.active}
225
- key={String(item[equalityProp as keyof T]).toString()}
226
- icon={itemHasBeenSelectedAlready(String(item[equalityProp as keyof T]).toString()) ? "state-checked" : "state-unchecked"}
235
+ key={itemId(item)}
236
+ icon={itemHasBeenSelectedAlready(itemId(item)) ? "state-checked" : "state-unchecked"}
227
237
  onClick={handleClick}
228
- text={optionRenderer(String(label).toString())}
238
+ text={optionRenderer(label)}
229
239
  shouldDismissPopover={false}
230
240
  />
231
241
  );
@@ -244,20 +254,16 @@ function MultiSelect<T>({
244
254
  * @param label
245
255
  * @param index
246
256
  */
247
- const removeTagFromSelectionViaIndex = (label: string, index: number) => {
257
+ const removeTagFromSelectionViaIndex = (label: React.ReactNode, index: number) => {
248
258
  setSelectedItems([...selectedItems.slice(0, index), ...selectedItems.slice(index + 1)]);
249
- setCreatedItems((items) => items.filter((t) => String(t[labelProp as keyof typeof t]).toString() !== label));
259
+ setCreatedItems(items => items.filter(item => itemLabel(item) !== label));
250
260
  };
251
261
 
252
- const removeExtraSpaces = (text: string) => text.replace(/\s+/g, " ").trim();
253
-
254
262
  /**
255
- * utility function to create a new Item
256
- * @param event
257
- * @param label
263
+ * Utility function to create a new Item. createNewItemFromQuery is assumed to be defined!
258
264
  */
259
- const createNewItem = (event: React.KeyboardEvent<HTMLElement> | React.MouseEvent<HTMLElement>, label: string): T => {
260
- const newItem = { [labelProp]: removeExtraSpaces(label), [equalityProp]: removeExtraSpaces(label) } as any;
265
+ const createNewItem = (query: string): T => {
266
+ const newItem = createNewItemFromQuery!!(query);
261
267
  //set new items
262
268
  setCreatedItems((items) => [...items, newItem]);
263
269
  setQuery("");
@@ -270,10 +276,10 @@ function MultiSelect<T>({
270
276
  * @param event
271
277
  */
272
278
  const handleOnKeyUp = (event: React.KeyboardEvent<HTMLElement>) => {
273
- if (event.key === "Enter" && !filteredItemList.length && !!query) {
274
- createNewItem(event, query);
279
+ if (event.key === "Enter" && !filteredItemList.length && !!query && createNewItemFromQuery) {
280
+ createNewItem(query);
275
281
  }
276
- tagInputRef.current?.focus();
282
+ inputRef.current?.focus();
277
283
  };
278
284
 
279
285
  /**
@@ -284,8 +290,9 @@ function MultiSelect<T>({
284
290
  const handleOnKeyDown = (event: React.KeyboardEvent<HTMLElement>) => {
285
291
  if (event.key === "Tab" && !!query) {
286
292
  event.preventDefault();
287
- focusedItem ? onItemSelect(focusedItem) : onItemSelect(createNewItem(event, query));
288
- setTimeout(() => tagInputRef.current?.focus());
293
+ focusedItem ? onItemSelect(focusedItem) : onItemSelect(createNewItem(query));
294
+ setQuery("");
295
+ setTimeout(() => inputRef.current?.focus());
289
296
  }
290
297
  };
291
298
 
@@ -297,14 +304,14 @@ function MultiSelect<T>({
297
304
  * @returns
298
305
  */
299
306
  const newItemRenderer = (label: string, active: boolean, handleClick: React.MouseEventHandler<HTMLElement>) => {
300
- if (!canCreateNewItem) return undefined;
307
+ if (!createNewItemFromQuery) return undefined;
301
308
  const clickHandler = (e: React.MouseEvent<HTMLElement>) => {
302
- createNewItem(e, label);
309
+ createNewItem(label);
303
310
  handleClick(e);
304
311
  };
305
312
  return (
306
313
  <MenuItem
307
- id={"new-tag"}
314
+ id={"new-item"}
308
315
  icon="item-add-artefact"
309
316
  active={active}
310
317
  key={label}
@@ -320,32 +327,28 @@ function MultiSelect<T>({
320
327
  ) : undefined;
321
328
 
322
329
  return (
323
- <BlueprintMultiSelect
330
+ <BlueprintMultiSelect<T>
324
331
  {...otherProps}
325
332
  query={query}
326
333
  onQueryChange={onQueryChange}
327
334
  items={filteredItemList}
328
335
  onItemSelect={onItemSelect}
329
336
  itemRenderer={onItemRenderer}
330
- itemsEqual={(a: T, b: T) => a[labelProp as keyof T] === b[labelProp as keyof T]}
337
+ itemsEqual={(a: T, b: T) => itemId(a) === itemId(b)}
331
338
  selectedItems={selectedItems}
332
339
  noResults={<MenuItem disabled={true} text={noResultText} />}
333
- tagRenderer={(tag) => tag[labelProp as keyof typeof tag]}
340
+ tagRenderer={item => itemLabel(item)}
334
341
  createNewItemRenderer={newItemRenderer}
335
342
  onActiveItemChange={(activeItem) => setFocusedItem(activeItem)}
336
343
  fill={fullWidth}
337
- createNewItemFromQuery={(query) =>
338
- ({
339
- [labelProp]: removeExtraSpaces(query),
340
- [equalityProp]: removeExtraSpaces(query),
341
- } as any)
342
- }
344
+ createNewItemFromQuery={createNewItemFromQuery}
343
345
  tagInputProps={{
344
346
  inputProps: {
345
347
  id: "item",
346
348
  autoComplete: "off",
349
+ ...inputProps
347
350
  },
348
- inputRef: tagInputRef,
351
+ inputRef: inputRef,
349
352
  intent,
350
353
  addOnBlur: true,
351
354
  onKeyDown: handleOnKeyDown,
@@ -0,0 +1,82 @@
1
+ import React from "react";
2
+ import { ComponentStory, ComponentMeta } from "@storybook/react";
3
+ import { LoremIpsum } from 'react-lorem-ipsum';
4
+
5
+ import Notification from "./Notification";
6
+ import HtmlContentBlock from "./../Typography/HtmlContentBlock";
7
+ import Button from "./../Button/Button";
8
+ import Spacing from "./../Separation/Spacing";
9
+
10
+ export default {
11
+ title: "Components/Notification",
12
+ component: Notification,
13
+ argTypes: {
14
+ className: {
15
+ description: "A space-delimited list of class names.",
16
+ control: "text",
17
+ table: {
18
+ defaultValue: { summary: undefined },
19
+ type: { summary: "string" },
20
+ }
21
+ },
22
+ onDismiss: {
23
+ description: "Callback invoked when the toast is dismissed, either by the user or by the timeout.",
24
+ control: "none",
25
+ table: {
26
+ defaultValue: { summary: undefined },
27
+ type: { summary: "(didTimeoutExpire: boolean) => void" },
28
+ }
29
+ },
30
+ timeout: {
31
+ description: "Milliseconds to wait before automatically dismissing toast. Providing a value less than or equal to 0 will disable the timeout.",
32
+ control: "number",
33
+ table: {
34
+ defaultValue: { summary: 0 },
35
+ type: { summary: "number" },
36
+ }
37
+ },
38
+ message: {
39
+ control: "none",
40
+ },
41
+ },
42
+ } as ComponentMeta<typeof Notification>;
43
+
44
+ const TemplateFull: ComponentStory<typeof Notification> = (args) => (
45
+ <Notification {...args} />
46
+ );
47
+
48
+ export const ExampleWithMessage = TemplateFull.bind({});
49
+ ExampleWithMessage.args = {
50
+ message: <LoremIpsum p={1} avgSentencesPerParagraph={2} random={false} />,
51
+ onDismiss: false, // workaround for undefined function in Storybook
52
+ };
53
+
54
+ export const ExampleWithChildren = TemplateFull.bind({});
55
+ ExampleWithChildren.args = {
56
+ children: (
57
+ <HtmlContentBlock>
58
+ <LoremIpsum p={1} avgSentencesPerParagraph={1} random={false} />
59
+ <LoremIpsum p={1} avgSentencesPerParagraph={4} random={false} />
60
+ </HtmlContentBlock>
61
+ ),
62
+ onDismiss: false, // workaround for undefined function in Storybook
63
+ };
64
+
65
+ export const ExampleNeutralMessage = TemplateFull.bind({});
66
+ ExampleNeutralMessage.args = {
67
+ message: <LoremIpsum p={1} avgSentencesPerParagraph={2} random={false} />,
68
+ onDismiss: false, // workaround for undefined function in Storybook
69
+ neutral: true,
70
+ };
71
+
72
+ export const ExampleWithActions = TemplateFull.bind({});
73
+ ExampleWithActions.args = {
74
+ message: <LoremIpsum p={1} avgSentencesPerParagraph={2} random={false} />,
75
+ onDismiss: false, // workaround for undefined function in Storybook
76
+ danger: true,
77
+ actions: [
78
+ <Button text="Something" key="b1" />,
79
+ <Spacing size="tiny" vertical />,
80
+ <Button text="Important" hasStateDanger key="b2" />
81
+ ]
82
+ };
@@ -1,9 +1,65 @@
1
1
  import React from "react";
2
- import { Toast as BlueprintToast, Classes as BlueprintClassNames } from "@blueprintjs/core";
2
+ import {
3
+ Toast as BlueprintToast,
4
+ ToastProps as BlueprintToastProps,
5
+ Classes as BlueprintClassNames,
6
+ } from "@blueprintjs/core";
3
7
  import { CLASSPREFIX as eccgui } from "../../configuration/constants";
4
8
  import {ClassNames as IntentClassNames} from "../../common/Intent";
5
9
  import Icon from "./../Icon/Icon";
10
+ import { ValidIconName } from "./../Icon/canonicalIconNames";
6
11
 
12
+ export interface NotificationProps extends Omit<BlueprintToastProps, "message" | "action" | "icon" | "intent">, React.HTMLAttributes<HTMLDivElement> {
13
+ /**
14
+ * Extra user action elements
15
+ */
16
+ actions?: JSX.Element | JSX.Element[];
17
+ /**
18
+ * Notification message that can be used as alternative to children elements.
19
+ */
20
+ message?: JSX.Element | string;
21
+ /**
22
+ * Notification has a neutral color scheme.
23
+ */
24
+ neutral?: boolean;
25
+ /**
26
+ * Notification is a success info.
27
+ * This defines the colorization and the icon symbol.
28
+ */
29
+ success?: boolean;
30
+ /**
31
+ * Notification is a warning alert.
32
+ * This defines the colorization and the icon symbol.
33
+ */
34
+ warning?: boolean;
35
+ /**
36
+ * Notification is a danger alert.
37
+ * This defines the colorization and the icon symbol.
38
+ */
39
+ danger?: boolean;
40
+ /**
41
+ * Notification uses the the given space more flexible.
42
+ * Depracation notice: Property name will removed in futire versions.
43
+ * Please use `flexWidth`.
44
+ * @depracted
45
+ */
46
+ fullWidth?: boolean;
47
+ /**
48
+ * Notification uses the the given space more flexible.
49
+ * Default notifcation is displayed in min and max limits.
50
+ * Those limits are removed by setting this property to `true`.
51
+ */
52
+ flexWidth?: boolean;
53
+ /**
54
+ * Icon used as depiction that is displayed with the notification.
55
+ */
56
+ iconName?: ValidIconName;
57
+ }
58
+
59
+ /**
60
+ * Displays a notification message, optionally combined with depiction and further action buttons.
61
+ * By default it uses colorization of an blueish info alert.
62
+ */
7
63
  function Notification({
8
64
  actions,
9
65
  children,
@@ -13,11 +69,12 @@ function Notification({
13
69
  warning = false,
14
70
  danger = false,
15
71
  neutral = false,
16
- fullWidth = false,
72
+ fullWidth = false, // deprecated
73
+ flexWidth = false,
17
74
  iconName = "state-info",
18
75
  timeout,
19
76
  ...otherProps
20
- }: any) {
77
+ }: NotificationProps) {
21
78
  let intentLevel: string = IntentClassNames.INFO;
22
79
  let iconSymbol = iconName;
23
80
  switch (true) {
@@ -55,7 +112,8 @@ function Notification({
55
112
  `${eccgui}-notification ` +
56
113
  intentLevel +
57
114
  (className ? ` ${className}` : "") +
58
- (fullWidth ? ` ${eccgui}-notification--fullwidth` : "") +
115
+ (fullWidth ? ` ${eccgui}-notification--fullwidth` : "") + // deprecated
116
+ (flexWidth ? ` ${eccgui}-notification--flexwidth` : "") +
59
117
  (otherProps.onDismiss ? "" : ` ${eccgui}-notification--static`)
60
118
  }
61
119
  message={content}
@@ -55,6 +55,7 @@
55
55
  }
56
56
  }
57
57
 
58
+ .#{$eccgui}-notification--flexwidth,
58
59
  .#{$eccgui}-notification--fullwidth {
59
60
  min-width: 0;
60
61
  max-width: none;
@@ -77,7 +78,7 @@
77
78
  flex-grow: 0;
78
79
  flex-shrink: 0;
79
80
 
80
- .#{$ns}-button {
81
+ .#{$ns}-button:not([class*="intent"]) {
81
82
  color: inherit;
82
83
  }
83
84
  }
@@ -18,7 +18,7 @@ export interface OverviewItemListProps extends React.HTMLAttributes<HTMLOListEle
18
18
  * Use multiple columns.
19
19
  * Currently only lists using 1 and 2 columns are supported.
20
20
  */
21
- columns?: number;
21
+ columns?: 1 | 2;
22
22
  }
23
23
 
24
24
  /**
@@ -42,12 +42,12 @@ function OverviewItemList({
42
42
  (densityHigh ? `${eccgui}-overviewitem__list--highdensity ` : '') +
43
43
  (hasDivider ? `${eccgui}-overviewitem__list--hasdivider ` : '') +
44
44
  (hasSpacing ? `${eccgui}-overviewitem__list--hasspacing ` : '') +
45
- (columns > 1 ? `${eccgui}-overviewitem__list--hascolumns ` : '') + // TODO: add number
45
+ (columns > 1 ? `${eccgui}-overviewitem__list--hascolumns ` : '') + // FIXME: Support numbers > 2
46
46
  className
47
47
  }
48
48
  >
49
49
  {
50
- React.Children.map(children, (child, i) => {
50
+ React.Children.map(children, (child) => {
51
51
  return <li>{ child }</li>
52
52
  })
53
53
  }
@@ -7,6 +7,10 @@
7
7
  box-shadow: none;
8
8
  }
9
9
 
10
+ input:focus ~ .#{$ns}-control-indicator {
11
+ outline-offset: 1px;
12
+ }
13
+
10
14
  input:disabled ~ .#{$ns}-control-indicator,
11
15
  input:disabled:checked ~ .#{$ns}-control-indicator
12
16
  {
@@ -28,7 +28,7 @@ export interface SpinnerProps extends Partial<BlueprintOverlayProps & Omit<Bluep
28
28
  function Spinner({
29
29
  className = "",
30
30
  color = "inherit",
31
- description = "Loading indicator", // currently unsupported (TODO)
31
+ description = "Loading indicator", // currently unsupported (FIXME)
32
32
  position = "local",
33
33
  size,
34
34
  stroke,
@@ -41,6 +41,7 @@ function Spinner({
41
41
  const timeoutId = setTimeout(() => setShowSpinner(true), delay);
42
42
  return () => clearTimeout(timeoutId);
43
43
  }
44
+ return;
44
45
  }, [showSpinner, delay]);
45
46
  const availableIntent = ["primary", "success", "warning", "danger", "inherit"];
46
47
  const internSizes = {
@@ -2,3 +2,4 @@
2
2
  currently not used, we need to control switch layout in
3
3
  ../Checkbox/checkbox.scss for now
4
4
  */
5
+ // FIXME: scss styles
@@ -62,7 +62,7 @@ export const transformTabProperties = ({
62
62
 
63
63
  /*
64
64
 
65
- TODO: Try to overload the original Tab element. Currently it does not work
65
+ NOTE: Try to overload the original Tab element. Currently it does not work.
66
66
  (at least inside Storybook) because the set displayName is overwritten and
67
67
  Blueprints Tabs integration cannot match the new Tab element correctly by
68
68
  checking the displayName.
@@ -105,7 +105,6 @@ class Tab extends AbstractPureComponent2<TabProps> {
105
105
  }
106
106
 
107
107
  //*
108
- console.log(Tab.displayName);
109
108
  export default Tab;
110
109
  //*/
111
110
 
@@ -29,8 +29,6 @@ function Tabs(
29
29
  ...restProps
30
30
  }: TabsProps) {
31
31
 
32
- // TODO React.Children.toArray(children).forEach((e) => {console.log(e)});
33
-
34
32
  return (
35
33
  <BlueprintTabs
36
34
  className={
@@ -43,9 +41,7 @@ function Tabs(
43
41
  >
44
42
  {!!tabs ? (
45
43
  tabs.map(tab => {
46
- const e = <Tab {...transformTabProperties(tab)} />;
47
- // TODO console.log(e);
48
- return e;
44
+ return <Tab {...transformTabProperties(tab)} />;
49
45
  })
50
46
  ) : (
51
47
  children
@@ -22,8 +22,8 @@ export default {
22
22
  }
23
23
  },
24
24
  /*
25
- TODO: we currently cannot support tis because Blueprint set then !important
26
- styles preventig tab background colors.
25
+ NOTE: we currently cannot support this because Blueprint set then !important
26
+ styles prevent tab background colors.
27
27
 
28
28
  animate: {
29
29
  description: "Whether the selected tab indicator should animate its movement.",
@@ -87,7 +87,7 @@ TabsContainerUncontrolled.args = {
87
87
  };
88
88
 
89
89
  /*
90
- TODO: this integration does currently not work, reason is not clear.
90
+ FIXME: this integration does currently not work, reason is not clear. See Tab component comments at bottom.
91
91
  export const UncontrolledElementsUsage = TemplateFull.bind({});
92
92
  UncontrolledElementsUsage.args = {
93
93
  id: "storytabs2",
@@ -16,6 +16,7 @@ function TagList({
16
16
  `${eccgui}-tag__list` +
17
17
  ((className && label) ? ' ' + className : '')
18
18
  }
19
+ {...otherProps}
19
20
  >
20
21
  {
21
22
  React.Children.map(children, (child, i) => {
@@ -18,7 +18,7 @@ $tag-line-height-large: $eccgui-size-typo-tag-large; // !default;
18
18
  $tag-padding-large: ($tag-height-large - $tag-line-height-large); // !default;
19
19
  // $tag-icon-spacing: ($tag-height - 12px) / 2 !default;
20
20
  // $tag-icon-spacing-large: ($tag-height-large - $pt-icon-size-standard) / 2 !default;
21
- // $tag-round-adjustment: 2px !default;
21
+ $tag-round-adjustment: 0px !default;
22
22
 
23
23
  @import "~@blueprintjs/core/src/components/tag/tag";
24
24
 
@@ -26,7 +26,7 @@
26
26
 
27
27
  .#{$eccgui}-toolbar--vertical > & {
28
28
  flex-direction: column;
29
- align-items: center;
29
+ align-items: stretch;
30
30
  }
31
31
  }
32
32