@eccenca/gui-elements 23.0.0 → 23.1.0-easynav.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 (274) hide show
  1. package/CHANGELOG.md +35 -1
  2. package/README.md +7 -0
  3. package/dist/cjs/cmem/ActivityControl/ActivityControlWidget.js.map +1 -1
  4. package/dist/cjs/cmem/react-flow/ReactFlow/ReactFlow.js +7 -2
  5. package/dist/cjs/cmem/react-flow/ReactFlow/ReactFlow.js.map +1 -1
  6. package/dist/cjs/cmem/react-flow/StickyNoteModal/StickyNoteModal.js +3 -7
  7. package/dist/cjs/cmem/react-flow/StickyNoteModal/StickyNoteModal.js.map +1 -1
  8. package/dist/cjs/cmem/react-flow/extensions/scrollOnDragHook.js +200 -0
  9. package/dist/cjs/cmem/react-flow/extensions/scrollOnDragHook.js.map +1 -0
  10. package/dist/cjs/common/Intent/index.js +7 -3
  11. package/dist/cjs/common/Intent/index.js.map +1 -1
  12. package/dist/cjs/common/utils/characters.js +82 -0
  13. package/dist/cjs/common/utils/characters.js.map +1 -0
  14. package/dist/cjs/components/Application/ApplicationTitle.js +2 -2
  15. package/dist/cjs/components/Application/ApplicationTitle.js.map +1 -1
  16. package/dist/cjs/components/Badge/Badge.js +44 -0
  17. package/dist/cjs/components/Badge/Badge.js.map +1 -0
  18. package/dist/cjs/components/Depiction/Depiction.js +111 -0
  19. package/dist/cjs/components/Depiction/Depiction.js.map +1 -0
  20. package/dist/cjs/components/Grid/Grid.js +7 -2
  21. package/dist/cjs/components/Grid/Grid.js.map +1 -1
  22. package/dist/cjs/components/Grid/GridColumn.js +6 -2
  23. package/dist/cjs/components/Grid/GridColumn.js.map +1 -1
  24. package/dist/cjs/components/Grid/GridRow.js +3 -0
  25. package/dist/cjs/components/Grid/GridRow.js.map +1 -1
  26. package/dist/cjs/components/Icon/BaseIcon.js +38 -0
  27. package/dist/cjs/components/Icon/BaseIcon.js.map +1 -0
  28. package/dist/cjs/components/Icon/Icon.js +9 -24
  29. package/dist/cjs/components/Icon/Icon.js.map +1 -1
  30. package/dist/cjs/components/Icon/IconButton.js +8 -1
  31. package/dist/cjs/components/Icon/IconButton.js.map +1 -1
  32. package/dist/cjs/components/Icon/TestIcon.js +35 -0
  33. package/dist/cjs/components/Icon/TestIcon.js.map +1 -0
  34. package/dist/cjs/components/Icon/canonicalIconNames.js +123 -621
  35. package/dist/cjs/components/Icon/canonicalIconNames.js.map +1 -1
  36. package/dist/cjs/components/Icon/index.js +11 -0
  37. package/dist/cjs/components/Icon/index.js.map +1 -0
  38. package/dist/cjs/components/Menu/MenuItem.js +1 -1
  39. package/dist/cjs/components/Menu/MenuItem.js.map +1 -1
  40. package/dist/cjs/components/MultiSelect/MultiSelect.js +56 -23
  41. package/dist/cjs/components/MultiSelect/MultiSelect.js.map +1 -1
  42. package/dist/cjs/components/Notification/Notification.js +10 -2
  43. package/dist/cjs/components/Notification/Notification.js.map +1 -1
  44. package/dist/cjs/components/OverviewItem/OverviewItemDepiction.js +24 -0
  45. package/dist/cjs/components/OverviewItem/OverviewItemDepiction.js.map +1 -1
  46. package/dist/cjs/components/Tag/Tag.js +6 -2
  47. package/dist/cjs/components/Tag/Tag.js.map +1 -1
  48. package/dist/cjs/components/TextField/TextArea.js +4 -2
  49. package/dist/cjs/components/TextField/TextArea.js.map +1 -1
  50. package/dist/cjs/components/TextField/TextField.js +4 -2
  51. package/dist/cjs/components/TextField/TextField.js.map +1 -1
  52. package/dist/cjs/components/TextField/useTextValidation.js +84 -0
  53. package/dist/cjs/components/TextField/useTextValidation.js.map +1 -0
  54. package/dist/cjs/components/Tree/Tree.js.map +1 -1
  55. package/dist/cjs/components/Typography/Highlighter.js.map +1 -1
  56. package/dist/cjs/components/Typography/OverflowText.js.map +1 -1
  57. package/dist/cjs/components/Typography/WhiteSpaceContainer.js +35 -12
  58. package/dist/cjs/components/Typography/WhiteSpaceContainer.js.map +1 -1
  59. package/dist/cjs/components/Typography/index.js +21 -0
  60. package/dist/cjs/components/Typography/index.js.map +1 -0
  61. package/dist/cjs/components/Workspace/WorkspaceContent.js +1 -1
  62. package/dist/cjs/components/Workspace/WorkspaceContent.js.map +1 -1
  63. package/dist/cjs/components/index.js +18 -0
  64. package/dist/cjs/components/index.js.map +1 -0
  65. package/dist/cjs/extensions/react-flow/handles/HandleDefault.js +4 -3
  66. package/dist/cjs/extensions/react-flow/handles/HandleDefault.js.map +1 -1
  67. package/dist/cjs/extensions/react-flow/nodes/NodeContent.js +29 -25
  68. package/dist/cjs/extensions/react-flow/nodes/NodeContent.js.map +1 -1
  69. package/dist/cjs/extensions/react-flow/nodes/NodeDefault.js +2 -2
  70. package/dist/cjs/extensions/react-flow/nodes/NodeDefault.js.map +1 -1
  71. package/dist/cjs/extensions/react-flow/versionsupport.js +3 -0
  72. package/dist/cjs/extensions/react-flow/versionsupport.js.map +1 -0
  73. package/dist/cjs/index.js +7 -17
  74. package/dist/cjs/index.js.map +1 -1
  75. package/dist/esm/cmem/ActivityControl/ActivityControlWidget.js.map +1 -1
  76. package/dist/esm/cmem/react-flow/ReactFlow/ReactFlow.js +7 -2
  77. package/dist/esm/cmem/react-flow/ReactFlow/ReactFlow.js.map +1 -1
  78. package/dist/esm/cmem/react-flow/StickyNoteModal/StickyNoteModal.js +3 -6
  79. package/dist/esm/cmem/react-flow/StickyNoteModal/StickyNoteModal.js.map +1 -1
  80. package/dist/esm/cmem/react-flow/extensions/scrollOnDragHook.js +194 -0
  81. package/dist/esm/cmem/react-flow/extensions/scrollOnDragHook.js.map +1 -0
  82. package/dist/esm/common/Intent/index.js +5 -13
  83. package/dist/esm/common/Intent/index.js.map +1 -1
  84. package/dist/esm/common/utils/characters.js +96 -0
  85. package/dist/esm/common/utils/characters.js.map +1 -0
  86. package/dist/esm/components/Application/ApplicationTitle.js +2 -2
  87. package/dist/esm/components/Application/ApplicationTitle.js.map +1 -1
  88. package/dist/esm/components/Badge/Badge.js +48 -0
  89. package/dist/esm/components/Badge/Badge.js.map +1 -0
  90. package/dist/esm/components/Depiction/Depiction.js +96 -0
  91. package/dist/esm/components/Depiction/Depiction.js.map +1 -0
  92. package/dist/esm/components/Grid/Grid.js +7 -2
  93. package/dist/esm/components/Grid/Grid.js.map +1 -1
  94. package/dist/esm/components/Grid/GridColumn.js +6 -2
  95. package/dist/esm/components/Grid/GridColumn.js.map +1 -1
  96. package/dist/esm/components/Grid/GridRow.js +3 -0
  97. package/dist/esm/components/Grid/GridRow.js.map +1 -1
  98. package/dist/esm/components/Icon/BaseIcon.js +44 -0
  99. package/dist/esm/components/Icon/BaseIcon.js.map +1 -0
  100. package/dist/esm/components/Icon/Icon.js +9 -24
  101. package/dist/esm/components/Icon/Icon.js.map +1 -1
  102. package/dist/esm/components/Icon/IconButton.js +8 -1
  103. package/dist/esm/components/Icon/IconButton.js.map +1 -1
  104. package/dist/esm/components/Icon/TestIcon.js +41 -0
  105. package/dist/esm/components/Icon/TestIcon.js.map +1 -0
  106. package/dist/esm/components/Icon/canonicalIconNames.js +123 -621
  107. package/dist/esm/components/Icon/canonicalIconNames.js.map +1 -1
  108. package/dist/esm/components/Icon/index.js +4 -0
  109. package/dist/esm/components/Icon/index.js.map +1 -0
  110. package/dist/esm/components/Menu/MenuItem.js +1 -1
  111. package/dist/esm/components/Menu/MenuItem.js.map +1 -1
  112. package/dist/esm/components/MultiSelect/MultiSelect.js +61 -44
  113. package/dist/esm/components/MultiSelect/MultiSelect.js.map +1 -1
  114. package/dist/esm/components/Notification/Notification.js +12 -4
  115. package/dist/esm/components/Notification/Notification.js.map +1 -1
  116. package/dist/esm/components/OverviewItem/OverviewItemDepiction.js +24 -0
  117. package/dist/esm/components/OverviewItem/OverviewItemDepiction.js.map +1 -1
  118. package/dist/esm/components/Tag/Tag.js +6 -2
  119. package/dist/esm/components/Tag/Tag.js.map +1 -1
  120. package/dist/esm/components/TextField/TextArea.js +4 -2
  121. package/dist/esm/components/TextField/TextArea.js.map +1 -1
  122. package/dist/esm/components/TextField/TextField.js +4 -2
  123. package/dist/esm/components/TextField/TextField.js.map +1 -1
  124. package/dist/esm/components/TextField/useTextValidation.js +78 -0
  125. package/dist/esm/components/TextField/useTextValidation.js.map +1 -0
  126. package/dist/esm/components/Tree/Tree.js.map +1 -1
  127. package/dist/esm/components/Typography/Highlighter.js.map +1 -1
  128. package/dist/esm/components/Typography/OverflowText.js.map +1 -1
  129. package/dist/esm/components/Typography/WhiteSpaceContainer.js +16 -14
  130. package/dist/esm/components/Typography/WhiteSpaceContainer.js.map +1 -1
  131. package/dist/esm/components/Typography/index.js +12 -0
  132. package/dist/esm/components/Typography/index.js.map +1 -0
  133. package/dist/esm/components/Workspace/WorkspaceContent.js +1 -1
  134. package/dist/esm/components/Workspace/WorkspaceContent.js.map +1 -1
  135. package/dist/esm/components/index.js +6 -0
  136. package/dist/esm/components/index.js.map +1 -0
  137. package/dist/esm/extensions/react-flow/handles/HandleDefault.js +5 -4
  138. package/dist/esm/extensions/react-flow/handles/HandleDefault.js.map +1 -1
  139. package/dist/esm/extensions/react-flow/nodes/NodeContent.js +37 -32
  140. package/dist/esm/extensions/react-flow/nodes/NodeContent.js.map +1 -1
  141. package/dist/esm/extensions/react-flow/nodes/NodeDefault.js +2 -2
  142. package/dist/esm/extensions/react-flow/nodes/NodeDefault.js.map +1 -1
  143. package/dist/esm/extensions/react-flow/versionsupport.js +2 -0
  144. package/dist/esm/extensions/react-flow/versionsupport.js.map +1 -0
  145. package/dist/esm/index.js +5 -10
  146. package/dist/esm/index.js.map +1 -1
  147. package/dist/types/cmem/ActivityControl/ActivityControlWidget.d.ts +2 -1
  148. package/dist/types/cmem/react-flow/ReactFlow/ReactFlow.d.ts +14 -0
  149. package/dist/types/cmem/react-flow/extensions/scrollOnDragHook.d.ts +22 -0
  150. package/dist/types/common/Intent/index.d.ts +4 -3
  151. package/dist/types/common/utils/characters.d.ts +19 -0
  152. package/dist/types/components/Badge/Badge.d.ts +42 -0
  153. package/dist/types/components/Depiction/Depiction.d.ts +71 -0
  154. package/dist/types/components/Grid/Grid.d.ts +21 -2
  155. package/dist/types/components/Grid/GridColumn.d.ts +21 -3
  156. package/dist/types/components/Grid/GridRow.d.ts +18 -2
  157. package/dist/types/components/Icon/BaseIcon.d.ts +45 -0
  158. package/dist/types/components/Icon/Icon.d.ts +7 -34
  159. package/dist/types/components/Icon/IconButton.d.ts +3 -2
  160. package/dist/types/components/Icon/TestIcon.d.ts +20 -0
  161. package/dist/types/components/Icon/canonicalIconNames.d.ts +9 -7
  162. package/dist/types/components/Icon/index.d.ts +4 -0
  163. package/dist/types/components/Menu/MenuItem.d.ts +2 -1
  164. package/dist/types/components/MultiSelect/MultiSelect.d.ts +3 -1
  165. package/dist/types/components/Notification/Notification.d.ts +13 -4
  166. package/dist/types/components/Tabs/Tab.d.ts +2 -0
  167. package/dist/types/components/Tag/Tag.d.ts +16 -3
  168. package/dist/types/components/TextField/TextArea.d.ts +7 -2
  169. package/dist/types/components/TextField/TextField.d.ts +6 -1
  170. package/dist/types/components/TextField/useTextValidation.d.ts +28 -0
  171. package/dist/types/components/Tree/Tree.d.ts +2 -1
  172. package/dist/types/components/Typography/Highlighter.d.ts +2 -2
  173. package/dist/types/components/Typography/OverflowText.d.ts +2 -2
  174. package/dist/types/components/Typography/WhiteSpaceContainer.d.ts +45 -4
  175. package/dist/types/components/Typography/index.d.ts +12 -0
  176. package/dist/types/components/index.d.ts +5 -0
  177. package/dist/types/extensions/react-flow/handles/HandleDefault.d.ts +11 -3
  178. package/dist/types/extensions/react-flow/nodes/NodeContent.d.ts +16 -6
  179. package/dist/types/extensions/react-flow/nodes/NodeDefault.d.ts +2 -1
  180. package/dist/types/extensions/react-flow/versionsupport.d.ts +6 -0
  181. package/dist/types/index.d.ts +6 -11
  182. package/package.json +14 -16
  183. package/scripts/compile-sass.ts +9 -1
  184. package/src/_shame.scss +1 -1
  185. package/src/cmem/ActivityControl/ActivityControlWidget.stories.tsx +6 -4
  186. package/src/cmem/ActivityControl/ActivityControlWidget.tsx +3 -2
  187. package/src/cmem/react-flow/ReactFlow/ReactFlow.tsx +26 -1
  188. package/src/cmem/react-flow/StickyNoteModal/StickyNoteModal.tsx +10 -6
  189. package/src/cmem/react-flow/extensions/scrollOnDragHook.ts +247 -0
  190. package/src/common/Intent/index.ts +16 -12
  191. package/src/common/utils/characters.ts +111 -0
  192. package/src/components/Accordion/accordion.scss +4 -3
  193. package/src/components/Application/ApplicationTitle.tsx +2 -2
  194. package/src/components/Application/_config.scss +1 -1
  195. package/src/components/Application/_content.scss +1 -1
  196. package/src/components/Application/_header.scss +2 -2
  197. package/src/components/Application/_sidebar.scss +2 -9
  198. package/src/components/Application/_toolbar.scss +1 -1
  199. package/src/components/Application/application.scss +4 -4
  200. package/src/components/AutocompleteField/autoCompleteFieldUtils.tsx +13 -8
  201. package/src/components/Badge/Badge.stories.tsx +47 -0
  202. package/src/components/Badge/Badge.tsx +93 -0
  203. package/src/components/Badge/badge.scss +44 -0
  204. package/src/components/Depiction/Depiction.tsx +198 -0
  205. package/src/components/Depiction/depiction.scss +176 -0
  206. package/src/components/Depiction/stories/Depiction.stories.tsx +69 -0
  207. package/src/components/Depiction/stories/test-16to9.png +0 -0
  208. package/src/components/Depiction/stories/test-16to9.svg +41 -0
  209. package/src/components/Depiction/stories/test-16to9.tobase64.svg +41 -0
  210. package/src/components/Depiction/stories/test-16to9.tsx +44 -0
  211. package/src/components/Depiction/stories/test-9to16.png +0 -0
  212. package/src/components/Depiction/stories/test-9to16.svg +44 -0
  213. package/src/components/Depiction/stories/test-9to16.tobase64.svg +44 -0
  214. package/src/components/Depiction/stories/test-9to16.tsx +48 -0
  215. package/src/components/Grid/Grid.tsx +22 -4
  216. package/src/components/Grid/GridColumn.tsx +24 -7
  217. package/src/components/Grid/GridRow.tsx +18 -3
  218. package/src/components/Grid/grid.scss +14 -13
  219. package/src/components/Grid/stories/Grid.stories.tsx +27 -0
  220. package/src/components/Grid/stories/GridColumn.stories.tsx +66 -0
  221. package/src/components/Grid/stories/GridRow.stories.tsx +47 -0
  222. package/src/components/Icon/BaseIcon.tsx +84 -0
  223. package/src/components/Icon/Icon.tsx +23 -82
  224. package/src/components/Icon/IconButton.tsx +18 -14
  225. package/src/components/Icon/TestIcon.tsx +39 -0
  226. package/src/components/Icon/canonicalIconNames.tsx +132 -633
  227. package/src/components/Icon/index.ts +5 -0
  228. package/src/components/Icon/stories/Icon.stories.tsx +13 -0
  229. package/src/components/Icon/stories/IconButton.stories.tsx +14 -7
  230. package/src/components/Icon/stories/TestIcon.stories.tsx +28 -0
  231. package/src/components/Link/link.scss +2 -1
  232. package/src/components/Menu/MenuItem.tsx +14 -4
  233. package/src/components/Menu/Stories/MenuItem.stories.tsx +16 -2
  234. package/src/components/MultiSelect/MultiSelect.tsx +58 -27
  235. package/src/components/Notification/Notification.stories.tsx +4 -0
  236. package/src/components/Notification/Notification.tsx +26 -6
  237. package/src/components/OverviewItem/OverviewItemDepiction.tsx +31 -0
  238. package/src/components/OverviewItem/overviewitem.scss +2 -1
  239. package/src/components/OverviewItem/stories/OverviewItem.stories.tsx +22 -1
  240. package/src/components/OverviewItem/stories/OverviewItemDepiction.stories.tsx +8 -3
  241. package/src/components/Pagination/pagination.scss +3 -2
  242. package/src/components/SimpleTable/simpletable.scss +11 -12
  243. package/src/components/Tag/Tag.stories.tsx +7 -2
  244. package/src/components/Tag/Tag.tsx +24 -4
  245. package/src/components/Tag/tag.scss +84 -3
  246. package/src/components/TagInput/taginput.scss +6 -0
  247. package/src/components/TextField/TextArea.tsx +10 -1
  248. package/src/components/TextField/TextField.tsx +9 -0
  249. package/src/components/TextField/stories/SearchField.stories.tsx +1 -1
  250. package/src/components/TextField/textfield.scss +12 -0
  251. package/src/components/TextField/useTextValidation.ts +103 -0
  252. package/src/components/Tooltip/tooltip.scss +1 -1
  253. package/src/components/Tree/Tree.stories.tsx +7 -1
  254. package/src/components/Tree/Tree.tsx +2 -1
  255. package/src/components/Typography/Highlighter.tsx +2 -2
  256. package/src/components/Typography/OverflowText.tsx +2 -2
  257. package/src/components/Typography/WhiteSpaceContainer.tsx +69 -21
  258. package/src/components/Typography/index.ts +25 -0
  259. package/src/components/Typography/stories/WhiteSpaceContainer.stories.tsx +55 -0
  260. package/src/components/Typography/typography.scss +3 -2
  261. package/src/components/Workspace/WorkspaceContent.tsx +1 -1
  262. package/src/components/index.scss +5 -0
  263. package/src/components/index.ts +5 -0
  264. package/src/extensions/react-flow/handles/HandleDefault.tsx +31 -10
  265. package/src/extensions/react-flow/nodes/NodeContent.tsx +69 -39
  266. package/src/extensions/react-flow/nodes/NodeDefault.tsx +4 -2
  267. package/src/extensions/react-flow/nodes/_nodes.scss +13 -7
  268. package/src/extensions/react-flow/nodes/stories/NodeContent.stories.tsx +5 -0
  269. package/src/extensions/react-flow/versionsupport.ts +6 -0
  270. package/src/includes/carbon-components/_components.scss +11 -0
  271. package/src/includes/carbon-components/_requisits.scss +18 -0
  272. package/src/includes/carbon-components/_variables.scss +50 -53
  273. package/src/index.scss +4 -105
  274. package/src/index.ts +6 -16
@@ -0,0 +1,12 @@
1
+ import Highlighter, { HighlighterProps } from "./Highlighter";
2
+ import { extractSearchWords, matchesAllWords, createMultiWordRegex } from "./Highlighter";
3
+ import HtmlContentBlock, { HtmlContentBlockProps } from "./HtmlContentBlock";
4
+ import OverflowText, { OverflowTextProps } from "./OverflowText";
5
+ import WhiteSpaceContainer, { WhiteSpaceContainerProps } from "./WhiteSpaceContainer";
6
+ export type { HighlighterProps, HtmlContentBlockProps, OverflowTextProps, WhiteSpaceContainerProps };
7
+ export { Highlighter, HtmlContentBlock, OverflowText, WhiteSpaceContainer, };
8
+ export declare const HighlighterFunctions: {
9
+ extractSearchWords: typeof extractSearchWords;
10
+ matchesAllWords: typeof matchesAllWords;
11
+ createMultiWordRegex: typeof createMultiWordRegex;
12
+ };
@@ -0,0 +1,5 @@
1
+ export * from "./Badge/Badge";
2
+ export * from "./Depiction/Depiction";
3
+ export * from "./Icon";
4
+ export * from "./Tree/Tree";
5
+ export * from "./Typography";
@@ -1,9 +1,17 @@
1
1
  import React from 'react';
2
- import { HandleProps as ReactFlowHandleProps } from "react-flow-renderer";
2
+ import { HandleProps as ReactFlowHandleLegacyProps } from "react-flow-renderer";
3
+ import { HandleProps as ReactFlowHandleNextProps } from "react-flow-renderer-lts";
3
4
  import { HandleContentProps } from "./HandleContent";
4
- export interface HandleProps extends ReactFlowHandleProps {
5
+ import { ReacFlowVersionSupportProps } from "../versionsupport";
6
+ interface HandleExtensionProps extends ReacFlowVersionSupportProps {
5
7
  data?: HandleContentProps;
6
8
  tooltip?: string;
7
9
  children?: JSX.Element | string;
10
+ onClick?: () => void;
8
11
  }
9
- export declare const HandleDefault: React.MemoExoticComponent<({ data, tooltip, children, ...handleProps }: HandleProps) => JSX.Element>;
12
+ export interface HandleProps extends HandleExtensionProps, ReactFlowHandleLegacyProps {
13
+ }
14
+ export interface HandleNextProps extends HandleExtensionProps, ReactFlowHandleNextProps {
15
+ }
16
+ export declare const HandleDefault: React.MemoExoticComponent<({ flowVersion, data, tooltip, children, ...handleProps }: HandleProps | HandleNextProps) => JSX.Element>;
17
+ export {};
@@ -1,13 +1,18 @@
1
1
  import React from "react";
2
2
  import { Position } from "react-flow-renderer";
3
3
  import { ValidIconName } from "../../../components/Icon/canonicalIconNames";
4
- import { HandleProps } from "./../handles/HandleDefault";
4
+ import { DepictionProps } from "../../../components/Depiction/Depiction";
5
+ import { ReacFlowVersionSupportProps } from "../versionsupport";
6
+ import { HandleProps, HandleNextProps } from "./../handles/HandleDefault";
5
7
  import { NodeProps } from "./NodeDefault";
6
8
  import { NodeContentExtensionProps } from "./NodeContentExtension";
7
9
  export declare type HighlightingState = "success" | "warning" | "danger" | "match" | "altmatch";
8
10
  export interface IHandleProps extends HandleProps {
9
11
  category?: "configuration";
10
12
  }
13
+ interface NodeContentHandleNextProps extends HandleNextProps {
14
+ category?: "configuration";
15
+ }
11
16
  export declare type NodeDimensions = {
12
17
  width: number;
13
18
  height: number;
@@ -19,9 +24,14 @@ interface NodeContentData<CONTENT_PROPS = any> {
19
24
  */
20
25
  iconName?: ValidIconName;
21
26
  /**
22
- * Valid and accessible URL or `data-uri` for an image that should be displayed before the node label.
27
+ * Depiction element that should be displayed before the node label.
28
+ * As alternative a valid and accessible URL or `data-uri` for an image can be set, then the Depiction element is created automatically.
29
+ */
30
+ depiction?: string | React.ReactElement<DepictionProps>;
31
+ /**
32
+ * Any element that should be displayed as depiction before the node label.
23
33
  */
24
- depiction?: string;
34
+ leftElement?: JSX.Element;
25
35
  /**
26
36
  * Label that is displayed in the node header.
27
37
  */
@@ -39,7 +49,7 @@ interface NodeContentData<CONTENT_PROPS = any> {
39
49
  */
40
50
  footerContent?: React.ReactNode;
41
51
  }
42
- export interface NodeContentProps<NODE_DATA, NODE_CONTENT_PROPS = any> extends NodeContentData, React.HTMLAttributes<HTMLDivElement> {
52
+ export interface NodeContentProps<NODE_DATA, NODE_CONTENT_PROPS = any> extends NodeContentData, ReacFlowVersionSupportProps, React.HTMLAttributes<HTMLDivElement> {
43
53
  /**
44
54
  * Size of the node.
45
55
  * If `minimalShape` is not set to `none`then the configured size definition is only used for the selected node state.
@@ -76,7 +86,7 @@ export interface NodeContentProps<NODE_DATA, NODE_CONTENT_PROPS = any> extends N
76
86
  * Array of property definition objects for `Handle` components that need to be created for the node.
77
87
  * @see https://reactflow.dev/docs/api/handle/
78
88
  */
79
- handles?: IHandleProps[];
89
+ handles?: IHandleProps[] | NodeContentHandleNextProps[];
80
90
  /**
81
91
  * Set the minimal number of handles on left or right side of the node to activate the recalculation of the minimal height of the node.
82
92
  */
@@ -139,5 +149,5 @@ export declare const gethighlightedStateClasses: (state: any, baseClassName: any
139
149
  * The `NodeContent` element manages the main view of how a node is displaying which content.
140
150
  * This element cannot be used directly, all properties must be routed through the `data` property of an `elements` property item inside the `ReactFlow` container.
141
151
  */
142
- export declare function NodeContent<CONTENT_PROPS = any>({ iconName, depiction, typeLabel, label, showExecutionButtons, executionButtons, menuButtons, content, contentExtension, footerContent, size, minimalShape, highlightedState, handles, adaptHeightForHandleMinCount, adaptSizeIncrement, getMinimalTooltipData, style, showUnconnectableHandles, animated, onNodeResize, nodeDimensions, targetPosition, sourcePosition, isConnectable, selected, letPassWheelEvents, businessData, ...otherProps }: NodeContentProps<any>): JSX.Element;
152
+ export declare function NodeContent<CONTENT_PROPS = any>({ flowVersion, iconName, depiction, leftElement, typeLabel, label, showExecutionButtons, executionButtons, menuButtons, content, contentExtension, footerContent, size, minimalShape, highlightedState, handles, adaptHeightForHandleMinCount, adaptSizeIncrement, getMinimalTooltipData, style, showUnconnectableHandles, animated, onNodeResize, nodeDimensions, targetPosition, sourcePosition, isConnectable, selected, letPassWheelEvents, businessData, ...otherProps }: NodeContentProps<any>): JSX.Element;
143
153
  export {};
@@ -1,7 +1,8 @@
1
1
  import React from "react";
2
2
  import { NodeProps as ReactFlowNodeProps } from "react-flow-renderer";
3
3
  import { NodeContentProps } from "./NodeContent";
4
- export interface NodeProps<NODE_DATA, NODE_CONTENT_PROPS = any> extends ReactFlowNodeProps {
4
+ import { ReacFlowVersionSupportProps } from "../versionsupport";
5
+ export interface NodeProps<NODE_DATA, NODE_CONTENT_PROPS = any> extends ReacFlowVersionSupportProps, ReactFlowNodeProps {
5
6
  /**
6
7
  * Contains all properties for our implementation of the React-Flow node.
7
8
  * For details pls see the `NodeContent` element documentation.
@@ -0,0 +1,6 @@
1
+ export interface ReacFlowVersionSupportProps {
2
+ /**
3
+ * Spevifies the context of the react flow renderer version that is used for the component.
4
+ */
5
+ flowVersion?: "legacy" | "next";
6
+ }
@@ -12,10 +12,6 @@ import ApplicationToolbarPanel from "./components/Application/ApplicationToolbar
12
12
  import AutoSuggestion from "./components/AutoSuggestion/AutoSuggestion";
13
13
  import { AutoSuggestionList } from "./components/AutoSuggestion/AutoSuggestionList";
14
14
  import SingleLineCodeEditor from "./components/AutoSuggestion/SingleLineCodeEditor";
15
- import HtmlContentBlock from "./components/Typography/HtmlContentBlock";
16
- import OverflowText from "./components/Typography/OverflowText";
17
- import WhiteSpaceContainer from "./components/Typography/WhiteSpaceContainer";
18
- import Highlighter from "./components/Typography/Highlighter";
19
15
  import Grid from "./components/Grid/Grid";
20
16
  import GridRow from "./components/Grid/GridRow";
21
17
  import GridColumn from "./components/Grid/GridColumn";
@@ -24,7 +20,6 @@ import WorkspaceContent from "./components/Workspace/WorkspaceContent";
24
20
  import WorkspaceMain from "./components/Workspace/WorkspaceMain";
25
21
  import WorkspaceSide from "./components/Workspace/WorkspaceSide";
26
22
  import WorkspaceHeader from "./components/Workspace/WorkspaceHeader";
27
- import Icon from "./components/Icon/Icon";
28
23
  import IconButton from "./components/Icon/IconButton";
29
24
  import Label from "./components/Label/Label";
30
25
  import Button from "./components/Button/Button";
@@ -81,22 +76,22 @@ import Link from "./components/Link/Link";
81
76
  import Spinner from "./components/Spinner/Spinner";
82
77
  import InteractionGate from "./components/InteractionGate/InteractionGate";
83
78
  import { PropertyName, PropertyValue, PropertyValuePair, PropertyValueList } from "./components/PropertyValuePair";
84
- import * as TypographyClassNames from "./components/Typography/classnames";
85
79
  import { ProgressBar } from "./components/ProgressBar/ProgressBar";
86
80
  import List from "./components/List/List";
87
81
  import * as LegacyReplacements from "./legacy-replacements";
82
+ import * as TypographyClassNames from "./components/Typography/classnames";
88
83
  declare const HelperClasses: {
89
84
  Typography: typeof TypographyClassNames;
90
85
  Intent: {
91
- [x: string]: string;
86
+ [key: string]: string;
92
87
  };
93
88
  };
94
89
  declare const Utilities: {
95
90
  openInNewTab: (event: import("react").MouseEvent<HTMLElement, MouseEvent>, handler?: ((e: import("react").MouseEvent<HTMLElement, MouseEvent>) => void) | undefined, url?: string | undefined) => void;
96
91
  decideContrastColorValue: ({ testColor, lightColor, darkColor }: import("./common/utils/colorDecideContrastvalue").decideContrastColorValueProps) => string;
97
92
  };
98
- export { ApplicationContainer, ApplicationHeader, ApplicationContent, ApplicationSidebarNavigation, ApplicationSidebarToggler, ApplicationTitle, ApplicationToolbar, ApplicationToolbarSection, ApplicationToolbarAction, ApplicationToolbarPanel, AutoSuggestion, AutoSuggestionList, SingleLineCodeEditor, HtmlContentBlock, OverflowText, WhiteSpaceContainer, Highlighter, Grid, GridRow, GridColumn, List, WorkspaceContent, WorkspaceMain, WorkspaceSide, WorkspaceHeader, Menu, MenuItem, MenuDivider, ContextOverlay, ContextMenu, OverviewItem, OverviewItemDepiction, OverviewItemDescription, OverviewItemLine, OverviewItemActions, OverviewItemList, TableContainer, Table, TableHead, TableRow, TableBody, TableCell, TableHeader, Icon, IconButton, Label, Button, Checkbox, RadioButton, Tabs, Tab, TabTitle, TabPanel, TextField, TextArea, SearchField, Switch, NumericInput, FieldItem, FieldItemRow, FieldSet, BreadcrumbList, BreadcrumbItem, Modal, SimpleDialog, AlertDialog, Card, CardHeader, CardTitle, CardOptions, CardContent, CardActions, CardActionsAux, HoverToggler, Spacing, Divider, Tooltip, Section, SectionHeader, TitlePage, TitleMainsection, TitleSubsection, Accordion, AccordionItem, Toolbar, ToolbarSection, Tag, TagList, Pagination, Notification, Link, Spinner, InteractionGate, PropertyName, PropertyValue, PropertyValuePair, PropertyValueList, Toast, HelperClasses, Select, MultiSelect, AutoCompleteField, ProgressBar, Iframe, IframeModal, Utilities, LegacyReplacements, };
99
- export * from "./components/Tree/Tree";
100
- export * from "./cmem";
101
- export * from "./extensions";
93
+ export { ApplicationContainer, ApplicationHeader, ApplicationContent, ApplicationSidebarNavigation, ApplicationSidebarToggler, ApplicationTitle, ApplicationToolbar, ApplicationToolbarSection, ApplicationToolbarAction, ApplicationToolbarPanel, AutoSuggestion, AutoSuggestionList, SingleLineCodeEditor, Grid, GridRow, GridColumn, List, WorkspaceContent, WorkspaceMain, WorkspaceSide, WorkspaceHeader, Menu, MenuItem, MenuDivider, ContextOverlay, ContextMenu, OverviewItem, OverviewItemDepiction, OverviewItemDescription, OverviewItemLine, OverviewItemActions, OverviewItemList, TableContainer, Table, TableHead, TableRow, TableBody, TableCell, TableHeader, IconButton, Label, Button, Checkbox, RadioButton, Tabs, Tab, TabTitle, TabPanel, TextField, TextArea, SearchField, Switch, NumericInput, FieldItem, FieldItemRow, FieldSet, BreadcrumbList, BreadcrumbItem, Modal, SimpleDialog, AlertDialog, Card, CardHeader, CardTitle, CardOptions, CardContent, CardActions, CardActionsAux, HoverToggler, Spacing, Divider, Tooltip, Section, SectionHeader, TitlePage, TitleMainsection, TitleSubsection, Accordion, AccordionItem, Toolbar, ToolbarSection, Tag, TagList, Pagination, Notification, Link, Spinner, InteractionGate, PropertyName, PropertyValue, PropertyValuePair, PropertyValueList, Toast, HelperClasses, Select, MultiSelect, AutoCompleteField, ProgressBar, Iframe, IframeModal, Utilities, LegacyReplacements, };
94
+ export * from "./components";
102
95
  export * from "./components/interfaces";
96
+ export * from "./extensions";
97
+ export * from "./cmem";
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@eccenca/gui-elements",
3
3
  "description": "GUI elements based on other libraries, usable in React application, written in Typescript.",
4
- "version": "23.0.0",
4
+ "version": "23.1.0-easynav.0",
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://github.com/eccenca/gui-elements",
7
7
  "bugs": "https://github.com/eccenca/gui-elements/issues",
@@ -53,7 +53,7 @@
53
53
  "build:all": "yarn build:clean && yarn build:esm && yarn build:cjs",
54
54
  "compile": "tsc --build tsconfig.json",
55
55
  "compile-scss": "ts-node -O \"{ \\\"esModuleInterop\\\": true, \\\"module\\\": \\\"commonjs\\\"}\" ./scripts/compile-sass.ts",
56
- "storybook": "start-storybook -p 6006",
56
+ "storybook": "start-storybook -p 6006 --no-open",
57
57
  "build-storybook": "build-storybook",
58
58
  "test": "jest",
59
59
  "test:ci": "jest --ci --reporters='default'",
@@ -66,12 +66,11 @@
66
66
  "@blueprintjs/core": "^4.9.0",
67
67
  "@blueprintjs/popover2": "^1.6.0",
68
68
  "@blueprintjs/select": "^4.6.0",
69
- "@carbon/icons": "10.44.0",
70
- "@carbon/icons-react": "10.44.0",
69
+ "@carbon/icons": "^11.11.0",
70
+ "@carbon/icons-react": "^11.11.0",
71
+ "@carbon/styles": "^1.17.0",
71
72
  "@mavrin/remark-typograf": "^2.2.0",
72
- "carbon-components": "10.44.0",
73
- "carbon-components-react": "7.44.1",
74
- "carbon-icons": "7.0.7",
73
+ "carbon-components-react": "^8.17.0",
75
74
  "codemirror": "^5.61.0",
76
75
  "color": "3.2.1",
77
76
  "lodash": "^4.17.21",
@@ -81,6 +80,8 @@
81
80
  "react-codemirror2": "^7.2.1",
82
81
  "react-dom": "^16.13.1",
83
82
  "react-flow-renderer": "9.7.4",
83
+ "react-flow-renderer-lts": "npm:react-flow-renderer@^10.3.17",
84
+ "react-inlinesvg": "^3.0.1",
84
85
  "react-markdown": "^7.0.1",
85
86
  "rehype-raw": "^6.1.0",
86
87
  "remark-definition-list": "^1.1.0",
@@ -107,7 +108,7 @@
107
108
  "@storybook/react": "^6.5.10",
108
109
  "@testing-library/jest-dom": "^5.16.1",
109
110
  "@testing-library/react": "^12.1.2",
110
- "@types/carbon-components-react": "7.49.0",
111
+ "@types/carbon-components-react": "^7.55.2",
111
112
  "@types/codemirror": "^5.60.5",
112
113
  "@types/color": "^3.0.2",
113
114
  "@types/jest": "^24.9.1",
@@ -132,24 +133,21 @@
132
133
  "sass-loader": "^10.3.1",
133
134
  "ts-node": "^10.9.1",
134
135
  "tsc-esm-fix": "^2.13.0",
135
- "typescript": "4.4.4"
136
+ "typescript": "4.4.4",
137
+ "yargs": "^17.6.2"
136
138
  },
137
139
  "peerDependencies": {
140
+ "@types/carbon-components-react": ">=7",
138
141
  "react": ">=16",
139
142
  "react-dom": ">=16"
140
143
  },
141
144
  "resolutions": {
142
- "**/@carbon/icons": "10.44.0",
143
- "**/@carbon/icons-react": "10.44.0",
144
- "**/carbon-components": "10.44.0",
145
- "**/carbon-components-react": "7.44.1",
146
- "**/carbon-icons": "7.0.7",
147
- "**/@types/react": "^17.0.0",
145
+ "**/@types/react": "^17.0.52",
148
146
  "**/node-gyp": "^7.0.0",
149
147
  "**/glob-parent": "^5.1.2",
150
148
  "**/trim": "^0.0.3",
151
149
  "**/trim-newlines": "^3.0.1",
152
- "**/minimist": "^1.2.6",
150
+ "**/minimist": "^1.2.7",
153
151
  "**/postcss": "^7.0.36"
154
152
  },
155
153
  "eslintConfig": {
@@ -1,9 +1,17 @@
1
1
  import * as sass from "sass";
2
2
  import tildeImporter from "node-sass-package-importer";
3
+ import yargs from "yargs";
3
4
  import sassRenderSyncConfig from "./sassConfig";
4
5
 
5
- sass.renderSync({
6
+ const args = yargs(process.argv.slice(2)).argv;
7
+
8
+ const styles = sass.renderSync({
6
9
  importer: tildeImporter(),
7
10
  ...sassRenderSyncConfig,
8
11
  file: "src/index.scss",
12
+ includePaths: ["node_modules"], // Carbon does not use tilde import syntax
9
13
  });
14
+
15
+ if (args.outputCss) {
16
+ console.log(styles.css.toString());
17
+ }
package/src/_shame.scss CHANGED
@@ -14,7 +14,7 @@ html {
14
14
  .#{$prefix}--assistive-text,
15
15
  .#{$prefix}--visually-hidden {
16
16
  /*
17
- TODO: move to better place, originally from ~carbon-components/scss/globals/scss/css--helpers
17
+ TODO: move to better place, originally from ~@carbon/styles/scss/css--helpers
18
18
  but we cannot use it directly because of other included rules there.
19
19
  */
20
20
  position: absolute;
@@ -1,10 +1,9 @@
1
1
  import React from "react";
2
2
  import { ComponentStory, ComponentMeta } from "@storybook/react";
3
-
4
- import { ActivityControlWidget } from "./ActivityControlWidget";
5
3
  import { loremIpsum } from "react-lorem-ipsum";
6
- import Tag from "../../components/Tag/Tag";
7
- import TagList from "../../components/Tag/TagList";
4
+
5
+ import { Tag, TagList, ActivityControlWidget } from "../../../index";
6
+ import { helpersArgTypes } from "../../../.storybook/helpers";
8
7
 
9
8
  export default {
10
9
  title: "Cmem/ActivityControlWidget",
@@ -28,6 +27,9 @@ export default {
28
27
  type: { summary: "boolean" },
29
28
  },
30
29
  },
30
+ progressSpinnerFinishedIcon: {
31
+ ...helpersArgTypes.exampleIcon,
32
+ },
31
33
  },
32
34
  } as ComponentMeta<typeof ActivityControlWidget>;
33
35
 
@@ -20,6 +20,7 @@ import { ProgressBarProps } from "../../components/ProgressBar/ProgressBar";
20
20
  import { SpinnerProps } from "../../components/Spinner/Spinner";
21
21
  import { ValidIconName } from "../../components/Icon/canonicalIconNames";
22
22
  import { IconProps } from "../../components/Icon/Icon";
23
+ import { TestIconProps } from "../../components/Icon/TestIcon";
23
24
 
24
25
  export interface IActivityControlProps extends TestableComponent {
25
26
  /**
@@ -74,7 +75,7 @@ export interface IActivityControlProps extends TestableComponent {
74
75
  /**
75
76
  * if this is set the spinner is replaced when the progress has finished from 0 - 1
76
77
  */
77
- progressSpinnerFinishedIcon?: React.ReactElement<IconProps>;
78
+ progressSpinnerFinishedIcon?: React.ReactElement<IconProps> | React.ReactElement<TestIconProps>;
78
79
  }
79
80
 
80
81
  interface IActivityContextMenu extends TestableComponent {
@@ -124,7 +125,7 @@ export function ActivityControlWidget(props: IActivityControlProps) {
124
125
  {(progressSpinner || progressSpinnerFinishedIcon) && (
125
126
  <OverviewItemDepiction keepColors>
126
127
  {progressSpinnerFinishedIcon ? (
127
- React.cloneElement(progressSpinnerFinishedIcon, { small, large: !small })
128
+ React.cloneElement(progressSpinnerFinishedIcon as JSX.Element, { small, large: !small })
128
129
  ) : (
129
130
  <Spinner
130
131
  position="inline"
@@ -1,16 +1,33 @@
1
1
  import React from "react";
2
2
  import {default as ReactFlowOriginal, ReactFlowProps as ReactFlowOriginalProps} from "react-flow-renderer";
3
- import { ReactFlowMarkers } from "../../../extensions/react-flow/markers/ReactFlowMarkers";
3
+ import {ReactFlowMarkers} from "../../../extensions/react-flow/markers/ReactFlowMarkers";
4
4
  import * as unspecifiedConfig from "./../configuration/unspecified";
5
5
  import * as graphConfig from "./../configuration/graph";
6
6
  import * as workflowConfig from "./../configuration/workflow";
7
7
  import * as linkingConfig from "./../configuration/linking";
8
+ import {useReactFlowScrollOnDrag} from "../extensions/scrollOnDragHook";
8
9
 
9
10
  export interface ReactFlowProps extends ReactFlowOriginalProps {
10
11
  /**
11
12
  * Load `ReactFlow` component with pre-configured values for `nodeTypes` and `edgeTypes`
12
13
  */
13
14
  configuration?: "unspecified" | "graph" | "workflow" | "linking";
15
+
16
+ /** If defined the canvas scrolls on all drag operations (node, selection, edge connect)
17
+ * when the mouse pointer comes near the canvas borders or goes beyond them.
18
+ * The `id` property of the ReactFlow component must be set in order for this to work.
19
+ *
20
+ * NOTE: If scrollOnDrag is defined, a ReactFlowProvider must be wrapped around this component (or a parent). */
21
+ scrollOnDrag?: {
22
+ /** Time in milliseconds to wait before the canvas scrolls the next step. */
23
+ scrollInterval: number
24
+
25
+ /**
26
+ * The size of each scroll step.
27
+ * This should be a number between 0.0 - 1.0.
28
+ * E.g. a value of 0.25 will lead to a scroll step size of a quarter of the visible canvas. */
29
+ scrollStepSize: number
30
+ }
14
31
  }
15
32
 
16
33
  /**
@@ -20,10 +37,17 @@ export interface ReactFlowProps extends ReactFlowOriginalProps {
20
37
  export const ReactFlow = React.forwardRef<HTMLDivElement, ReactFlowProps>((
21
38
  {
22
39
  configuration = "unspecified",
40
+ scrollOnDrag,
23
41
  children,
24
42
  ...originalProps
25
43
  },
26
44
  ref) => {
45
+
46
+ const scrollOnDragFunctions = useReactFlowScrollOnDrag({
47
+ reactFlowProps: originalProps,
48
+ scrollOnDrag
49
+ })
50
+
27
51
  const configReactFlow = {
28
52
  unspecified: unspecifiedConfig,
29
53
  graph: graphConfig,
@@ -37,6 +61,7 @@ export const ReactFlow = React.forwardRef<HTMLDivElement, ReactFlowProps>((
37
61
  nodeTypes={ configReactFlow[configuration].nodeTypes }
38
62
  edgeTypes={ configReactFlow[configuration].edgeTypes }
39
63
  {...originalProps}
64
+ {...scrollOnDragFunctions}
40
65
  >
41
66
  { children }
42
67
  <ReactFlowMarkers />
@@ -27,13 +27,17 @@ export interface StickyNoteModalProps {
27
27
  translate: (key: StickyNoteModalTranslationKeys) => string;
28
28
  }
29
29
 
30
- export const StickyNoteModal: React.FC<StickyNoteModalProps> = ({ metaData, onClose, onSubmit, translate }) => {
30
+ export const StickyNoteModal: React.FC<StickyNoteModalProps> = React.memo(({
31
+ metaData,
32
+ onClose,
33
+ onSubmit,
34
+ translate
35
+ }) => {
31
36
  const refNote = React.useRef<string>(metaData?.note ?? "");
32
37
  const [color, setSelectedColor] = React.useState<string>(metaData?.color ?? "");
33
- const noteColors: [string, string][] = Object.entries(getColorConfiguration("stickynotes")).map(([key, value]) => [
34
- key,
35
- value as string,
36
- ]);
38
+ const noteColors: [string, string][] = Object.entries(getColorConfiguration("stickynotes")).map(
39
+ ([key, value]) => [key, value as string]
40
+ );
37
41
 
38
42
  React.useEffect(() => {
39
43
  if (!color && noteColors[0][1]) {
@@ -131,4 +135,4 @@ export const StickyNoteModal: React.FC<StickyNoteModalProps> = ({ metaData, onCl
131
135
  </FieldItem>
132
136
  </SimpleDialog>
133
137
  );
134
- };
138
+ });