@eccenca/gui-elements 23.1.0-easynav.0 → 23.1.0-easynav.2

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 (61) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/dist/cjs/components/Depiction/Depiction.js +13 -13
  3. package/dist/cjs/components/Depiction/Depiction.js.map +1 -1
  4. package/dist/cjs/extensions/react-flow/edges/EdgeDefault.js +20 -5
  5. package/dist/cjs/extensions/react-flow/edges/EdgeDefault.js.map +1 -1
  6. package/dist/cjs/extensions/react-flow/edges/EdgeLabel.js +74 -0
  7. package/dist/cjs/extensions/react-flow/edges/EdgeLabel.js.map +1 -0
  8. package/dist/cjs/extensions/react-flow/edges/edgeTypes.js +10 -9
  9. package/dist/cjs/extensions/react-flow/edges/edgeTypes.js.map +1 -1
  10. package/dist/cjs/extensions/react-flow/handles/HandleDefault.js +10 -2
  11. package/dist/cjs/extensions/react-flow/handles/HandleDefault.js.map +1 -1
  12. package/dist/cjs/extensions/react-flow/index.js +13 -3
  13. package/dist/cjs/extensions/react-flow/index.js.map +1 -1
  14. package/dist/cjs/extensions/react-flow/nodes/NodeContent.js +86 -15
  15. package/dist/cjs/extensions/react-flow/nodes/NodeContent.js.map +1 -1
  16. package/dist/cjs/extensions/react-flow/nodes/NodeDefault.js +2 -1
  17. package/dist/cjs/extensions/react-flow/nodes/NodeDefault.js.map +1 -1
  18. package/dist/cjs/extensions/react-flow/versionsupport.js +17 -0
  19. package/dist/cjs/extensions/react-flow/versionsupport.js.map +1 -1
  20. package/dist/esm/components/Depiction/Depiction.js +15 -14
  21. package/dist/esm/components/Depiction/Depiction.js.map +1 -1
  22. package/dist/esm/extensions/react-flow/edges/EdgeDefault.js +20 -4
  23. package/dist/esm/extensions/react-flow/edges/EdgeDefault.js.map +1 -1
  24. package/dist/esm/extensions/react-flow/edges/EdgeLabel.js +63 -0
  25. package/dist/esm/extensions/react-flow/edges/EdgeLabel.js.map +1 -0
  26. package/dist/esm/extensions/react-flow/edges/edgeTypes.js +10 -9
  27. package/dist/esm/extensions/react-flow/edges/edgeTypes.js.map +1 -1
  28. package/dist/esm/extensions/react-flow/handles/HandleDefault.js +10 -2
  29. package/dist/esm/extensions/react-flow/handles/HandleDefault.js.map +1 -1
  30. package/dist/esm/extensions/react-flow/index.js +2 -1
  31. package/dist/esm/extensions/react-flow/index.js.map +1 -1
  32. package/dist/esm/extensions/react-flow/nodes/NodeContent.js +94 -21
  33. package/dist/esm/extensions/react-flow/nodes/NodeContent.js.map +1 -1
  34. package/dist/esm/extensions/react-flow/nodes/NodeDefault.js +2 -1
  35. package/dist/esm/extensions/react-flow/nodes/NodeDefault.js.map +1 -1
  36. package/dist/esm/extensions/react-flow/versionsupport.js +31 -1
  37. package/dist/esm/extensions/react-flow/versionsupport.js.map +1 -1
  38. package/dist/types/extensions/react-flow/edges/EdgeDefault.d.ts +16 -1
  39. package/dist/types/extensions/react-flow/edges/EdgeLabel.d.ts +44 -0
  40. package/dist/types/extensions/react-flow/edges/edgeTypes.d.ts +10 -9
  41. package/dist/types/extensions/react-flow/index.d.ts +2 -2
  42. package/dist/types/extensions/react-flow/nodes/NodeContent.d.ts +40 -3
  43. package/dist/types/extensions/react-flow/versionsupport.d.ts +2 -1
  44. package/package.json +1 -1
  45. package/src/cmem/react-flow/ReactFlow/ReactFlow.stories.tsx +2 -2
  46. package/src/cmem/react-flow/_edges.scss +3 -2
  47. package/src/components/Depiction/Depiction.tsx +11 -10
  48. package/src/extensions/react-flow/_config.scss +8 -4
  49. package/src/extensions/react-flow/edges/EdgeDefault.tsx +60 -5
  50. package/src/extensions/react-flow/edges/EdgeLabel.tsx +127 -0
  51. package/src/extensions/react-flow/edges/_edges.scss +206 -31
  52. package/src/extensions/react-flow/edges/edgeTypes.ts +13 -9
  53. package/src/extensions/react-flow/edges/stories/EdgeDefault.stories.tsx +34 -13
  54. package/src/extensions/react-flow/edges/stories/EdgeLabel.stories.tsx +39 -0
  55. package/src/extensions/react-flow/handles/HandleDefault.tsx +18 -11
  56. package/src/extensions/react-flow/index.ts +3 -2
  57. package/src/extensions/react-flow/nodes/NodeContent.tsx +161 -26
  58. package/src/extensions/react-flow/nodes/NodeDefault.tsx +2 -2
  59. package/src/extensions/react-flow/nodes/_nodes.scss +220 -60
  60. package/src/extensions/react-flow/nodes/stories/NodeContent.stories.tsx +62 -1
  61. package/src/extensions/react-flow/versionsupport.ts +17 -1
@@ -1,15 +1,15 @@
1
1
  .react-flow__edge {
2
+ --#{$eccgui}-reactflow-node-color-default: #{$reactflow-edge-stroke-color-default};
3
+ --#{$eccgui}-reactflow-node-color-hover: #{$reactflow-edge-stroke-color-hover};
4
+ --#{$eccgui}-reactflow-node-color-selected: #{$reactflow-edge-stroke-color-selected};
2
5
 
3
6
  path, rect {
4
7
  shape-rendering: optimizeSpeed;
5
- /* TODO: transitions currently do not work like expected
6
- transition: $reactflow-transition-time * 0.5 $reactflow-transition-function;
7
- */
8
- stroke-opacity: $reactflow-edge-stroke-opacity;
8
+ stroke-opacity: $reactflow-edge-stroke-opacity-default;
9
9
  }
10
10
 
11
11
  text {
12
- opacity: $reactflow-edge-stroke-opacity;
12
+ opacity: $reactflow-edge-stroke-opacity-default;
13
13
  }
14
14
 
15
15
  &:hover {
@@ -31,11 +31,24 @@
31
31
  opacity: $reactflow-edge-stroke-opacity-selected;
32
32
  }
33
33
  }
34
+ stroke: var(--#{$eccgui}-reactflow-node-color-default);
35
+ color: var(--#{$eccgui}-reactflow-node-color-default);
36
+
37
+ &:hover {
38
+ stroke: var(--#{$eccgui}-reactflow-node-color-hover);
39
+ color: var(--#{$eccgui}-reactflow-node-color-hover);
40
+ }
41
+
42
+ &.selected {
43
+ stroke: var(--#{$eccgui}-reactflow-node-color-selected);
44
+ color: var(--#{$eccgui}-reactflow-node-color-selected);
45
+ }
34
46
  }
35
47
 
36
48
  path.react-flow__edge-path {
37
49
  stroke-width: 2;
38
50
  stroke: currentColor;
51
+ stroke-opacity: $reactflow-edge-stroke-opacity-default;
39
52
 
40
53
  .react-flow__edge.selected & {
41
54
  stroke-width: 2;
@@ -49,9 +62,12 @@ path.react-flow__edge-path-glow {
49
62
  fill: none;
50
63
  stroke-linecap: round;
51
64
 
52
- .react-flow__edge:hover &,
65
+ .react-flow__edge:hover & {
66
+ stroke-opacity: $reactflow-edge-stroke-opacity-hover * 0.2;
67
+ }
68
+
53
69
  .react-flow__edge.selected & {
54
- stroke-opacity: 0.1;
70
+ stroke-opacity: $reactflow-edge-stroke-opacity-selected * 0.2;
55
71
  }
56
72
 
57
73
  .react-flow__edge.animated & {
@@ -70,12 +86,6 @@ path.react-flow__edge-path-glow {
70
86
  }
71
87
  }
72
88
 
73
- .react-flow__edge-textwrapper {
74
- /* TODO: transitions currently do not work like expected
75
- transition: $reactflow-transition-time * 0.5 $reactflow-transition-function;
76
- */
77
- }
78
-
79
89
  .react-flow__edge-text {
80
90
  fill: currentColor;
81
91
  stroke: none;
@@ -84,39 +94,127 @@ path.react-flow__edge-path-glow {
84
94
  .react-flow__edge-textbg {
85
95
  }
86
96
 
97
+ // Stroke types
98
+
99
+ path.react-flow__edge-path--stroke-solid {
100
+ stroke-dasharray: unset;
101
+ }
102
+
103
+ path.react-flow__edge-path--stroke-dashed,
104
+ .react-flow__edge.animated path.react-flow__edge-path--stroke-dashed {
105
+ stroke-dasharray: 5;
106
+ }
107
+
108
+ path.react-flow__edge-path--stroke-dotted,
109
+ .react-flow__edge.animated path.react-flow__edge-path--stroke-dotted {
110
+ stroke-dasharray: 2;
111
+ }
112
+
113
+ path.react-flow__edge-path--stroke-double {
114
+ stroke: #fff !important;
115
+ stroke-opacity: 1 !important;
116
+ filter: drop-shadow(1px 1px 1px currentColor) drop-shadow(-1px -1px 1px currentColor);
117
+ }
118
+
119
+ path.react-flow__edge-path--stroke-doubledashed {
120
+ stroke: #fff !important;
121
+ stroke-opacity: 1 !important;
122
+ filter: drop-shadow(1px 1px 1px currentColor) drop-shadow(-1px -1px 1px currentColor);
123
+ stroke-dasharray: 5;
124
+ }
125
+
126
+ // Intent states
127
+
128
+ g[class*="#{$eccgui}-intent--"] {
129
+ color: var(--edge-intent-color);
130
+ }
131
+
132
+ g[class*="#{$eccgui}-intent--"] > path.react-flow__edge-path,
133
+ g[class*="#{$eccgui}-intent--"] > path.react-flow__edge-path-glow {
134
+ stroke: var(--edge-intent-color);
135
+
136
+ .react-flow__edge.selected & {
137
+ stroke: var(--edge-intent-color);
138
+ }
139
+ }
140
+
141
+ g.#{$eccgui}-intent--primary {
142
+ --edge-intent-color: #{$eccgui-color-primary};
143
+ }
144
+
145
+ g.#{$eccgui}-intent--accent {
146
+ --edge-intent-color: #{$eccgui-color-accent};
147
+ }
148
+
149
+ g.#{$eccgui}-intent--info {
150
+ --edge-intent-color: #{$eccgui-color-info-text};
151
+ }
152
+
153
+ g.#{$eccgui}-intent--success {
154
+ --edge-intent-color: #{$eccgui-color-success-text};
155
+ }
156
+
157
+ g.#{$eccgui}-intent--warning {
158
+ --edge-intent-color: #{$eccgui-color-warning-text};
159
+ }
160
+
161
+ g.#{$eccgui}-intent--danger {
162
+ --edge-intent-color: #{$eccgui-color-danger-text};
163
+ }
164
+
165
+ // Highlightning
166
+
167
+ path.react-flow__edge-path-highlight {
168
+ stroke-opacity: 1;
169
+ fill: none;
170
+ stroke-linecap: round;
171
+ stroke: #fff;
172
+ filter:
173
+ drop-shadow(2px -2px 1px var(--edge-highlight-default-color))
174
+ drop-shadow(-2px 2px 1px var(--edge-highlight-alternate-color, var(--edge-highlight-default-color)));
175
+ }
176
+
177
+ .#{$eccgui}-graphviz__edge--highlight-default {
178
+ --edge-highlight-default-color: #{$eccgui-color-accent};
179
+ --edge-highlight-alternate-color: #{$eccgui-color-accent};
180
+ }
181
+
182
+ .#{$eccgui}-graphviz__edge--highlight-alternate {
183
+ --edge-highlight-default-color: #{$eccgui-color-primary};
184
+ --edge-highlight-alternate-color: #{$eccgui-color-primary};
185
+ }
186
+
187
+ .#{$eccgui}-graphviz__edge--highlight-default.#{$eccgui}-graphviz__edge--highlight-alternate {
188
+ --edge-highlight-default-color: #{$eccgui-color-accent};
189
+ --edge-highlight-alternate-color: #{$eccgui-color-primary};
190
+ }
191
+
192
+
193
+
87
194
  // Type colors
88
195
 
89
196
  .react-flow__edge-default,
90
197
  .react-flow__edge-straight,
91
198
  .react-flow__edge-smoothstep,
92
199
  .react-flow__edge-step {
93
- stroke: $reactflow-edge-stroke-color;
94
- color: $reactflow-edge-stroke-color;
95
-
96
- &:hover {
97
- stroke: $reactflow-edge-stroke-color-hover;
98
- color: $reactflow-edge-stroke-color-hover;
99
- }
100
-
101
- &.selected {
102
- stroke: $reactflow-edge-stroke-color-selected;
103
- color: $reactflow-edge-stroke-color-selected;
104
- }
105
200
  }
106
201
 
107
202
  .react-flow__edge-success {
108
- stroke: $eccgui-color-success-text;
109
- color: $eccgui-color-success-text;
203
+ --#{$eccgui}-reactflow-node-color-default: #{$eccgui-color-success-text};
204
+ --#{$eccgui}-reactflow-node-color-hover: #{$eccgui-color-success-text};
205
+ --#{$eccgui}-reactflow-node-color-selected: #{$eccgui-color-success-text};
110
206
  }
111
207
 
112
208
  .react-flow__edge-warning {
113
- stroke: $eccgui-color-warning-text;
114
- color: $eccgui-color-warning-text;
209
+ --#{$eccgui}-reactflow-node-color-default: #{$eccgui-color-warning-text};
210
+ --#{$eccgui}-reactflow-node-color-hover: #{$eccgui-color-warning-text};
211
+ --#{$eccgui}-reactflow-node-color-selected: #{$eccgui-color-warning-text};
115
212
  }
116
213
 
117
214
  .react-flow__edge-danger {
118
- stroke: $eccgui-color-danger-text;
119
- color: $eccgui-color-danger-text;
215
+ --#{$eccgui}-reactflow-node-color-default: #{$eccgui-color-danger-text};
216
+ --#{$eccgui}-reactflow-node-color-hover: #{$eccgui-color-danger-text};
217
+ --#{$eccgui}-reactflow-node-color-selected: #{$eccgui-color-danger-text};
120
218
  }
121
219
 
122
220
  // Tools overlay
@@ -154,3 +252,80 @@ path.react-flow__edge-path-glow {
154
252
  transform: scale(1.75, 0.75);
155
253
  }
156
254
  }
255
+
256
+ // Custom label
257
+
258
+ .#{$eccgui}-graphviz__edge-label {
259
+ border: 0.5*$reactflow-node-border-width solid currentColor;
260
+ border-radius: $reactflow-node-border-radius;
261
+ background: #fff; // TODO color
262
+ color: currentColor;
263
+ display: inline-flex;
264
+ align-items: center;
265
+ width: auto;
266
+ max-width: 20rem;
267
+ height: 0.5 * $reactflow-node-largesize;
268
+ font-size: $reactflow-node-font-size;
269
+
270
+ &.#{$eccgui}-intent--primary {
271
+ color: $eccgui-color-primary;
272
+ border-color: $eccgui-color-primary;
273
+ }
274
+ &.#{$eccgui}-intent--accent {
275
+ color: $eccgui-color-accent;
276
+ border-color: $eccgui-color-accent;
277
+ }
278
+ &.#{$eccgui}-intent--success {
279
+ color: $eccgui-color-success-text;
280
+ border-color: $eccgui-color-success-text;
281
+ }
282
+ &.#{$eccgui}-intent--info {
283
+ color: $eccgui-color-info-text;
284
+ border-color: $eccgui-color-info-text;
285
+ }
286
+ &.#{$eccgui}-intent--warning {
287
+ color: $eccgui-color-warning-text;
288
+ border-color: $eccgui-color-warning-text;
289
+ }
290
+ &.#{$eccgui}-intent--danger {
291
+ color: $eccgui-color-danger-text;
292
+ border-color: $eccgui-color-danger-text;
293
+ }
294
+ }
295
+ .#{$eccgui}-graphviz__edge-label--large {
296
+ height: $reactflow-node-largesize;
297
+ }
298
+ .#{$eccgui}-graphviz__edge-label--fullwidth {
299
+ max-width: none;
300
+ width: 100%;
301
+ }
302
+ .#{$eccgui}-graphviz__edge-label__depiction {
303
+ margin: $eccgui-size-block-whitespace * 0.25;
304
+ flex-grow: 0;
305
+ flex-shrink: 0;
306
+ .#{$eccgui}-depiction__image {
307
+ height: calc(#{0.5 * $reactflow-node-largesize} - #{$eccgui-size-block-whitespace * 0.25});
308
+
309
+ .#{$eccgui}-graphviz__edge-label--large & {
310
+ height: calc(#{$reactflow-node-largesize} - #{$eccgui-size-block-whitespace * 0.25});
311
+ }
312
+ }
313
+ }
314
+ .#{$eccgui}-graphviz__edge-label__text {
315
+ margin: $eccgui-size-block-whitespace * 0.25;
316
+ flex-grow: 1;
317
+ flex-shrink: 1;
318
+ white-space: nowrap;
319
+ overflow: hidden;
320
+ text-overflow: ellipsis;
321
+ text-align: center;
322
+
323
+ .#{$eccgui}-graphviz__edge-label--fullwidth & {
324
+ text-align: left;
325
+ }
326
+ }
327
+ .#{$eccgui}-graphviz__edge-label__aux {
328
+ margin: $eccgui-size-block-whitespace * 0.25;
329
+ flex-grow: 0;
330
+ flex-shrink: 0;
331
+ }
@@ -12,13 +12,17 @@ export const edgeTypes = {
12
12
  default: EdgeDefault,
13
13
  straight: EdgeDefault,
14
14
  step: EdgeStep,
15
- smoothstep: EdgeStep,
16
- implicitEdge: EdgeDefault,
17
- importEdge: EdgeDefault,
18
- subclassEdge: EdgeDefault,
19
- subpropertyEdge: EdgeDefault,
20
- rdftypeEdge: EdgeDefault,
21
- successStep: EdgeStep,
22
- warningStep: EdgeStep,
23
- dangerStep: EdgeStep,
15
+
16
+ success: EdgeDefault,
17
+ warning: EdgeDefault,
18
+ danger: EdgeDefault,
19
+
20
+ implicit: EdgeDefault,
21
+ import: EdgeDefault,
22
+ subclass: EdgeDefault,
23
+ subproperty: EdgeDefault,
24
+ rdftype: EdgeDefault,
25
+
26
+ value: EdgeStep,
27
+ score: EdgeStep,
24
28
  };
@@ -1,6 +1,6 @@
1
1
  import React, { useState, useEffect, useCallback } from "react";
2
2
  import { ComponentStory, ComponentMeta } from "@storybook/react";
3
- import { ReactFlow, Tag } from "./../../../../../index";
3
+ import { ReactFlow, EdgeLabel, EdgeLabelObject } from "./../../../../../index";
4
4
  import { ArrowHeadType, Elements, getMarkerEnd, ReactFlowProvider } from 'react-flow-renderer';
5
5
 
6
6
  import { EdgeDefault, EdgeDefaultDataProps as EdgeData } from "./../EdgeDefault";
@@ -16,6 +16,10 @@ export default {
16
16
  component: EdgeDefault,
17
17
  subcomponents: { EdgeDefaultDataProps },
18
18
  argTypes: {
19
+ type: {
20
+ control: "select",
21
+ options: [...(Object.keys(edgeTypes))],
22
+ },
19
23
  },
20
24
  } as ComponentMeta<typeof EdgeDefault>;
21
25
 
@@ -74,7 +78,7 @@ const Template: ComponentStory<typeof EdgeDefault> = (args) => (
74
78
  export const Default = Template.bind({});
75
79
  Default.args = {
76
80
  id: 'default',
77
- type: 'default',
81
+ type: 'dangerStep',
78
82
  label: "edge",
79
83
  arrowHeadType: "arrowclosed",
80
84
  source: 'node-1',
@@ -88,21 +92,14 @@ CustomLabel.args = {
88
92
  ...Default.args,
89
93
  id: "customlabel",
90
94
  arrowHeadType: undefined,
95
+ label: undefined,
91
96
  data: {
92
97
  renderLabel: (
93
98
  edgeCenter: [number, number, number, number]
94
99
  ) => (
95
- <foreignObject
96
- width={100}
97
- height={20}
98
- x={edgeCenter[0] - 50}
99
- y={edgeCenter[1] - 10}
100
- requiredExtensions="http://www.w3.org/1999/xhtml"
101
- >
102
- <body>
103
- <Tag>Custom label</Tag>
104
- </body>
105
- </foreignObject>
100
+ <EdgeLabelObject edgeCenter={edgeCenter}>
101
+ <EdgeLabel text="Custom label that is very long" />
102
+ </EdgeLabelObject>
106
103
  )
107
104
  }
108
105
  };
@@ -119,3 +116,27 @@ InverseEdge.args = {
119
116
  ),
120
117
  }
121
118
  };
119
+
120
+ export const AdjustStrokeType = Template.bind({});
121
+ AdjustStrokeType.args = {
122
+ ...Default.args,
123
+ data: {
124
+ strokeType: "double",
125
+ }
126
+ };
127
+
128
+ export const AdjustIntent = Template.bind({});
129
+ AdjustIntent.args = {
130
+ ...Default.args,
131
+ data: {
132
+ intent: "warning",
133
+ }
134
+ };
135
+
136
+ export const AdjustHighlight = Template.bind({});
137
+ AdjustHighlight.args = {
138
+ ...Default.args,
139
+ data: {
140
+ highlightColor: ["default", "alternate"]
141
+ }
142
+ };
@@ -0,0 +1,39 @@
1
+ import React from "react";
2
+ import { ComponentStory, ComponentMeta } from "@storybook/react";
3
+ import { loremIpsum } from 'react-lorem-ipsum';
4
+ import { EdgeLabel, IconButton, Badge } from "./../../../../../index";
5
+ import canonicalIcons from "./../../../../components/Icon/canonicalIconNames";
6
+ import { helpersArgTypes } from "../../../../../.storybook/helpers";
7
+
8
+ export default {
9
+ title: "Extensions/React Flow/Custom EdgeLabel",
10
+ component: EdgeLabel,
11
+ argTypes: {
12
+ depiction: {
13
+ control: "select",
14
+ options: [...(Object.keys(canonicalIcons))],
15
+ },
16
+ actions: {
17
+ control: "select",
18
+ options: ["Not set", "Icon button", "Icon button small", "Info badge"],
19
+ mapping: {
20
+ "Not set": undefined,
21
+ "Icon button": <IconButton name="item-info" text="Icon button" onClick={()=>alert("Click info")} />,
22
+ "Icon button small": <IconButton small name="item-info" text="Icon button" onClick={()=>alert("Click info")} />,
23
+ "Info badge": <Badge intent="info">Info</Badge>,
24
+ },
25
+ },
26
+ intent: {
27
+ ...helpersArgTypes.exampleIntent,
28
+ },
29
+ },
30
+ } as ComponentMeta<typeof EdgeLabel>;
31
+
32
+ const Template: ComponentStory<typeof EdgeLabel> = (args) => (
33
+ <EdgeLabel {...args} />
34
+ );
35
+
36
+ export const Default = Template.bind({});
37
+ Default.args = {
38
+ text: loremIpsum({ p: 1, avgSentencesPerParagraph: 1, avgWordsPerSentence: 8, random: false }).toString(),
39
+ };
@@ -8,7 +8,7 @@ import {
8
8
  Handle as HandleNext,
9
9
  } from "react-flow-renderer-lts";
10
10
  import { HandleContent, HandleContentProps } from "./HandleContent";
11
- import { ReacFlowVersionSupportProps } from "../versionsupport";
11
+ import { ReacFlowVersionSupportProps, useReactFlowVersion } from "../versionsupport";
12
12
 
13
13
  interface HandleExtensionProps extends ReacFlowVersionSupportProps {
14
14
  data?: HandleContentProps;
@@ -24,7 +24,7 @@ export interface HandleNextProps extends HandleExtensionProps, ReactFlowHandleNe
24
24
  }
25
25
 
26
26
  export const HandleDefault = memo(({
27
- flowVersion = "legacy",
27
+ flowVersion = useReactFlowVersion(),
28
28
  data,
29
29
  tooltip,
30
30
  children,
@@ -38,13 +38,20 @@ export const HandleDefault = memo(({
38
38
  </HandleContent>
39
39
  );
40
40
 
41
- return flowVersion === "legacy" ? (
42
- <HandleLegacy {...handleProps} {...tooltipTitle}>
43
- { handleContent }
44
- </HandleLegacy>
45
- ) : (
46
- <HandleNext {...handleProps} {...tooltipTitle}>
47
- { handleContent }
48
- </HandleNext>
49
- );
41
+ switch (flowVersion) {
42
+ case "legacy":
43
+ return (
44
+ <HandleLegacy {...handleProps} {...tooltipTitle}>
45
+ { handleContent }
46
+ </HandleLegacy>
47
+ );
48
+ case "next":
49
+ return (
50
+ <HandleNext {...handleProps} {...tooltipTitle}>
51
+ { handleContent }
52
+ </HandleNext>
53
+ );
54
+ default:
55
+ return <></>;
56
+ }
50
57
  });
@@ -3,10 +3,10 @@ export { NodeContent } from "./nodes/NodeContent";
3
3
  export { NodeContentExtension } from "./nodes/NodeContentExtension";
4
4
  export { NodeTools } from "./nodes/NodeTools";
5
5
  export { nodeTypes } from "./nodes/nodeTypes";
6
- export { EdgeDefault } from "./edges/EdgeDefault";
7
6
  export { EdgeStep } from "./edges/EdgeStep";
8
7
  export { EdgeTools } from "./edges/EdgeTools";
9
8
  export { edgeTypes } from "./edges/edgeTypes";
9
+ export * from "./edges/EdgeLabel";
10
10
  export { MarkerArrowClosedInverse } from "./markers/MarkerArrowClosedInverse";
11
11
  export { ReactFlowMarkers } from "./markers/ReactFlowMarkers";
12
12
  export { MiniMap } from "./minimap/MiniMap";
@@ -17,6 +17,7 @@ export type { NodeProps } from "./nodes/NodeDefault";
17
17
  export type { NodeContentProps } from "./nodes/NodeContent";
18
18
  export type { NodeContentExtensionProps } from "./nodes/NodeContentExtension";
19
19
  export type { NodeToolsProps } from "./nodes/NodeTools";
20
- export type { EdgeDefaultProps } from "./edges/EdgeDefault";
21
20
  export type { EdgeStepProps } from "./edges/EdgeStep";
22
21
  export type { MiniMapProps } from "./minimap/MiniMap";
22
+
23
+ export * from "./edges/EdgeDefault";