@eccenca/gui-elements 24.4.1 → 25.0.0-featureimproveprintstylescmem6985.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 (677) hide show
  1. package/CHANGELOG.md +174 -3
  2. package/README.md +63 -16
  3. package/dist/cjs/cmem/markdown/Markdown.js +1 -2
  4. package/dist/cjs/cmem/markdown/Markdown.js.map +1 -1
  5. package/dist/cjs/cmem/react-flow/ReactFlow/ReactFlow.js +67 -13
  6. package/dist/cjs/cmem/react-flow/ReactFlow/ReactFlow.js.map +1 -1
  7. package/dist/cjs/cmem/react-flow/ReactFlow/ReactFlowV12.js +45 -0
  8. package/dist/cjs/cmem/react-flow/ReactFlow/ReactFlowV12.js.map +1 -0
  9. package/dist/cjs/cmem/react-flow/ReactFlow/ReactFlowV9.js +30 -0
  10. package/dist/cjs/cmem/react-flow/ReactFlow/ReactFlowV9.js.map +1 -0
  11. package/dist/cjs/cmem/react-flow/StickyNoteModal/StickyNoteModal.js +2 -2
  12. package/dist/cjs/cmem/react-flow/StickyNoteModal/StickyNoteModal.js.map +1 -1
  13. package/dist/cjs/cmem/react-flow/configuration/graph.js +12 -10
  14. package/dist/cjs/cmem/react-flow/configuration/graph.js.map +1 -1
  15. package/dist/cjs/cmem/react-flow/configuration/linking.js +2 -0
  16. package/dist/cjs/cmem/react-flow/configuration/linking.js.map +1 -1
  17. package/dist/cjs/cmem/react-flow/configuration/unspecified.js +2 -1
  18. package/dist/cjs/cmem/react-flow/configuration/unspecified.js.map +1 -1
  19. package/dist/cjs/cmem/react-flow/configuration/workflow.js +2 -0
  20. package/dist/cjs/cmem/react-flow/configuration/workflow.js.map +1 -1
  21. package/dist/cjs/cmem/react-flow/extensions/scrollOnDragHook.js +9 -3
  22. package/dist/cjs/cmem/react-flow/extensions/scrollOnDragHook.js.map +1 -1
  23. package/dist/cjs/cmem/react-flow/index.js +5 -1
  24. package/dist/cjs/cmem/react-flow/index.js.map +1 -1
  25. package/dist/cjs/common/index.js +9 -0
  26. package/dist/cjs/common/index.js.map +1 -1
  27. package/dist/cjs/common/utils/CssCustomProperties.js +9 -3
  28. package/dist/cjs/common/utils/CssCustomProperties.js.map +1 -1
  29. package/dist/cjs/common/utils/colorCalculateDistance.js +27 -0
  30. package/dist/cjs/common/utils/colorCalculateDistance.js.map +1 -0
  31. package/dist/cjs/common/utils/colorHash.js +143 -0
  32. package/dist/cjs/common/utils/colorHash.js.map +1 -0
  33. package/dist/cjs/common/utils/getColorConfiguration.js +37 -4
  34. package/dist/cjs/common/utils/getColorConfiguration.js.map +1 -1
  35. package/dist/cjs/common/utils/reduceToText.js +94 -0
  36. package/dist/cjs/common/utils/reduceToText.js.map +1 -0
  37. package/dist/cjs/components/Application/ApplicationViewability.js +33 -0
  38. package/dist/cjs/components/Application/ApplicationViewability.js.map +1 -0
  39. package/dist/cjs/components/Application/index.js +1 -0
  40. package/dist/cjs/components/Application/index.js.map +1 -1
  41. package/dist/cjs/components/AutoSuggestion/AutoSuggestion.js +14 -11
  42. package/dist/cjs/components/AutoSuggestion/AutoSuggestion.js.map +1 -1
  43. package/dist/cjs/components/AutoSuggestion/AutoSuggestionList.js +4 -1
  44. package/dist/cjs/components/AutoSuggestion/AutoSuggestionList.js.map +1 -1
  45. package/dist/cjs/components/AutoSuggestion/ExtendedCodeEditor.js +1 -3
  46. package/dist/cjs/components/AutoSuggestion/ExtendedCodeEditor.js.map +1 -1
  47. package/dist/cjs/components/AutocompleteField/AutoCompleteField.js +18 -7
  48. package/dist/cjs/components/AutocompleteField/AutoCompleteField.js.map +1 -1
  49. package/dist/cjs/components/AutocompleteField/autoCompleteFieldUtils.js.map +1 -1
  50. package/dist/cjs/components/Button/Button.js +11 -26
  51. package/dist/cjs/components/Button/Button.js.map +1 -1
  52. package/dist/cjs/components/Chat/ChatArea.js +55 -0
  53. package/dist/cjs/components/Chat/ChatArea.js.map +1 -0
  54. package/dist/cjs/components/Chat/ChatContent.js +55 -0
  55. package/dist/cjs/components/Chat/ChatContent.js.map +1 -0
  56. package/dist/cjs/components/Chat/ChatContentCollapsed.js +24 -0
  57. package/dist/cjs/components/Chat/ChatContentCollapsed.js.map +1 -0
  58. package/dist/cjs/components/Chat/ChatField.js +53 -0
  59. package/dist/cjs/components/Chat/ChatField.js.map +1 -0
  60. package/dist/cjs/components/{AutocompleteField → Chat}/index.js +4 -7
  61. package/dist/cjs/components/Chat/index.js.map +1 -0
  62. package/dist/cjs/components/CodeAutocompleteField/index.js +6 -1
  63. package/dist/cjs/components/CodeAutocompleteField/index.js.map +1 -1
  64. package/dist/cjs/components/ContentGroup/ContentGroup.js +1 -1
  65. package/dist/cjs/components/ContentGroup/ContentGroup.js.map +1 -1
  66. package/dist/cjs/components/ContextOverlay/ContextMenu.js +2 -2
  67. package/dist/cjs/components/ContextOverlay/ContextMenu.js.map +1 -1
  68. package/dist/cjs/components/ContextOverlay/ContextOverlay.js +65 -18
  69. package/dist/cjs/components/ContextOverlay/ContextOverlay.js.map +1 -1
  70. package/dist/cjs/components/Dialog/Modal.js +15 -2
  71. package/dist/cjs/components/Dialog/Modal.js.map +1 -1
  72. package/dist/cjs/components/Dialog/ModalContext.js +51 -0
  73. package/dist/cjs/components/Dialog/ModalContext.js.map +1 -0
  74. package/dist/cjs/components/Dialog/SimpleDialog.js +2 -1
  75. package/dist/cjs/components/Dialog/SimpleDialog.js.map +1 -1
  76. package/dist/cjs/components/Dialog/index.js +1 -0
  77. package/dist/cjs/components/Dialog/index.js.map +1 -1
  78. package/dist/cjs/components/Form/FieldItem.js +2 -19
  79. package/dist/cjs/components/Form/FieldItem.js.map +1 -1
  80. package/dist/cjs/components/Form/FieldSet.js +2 -20
  81. package/dist/cjs/components/Form/FieldSet.js.map +1 -1
  82. package/dist/cjs/components/Icon/BaseIcon.js +2 -2
  83. package/dist/cjs/components/Icon/BaseIcon.js.map +1 -1
  84. package/dist/cjs/components/Icon/IconButton.js.map +1 -1
  85. package/dist/cjs/components/Icon/canonicalIconNames.js +28 -2
  86. package/dist/cjs/components/Icon/canonicalIconNames.js.map +1 -1
  87. package/dist/cjs/components/MultiSelect/MultiSelect.js +14 -27
  88. package/dist/cjs/components/MultiSelect/MultiSelect.js.map +1 -1
  89. package/dist/cjs/components/MultiSuggestField/index.js +18 -0
  90. package/dist/cjs/components/MultiSuggestField/index.js.map +1 -0
  91. package/dist/cjs/components/Notification/Notification.js +3 -23
  92. package/dist/cjs/components/Notification/Notification.js.map +1 -1
  93. package/dist/cjs/components/OverviewItem/OverviewItemList.js +1 -2
  94. package/dist/cjs/components/OverviewItem/OverviewItemList.js.map +1 -1
  95. package/dist/cjs/components/Spinner/Spinner.js +18 -11
  96. package/dist/cjs/components/Spinner/Spinner.js.map +1 -1
  97. package/dist/cjs/components/SuggestField/index.js +5 -2
  98. package/dist/cjs/components/SuggestField/index.js.map +1 -1
  99. package/dist/cjs/components/Table/Table.js.map +1 -1
  100. package/dist/cjs/components/Table/TableContainer.js.map +1 -1
  101. package/dist/cjs/components/Tabs/Tab.js +3 -2
  102. package/dist/cjs/components/Tabs/Tab.js.map +1 -1
  103. package/dist/cjs/components/TextField/SearchField.js.map +1 -1
  104. package/dist/cjs/components/TextField/TextArea.js +2 -2
  105. package/dist/cjs/components/TextField/TextArea.js.map +1 -1
  106. package/dist/cjs/components/TextReducer/TextReducer.js +37 -0
  107. package/dist/cjs/components/TextReducer/TextReducer.js.map +1 -0
  108. package/dist/cjs/components/Tooltip/Tooltip.js +3 -1
  109. package/dist/cjs/components/Tooltip/Tooltip.js.map +1 -1
  110. package/dist/cjs/components/Typography/OverflowText.js.map +1 -1
  111. package/dist/cjs/components/VisualTour/VisualTour.js +200 -0
  112. package/dist/cjs/components/VisualTour/VisualTour.js.map +1 -0
  113. package/dist/cjs/components/index.js +7 -7
  114. package/dist/cjs/components/index.js.map +1 -1
  115. package/dist/cjs/configuration/constants.js +3 -1
  116. package/dist/cjs/configuration/constants.js.map +1 -1
  117. package/dist/cjs/extensions/codemirror/CodeMirror.js +5 -3
  118. package/dist/cjs/extensions/codemirror/CodeMirror.js.map +1 -1
  119. package/dist/cjs/extensions/codemirror/hooks/useCodemirrorModeExtension.hooks.js +3 -0
  120. package/dist/cjs/extensions/codemirror/hooks/useCodemirrorModeExtension.hooks.js.map +1 -1
  121. package/dist/cjs/extensions/react-flow/edges/EdgeBezier.js +50 -0
  122. package/dist/cjs/extensions/react-flow/edges/EdgeBezier.js.map +1 -0
  123. package/dist/cjs/extensions/react-flow/edges/EdgeDefault.js +21 -3
  124. package/dist/cjs/extensions/react-flow/edges/EdgeDefault.js.map +1 -1
  125. package/dist/cjs/extensions/react-flow/edges/EdgeDefaultV12.js +46 -22
  126. package/dist/cjs/extensions/react-flow/edges/EdgeDefaultV12.js.map +1 -1
  127. package/dist/cjs/extensions/react-flow/edges/EdgeDefs.js +3 -0
  128. package/dist/cjs/extensions/react-flow/edges/EdgeDefs.js.map +1 -1
  129. package/dist/cjs/extensions/react-flow/edges/EdgeNew.js +41 -0
  130. package/dist/cjs/extensions/react-flow/edges/EdgeNew.js.map +1 -0
  131. package/dist/cjs/extensions/react-flow/edges/EdgeStep.js +19 -2
  132. package/dist/cjs/extensions/react-flow/edges/EdgeStep.js.map +1 -1
  133. package/dist/cjs/extensions/react-flow/edges/EdgeStraight.js +6 -0
  134. package/dist/cjs/extensions/react-flow/edges/EdgeStraight.js.map +1 -0
  135. package/dist/cjs/extensions/react-flow/edges/utils.js +12 -1
  136. package/dist/cjs/extensions/react-flow/edges/utils.js.map +1 -1
  137. package/dist/cjs/extensions/react-flow/handles/HandleDefault.js +14 -15
  138. package/dist/cjs/extensions/react-flow/handles/HandleDefault.js.map +1 -1
  139. package/dist/cjs/extensions/react-flow/index.js +6 -6
  140. package/dist/cjs/extensions/react-flow/index.js.map +1 -1
  141. package/dist/cjs/extensions/react-flow/markers/MarkerArrowClosedInverse.js +3 -0
  142. package/dist/cjs/extensions/react-flow/markers/MarkerArrowClosedInverse.js.map +1 -1
  143. package/dist/cjs/extensions/react-flow/markers/ReactFlowMarkers.js +17 -2
  144. package/dist/cjs/extensions/react-flow/markers/ReactFlowMarkers.js.map +1 -1
  145. package/dist/cjs/extensions/react-flow/minimap/MiniMap.js +21 -2
  146. package/dist/cjs/extensions/react-flow/minimap/MiniMap.js.map +1 -1
  147. package/dist/cjs/extensions/react-flow/minimap/MiniMapV12.js +51 -0
  148. package/dist/cjs/extensions/react-flow/minimap/MiniMapV12.js.map +1 -0
  149. package/dist/cjs/extensions/react-flow/nodes/NodeContent.js +57 -54
  150. package/dist/cjs/extensions/react-flow/nodes/NodeContent.js.map +1 -1
  151. package/dist/cjs/extensions/react-flow/nodes/NodeDefault.js +2 -2
  152. package/dist/cjs/extensions/react-flow/nodes/NodeDefault.js.map +1 -1
  153. package/dist/cjs/extensions/react-flow/nodes/nodeUtils.js +2 -1
  154. package/dist/cjs/extensions/react-flow/nodes/nodeUtils.js.map +1 -1
  155. package/dist/cjs/extensions/react-flow/versionsupport.js +13 -11
  156. package/dist/cjs/extensions/react-flow/versionsupport.js.map +1 -1
  157. package/dist/cjs/index.js +1 -3
  158. package/dist/cjs/index.js.map +1 -1
  159. package/dist/esm/cmem/markdown/Markdown.js +1 -2
  160. package/dist/esm/cmem/markdown/Markdown.js.map +1 -1
  161. package/dist/esm/cmem/react-flow/ReactFlow/ReactFlow.js +67 -13
  162. package/dist/esm/cmem/react-flow/ReactFlow/ReactFlow.js.map +1 -1
  163. package/dist/esm/cmem/react-flow/ReactFlow/ReactFlowV12.js +66 -0
  164. package/dist/esm/cmem/react-flow/ReactFlow/ReactFlowV12.js.map +1 -0
  165. package/dist/esm/{legacy-replacements/Button/AffirmativeButton.js → cmem/react-flow/ReactFlow/ReactFlowV9.js} +12 -7
  166. package/dist/esm/cmem/react-flow/ReactFlow/ReactFlowV9.js.map +1 -0
  167. package/dist/esm/cmem/react-flow/StickyNoteModal/StickyNoteModal.js +3 -3
  168. package/dist/esm/cmem/react-flow/StickyNoteModal/StickyNoteModal.js.map +1 -1
  169. package/dist/esm/cmem/react-flow/configuration/graph.js +12 -10
  170. package/dist/esm/cmem/react-flow/configuration/graph.js.map +1 -1
  171. package/dist/esm/cmem/react-flow/configuration/linking.js +2 -0
  172. package/dist/esm/cmem/react-flow/configuration/linking.js.map +1 -1
  173. package/dist/esm/cmem/react-flow/configuration/unspecified.js +2 -1
  174. package/dist/esm/cmem/react-flow/configuration/unspecified.js.map +1 -1
  175. package/dist/esm/cmem/react-flow/configuration/workflow.js +2 -0
  176. package/dist/esm/cmem/react-flow/configuration/workflow.js.map +1 -1
  177. package/dist/esm/cmem/react-flow/extensions/scrollOnDragHook.js +7 -1
  178. package/dist/esm/cmem/react-flow/extensions/scrollOnDragHook.js.map +1 -1
  179. package/dist/esm/cmem/react-flow/index.js +2 -1
  180. package/dist/esm/cmem/react-flow/index.js.map +1 -1
  181. package/dist/esm/common/index.js +9 -0
  182. package/dist/esm/common/index.js.map +1 -1
  183. package/dist/esm/common/utils/CssCustomProperties.js +9 -3
  184. package/dist/esm/common/utils/CssCustomProperties.js.map +1 -1
  185. package/dist/esm/common/utils/colorCalculateDistance.js +21 -0
  186. package/dist/esm/common/utils/colorCalculateDistance.js.map +1 -0
  187. package/dist/esm/common/utils/colorHash.js +140 -0
  188. package/dist/esm/common/utils/colorHash.js.map +1 -0
  189. package/dist/esm/common/utils/getColorConfiguration.js +37 -4
  190. package/dist/esm/common/utils/getColorConfiguration.js.map +1 -1
  191. package/dist/esm/common/utils/reduceToText.js +75 -0
  192. package/dist/esm/common/utils/reduceToText.js.map +1 -0
  193. package/dist/esm/components/Application/ApplicationViewability.js +28 -0
  194. package/dist/esm/components/Application/ApplicationViewability.js.map +1 -0
  195. package/dist/esm/components/Application/index.js +1 -0
  196. package/dist/esm/components/Application/index.js.map +1 -1
  197. package/dist/esm/components/AutoSuggestion/AutoSuggestion.js +14 -12
  198. package/dist/esm/components/AutoSuggestion/AutoSuggestion.js.map +1 -1
  199. package/dist/esm/components/AutoSuggestion/AutoSuggestionList.js +4 -1
  200. package/dist/esm/components/AutoSuggestion/AutoSuggestionList.js.map +1 -1
  201. package/dist/esm/components/AutoSuggestion/ExtendedCodeEditor.js +1 -3
  202. package/dist/esm/components/AutoSuggestion/ExtendedCodeEditor.js.map +1 -1
  203. package/dist/esm/components/AutocompleteField/AutoCompleteField.js +17 -7
  204. package/dist/esm/components/AutocompleteField/AutoCompleteField.js.map +1 -1
  205. package/dist/esm/components/AutocompleteField/autoCompleteFieldUtils.js.map +1 -1
  206. package/dist/esm/components/Button/Button.js +11 -26
  207. package/dist/esm/components/Button/Button.js.map +1 -1
  208. package/dist/esm/components/Chat/ChatArea.js +59 -0
  209. package/dist/esm/components/Chat/ChatArea.js.map +1 -0
  210. package/dist/esm/components/Chat/ChatContent.js +59 -0
  211. package/dist/esm/components/Chat/ChatContent.js.map +1 -0
  212. package/dist/esm/components/Chat/ChatContentCollapsed.js +45 -0
  213. package/dist/esm/components/Chat/ChatContentCollapsed.js.map +1 -0
  214. package/dist/esm/components/Chat/ChatField.js +57 -0
  215. package/dist/esm/components/Chat/ChatField.js.map +1 -0
  216. package/dist/esm/components/Chat/index.js +5 -0
  217. package/dist/esm/components/Chat/index.js.map +1 -0
  218. package/dist/esm/components/CodeAutocompleteField/index.js +4 -1
  219. package/dist/esm/components/CodeAutocompleteField/index.js.map +1 -1
  220. package/dist/esm/components/ContentGroup/ContentGroup.js +1 -1
  221. package/dist/esm/components/ContentGroup/ContentGroup.js.map +1 -1
  222. package/dist/esm/components/ContextOverlay/ContextMenu.js +2 -2
  223. package/dist/esm/components/ContextOverlay/ContextMenu.js.map +1 -1
  224. package/dist/esm/components/ContextOverlay/ContextOverlay.js +69 -22
  225. package/dist/esm/components/ContextOverlay/ContextOverlay.js.map +1 -1
  226. package/dist/esm/components/Dialog/Modal.js +15 -2
  227. package/dist/esm/components/Dialog/Modal.js.map +1 -1
  228. package/dist/esm/components/Dialog/ModalContext.js +69 -0
  229. package/dist/esm/components/Dialog/ModalContext.js.map +1 -0
  230. package/dist/esm/components/Dialog/SimpleDialog.js +2 -1
  231. package/dist/esm/components/Dialog/SimpleDialog.js.map +1 -1
  232. package/dist/esm/components/Dialog/index.js +1 -0
  233. package/dist/esm/components/Dialog/index.js.map +1 -1
  234. package/dist/esm/components/Form/FieldItem.js +2 -19
  235. package/dist/esm/components/Form/FieldItem.js.map +1 -1
  236. package/dist/esm/components/Form/FieldSet.js +2 -20
  237. package/dist/esm/components/Form/FieldSet.js.map +1 -1
  238. package/dist/esm/components/Icon/BaseIcon.js +2 -2
  239. package/dist/esm/components/Icon/BaseIcon.js.map +1 -1
  240. package/dist/esm/components/Icon/IconButton.js.map +1 -1
  241. package/dist/esm/components/Icon/canonicalIconNames.js +28 -2
  242. package/dist/esm/components/Icon/canonicalIconNames.js.map +1 -1
  243. package/dist/esm/components/MultiSelect/MultiSelect.js +13 -27
  244. package/dist/esm/components/MultiSelect/MultiSelect.js.map +1 -1
  245. package/dist/esm/components/MultiSuggestField/index.js +2 -0
  246. package/dist/esm/components/MultiSuggestField/index.js.map +1 -0
  247. package/dist/esm/components/Notification/Notification.js +3 -23
  248. package/dist/esm/components/Notification/Notification.js.map +1 -1
  249. package/dist/esm/components/OverviewItem/OverviewItemList.js +1 -2
  250. package/dist/esm/components/OverviewItem/OverviewItemList.js.map +1 -1
  251. package/dist/esm/components/Spinner/Spinner.js +16 -14
  252. package/dist/esm/components/Spinner/Spinner.js.map +1 -1
  253. package/dist/esm/components/SuggestField/index.js +4 -1
  254. package/dist/esm/components/SuggestField/index.js.map +1 -1
  255. package/dist/esm/components/Table/Table.js.map +1 -1
  256. package/dist/esm/components/Table/TableContainer.js.map +1 -1
  257. package/dist/esm/components/Tabs/Tab.js +3 -2
  258. package/dist/esm/components/Tabs/Tab.js.map +1 -1
  259. package/dist/esm/components/TextField/SearchField.js.map +1 -1
  260. package/dist/esm/components/TextField/TextArea.js +2 -2
  261. package/dist/esm/components/TextField/TextArea.js.map +1 -1
  262. package/dist/esm/components/TextReducer/TextReducer.js +41 -0
  263. package/dist/esm/components/TextReducer/TextReducer.js.map +1 -0
  264. package/dist/esm/components/Tooltip/Tooltip.js +3 -1
  265. package/dist/esm/components/Tooltip/Tooltip.js.map +1 -1
  266. package/dist/esm/components/Typography/OverflowText.js.map +1 -1
  267. package/dist/esm/components/VisualTour/VisualTour.js +213 -0
  268. package/dist/esm/components/VisualTour/VisualTour.js.map +1 -0
  269. package/dist/esm/components/index.js +7 -7
  270. package/dist/esm/components/index.js.map +1 -1
  271. package/dist/esm/configuration/constants.js +2 -0
  272. package/dist/esm/configuration/constants.js.map +1 -1
  273. package/dist/esm/extensions/codemirror/CodeMirror.js +7 -5
  274. package/dist/esm/extensions/codemirror/CodeMirror.js.map +1 -1
  275. package/dist/esm/extensions/codemirror/hooks/useCodemirrorModeExtension.hooks.js +3 -0
  276. package/dist/esm/extensions/codemirror/hooks/useCodemirrorModeExtension.hooks.js.map +1 -1
  277. package/dist/esm/extensions/react-flow/edges/EdgeBezier.js +35 -0
  278. package/dist/esm/extensions/react-flow/edges/EdgeBezier.js.map +1 -0
  279. package/dist/esm/extensions/react-flow/edges/EdgeDefault.js +21 -3
  280. package/dist/esm/extensions/react-flow/edges/EdgeDefault.js.map +1 -1
  281. package/dist/esm/extensions/react-flow/edges/EdgeDefaultV12.js +24 -20
  282. package/dist/esm/extensions/react-flow/edges/EdgeDefaultV12.js.map +1 -1
  283. package/dist/esm/extensions/react-flow/edges/EdgeDefs.js +3 -0
  284. package/dist/esm/extensions/react-flow/edges/EdgeDefs.js.map +1 -1
  285. package/dist/esm/extensions/react-flow/edges/EdgeNew.js +45 -0
  286. package/dist/esm/extensions/react-flow/edges/EdgeNew.js.map +1 -0
  287. package/dist/esm/extensions/react-flow/edges/EdgeStep.js +19 -2
  288. package/dist/esm/extensions/react-flow/edges/EdgeStep.js.map +1 -1
  289. package/dist/esm/extensions/react-flow/edges/EdgeStraight.js +2 -0
  290. package/dist/esm/extensions/react-flow/edges/EdgeStraight.js.map +1 -0
  291. package/dist/esm/extensions/react-flow/edges/utils.js +27 -1
  292. package/dist/esm/extensions/react-flow/edges/utils.js.map +1 -1
  293. package/dist/esm/extensions/react-flow/handles/HandleDefault.js +16 -17
  294. package/dist/esm/extensions/react-flow/handles/HandleDefault.js.map +1 -1
  295. package/dist/esm/extensions/react-flow/index.js +6 -3
  296. package/dist/esm/extensions/react-flow/index.js.map +1 -1
  297. package/dist/esm/extensions/react-flow/markers/MarkerArrowClosedInverse.js +3 -0
  298. package/dist/esm/extensions/react-flow/markers/MarkerArrowClosedInverse.js.map +1 -1
  299. package/dist/esm/extensions/react-flow/markers/ReactFlowMarkers.js +17 -2
  300. package/dist/esm/extensions/react-flow/markers/ReactFlowMarkers.js.map +1 -1
  301. package/dist/esm/extensions/react-flow/minimap/MiniMap.js +22 -3
  302. package/dist/esm/extensions/react-flow/minimap/MiniMap.js.map +1 -1
  303. package/dist/esm/extensions/react-flow/minimap/MiniMapV12.js +36 -0
  304. package/dist/esm/extensions/react-flow/minimap/MiniMapV12.js.map +1 -0
  305. package/dist/esm/extensions/react-flow/nodes/NodeContent.js +84 -81
  306. package/dist/esm/extensions/react-flow/nodes/NodeContent.js.map +1 -1
  307. package/dist/esm/extensions/react-flow/nodes/NodeDefault.js +1 -1
  308. package/dist/esm/extensions/react-flow/nodes/NodeDefault.js.map +1 -1
  309. package/dist/esm/extensions/react-flow/nodes/nodeUtils.js +2 -1
  310. package/dist/esm/extensions/react-flow/nodes/nodeUtils.js.map +1 -1
  311. package/dist/esm/extensions/react-flow/versionsupport.js +15 -13
  312. package/dist/esm/extensions/react-flow/versionsupport.js.map +1 -1
  313. package/dist/esm/index.js +1 -2
  314. package/dist/esm/index.js.map +1 -1
  315. package/dist/types/cmem/markdown/Markdown.d.ts +1 -8
  316. package/dist/types/cmem/react-flow/ReactFlow/ReactFlow.d.ts +38 -6
  317. package/dist/types/cmem/react-flow/ReactFlow/ReactFlowV12.d.ts +7 -0
  318. package/dist/types/cmem/react-flow/ReactFlow/ReactFlowV9.d.ts +7 -0
  319. package/dist/types/cmem/react-flow/StickyNoteModal/StickyNoteModal.d.ts +1 -1
  320. package/dist/types/cmem/react-flow/configuration/graph.d.ts +9 -9
  321. package/dist/types/cmem/react-flow/configuration/linking.d.ts +6 -6
  322. package/dist/types/cmem/react-flow/configuration/unspecified.d.ts +3 -3
  323. package/dist/types/cmem/react-flow/configuration/workflow.d.ts +4 -4
  324. package/dist/types/cmem/react-flow/extensions/scrollOnDragHook.d.ts +19 -16
  325. package/dist/types/cmem/react-flow/index.d.ts +2 -1
  326. package/dist/types/common/index.d.ts +8 -1
  327. package/dist/types/common/utils/CssCustomProperties.d.ts +6 -6
  328. package/dist/types/common/utils/colorCalculateDistance.d.ts +12 -0
  329. package/dist/types/common/utils/colorHash.d.ts +29 -0
  330. package/dist/types/common/utils/getColorConfiguration.d.ts +1 -1
  331. package/dist/types/common/utils/reduceToText.d.ts +10 -0
  332. package/dist/types/components/Application/ApplicationViewability.d.ts +36 -0
  333. package/dist/types/components/Application/index.d.ts +1 -0
  334. package/dist/types/components/AutoSuggestion/AutoSuggestion.d.ts +7 -17
  335. package/dist/types/components/AutoSuggestion/AutoSuggestionList.d.ts +4 -4
  336. package/dist/types/components/AutoSuggestion/ExtendedCodeEditor.d.ts +0 -1
  337. package/dist/types/components/AutocompleteField/AutoCompleteField.d.ts +18 -10
  338. package/dist/types/components/AutocompleteField/autoCompleteFieldUtils.d.ts +2 -2
  339. package/dist/types/components/AutocompleteField/interfaces.d.ts +2 -4
  340. package/dist/types/components/Button/Button.d.ts +13 -26
  341. package/dist/types/components/Chat/ChatArea.d.ts +34 -0
  342. package/dist/types/components/Chat/ChatContent.d.ts +49 -0
  343. package/dist/types/components/Chat/ChatContentCollapsed.d.ts +28 -0
  344. package/dist/types/components/Chat/ChatField.d.ts +20 -0
  345. package/dist/types/components/Chat/index.d.ts +4 -0
  346. package/dist/types/components/CodeAutocompleteField/index.d.ts +5 -1
  347. package/dist/types/components/ContextOverlay/ContextMenu.d.ts +1 -1
  348. package/dist/types/components/Dialog/Modal.d.ts +11 -2
  349. package/dist/types/components/Dialog/ModalContext.d.ts +13 -0
  350. package/dist/types/components/Dialog/SimpleDialog.d.ts +0 -1
  351. package/dist/types/components/Dialog/index.d.ts +1 -0
  352. package/dist/types/components/Form/FieldItem.d.ts +1 -25
  353. package/dist/types/components/Form/FieldSet.d.ts +1 -21
  354. package/dist/types/components/Icon/BaseIcon.d.ts +1 -10
  355. package/dist/types/components/Icon/IconButton.d.ts +2 -1
  356. package/dist/types/components/Icon/canonicalIconNames.d.ts +26 -0
  357. package/dist/types/components/MultiSelect/MultiSelect.d.ts +17 -33
  358. package/dist/types/components/MultiSuggestField/index.d.ts +1 -0
  359. package/dist/types/components/Notification/Notification.d.ts +1 -24
  360. package/dist/types/components/OverviewItem/OverviewItemList.d.ts +1 -6
  361. package/dist/types/components/Spinner/Spinner.d.ts +16 -14
  362. package/dist/types/components/SuggestField/index.d.ts +6 -2
  363. package/dist/types/components/Table/Table.d.ts +1 -1
  364. package/dist/types/components/Table/TableContainer.d.ts +2 -2
  365. package/dist/types/components/Tabs/Tab.d.ts +2 -2
  366. package/dist/types/components/TextField/SearchField.d.ts +1 -1
  367. package/dist/types/components/TextReducer/TextReducer.d.ts +40 -0
  368. package/dist/types/components/Tooltip/Tooltip.d.ts +2 -1
  369. package/dist/types/components/Typography/OverflowText.d.ts +0 -5
  370. package/dist/types/components/VisualTour/VisualTour.d.ts +39 -0
  371. package/dist/types/components/index.d.ts +7 -7
  372. package/dist/types/configuration/constants.d.ts +2 -0
  373. package/dist/types/extensions/codemirror/CodeMirror.d.ts +9 -6
  374. package/dist/types/extensions/codemirror/hooks/useCodemirrorModeExtension.hooks.d.ts +2 -0
  375. package/dist/types/extensions/react-flow/edges/EdgeBezier.d.ts +20 -0
  376. package/dist/types/extensions/react-flow/edges/EdgeDefault.d.ts +29 -7
  377. package/dist/types/extensions/react-flow/edges/EdgeDefaultV12.d.ts +16 -27
  378. package/dist/types/extensions/react-flow/edges/EdgeDefs.d.ts +3 -0
  379. package/dist/types/extensions/react-flow/edges/EdgeLabel.d.ts +1 -1
  380. package/dist/types/extensions/react-flow/edges/EdgeNew.d.ts +3 -0
  381. package/dist/types/extensions/react-flow/edges/EdgeStep.d.ts +23 -5
  382. package/dist/types/extensions/react-flow/edges/EdgeStraight.d.ts +1 -0
  383. package/dist/types/extensions/react-flow/edges/utils.d.ts +2 -0
  384. package/dist/types/extensions/react-flow/handles/HandleDefault.d.ts +12 -6
  385. package/dist/types/extensions/react-flow/index.d.ts +6 -2
  386. package/dist/types/extensions/react-flow/markers/MarkerArrowClosedInverse.d.ts +3 -0
  387. package/dist/types/extensions/react-flow/markers/ReactFlowMarkers.d.ts +21 -2
  388. package/dist/types/extensions/react-flow/minimap/MiniMap.d.ts +18 -7
  389. package/dist/types/extensions/react-flow/minimap/MiniMapV12.d.ts +10 -0
  390. package/dist/types/extensions/react-flow/nodes/NodeContent.d.ts +15 -12
  391. package/dist/types/extensions/react-flow/nodes/NodeDefault.d.ts +7 -3
  392. package/dist/types/extensions/react-flow/nodes/nodeUtils.d.ts +12 -5
  393. package/dist/types/extensions/react-flow/versionsupport.d.ts +8 -4
  394. package/dist/types/index.d.ts +1 -2
  395. package/package.json +10 -8
  396. package/src/_shame.scss +1 -1
  397. package/src/cmem/ContentBlobToggler/StringPreviewContentBlobToggler.tsx +1 -1
  398. package/src/cmem/markdown/Markdown.stories.tsx +0 -1
  399. package/src/cmem/markdown/Markdown.tsx +4 -13
  400. package/src/cmem/react-flow/ReactFlow/ReactFlow.stories.tsx +472 -366
  401. package/src/cmem/react-flow/ReactFlow/ReactFlow.tsx +176 -72
  402. package/src/cmem/react-flow/ReactFlow/ReactFlowV12.tsx +56 -0
  403. package/src/cmem/react-flow/ReactFlow/ReactFlowV9.tsx +29 -0
  404. package/src/cmem/react-flow/StickyNoteModal/StickyNoteModal.tsx +1 -2
  405. package/src/cmem/react-flow/_canvas.scss +1 -1
  406. package/src/cmem/react-flow/_edges.scss +13 -13
  407. package/src/cmem/react-flow/_handles.scss +18 -18
  408. package/src/cmem/react-flow/_minimap.scss +29 -19
  409. package/src/cmem/react-flow/configuration/_colors-graph.scss +19 -36
  410. package/src/cmem/react-flow/configuration/_colors-linking.scss +14 -26
  411. package/src/cmem/react-flow/configuration/_colors-workflow.scss +15 -27
  412. package/src/cmem/react-flow/configuration/graph.ts +13 -11
  413. package/src/cmem/react-flow/configuration/linking.ts +3 -1
  414. package/src/cmem/react-flow/configuration/unspecified.ts +2 -1
  415. package/src/cmem/react-flow/configuration/workflow.ts +3 -1
  416. package/src/cmem/react-flow/extensions/scrollOnDragHook.ts +19 -21
  417. package/src/cmem/react-flow/index.ts +2 -1
  418. package/src/cmem/react-flow/nodes/_colors.scss +20 -20
  419. package/src/common/index.ts +11 -0
  420. package/src/common/scss/_color-functions.scss +144 -0
  421. package/src/common/utils/CssCustomProperties.ts +22 -15
  422. package/src/common/utils/colorCalculateDistance.ts +28 -0
  423. package/src/common/utils/colorHash.ts +195 -0
  424. package/src/common/utils/getColorConfiguration.ts +45 -7
  425. package/src/common/utils/reduceToText.tsx +82 -0
  426. package/src/components/Accordion/accordion.scss +6 -5
  427. package/src/components/Application/ApplicationViewability.tsx +61 -0
  428. package/src/components/Application/_colors.scss +15 -0
  429. package/src/components/Application/_content.scss +7 -0
  430. package/src/components/Application/_header.scss +19 -10
  431. package/src/components/Application/_toolbar.scss +5 -5
  432. package/src/components/Application/_viewability.scss +13 -0
  433. package/src/components/Application/application.scss +2 -0
  434. package/src/components/Application/index.ts +1 -0
  435. package/src/components/Application/stories/Application.stories.tsx +2 -2
  436. package/src/components/Application/stories/ApplicationViewability.stories.tsx +37 -0
  437. package/src/components/Application/stories/ColorPalettes.stories.tsx +885 -0
  438. package/src/components/Application/tests/ApplicationViewability.test.tsx +43 -0
  439. package/src/components/AutoSuggestion/AutoSuggestion.tsx +16 -32
  440. package/src/components/AutoSuggestion/AutoSuggestionList.tsx +13 -6
  441. package/src/components/AutoSuggestion/ExtendedCodeEditor.tsx +1 -7
  442. package/src/components/AutocompleteField/AutoCompleteField.tsx +21 -13
  443. package/src/components/AutocompleteField/autoCompleteFieldUtils.tsx +2 -2
  444. package/src/components/AutocompleteField/interfaces.ts +1 -5
  445. package/src/components/Button/Button.stories.tsx +7 -5
  446. package/src/components/Button/Button.tsx +23 -63
  447. package/src/components/Button/button.scss +94 -32
  448. package/src/components/Card/card.scss +19 -13
  449. package/src/components/Chat/ChatArea.tsx +114 -0
  450. package/src/components/Chat/ChatContent.tsx +132 -0
  451. package/src/components/Chat/ChatContentCollapsed.tsx +64 -0
  452. package/src/components/Chat/ChatField.tsx +75 -0
  453. package/src/components/Chat/_chat.scss +86 -0
  454. package/src/components/Chat/index.ts +4 -0
  455. package/src/components/Chat/stories/ChatArea.stories.tsx +61 -0
  456. package/src/components/Chat/stories/ChatContent.stories.tsx +61 -0
  457. package/src/components/Chat/stories/ChatContentCollapsed.stories.tsx +24 -0
  458. package/src/components/Chat/stories/ChatField.stories.tsx +23 -0
  459. package/src/components/Checkbox/checkbox.scss +14 -2
  460. package/src/components/CodeAutocompleteField/index.ts +8 -1
  461. package/src/components/ContentGroup/ContentGroup.tsx +1 -1
  462. package/src/components/ContentGroup/_contentgroup.scss +17 -2
  463. package/src/components/ContextOverlay/ContextMenu.tsx +4 -1
  464. package/src/components/ContextOverlay/ContextOverlay.tsx +77 -18
  465. package/src/components/ContextOverlay/tests/ContextMenu.test.tsx +43 -0
  466. package/src/components/ContextOverlay/tests/ContextOverlay.test.tsx +71 -0
  467. package/src/components/Depiction/depiction.scss +6 -0
  468. package/src/components/Dialog/Modal.tsx +30 -2
  469. package/src/components/Dialog/ModalContext.tsx +56 -0
  470. package/src/components/Dialog/SimpleDialog.tsx +2 -1
  471. package/src/components/Dialog/dialog.scss +4 -1
  472. package/src/components/Dialog/index.ts +1 -0
  473. package/src/components/Dialog/stories/Modal.stories.tsx +10 -7
  474. package/src/components/Dialog/stories/ModalContext.stories.tsx +153 -0
  475. package/src/components/FlexibleLayout/flexiblelayout.scss +16 -0
  476. package/src/components/Form/FieldItem.tsx +2 -57
  477. package/src/components/Form/FieldSet.tsx +1 -45
  478. package/src/components/Form/form.scss +2 -2
  479. package/src/components/Grid/grid.scss +17 -0
  480. package/src/components/Grid/stories/Grid.stories.tsx +10 -7
  481. package/src/components/Grid/stories/GridRow.stories.tsx +13 -7
  482. package/src/components/Icon/BaseIcon.tsx +0 -14
  483. package/src/components/Icon/IconButton.tsx +2 -1
  484. package/src/components/Icon/canonicalIconNames.tsx +28 -2
  485. package/src/components/Icon/icon.scss +6 -0
  486. package/src/components/Icon/stories/Icon.stories.tsx +65 -5
  487. package/src/components/Icon/stories/IconButton.stories.tsx +2 -1
  488. package/src/components/Label/label.scss +1 -1
  489. package/src/components/Link/link.scss +1 -1
  490. package/src/components/Menu/menu.scss +4 -27
  491. package/src/components/MultiSelect/MultiSelect.tsx +23 -60
  492. package/src/components/MultiSuggestField/MultiSuggestField.stories.tsx +1 -1
  493. package/src/components/MultiSuggestField/index.ts +1 -0
  494. package/src/components/Notification/Notification.stories.tsx +24 -10
  495. package/src/components/Notification/Notification.tsx +3 -51
  496. package/src/components/Notification/notification.scss +17 -6
  497. package/src/components/OverviewItem/OverviewItemList.tsx +0 -7
  498. package/src/components/OverviewItem/overviewitem.scss +15 -9
  499. package/src/components/OverviewItem/stories/OverviewItemList.stories.tsx +0 -1
  500. package/src/components/Pagination/pagination.scss +1 -1
  501. package/src/components/ProgressBar/Stories/ProgressBar.stories.tsx +7 -1
  502. package/src/components/PropertyValuePair/propertyvalue.scss +23 -1
  503. package/src/components/Select/Select.stories.tsx +1 -1
  504. package/src/components/Separation/separation.scss +6 -0
  505. package/src/components/Spinner/Spinner.tsx +30 -23
  506. package/src/components/Spinner/Stories/spinner.stories.tsx +1 -1
  507. package/src/components/Spinner/spinner.scss +10 -5
  508. package/src/components/Sticky/sticky.scss +7 -7
  509. package/src/components/SuggestField/index.ts +7 -1
  510. package/src/components/Table/Table.tsx +1 -2
  511. package/src/components/Table/TableContainer.tsx +2 -2
  512. package/src/components/Table/table.scss +56 -46
  513. package/src/components/Tabs/Tab.tsx +3 -2
  514. package/src/components/Tabs/stories/Tab.stories.tsx +1 -1
  515. package/src/components/Tabs/stories/TabPanel.stories.tsx +1 -1
  516. package/src/components/Tabs/stories/TabTitle.stories.tsx +1 -1
  517. package/src/components/Tag/tag.scss +95 -68
  518. package/src/components/TextField/SearchField.tsx +1 -6
  519. package/src/components/TextField/TextArea.tsx +2 -2
  520. package/src/components/TextField/stories/SearchField.stories.tsx +0 -4
  521. package/src/components/TextField/textfield.scss +31 -23
  522. package/src/components/TextReducer/TextReducer.stories.tsx +48 -0
  523. package/src/components/TextReducer/TextReducer.test.tsx +44 -0
  524. package/src/components/TextReducer/TextReducer.tsx +71 -0
  525. package/src/components/Tooltip/Tooltip.stories.tsx +2 -0
  526. package/src/components/Tooltip/Tooltip.test.tsx +63 -0
  527. package/src/components/Tooltip/Tooltip.tsx +7 -2
  528. package/src/components/Tooltip/tooltip.scss +7 -3
  529. package/src/components/Typography/OverflowText.tsx +1 -6
  530. package/src/components/Typography/typography.scss +1 -1
  531. package/src/components/VisualTour/VisualTour.tsx +381 -0
  532. package/src/components/VisualTour/stories/VisualTour.stories.tsx +112 -0
  533. package/src/components/VisualTour/stories/defaultTour.ts +42 -0
  534. package/src/components/VisualTour/visualTour.scss +83 -0
  535. package/src/components/index.scss +2 -0
  536. package/src/components/index.ts +7 -7
  537. package/src/configuration/_libprefix.scss +1 -0
  538. package/src/configuration/_palettes.scss +40 -0
  539. package/src/configuration/_variables.scss +21 -20
  540. package/src/configuration/constants.ts +2 -0
  541. package/src/extensions/codemirror/CodeMirror.tsx +15 -10
  542. package/src/extensions/codemirror/_codemirror.scss +2 -2
  543. package/src/extensions/codemirror/hooks/useCodemirrorModeExtension.hooks.ts +4 -0
  544. package/src/extensions/react-flow/_config.scss +13 -7
  545. package/src/extensions/react-flow/_react-flow.scss +1 -4
  546. package/src/extensions/react-flow/_react-flow_v12.scss +211 -3
  547. package/src/extensions/react-flow/edges/EdgeBezier.tsx +47 -0
  548. package/src/extensions/react-flow/edges/EdgeDefault.tsx +51 -13
  549. package/src/extensions/react-flow/edges/EdgeDefaultV12.tsx +79 -78
  550. package/src/extensions/react-flow/edges/EdgeDefs.tsx +3 -0
  551. package/src/extensions/react-flow/edges/EdgeLabel.tsx +1 -1
  552. package/src/extensions/react-flow/edges/EdgeNew.tsx +52 -0
  553. package/src/extensions/react-flow/edges/EdgeStep.tsx +41 -6
  554. package/src/extensions/react-flow/edges/EdgeStraight.tsx +1 -0
  555. package/src/extensions/react-flow/edges/_edges.scss +25 -11
  556. package/src/extensions/react-flow/edges/stories/EdgeDefault.stories.tsx +5 -6
  557. package/src/extensions/react-flow/edges/stories/EdgeDefaultV12.stories.tsx +32 -25
  558. package/src/extensions/react-flow/edges/utils.ts +19 -1
  559. package/src/extensions/react-flow/handles/HandleDefault.tsx +40 -35
  560. package/src/extensions/react-flow/handles/_handles.scss +2 -2
  561. package/src/extensions/react-flow/handles/stories/HandleDefault.stories.tsx +4 -6
  562. package/src/extensions/react-flow/index.ts +7 -5
  563. package/src/extensions/react-flow/markers/MarkerArrowClosedInverse.tsx +3 -0
  564. package/src/extensions/react-flow/markers/ReactFlowMarkers.tsx +58 -1
  565. package/src/extensions/react-flow/markers/_markers.scss +31 -0
  566. package/src/extensions/react-flow/minimap/MiniMap.stories.tsx +12 -18
  567. package/src/extensions/react-flow/minimap/MiniMap.tsx +44 -9
  568. package/src/extensions/react-flow/minimap/MiniMapV12.tsx +39 -0
  569. package/src/extensions/react-flow/minimap/_minimap.scss +14 -0
  570. package/src/extensions/react-flow/nodes/NodeContent.tsx +135 -113
  571. package/src/extensions/react-flow/nodes/NodeDefault.tsx +9 -5
  572. package/src/extensions/react-flow/nodes/_nodes.scss +29 -23
  573. package/src/extensions/react-flow/nodes/nodeUtils.tsx +15 -6
  574. package/src/extensions/react-flow/nodes/stories/NodeDefault.stories.tsx +3 -5
  575. package/src/extensions/react-flow/versionsupport.ts +17 -15
  576. package/src/extensions/uppy/_fileupload.scss +2 -2
  577. package/src/includes/blueprintjs/_colormap.scss +150 -0
  578. package/src/includes/blueprintjs/_variables.scss +39 -9
  579. package/src/includes/carbon-components/_variables.scss +23 -8
  580. package/src/index.scss +11 -0
  581. package/src/index.ts +1 -2
  582. package/dist/cjs/components/AutoSuggestion/index.js +0 -8
  583. package/dist/cjs/components/AutoSuggestion/index.js.map +0 -1
  584. package/dist/cjs/components/AutocompleteField/index.js.map +0 -1
  585. package/dist/cjs/components/CodeAutocompleteField/CodeAutocompleteField.js +0 -32
  586. package/dist/cjs/components/CodeAutocompleteField/CodeAutocompleteField.js.map +0 -1
  587. package/dist/cjs/components/MultiSuggestField/MultiSuggestField.js +0 -37
  588. package/dist/cjs/components/MultiSuggestField/MultiSuggestField.js.map +0 -1
  589. package/dist/cjs/components/SuggestField/SuggestField.js +0 -38
  590. package/dist/cjs/components/SuggestField/SuggestField.js.map +0 -1
  591. package/dist/cjs/extensions/react-flow/edges/edgeTypes.js +0 -28
  592. package/dist/cjs/extensions/react-flow/edges/edgeTypes.js.map +0 -1
  593. package/dist/cjs/extensions/react-flow/nodes/nodeTypes.js +0 -18
  594. package/dist/cjs/extensions/react-flow/nodes/nodeTypes.js.map +0 -1
  595. package/dist/cjs/legacy-replacements/Button/AffirmativeButton.js +0 -25
  596. package/dist/cjs/legacy-replacements/Button/AffirmativeButton.js.map +0 -1
  597. package/dist/cjs/legacy-replacements/Button/Button.js +0 -65
  598. package/dist/cjs/legacy-replacements/Button/Button.js.map +0 -1
  599. package/dist/cjs/legacy-replacements/Button/DismissiveButton.js +0 -25
  600. package/dist/cjs/legacy-replacements/Button/DismissiveButton.js.map +0 -1
  601. package/dist/cjs/legacy-replacements/Button/DisruptiveButton.js +0 -25
  602. package/dist/cjs/legacy-replacements/Button/DisruptiveButton.js.map +0 -1
  603. package/dist/cjs/legacy-replacements/Checkbox/Checkbox.js +0 -58
  604. package/dist/cjs/legacy-replacements/Checkbox/Checkbox.js.map +0 -1
  605. package/dist/cjs/legacy-replacements/Radio/RadioButton.js +0 -51
  606. package/dist/cjs/legacy-replacements/Radio/RadioButton.js.map +0 -1
  607. package/dist/cjs/legacy-replacements/Tabs/Tabs.js +0 -34
  608. package/dist/cjs/legacy-replacements/Tabs/Tabs.js.map +0 -1
  609. package/dist/cjs/legacy-replacements/TextField/TextField.js +0 -75
  610. package/dist/cjs/legacy-replacements/TextField/TextField.js.map +0 -1
  611. package/dist/cjs/legacy-replacements/index.js +0 -22
  612. package/dist/cjs/legacy-replacements/index.js.map +0 -1
  613. package/dist/esm/components/AutoSuggestion/index.js +0 -4
  614. package/dist/esm/components/AutoSuggestion/index.js.map +0 -1
  615. package/dist/esm/components/AutocompleteField/index.js +0 -7
  616. package/dist/esm/components/AutocompleteField/index.js.map +0 -1
  617. package/dist/esm/components/CodeAutocompleteField/CodeAutocompleteField.js +0 -37
  618. package/dist/esm/components/CodeAutocompleteField/CodeAutocompleteField.js.map +0 -1
  619. package/dist/esm/components/MultiSuggestField/MultiSuggestField.js +0 -42
  620. package/dist/esm/components/MultiSuggestField/MultiSuggestField.js.map +0 -1
  621. package/dist/esm/components/SuggestField/SuggestField.js +0 -43
  622. package/dist/esm/components/SuggestField/SuggestField.js.map +0 -1
  623. package/dist/esm/extensions/react-flow/edges/edgeTypes.js +0 -25
  624. package/dist/esm/extensions/react-flow/edges/edgeTypes.js.map +0 -1
  625. package/dist/esm/extensions/react-flow/nodes/nodeTypes.js +0 -15
  626. package/dist/esm/extensions/react-flow/nodes/nodeTypes.js.map +0 -1
  627. package/dist/esm/legacy-replacements/Button/AffirmativeButton.js.map +0 -1
  628. package/dist/esm/legacy-replacements/Button/Button.js +0 -69
  629. package/dist/esm/legacy-replacements/Button/Button.js.map +0 -1
  630. package/dist/esm/legacy-replacements/Button/DismissiveButton.js +0 -30
  631. package/dist/esm/legacy-replacements/Button/DismissiveButton.js.map +0 -1
  632. package/dist/esm/legacy-replacements/Button/DisruptiveButton.js +0 -30
  633. package/dist/esm/legacy-replacements/Button/DisruptiveButton.js.map +0 -1
  634. package/dist/esm/legacy-replacements/Checkbox/Checkbox.js +0 -63
  635. package/dist/esm/legacy-replacements/Checkbox/Checkbox.js.map +0 -1
  636. package/dist/esm/legacy-replacements/Radio/RadioButton.js +0 -56
  637. package/dist/esm/legacy-replacements/Radio/RadioButton.js.map +0 -1
  638. package/dist/esm/legacy-replacements/Tabs/Tabs.js +0 -39
  639. package/dist/esm/legacy-replacements/Tabs/Tabs.js.map +0 -1
  640. package/dist/esm/legacy-replacements/TextField/TextField.js +0 -82
  641. package/dist/esm/legacy-replacements/TextField/TextField.js.map +0 -1
  642. package/dist/esm/legacy-replacements/index.js +0 -10
  643. package/dist/esm/legacy-replacements/index.js.map +0 -1
  644. package/dist/types/components/AutoSuggestion/index.d.ts +0 -5
  645. package/dist/types/components/AutocompleteField/index.d.ts +0 -5
  646. package/dist/types/components/CodeAutocompleteField/CodeAutocompleteField.d.ts +0 -11
  647. package/dist/types/components/MultiSuggestField/MultiSuggestField.d.ts +0 -19
  648. package/dist/types/components/SuggestField/SuggestField.d.ts +0 -21
  649. package/dist/types/extensions/react-flow/edges/edgeTypes.d.ts +0 -16
  650. package/dist/types/extensions/react-flow/nodes/nodeTypes.d.ts +0 -13
  651. package/dist/types/legacy-replacements/Button/AffirmativeButton.d.ts +0 -3
  652. package/dist/types/legacy-replacements/Button/Button.d.ts +0 -6
  653. package/dist/types/legacy-replacements/Button/DismissiveButton.d.ts +0 -3
  654. package/dist/types/legacy-replacements/Button/DisruptiveButton.d.ts +0 -3
  655. package/dist/types/legacy-replacements/Checkbox/Checkbox.d.ts +0 -3
  656. package/dist/types/legacy-replacements/Radio/RadioButton.d.ts +0 -3
  657. package/dist/types/legacy-replacements/Tabs/Tabs.d.ts +0 -24
  658. package/dist/types/legacy-replacements/TextField/TextField.d.ts +0 -3
  659. package/dist/types/legacy-replacements/index.d.ts +0 -10
  660. package/src/components/AutoSuggestion/index.ts +0 -7
  661. package/src/components/AutocompleteField/AutoCompleteField.stories.tsx +0 -14
  662. package/src/components/AutocompleteField/index.ts +0 -6
  663. package/src/components/CodeAutocompleteField/CodeAutocompleteField.tsx +0 -22
  664. package/src/components/MultiSuggestField/MultiSuggestField.tsx +0 -35
  665. package/src/components/SuggestField/SuggestField.tsx +0 -33
  666. package/src/extensions/react-flow/edges/edgeTypes.ts +0 -29
  667. package/src/extensions/react-flow/nodes/nodeTypes.ts +0 -15
  668. package/src/legacy-replacements/Button/AffirmativeButton.tsx +0 -12
  669. package/src/legacy-replacements/Button/Button.tsx +0 -80
  670. package/src/legacy-replacements/Button/DismissiveButton.tsx +0 -12
  671. package/src/legacy-replacements/Button/DisruptiveButton.tsx +0 -12
  672. package/src/legacy-replacements/Checkbox/Checkbox.tsx +0 -59
  673. package/src/legacy-replacements/Radio/RadioButton.tsx +0 -37
  674. package/src/legacy-replacements/Tabs/Tabs.stories.tsx +0 -36
  675. package/src/legacy-replacements/Tabs/Tabs.tsx +0 -69
  676. package/src/legacy-replacements/TextField/TextField.tsx +0 -89
  677. package/src/legacy-replacements/index.ts +0 -11
@@ -1,5 +1,6 @@
1
1
  @use "sass:color";
2
2
  @use "sass:map";
3
+ @use "sass:list";
3
4
 
4
5
  $button-height: $pt-button-height;
5
6
  $button-border-width: 1px; // !default;
@@ -20,9 +21,9 @@ $button-border-radius: $pt-border-radius;
20
21
  // $dark-button-box-shadow-active: 0 0 0 $button-border-width rgba($black, 0.6), inset 0 1px 2px rgba($black, 0.2) !default;
21
22
  // $dark-button-intent-box-shadow: 0 0 0 $button-border-width rgba($black, 0.4) !default;
22
23
  // $dark-button-intent-box-shadow-active: 0 0 0 $button-border-width rgba($black, 0.4), inset 0 1px 2px rgba($black, 0.2) !default;
23
- $button-gradient: none; // !default; // linear-gradient(to bottom, rgba($white, 0.8), rgba($white, 0)) !default;
24
- $button-intent-gradient: $button-gradient; // !default; // linear-gradient(to bottom, rgba($white, 0.1), rgba($white, 0)) !default;
25
- $dark-button-gradient: $button-gradient; // !default; // linear-gradient(to bottom, rgba($white, 0.05), rgba($white, 0)) !default;
24
+ $button-gradient: none; // !default;
25
+ $button-intent-gradient: $button-gradient; // !default;
26
+ $dark-button-gradient: $button-gradient; // !default;
26
27
  // $button-color-disabled: $pt-text-color-disabled !default;
27
28
  // $button-background-color: $light-gray5 !default;
28
29
  // $button-background-color-hover: $light-gray4 !default;
@@ -49,64 +50,125 @@ $dark-button-gradient: $button-gradient; // !default; // linear-gradient(to bott
49
50
  // $button-outlined-border-disabled-intent-opacity: 0.2 !default;
50
51
 
51
52
  $button-intents: (
52
- "primary": (
53
- $eccgui-color-accent,
54
- color.scale($eccgui-color-accent, $lightness: -20%),
55
- color.scale($eccgui-color-accent, $lightness: -40%),
53
+ // default - hover - active
54
+ "primary":
55
+ (
56
+ eccgui-color-var("identity", "brand", "900"),
57
+ eccgui-color-mix(
58
+ eccgui-color-var("identity", "brand", "900"),
59
+ eccgui-color-var("identity", "text", "900") 10%
60
+ ),
61
+ eccgui-color-mix(
62
+ eccgui-color-var("identity", "brand", "900"),
63
+ eccgui-color-var("identity", "text", "900") 20%
64
+ )
65
+ ),
66
+ "accent": (
67
+ eccgui-color-var("identity", "accent", "900"),
68
+ eccgui-color-mix(
69
+ eccgui-color-var("identity", "accent", "900"),
70
+ eccgui-color-var("identity", "text", "900") 10%
71
+ ),
72
+ eccgui-color-mix(eccgui-color-var("identity", "accent", "900"), eccgui-color-var("identity", "text", "900") 20%)
56
73
  ),
57
74
  "success": (
58
- $eccgui-color-success-text,
59
- color.scale($eccgui-color-success-text, $lightness: -20%),
60
- color.scale($eccgui-color-success-text, $lightness: -40%),
75
+ eccgui-color-var("semantic", "success", "900"),
76
+ eccgui-color-mix(
77
+ eccgui-color-var("semantic", "success", "900"),
78
+ eccgui-color-var("identity", "text", "900") 10%
79
+ ),
80
+ eccgui-color-mix(
81
+ eccgui-color-var("semantic", "success", "900"),
82
+ eccgui-color-var("identity", "text", "900") 20%
83
+ )
61
84
  ),
62
85
  "warning": (
63
- $eccgui-color-warning-text,
64
- color.scale($eccgui-color-warning-text, $lightness: -20%),
65
- color.scale($eccgui-color-warning-text, $lightness: -40%),
86
+ eccgui-color-var("semantic", "warning", "900"),
87
+ eccgui-color-mix(
88
+ eccgui-color-var("semantic", "warning", "900"),
89
+ eccgui-color-var("identity", "text", "900") 10%
90
+ ),
91
+ eccgui-color-mix(
92
+ eccgui-color-var("semantic", "warning", "900"),
93
+ eccgui-color-var("identity", "text", "900") 20%
94
+ )
66
95
  ),
67
96
  "danger": (
68
- $eccgui-color-danger-text,
69
- color.scale($eccgui-color-danger-text, $lightness: -20%),
70
- color.scale($eccgui-color-danger-text, $lightness: -40%),
71
- ),
97
+ eccgui-color-var("semantic", "danger", "900"),
98
+ eccgui-color-mix(
99
+ eccgui-color-var("semantic", "danger", "900"),
100
+ eccgui-color-var("identity", "text", "900") 10%
101
+ ),
102
+ eccgui-color-mix(eccgui-color-var("semantic", "danger", "900"), eccgui-color-var("identity", "text", "900") 20%)
103
+ )
72
104
  );
73
105
 
74
106
  @import "~@blueprintjs/core/src/components/button/button";
75
107
 
76
- .#{$ns}-button {
77
- position: relative;
78
-
79
- .#{$ns}-large {
80
- min-height: mini-units(6);
81
- }
82
-
83
- // special case override: blueprint do not use configured colors here
84
- &.#{$ns}-intent-warning {
85
- @include pt-button-intent(map.get($button-intents, "warning")...);
108
+ @mixin eccgui-enhance-blueprint-button-intent($intentvalue) {
109
+ &.#{$ns}-intent-#{$intentvalue} {
110
+ @include pt-button-intent(map.get($button-intents, $intentvalue)...);
86
111
 
87
112
  &:not(.#{$ns}-disabled).#{$ns}-icon > svg {
88
- fill: rgba($white, 0.7);
113
+ fill: eccgui-color-rgba($white, 0.7);
89
114
  }
90
115
 
91
116
  &:not(.#{$ns}-disabled):not(.#{$ns}-minimal):not(.#{$ns}-outlined) {
92
- @include pt-button-intent(map.get($button-intents, "warning")...);
117
+ @include pt-button-intent(map.get($button-intents, $intentvalue)...);
93
118
  }
94
119
 
95
120
  &.#{$ns}-minimal,
96
121
  &.#{$ns}-outlined {
97
- color: $eccgui-color-warning-text;
122
+ color: list.nth(map.get($button-intents, $intentvalue), 1);
98
123
  background: none;
99
- border-color: $eccgui-color-warning-text;
124
+ border-color: list.nth(map.get($button-intents, $intentvalue), 1);
100
125
  box-shadow: none;
101
126
 
102
127
  &:disabled,
103
128
  &.#{$ns}-disabled {
104
- color: rgba($eccgui-color-warning-text, 0.39);
129
+ color: eccgui-color-rgba(list.nth(map.get($button-intents, $intentvalue), 1), $eccgui-opacity-disabled);
130
+ border-color: eccgui-color-rgba(
131
+ list.nth(map.get($button-intents, $intentvalue), 1),
132
+ $eccgui-opacity-disabled
133
+ );
134
+ }
135
+
136
+ &:active:not(:disabled):not(.#{$ns}-disabled),
137
+ &.#{$ns}-active:not(:disabled):not(.#{$ns}-disabled) {
138
+ color: list.nth(map.get($button-intents, $intentvalue), 3);
139
+ background-color: eccgui-color-rgba(
140
+ list.nth(map.get($button-intents, $intentvalue), 3),
141
+ $eccgui-opacity-ghostly
142
+ );
143
+ border-color: list.nth(map.get($button-intents, $intentvalue), 3);
144
+ }
145
+
146
+ &:focus:not(:disabled):not(.#{$ns}-disabled),
147
+ &:hover:not(:disabled):not(.#{$ns}-disabled) {
148
+ color: list.nth(map.get($button-intents, $intentvalue), 2);
149
+ background-color: eccgui-color-rgba(
150
+ list.nth(map.get($button-intents, $intentvalue), 2),
151
+ 0.5 * $eccgui-opacity-ghostly
152
+ );
153
+ border-color: list.nth(map.get($button-intents, $intentvalue), 2);
105
154
  }
106
155
  }
107
156
  }
108
157
  }
109
158
 
159
+ .#{$ns}-button {
160
+ position: relative;
161
+
162
+ .#{$ns}-large {
163
+ min-height: mini-units(6);
164
+ }
165
+
166
+ // special case override: blueprint do not use configured colors here
167
+ @include eccgui-enhance-blueprint-button-intent("primary");
168
+ @include eccgui-enhance-blueprint-button-intent("accent");
169
+ @include eccgui-enhance-blueprint-button-intent("warning");
170
+ }
171
+
110
172
  .#{$ns}-button-text {
111
173
  min-width: 0;
112
174
  }
@@ -1,8 +1,8 @@
1
1
  @use "sass:color";
2
2
 
3
3
  $card-padding: 0 !default;
4
- $card-background-color: $white !default;
5
- $card-selected-background-color: rgba($blue3, 0.1);
4
+ $card-background-color: #{eccgui-color-var("identity", "background", "100")} !default;
5
+ $card-selected-background-color: eccgui-color-rgba($blue3, 0.1);
6
6
  $eccgui-size-card-spacing: $eccgui-size-typo-base !default;
7
7
 
8
8
  @import "~@blueprintjs/core/src/components/card/card";
@@ -14,22 +14,22 @@ $eccgui-size-card-spacing: $eccgui-size-typo-base !default;
14
14
  justify-content: flex-start;
15
15
 
16
16
  &.#{$eccgui}-intent--primary {
17
- background-color: color.mix($eccgui-color-primary, $card-background-color, 5%);
17
+ background-color: eccgui-color-var("identity", "brand", "100");
18
18
  }
19
19
  &.#{$eccgui}-intent--accent {
20
- background-color: color.mix($eccgui-color-accent, $card-background-color, 10%);
20
+ background-color: eccgui-color-var("identity", "accent", "100");
21
21
  }
22
22
  &.#{$eccgui}-intent--success {
23
- background-color: $eccgui-color-success-background;
23
+ background-color: eccgui-color-var("semantic", "success", "100");
24
24
  }
25
25
  &.#{$eccgui}-intent--info {
26
- background-color: $eccgui-color-info-background;
26
+ background-color: eccgui-color-var("semantic", "info", "100");
27
27
  }
28
28
  &.#{$eccgui}-intent--warning {
29
- background-color: $eccgui-color-warning-background;
29
+ background-color: eccgui-color-var("semantic", "warning", "100");
30
30
  }
31
31
  &.#{$eccgui}-intent--danger {
32
- background-color: $eccgui-color-danger-background;
32
+ background-color: eccgui-color-var("semantic", "danger", "100");
33
33
  }
34
34
 
35
35
  &.#{$ns}-interactive:hover {
@@ -38,13 +38,13 @@ $eccgui-size-card-spacing: $eccgui-size-typo-base !default;
38
38
 
39
39
  &.#{$ns}-selected {
40
40
  background-color: $card-selected-background-color;
41
- box-shadow: 0 0 0 3px rgba($eccgui-color-accent, 0.2), 0 0 0 1px $eccgui-color-accent;
41
+ box-shadow: 0 0 0 3px eccgui-color-rgba($eccgui-color-accent, 0.2), 0 0 0 1px $eccgui-color-accent;
42
42
 
43
43
  &.#{$ns}-interactive {
44
- box-shadow: 0 0 0 3px rgba($eccgui-color-accent, 0.2), 0 0 0 1px $eccgui-color-accent;
44
+ box-shadow: 0 0 0 3px eccgui-color-rgba($eccgui-color-accent, 0.2), 0 0 0 1px $eccgui-color-accent;
45
45
 
46
46
  &:hover {
47
- background-color: color.mix($card-selected-background-color, $button-background-color-hover, 50%);
47
+ background-color: eccgui-color-mix($card-selected-background-color, $button-background-color-hover);
48
48
  }
49
49
  }
50
50
  }
@@ -176,9 +176,9 @@ $eccgui-size-card-spacing: $eccgui-size-typo-base !default;
176
176
 
177
177
  .#{$eccgui}-card__actions {
178
178
  display: flex;
179
- flex-flow: row wrap;
180
179
  flex-grow: 0;
181
180
  flex-shrink: 0;
181
+ flex-flow: row wrap;
182
182
  align-items: center;
183
183
  padding: $eccgui-size-card-spacing * 0.25 $eccgui-size-card-spacing;
184
184
 
@@ -242,8 +242,8 @@ $eccgui-size-card-spacing: $eccgui-size-typo-base !default;
242
242
 
243
243
  .#{$eccgui}-card__actions__aux {
244
244
  display: flex;
245
- flex-flow: row wrap;
246
245
  flex-grow: 1;
246
+ flex-flow: row wrap;
247
247
  align-items: center;
248
248
  justify-content: flex-end;
249
249
  order: 1000;
@@ -288,3 +288,9 @@ $eccgui-size-card-spacing: $eccgui-size-typo-base !default;
288
288
  }
289
289
  }
290
290
  }
291
+
292
+ @media print {
293
+ .#{$eccgui}-card__actions {
294
+ display: none;
295
+ }
296
+ }
@@ -0,0 +1,114 @@
1
+ import React from "react";
2
+
3
+ import { TestableComponent } from "../../components/interfaces";
4
+ import { CLASSPREFIX as eccgui } from "../../configuration/constants";
5
+
6
+ import { FlexibleLayoutContainer, FlexibleLayoutContainerProps, FlexibleLayoutItem } from "./../FlexibleLayout";
7
+ import { Spacing, SpacingProps } from "./../Separation/Spacing";
8
+ import { ChatFieldProps } from "./ChatField";
9
+
10
+ export interface ChatAreaProps
11
+ extends Omit<FlexibleLayoutContainerProps, "vertical" | "noEqualItemSpace">,
12
+ TestableComponent {
13
+ /**
14
+ * The inut field for the chat.
15
+ */
16
+ chatField?: React.ReactElement<ChatFieldProps>;
17
+ /**
18
+ * Set the position of the chat field.
19
+ */
20
+ chatFieldPosition?: "top" | "bottom";
21
+ /**
22
+ * Sets the maximum width for chat contents and input.
23
+ */
24
+ contentWidth?: "small" | "medium" | "large" | "full";
25
+ /**
26
+ * Put chat content in a list and add spacings automatically.
27
+ * Works best if each `ChatArea` child represents one chat content item.
28
+ */
29
+ autoSpacingSize?: SpacingProps["size"];
30
+ /**
31
+ * Scrolls content to the first or last child automatically.
32
+ * The correct value depends on the place where you insert the most recent chat item.
33
+ */
34
+ autoScrollTo?: "first" | "last";
35
+ }
36
+
37
+ /**
38
+ * Component to display a full chat, containing chat content bubbles and text input.
39
+ */
40
+ export const ChatArea = ({
41
+ children,
42
+ className,
43
+ chatField,
44
+ chatFieldPosition = "bottom",
45
+ contentWidth = "medium",
46
+ autoSpacingSize,
47
+ gapSize = "medium",
48
+ autoScrollTo,
49
+ ...otherFlexibleLayoutContainerProps
50
+ }: ChatAreaProps) => {
51
+ const chatcontents = React.useRef<HTMLDivElement>(null);
52
+
53
+ React.useEffect(() => {
54
+ if (chatcontents.current && children && autoScrollTo) {
55
+ const chatitems = chatcontents.current.getElementsByClassName(`${eccgui}-chat__content`);
56
+ if (chatitems.length > 0) {
57
+ chatitems[autoScrollTo === "first" ? 0 : chatitems.length - 1].scrollIntoView({
58
+ behavior: "instant",
59
+ block: autoScrollTo === "first" ? "start" : "end",
60
+ });
61
+ }
62
+ }
63
+ }, [chatcontents, children, autoScrollTo]);
64
+
65
+ return (
66
+ <FlexibleLayoutContainer
67
+ className={
68
+ `${eccgui}-chat__area` + ` ${eccgui}-chat__area--${contentWidth}` + (className ? ` ${className}` : "")
69
+ }
70
+ vertical
71
+ noEqualItemSpace
72
+ gapSize={gapSize}
73
+ {...otherFlexibleLayoutContainerProps}
74
+ >
75
+ {chatField && (
76
+ <FlexibleLayoutItem
77
+ growFactor={0}
78
+ shrinkFactor={0}
79
+ style={chatFieldPosition === "bottom" ? { order: 1 } : undefined}
80
+ >
81
+ <div className={`${eccgui}-chat__area-contentwidth`}>{chatField}</div>
82
+ </FlexibleLayoutItem>
83
+ )}
84
+ <FlexibleLayoutItem
85
+ style={
86
+ otherFlexibleLayoutContainerProps.useAbsoluteSpace
87
+ ? {
88
+ overflow: "auto",
89
+ minHeight: 0,
90
+ padding: "2px 0",
91
+ }
92
+ : undefined
93
+ }
94
+ >
95
+ <div className={`${eccgui}-chat__area-contentwidth`} ref={chatcontents}>
96
+ {autoSpacingSize && children ? (
97
+ <ul>
98
+ {React.Children.toArray(children).map((child, index) => (
99
+ <li key={index}>
100
+ {child}
101
+ <Spacing size={autoSpacingSize} />
102
+ </li>
103
+ ))}
104
+ </ul>
105
+ ) : (
106
+ children
107
+ )}
108
+ </div>
109
+ </FlexibleLayoutItem>
110
+ </FlexibleLayoutContainer>
111
+ );
112
+ };
113
+
114
+ export default ChatArea;
@@ -0,0 +1,132 @@
1
+ import React from "react";
2
+
3
+ import { TestableComponent } from "../../components/interfaces";
4
+ import { CLASSPREFIX as eccgui } from "../../configuration/constants";
5
+
6
+ import { Markdown, MarkdownProps } from "./../../cmem/markdown/Markdown";
7
+ import { ContextMenuProps } from "./../ContextOverlay/ContextMenu";
8
+ import { DepictionProps } from "./../Depiction/Depiction";
9
+ import { FlexibleLayoutContainer, FlexibleLayoutItem } from "./../FlexibleLayout";
10
+ import { IconButtonProps } from "./../Icon/IconButton";
11
+ import { Spacing } from "./../Separation/Spacing";
12
+ import { HtmlContentBlock, OverflowTextProps } from "./../Typography";
13
+
14
+ export interface ChatContentProps extends React.HTMLAttributes<HTMLDivElement>, TestableComponent {
15
+ /**
16
+ * Should be a line of text, e.g. username, timestamp, ...
17
+ */
18
+ statusLine?: React.ReactElement<OverflowTextProps>;
19
+ /**
20
+ * How the chat content box is displayed.
21
+ */
22
+ displayType?: "free" | "simple" | "bubble";
23
+ /**
24
+ * A depiction used as avatar next to the content box.
25
+ */
26
+ avatar?: React.ReactElement<DepictionProps>;
27
+ /**
28
+ * If indented then the content box has some white space on the opposite side to the alignment
29
+ */
30
+ indentationSize?: "small" | "medium" | "large";
31
+ /**
32
+ * How the content box and avatar is aligned.
33
+ * If `left` is set then the avatar is on the left side, and the indentation on the right side.
34
+ */
35
+ alignment?: "left" | "right";
36
+ /**
37
+ * If set then the chat bubble only grows to a height of 50% of the viewport.
38
+ * In case you need to set other maximum heights then use the `style` property directly.
39
+ */
40
+ limitHeight?: boolean;
41
+ /**
42
+ * If given then the content is automatically parsed and displayed by our `<Markdown />` component.
43
+ * `children` need to a `string` then, otherwise it cannot be parsed.
44
+ */
45
+ markdownProps?: Omit<MarkdownProps, "children">;
46
+ /**
47
+ * Could be used to add some type of toggle button or to include a context menu.
48
+ */
49
+ actionButton?: React.ReactElement<IconButtonProps> | React.ReactElement<ContextMenuProps>;
50
+ }
51
+
52
+ /**
53
+ * Component to display single chat contents, including avatar and status line.
54
+ */
55
+ export const ChatContent = ({
56
+ className,
57
+ children,
58
+ statusLine,
59
+ avatar,
60
+ displayType = "bubble",
61
+ indentationSize,
62
+ alignment = "left",
63
+ limitHeight,
64
+ markdownProps,
65
+ actionButton,
66
+ ...otherDivProps
67
+ }: ChatContentProps) => {
68
+ const content =
69
+ markdownProps && typeof children === "string" ? <Markdown {...markdownProps}>{children}</Markdown> : children;
70
+
71
+ const chatitem = (
72
+ <div
73
+ className={
74
+ `${eccgui}-chat__content` +
75
+ ` ${eccgui}-chat__content--display-${displayType}` +
76
+ ` ${eccgui}-chat__content--align-${alignment}` +
77
+ (limitHeight ? ` ${eccgui}-chat__content--limitheight` : "") +
78
+ (className ? ` ${className}` : "")
79
+ }
80
+ {...otherDivProps}
81
+ >
82
+ {statusLine && (
83
+ <HtmlContentBlock small>
84
+ {statusLine}
85
+ <Spacing size="tiny" />
86
+ </HtmlContentBlock>
87
+ )}
88
+ {content}
89
+ </div>
90
+ );
91
+
92
+ const indentationSizes = {
93
+ small: "8%",
94
+ medium: "21%",
95
+ large: "34%",
96
+ };
97
+
98
+ return (
99
+ <div
100
+ style={{
101
+ marginLeft: alignment === "right" && indentationSize ? indentationSizes[indentationSize] : undefined,
102
+ marginRight: alignment === "left" && indentationSize ? indentationSizes[indentationSize] : undefined,
103
+ }}
104
+ >
105
+ <FlexibleLayoutContainer noEqualItemSpace gapSize="tiny">
106
+ {avatar && (
107
+ <FlexibleLayoutItem
108
+ className={`${eccgui}-chat__content-avatar`}
109
+ growFactor={0}
110
+ shrinkFactor={0}
111
+ style={alignment === "right" ? { order: 1 } : undefined}
112
+ >
113
+ {React.cloneElement(avatar, { size: "small", ratio: "1:1", rounded: true, resizing: "cover" })}
114
+ </FlexibleLayoutItem>
115
+ )}
116
+ <FlexibleLayoutItem className={`${eccgui}-chat__content-wrapper`}>{chatitem}</FlexibleLayoutItem>
117
+ {actionButton && (
118
+ <FlexibleLayoutItem
119
+ className={`${eccgui}-chat__content-sizetoggle`}
120
+ growFactor={0}
121
+ shrinkFactor={0}
122
+ style={alignment === "right" ? { order: -1 } : undefined}
123
+ >
124
+ {actionButton}
125
+ </FlexibleLayoutItem>
126
+ )}
127
+ </FlexibleLayoutContainer>
128
+ </div>
129
+ );
130
+ };
131
+
132
+ export default ChatContent;
@@ -0,0 +1,64 @@
1
+ import React from "react";
2
+
3
+ import { Markdown } from "../../cmem/markdown/Markdown";
4
+ import { IconButton } from "../Icon/IconButton";
5
+ import { TextReducer, TextReducerProps } from "../TextReducer/TextReducer";
6
+
7
+ import { ChatContentProps } from "./ChatContent";
8
+
9
+ export interface ChatContentCollapsedProps {
10
+ children: React.ReactElement<ChatContentProps>;
11
+ /**
12
+ * Set this to `false` if the compoment should initally start in an expanded state.
13
+ */
14
+ collapsed?: boolean;
15
+ /**
16
+ * Use this to set extra `TextReducer` properties.
17
+ * This is used to create the collapsed variant of the given content.
18
+ */
19
+ textReducerProps?: Omit<TextReducerProps, "children">;
20
+ /**
21
+ * Text for collapse button.
22
+ */
23
+ textCollapse?: string;
24
+ /**
25
+ * Text for expand button.
26
+ */
27
+ textExpand?: string;
28
+ }
29
+
30
+ /**
31
+ * Adds an auto collapsing feature for convenience to `ChatContent`.
32
+ */
33
+ export const ChatContentCollapsed = ({
34
+ children,
35
+ collapsed = true,
36
+ textReducerProps = {},
37
+ textCollapse = "Collapse",
38
+ textExpand = "Expand",
39
+ }: ChatContentCollapsedProps) => {
40
+ const [displayCollapsed, setDispayCollapsed] = React.useState<boolean>(collapsed);
41
+
42
+ const childrenAsTextline = (
43
+ <TextReducer useOverflowTextWrapper {...textReducerProps}>
44
+ {typeof children.props.children === "string" ? (
45
+ <Markdown>{children.props.children}</Markdown>
46
+ ) : (
47
+ children.props.children
48
+ )}
49
+ </TextReducer>
50
+ );
51
+
52
+ return React.cloneElement(children, {
53
+ children: displayCollapsed ? childrenAsTextline : children.props.children,
54
+ actionButton: (
55
+ <IconButton
56
+ text={displayCollapsed ? textExpand : textCollapse}
57
+ name={displayCollapsed ? "toggler-showmore" : "toggler-showless"}
58
+ onClick={() => setDispayCollapsed(!displayCollapsed)}
59
+ />
60
+ ),
61
+ });
62
+ };
63
+
64
+ export default ChatContentCollapsed;
@@ -0,0 +1,75 @@
1
+ import React from "react";
2
+
3
+ import { TestableComponent } from "../../components/interfaces";
4
+ import { CLASSPREFIX as eccgui } from "../../configuration/constants";
5
+ import { IconButton } from "../Icon/IconButton";
6
+ import { TextArea, TextAreaProps } from "../TextField/TextArea";
7
+
8
+ export interface ChatFieldProps extends TextAreaProps, TestableComponent {
9
+ /**
10
+ * Default input to start with.
11
+ */
12
+ children?: string;
13
+ /**
14
+ * Callback handler to process the input of the field when `Enter` is pressed or the submit button is clicked.
15
+ * If you use it together with your own handlers for `onChange` and `onKeyDown` it won't work properly.
16
+ */
17
+ onTextSubmit?: (value: string) => void;
18
+ }
19
+
20
+ /**
21
+ * Component to input chat text.
22
+ * Based on `TextArea` component.
23
+ */
24
+ export const ChatField = ({
25
+ className,
26
+ onTextSubmit,
27
+ onChange,
28
+ onKeyDown,
29
+ rightElement,
30
+ ...otherTextAreaProps
31
+ }: ChatFieldProps) => {
32
+ const chatvalue = React.useRef<string>(otherTextAreaProps.children ?? "");
33
+
34
+ const onContentChange = (value: string) => {
35
+ chatvalue.current = value;
36
+ };
37
+
38
+ const onEnter = (e: React.KeyboardEvent<HTMLTextAreaElement>) => {
39
+ if (onKeyDown) onKeyDown(e);
40
+ if (e.keyCode === 13 && e.shiftKey === false && onTextSubmit) {
41
+ e.preventDefault();
42
+ onTextSubmit(chatvalue.current);
43
+ }
44
+ };
45
+
46
+ return (
47
+ <TextArea
48
+ fill
49
+ autoResize
50
+ className={`${eccgui}-chat__inputfield` + (className ? ` ${className}` : "")}
51
+ onChange={
52
+ onTextSubmit
53
+ ? (e: React.ChangeEvent<HTMLTextAreaElement>) => {
54
+ onContentChange(e.target.value);
55
+ if (onChange) onChange(e);
56
+ }
57
+ : onChange
58
+ }
59
+ onKeyDown={onTextSubmit ? onEnter : onKeyDown}
60
+ rightElement={
61
+ (onTextSubmit || rightElement) && (
62
+ <>
63
+ {onTextSubmit && (
64
+ <IconButton name={"operation-send"} onClick={() => onTextSubmit(chatvalue.current)} />
65
+ )}
66
+ {rightElement}
67
+ </>
68
+ )
69
+ }
70
+ {...otherTextAreaProps}
71
+ />
72
+ );
73
+ };
74
+
75
+ export default ChatField;