@hitachivantara/uikit-react-lab 5.22.2 → 5.24.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.
- package/dist/cjs/Blade/Blade.cjs +169 -0
- package/dist/cjs/Blade/Blade.cjs.map +1 -0
- package/dist/cjs/Blade/Blade.styles.cjs +72 -0
- package/dist/cjs/Blade/Blade.styles.cjs.map +1 -0
- package/dist/cjs/Blades/Blades.cjs +105 -0
- package/dist/cjs/Blades/Blades.cjs.map +1 -0
- package/dist/cjs/Blades/Blades.styles.cjs +12 -0
- package/dist/cjs/Blades/Blades.styles.cjs.map +1 -0
- package/dist/cjs/Flow/Node/Node.cjs +1 -1
- package/dist/cjs/Flow/Node/Node.cjs.map +1 -1
- package/dist/cjs/Flow/Node/Parameters/ParamRenderer.cjs +2 -2
- package/dist/cjs/Flow/Node/Parameters/ParamRenderer.cjs.map +1 -1
- package/dist/cjs/Flow/Node/Parameters/Select.cjs +4 -14
- package/dist/cjs/Flow/Node/Parameters/Select.cjs.map +1 -1
- package/dist/cjs/Flow/Node/Parameters/Slider.cjs +5 -18
- package/dist/cjs/Flow/Node/Parameters/Slider.cjs.map +1 -1
- package/dist/cjs/Flow/Node/Parameters/Text.cjs +5 -18
- package/dist/cjs/Flow/Node/Parameters/Text.cjs.map +1 -1
- package/dist/cjs/Flow/hooks/useFlowNode.cjs +26 -0
- package/dist/cjs/Flow/hooks/useFlowNode.cjs.map +1 -1
- package/dist/cjs/index.cjs +9 -0
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/esm/Blade/Blade.js +168 -0
- package/dist/esm/Blade/Blade.js.map +1 -0
- package/dist/esm/Blade/Blade.styles.js +72 -0
- package/dist/esm/Blade/Blade.styles.js.map +1 -0
- package/dist/esm/Blades/Blades.js +106 -0
- package/dist/esm/Blades/Blades.js.map +1 -0
- package/dist/esm/Blades/Blades.styles.js +12 -0
- package/dist/esm/Blades/Blades.styles.js.map +1 -0
- package/dist/esm/Flow/Node/Node.js +1 -1
- package/dist/esm/Flow/Node/Node.js.map +1 -1
- package/dist/esm/Flow/Node/Parameters/ParamRenderer.js +2 -2
- package/dist/esm/Flow/Node/Parameters/ParamRenderer.js.map +1 -1
- package/dist/esm/Flow/Node/Parameters/Select.js +4 -14
- package/dist/esm/Flow/Node/Parameters/Select.js.map +1 -1
- package/dist/esm/Flow/Node/Parameters/Slider.js +5 -18
- package/dist/esm/Flow/Node/Parameters/Slider.js.map +1 -1
- package/dist/esm/Flow/Node/Parameters/Text.js +5 -18
- package/dist/esm/Flow/Node/Parameters/Text.js.map +1 -1
- package/dist/esm/Flow/hooks/useFlowNode.js +27 -1
- package/dist/esm/Flow/hooks/useFlowNode.js.map +1 -1
- package/dist/esm/index.js +34 -25
- package/dist/esm/index.js.map +1 -1
- package/dist/types/index.d.ts +248 -59
- package/package.json +4 -4
|
@@ -1,26 +1,16 @@
|
|
|
1
1
|
import { jsx } from "@emotion/react/jsx-runtime";
|
|
2
2
|
import { useState } from "react";
|
|
3
3
|
import { HvDropdown } from "@hitachivantara/uikit-react-core";
|
|
4
|
-
import {
|
|
5
|
-
const Select = ({
|
|
4
|
+
import { useFlowNodeUtils } from "../../hooks/useFlowNode.js";
|
|
5
|
+
const Select = ({ param, data }) => {
|
|
6
6
|
const { id, label, multiple = false, options } = param;
|
|
7
|
-
const
|
|
7
|
+
const { setNodeData } = useFlowNodeUtils();
|
|
8
8
|
const [opts, setOpts] = useState(
|
|
9
9
|
data[id] ? Array.isArray(data[id]) ? data[id] : [data[id]] : void 0
|
|
10
10
|
);
|
|
11
11
|
const onSelectChange = (item) => {
|
|
12
12
|
const newOpts = Array.isArray(item) ? item.map((x) => x.label) : item?.label ?? void 0;
|
|
13
|
-
|
|
14
|
-
(nodes) => nodes.map((node) => {
|
|
15
|
-
if (node.id === nodeId) {
|
|
16
|
-
node.data = {
|
|
17
|
-
...node.data,
|
|
18
|
-
[id]: newOpts
|
|
19
|
-
};
|
|
20
|
-
}
|
|
21
|
-
return node;
|
|
22
|
-
})
|
|
23
|
-
);
|
|
13
|
+
setNodeData((prev) => ({ ...prev, [id]: newOpts }));
|
|
24
14
|
setOpts(
|
|
25
15
|
newOpts ? Array.isArray(newOpts) ? newOpts : [newOpts] : void 0
|
|
26
16
|
);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.js","sources":["../../../../../src/Flow/Node/Parameters/Select.tsx"],"sourcesContent":["import { useState } from \"react\";\nimport { HvDropdown, HvDropdownProps } from \"@hitachivantara/uikit-react-core\";\nimport {
|
|
1
|
+
{"version":3,"file":"Select.js","sources":["../../../../../src/Flow/Node/Parameters/Select.tsx"],"sourcesContent":["import { useState } from \"react\";\nimport { HvDropdown, HvDropdownProps } from \"@hitachivantara/uikit-react-core\";\n\nimport { HvFlowNodeSelectParam } from \"../../types\";\nimport { useFlowNodeUtils } from \"../../hooks\";\n\ninterface SelectProps {\n param: Omit<HvFlowNodeSelectParam, \"type\">;\n data: any;\n}\n\nconst Select = ({ param, data }: SelectProps) => {\n const { id, label, multiple = false, options } = param;\n const { setNodeData } = useFlowNodeUtils();\n\n const [opts, setOpts] = useState<string[] | undefined>(\n data[id] ? (Array.isArray(data[id]) ? data[id] : [data[id]]) : undefined\n );\n\n const onSelectChange: HvDropdownProps[\"onChange\"] = (item) => {\n const newOpts = Array.isArray(item)\n ? item.map((x) => x.label as string)\n : (item?.label as string) ?? undefined;\n\n setNodeData((prev) => ({ ...prev, [id]: newOpts }));\n setOpts(\n newOpts ? (Array.isArray(newOpts) ? newOpts : [newOpts]) : undefined\n );\n };\n\n return (\n <HvDropdown\n className=\"nodrag\" // Prevents dragging within the select field\n disablePortal\n label={label}\n values={options?.map((o) => {\n return { id: o, label: o, selected: !!opts?.find((opt) => opt === o) };\n })}\n onChange={onSelectChange}\n maxHeight={100}\n multiSelect={multiple}\n />\n );\n};\n\nexport default Select;\n"],"names":[],"mappings":";;;;AAWA,MAAM,SAAS,CAAC,EAAE,OAAO,WAAwB;AAC/C,QAAM,EAAE,IAAI,OAAO,WAAW,OAAO,QAAY,IAAA;AAC3C,QAAA,EAAE,gBAAgB;AAElB,QAAA,CAAC,MAAM,OAAO,IAAI;AAAA,IACtB,KAAK,EAAE,IAAK,MAAM,QAAQ,KAAK,EAAE,CAAC,IAAI,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,IAAK;AAAA,EAAA;AAG3D,QAAA,iBAA8C,CAAC,SAAS;AAC5D,UAAM,UAAU,MAAM,QAAQ,IAAI,IAC9B,KAAK,IAAI,CAAC,MAAM,EAAE,KAAe,IAChC,MAAM,SAAoB;AAEnB,gBAAA,CAAC,UAAU,EAAE,GAAG,MAAM,CAAC,EAAE,GAAG,QAAU,EAAA;AAClD;AAAA,MACE,UAAW,MAAM,QAAQ,OAAO,IAAI,UAAU,CAAC,OAAO,IAAK;AAAA,IAAA;AAAA,EAC7D;AAIA,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,eAAa;AAAA,MACb;AAAA,MACA,QAAQ,SAAS,IAAI,CAAC,MAAM;AAC1B,eAAO,EAAE,IAAI,GAAG,OAAO,GAAG,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC,QAAQ,QAAQ,CAAC,EAAE;AAAA,MAAA,CACtE;AAAA,MACD,UAAU;AAAA,MACV,WAAW;AAAA,MACX,aAAa;AAAA,IAAA;AAAA,EAAA;AAGnB;AAEA,MAAA,WAAe;"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { jsx } from "@emotion/react/jsx-runtime";
|
|
2
|
-
import { useState } from "react";
|
|
3
2
|
import { css } from "@emotion/css";
|
|
4
|
-
import { useReactFlow } from "reactflow";
|
|
5
3
|
import { HvSlider } from "@hitachivantara/uikit-react-core";
|
|
4
|
+
import { useFlowNodeUtils } from "../../hooks/useFlowNode.js";
|
|
6
5
|
const classes = {
|
|
7
6
|
labelContainer: css({
|
|
8
7
|
marginRight: 0,
|
|
@@ -12,27 +11,15 @@ const classes = {
|
|
|
12
11
|
padding: 0
|
|
13
12
|
})
|
|
14
13
|
};
|
|
15
|
-
const Slider = ({
|
|
14
|
+
const Slider = ({ param, data }) => {
|
|
16
15
|
const { id } = param;
|
|
17
|
-
const
|
|
18
|
-
const [value, setValue] = useState(data[id]);
|
|
19
|
-
const onSliderChange = (val) => {
|
|
20
|
-
reactFlowInstance.setNodes(
|
|
21
|
-
(nodes) => nodes.map((node) => {
|
|
22
|
-
if (node.id === nodeId) {
|
|
23
|
-
node.data = { ...node.data, [id]: val };
|
|
24
|
-
}
|
|
25
|
-
return node;
|
|
26
|
-
})
|
|
27
|
-
);
|
|
28
|
-
setValue(val);
|
|
29
|
-
};
|
|
16
|
+
const { setNodeData } = useFlowNodeUtils();
|
|
30
17
|
return /* @__PURE__ */ jsx(
|
|
31
18
|
HvSlider,
|
|
32
19
|
{
|
|
33
20
|
className: "nodrag",
|
|
34
|
-
defaultValues:
|
|
35
|
-
onChange:
|
|
21
|
+
defaultValues: data[id],
|
|
22
|
+
onChange: (val) => setNodeData((prev) => ({ ...prev, [id]: val })),
|
|
36
23
|
classes: {
|
|
37
24
|
labelContainer: classes.labelContainer,
|
|
38
25
|
sliderBase: classes.sliderBase
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Slider.js","sources":["../../../../../src/Flow/Node/Parameters/Slider.tsx"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"Slider.js","sources":["../../../../../src/Flow/Node/Parameters/Slider.tsx"],"sourcesContent":["import { css } from \"@emotion/css\";\nimport { HvSlider } from \"@hitachivantara/uikit-react-core\";\n\nimport { HvFlowNodeSliderParam } from \"../../types\";\nimport { useFlowNodeUtils } from \"../../hooks\";\n\ninterface SliderProps {\n param: Omit<HvFlowNodeSliderParam, \"type\">;\n data: any;\n}\n\nconst classes = {\n labelContainer: css({\n marginRight: 0,\n marginLeft: 0,\n }),\n sliderBase: css({\n padding: 0,\n }),\n};\n\nconst Slider = ({ param, data }: SliderProps) => {\n const { id } = param;\n const { setNodeData } = useFlowNodeUtils();\n\n return (\n <HvSlider\n className=\"nodrag\" // Prevents dragging within the input field\n defaultValues={data[id]}\n onChange={(val) => setNodeData((prev) => ({ ...prev, [id]: val }))}\n classes={{\n labelContainer: classes.labelContainer,\n sliderBase: classes.sliderBase,\n }}\n {...param}\n />\n );\n};\n\nexport default Slider;\n"],"names":[],"mappings":";;;;AAWA,MAAM,UAAU;AAAA,EACd,gBAAgB,IAAI;AAAA,IAClB,aAAa;AAAA,IACb,YAAY;AAAA,EAAA,CACb;AAAA,EACD,YAAY,IAAI;AAAA,IACd,SAAS;AAAA,EAAA,CACV;AACH;AAEA,MAAM,SAAS,CAAC,EAAE,OAAO,WAAwB;AACzC,QAAA,EAAE,GAAO,IAAA;AACT,QAAA,EAAE,gBAAgB;AAGtB,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,eAAe,KAAK,EAAE;AAAA,MACtB,UAAU,CAAC,QAAQ,YAAY,CAAC,UAAU,EAAE,GAAG,MAAM,CAAC,EAAE,GAAG,MAAM;AAAA,MACjE,SAAS;AAAA,QACP,gBAAgB,QAAQ;AAAA,QACxB,YAAY,QAAQ;AAAA,MACtB;AAAA,MACC,GAAG;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,MAAA,WAAe;"}
|
|
@@ -1,29 +1,16 @@
|
|
|
1
1
|
import { jsx } from "@emotion/react/jsx-runtime";
|
|
2
|
-
import { useState } from "react";
|
|
3
2
|
import { HvInput } from "@hitachivantara/uikit-react-core";
|
|
4
|
-
import {
|
|
5
|
-
const Text = ({
|
|
3
|
+
import { useFlowNodeUtils } from "../../hooks/useFlowNode.js";
|
|
4
|
+
const Text = ({ param, data }) => {
|
|
6
5
|
const { id, label } = param;
|
|
7
|
-
const
|
|
8
|
-
const [text, setText] = useState(data[id]);
|
|
9
|
-
const onTextChange = (event, val) => {
|
|
10
|
-
reactFlowInstance.setNodes(
|
|
11
|
-
(nodes) => nodes.map((node) => {
|
|
12
|
-
if (node.id === nodeId) {
|
|
13
|
-
node.data = { ...node.data, [id]: val };
|
|
14
|
-
}
|
|
15
|
-
return node;
|
|
16
|
-
})
|
|
17
|
-
);
|
|
18
|
-
setText(val);
|
|
19
|
-
};
|
|
6
|
+
const { setNodeData } = useFlowNodeUtils();
|
|
20
7
|
return /* @__PURE__ */ jsx(
|
|
21
8
|
HvInput,
|
|
22
9
|
{
|
|
23
10
|
className: "nodrag",
|
|
24
11
|
label,
|
|
25
|
-
|
|
26
|
-
onChange:
|
|
12
|
+
defaultValue: data[id],
|
|
13
|
+
onChange: (evt, val) => setNodeData((prev) => ({ ...prev, [id]: val }))
|
|
27
14
|
}
|
|
28
15
|
);
|
|
29
16
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Text.js","sources":["../../../../../src/Flow/Node/Parameters/Text.tsx"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"Text.js","sources":["../../../../../src/Flow/Node/Parameters/Text.tsx"],"sourcesContent":["import { HvInput } from \"@hitachivantara/uikit-react-core\";\n\nimport { HvFlowNodeTextParam } from \"../../types\";\nimport { useFlowNodeUtils } from \"../../hooks\";\n\ninterface TextProps {\n param: Omit<HvFlowNodeTextParam, \"type\">;\n data: any;\n}\n\nconst Text = ({ param, data }: TextProps) => {\n const { id, label } = param;\n const { setNodeData } = useFlowNodeUtils();\n\n return (\n <HvInput\n className=\"nodrag\" // Prevents dragging within the input field\n label={label}\n defaultValue={data[id]}\n onChange={(evt, val) => setNodeData((prev) => ({ ...prev, [id]: val }))}\n />\n );\n};\n\nexport default Text;\n"],"names":[],"mappings":";;;AAUA,MAAM,OAAO,CAAC,EAAE,OAAO,WAAsB;AACrC,QAAA,EAAE,IAAI,MAAU,IAAA;AAChB,QAAA,EAAE,gBAAgB;AAGtB,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV;AAAA,MACA,cAAc,KAAK,EAAE;AAAA,MACrB,UAAU,CAAC,KAAK,QAAQ,YAAY,CAAC,UAAU,EAAE,GAAG,MAAM,CAAC,EAAE,GAAG,IAAM,EAAA;AAAA,IAAA;AAAA,EAAA;AAG5E;AAEA,MAAA,SAAe;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useCallback, useMemo } from "react";
|
|
2
|
-
import { useStore, useNodes, useEdges } from "reactflow";
|
|
2
|
+
import { useStore, useNodes, useEdges, useNodeId, useReactFlow } from "reactflow";
|
|
3
3
|
function useFlowNode(id) {
|
|
4
4
|
const nodeSelector = useCallback(
|
|
5
5
|
(state) => state.getNodes().find((n) => n.id === id),
|
|
@@ -52,6 +52,31 @@ function useFlowOutputNodes(id) {
|
|
|
52
52
|
return edges.filter((e) => e.source === id).map((e) => nodes.find((n) => n.id === e.target)).filter((n) => n !== null);
|
|
53
53
|
}, [edges, id, nodes]);
|
|
54
54
|
}
|
|
55
|
+
function useFlowNodeUtils() {
|
|
56
|
+
const nodeId = useNodeId();
|
|
57
|
+
const reactFlowInstance = useReactFlow();
|
|
58
|
+
const setNodeData = useCallback(
|
|
59
|
+
(setNewData) => {
|
|
60
|
+
if (!nodeId)
|
|
61
|
+
return;
|
|
62
|
+
reactFlowInstance.setNodes((nodes) => {
|
|
63
|
+
return nodes.map((n) => {
|
|
64
|
+
if (n.id === nodeId) {
|
|
65
|
+
return { ...n, data: setNewData(n.data) };
|
|
66
|
+
}
|
|
67
|
+
return n;
|
|
68
|
+
});
|
|
69
|
+
});
|
|
70
|
+
},
|
|
71
|
+
[nodeId, reactFlowInstance]
|
|
72
|
+
);
|
|
73
|
+
return useMemo(
|
|
74
|
+
() => ({
|
|
75
|
+
setNodeData
|
|
76
|
+
}),
|
|
77
|
+
[setNodeData]
|
|
78
|
+
);
|
|
79
|
+
}
|
|
55
80
|
export {
|
|
56
81
|
useFlowInputNodes,
|
|
57
82
|
useFlowNode,
|
|
@@ -59,6 +84,7 @@ export {
|
|
|
59
84
|
useFlowNodeInputEdges,
|
|
60
85
|
useFlowNodeOutputEdges,
|
|
61
86
|
useFlowNodeParents,
|
|
87
|
+
useFlowNodeUtils,
|
|
62
88
|
useFlowOutputNodes
|
|
63
89
|
};
|
|
64
90
|
//# sourceMappingURL=useFlowNode.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFlowNode.js","sources":["../../../../src/Flow/hooks/useFlowNode.ts"],"sourcesContent":["import { useCallback, useMemo } from \"react\";\nimport {\n Node,\n Edge,\n ReactFlowState,\n useStore,\n useNodes,\n useEdges,\n} from \"reactflow\";\n\nexport function useFlowNode<T extends Node = Node>(id: string) {\n const nodeSelector = useCallback(\n (state: ReactFlowState) =>\n state.getNodes().find((n: Node): n is T => n.id === id),\n [id]\n );\n return useStore<T | undefined>(nodeSelector);\n}\n\nexport function useFlowNodeInputEdges(id: string) {\n const inputEdgesSelector = useCallback(\n (state: ReactFlowState) => state.edges.filter((e: Edge) => e.target === id),\n [id]\n );\n return useStore(inputEdgesSelector);\n}\n\nexport function useFlowNodeOutputEdges(id: string) {\n const outputEdgesSelector = useCallback(\n (state: ReactFlowState) => state.edges.filter((e: Edge) => e.source === id),\n [id]\n );\n return useStore(outputEdgesSelector);\n}\n\nexport function useFlowNodeEdges(id: string) {\n const edgesSelector = useCallback(\n (state: ReactFlowState) =>\n state.edges.filter((e: Edge) => e.source === id || e.target === id),\n [id]\n );\n return useStore(edgesSelector);\n}\n\nexport function useFlowNodeParents(id: string) {\n const inputEdges = useFlowNodeInputEdges(id);\n const parentNodesSelector = useCallback(\n (state: ReactFlowState) => {\n return inputEdges\n .map((e) => state.getNodes().find((n: Node) => n.id === e.source))\n .filter((n): n is Node => n !== null);\n },\n [inputEdges]\n );\n return useStore(parentNodesSelector);\n}\n\nexport function useFlowInputNodes<T = any>(id: string) {\n const nodes = useNodes();\n const edges = useEdges();\n\n return useMemo(() => {\n return edges\n .filter((e) => e.target === id)\n .map((e) => nodes.find((n) => n.id === e.source))\n .filter((n): n is Node<T> => n !== null);\n }, [edges, id, nodes]);\n}\n\nexport function useFlowOutputNodes<T = any>(id: string) {\n const nodes = useNodes();\n const edges = useEdges();\n\n return useMemo(() => {\n return edges\n .filter((e) => e.source === id)\n .map((e) => nodes.find((n) => n.id === e.target))\n .filter((n): n is Node<T> => n !== null);\n }, [edges, id, nodes]);\n}\n"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"useFlowNode.js","sources":["../../../../src/Flow/hooks/useFlowNode.ts"],"sourcesContent":["import { useCallback, useMemo } from \"react\";\nimport {\n Node,\n Edge,\n ReactFlowState,\n useStore,\n useNodes,\n useEdges,\n useReactFlow,\n useNodeId,\n} from \"reactflow\";\n\nexport function useFlowNode<T extends Node = Node>(id: string) {\n const nodeSelector = useCallback(\n (state: ReactFlowState) =>\n state.getNodes().find((n: Node): n is T => n.id === id),\n [id]\n );\n return useStore<T | undefined>(nodeSelector);\n}\n\nexport function useFlowNodeInputEdges(id: string) {\n const inputEdgesSelector = useCallback(\n (state: ReactFlowState) => state.edges.filter((e: Edge) => e.target === id),\n [id]\n );\n return useStore(inputEdgesSelector);\n}\n\nexport function useFlowNodeOutputEdges(id: string) {\n const outputEdgesSelector = useCallback(\n (state: ReactFlowState) => state.edges.filter((e: Edge) => e.source === id),\n [id]\n );\n return useStore(outputEdgesSelector);\n}\n\nexport function useFlowNodeEdges(id: string) {\n const edgesSelector = useCallback(\n (state: ReactFlowState) =>\n state.edges.filter((e: Edge) => e.source === id || e.target === id),\n [id]\n );\n return useStore(edgesSelector);\n}\n\nexport function useFlowNodeParents(id: string) {\n const inputEdges = useFlowNodeInputEdges(id);\n const parentNodesSelector = useCallback(\n (state: ReactFlowState) => {\n return inputEdges\n .map((e) => state.getNodes().find((n: Node) => n.id === e.source))\n .filter((n): n is Node => n !== null);\n },\n [inputEdges]\n );\n return useStore(parentNodesSelector);\n}\n\nexport function useFlowInputNodes<T = any>(id: string) {\n const nodes = useNodes();\n const edges = useEdges();\n\n return useMemo(() => {\n return edges\n .filter((e) => e.target === id)\n .map((e) => nodes.find((n) => n.id === e.source))\n .filter((n): n is Node<T> => n !== null);\n }, [edges, id, nodes]);\n}\n\nexport function useFlowOutputNodes<T = any>(id: string) {\n const nodes = useNodes();\n const edges = useEdges();\n\n return useMemo(() => {\n return edges\n .filter((e) => e.source === id)\n .map((e) => nodes.find((n) => n.id === e.target))\n .filter((n): n is Node<T> => n !== null);\n }, [edges, id, nodes]);\n}\n\n/** Utilities to manipulate a node in the flow */\nexport function useFlowNodeUtils() {\n const nodeId = useNodeId();\n const reactFlowInstance = useReactFlow();\n\n /** Mutate the node's `.data` object */\n const setNodeData = useCallback(\n (setNewData: (newData?: any) => any) => {\n if (!nodeId) return;\n\n reactFlowInstance.setNodes((nodes) => {\n return nodes.map((n) => {\n if (n.id === nodeId) {\n return { ...n, data: setNewData(n.data) };\n }\n return n;\n });\n });\n },\n [nodeId, reactFlowInstance]\n );\n\n return useMemo(\n () => ({\n setNodeData,\n }),\n [setNodeData]\n );\n}\n"],"names":[],"mappings":";;AAYO,SAAS,YAAmC,IAAY;AAC7D,QAAM,eAAe;AAAA,IACnB,CAAC,UACC,MAAM,WAAW,KAAK,CAAC,MAAoB,EAAE,OAAO,EAAE;AAAA,IACxD,CAAC,EAAE;AAAA,EAAA;AAEL,SAAO,SAAwB,YAAY;AAC7C;AAEO,SAAS,sBAAsB,IAAY;AAChD,QAAM,qBAAqB;AAAA,IACzB,CAAC,UAA0B,MAAM,MAAM,OAAO,CAAC,MAAY,EAAE,WAAW,EAAE;AAAA,IAC1E,CAAC,EAAE;AAAA,EAAA;AAEL,SAAO,SAAS,kBAAkB;AACpC;AAEO,SAAS,uBAAuB,IAAY;AACjD,QAAM,sBAAsB;AAAA,IAC1B,CAAC,UAA0B,MAAM,MAAM,OAAO,CAAC,MAAY,EAAE,WAAW,EAAE;AAAA,IAC1E,CAAC,EAAE;AAAA,EAAA;AAEL,SAAO,SAAS,mBAAmB;AACrC;AAEO,SAAS,iBAAiB,IAAY;AAC3C,QAAM,gBAAgB;AAAA,IACpB,CAAC,UACC,MAAM,MAAM,OAAO,CAAC,MAAY,EAAE,WAAW,MAAM,EAAE,WAAW,EAAE;AAAA,IACpE,CAAC,EAAE;AAAA,EAAA;AAEL,SAAO,SAAS,aAAa;AAC/B;AAEO,SAAS,mBAAmB,IAAY;AACvC,QAAA,aAAa,sBAAsB,EAAE;AAC3C,QAAM,sBAAsB;AAAA,IAC1B,CAAC,UAA0B;AAClB,aAAA,WACJ,IAAI,CAAC,MAAM,MAAM,SAAS,EAAE,KAAK,CAAC,MAAY,EAAE,OAAO,EAAE,MAAM,CAAC,EAChE,OAAO,CAAC,MAAiB,MAAM,IAAI;AAAA,IACxC;AAAA,IACA,CAAC,UAAU;AAAA,EAAA;AAEb,SAAO,SAAS,mBAAmB;AACrC;AAEO,SAAS,kBAA2B,IAAY;AACrD,QAAM,QAAQ;AACd,QAAM,QAAQ;AAEd,SAAO,QAAQ,MAAM;AACZ,WAAA,MACJ,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,EAC7B,IAAI,CAAC,MAAM,MAAM,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,EAC/C,OAAO,CAAC,MAAoB,MAAM,IAAI;AAAA,EACxC,GAAA,CAAC,OAAO,IAAI,KAAK,CAAC;AACvB;AAEO,SAAS,mBAA4B,IAAY;AACtD,QAAM,QAAQ;AACd,QAAM,QAAQ;AAEd,SAAO,QAAQ,MAAM;AACZ,WAAA,MACJ,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,EAC7B,IAAI,CAAC,MAAM,MAAM,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,EAC/C,OAAO,CAAC,MAAoB,MAAM,IAAI;AAAA,EACxC,GAAA,CAAC,OAAO,IAAI,KAAK,CAAC;AACvB;AAGO,SAAS,mBAAmB;AACjC,QAAM,SAAS;AACf,QAAM,oBAAoB;AAG1B,QAAM,cAAc;AAAA,IAClB,CAAC,eAAuC;AACtC,UAAI,CAAC;AAAQ;AAEK,wBAAA,SAAS,CAAC,UAAU;AAC7B,eAAA,MAAM,IAAI,CAAC,MAAM;AAClB,cAAA,EAAE,OAAO,QAAQ;AACnB,mBAAO,EAAE,GAAG,GAAG,MAAM,WAAW,EAAE,IAAI;UACxC;AACO,iBAAA;AAAA,QAAA,CACR;AAAA,MAAA,CACF;AAAA,IACH;AAAA,IACA,CAAC,QAAQ,iBAAiB;AAAA,EAAA;AAGrB,SAAA;AAAA,IACL,OAAO;AAAA,MACL;AAAA,IAAA;AAAA,IAEF,CAAC,WAAW;AAAA,EAAA;AAEhB;"}
|
package/dist/esm/index.js
CHANGED
|
@@ -1,36 +1,42 @@
|
|
|
1
|
-
import { staticClasses } from "./
|
|
1
|
+
import { staticClasses } from "./Blade/Blade.styles.js";
|
|
2
|
+
import { HvBlade } from "./Blade/Blade.js";
|
|
3
|
+
import { staticClasses as staticClasses2 } from "./Blades/Blades.styles.js";
|
|
4
|
+
import { HvBlades } from "./Blades/Blades.js";
|
|
5
|
+
import { staticClasses as staticClasses3 } from "./Dashboard/Dashboard.styles.js";
|
|
2
6
|
import { HvDashboard } from "./Dashboard/Dashboard.js";
|
|
3
|
-
import { staticClasses as
|
|
7
|
+
import { staticClasses as staticClasses4 } from "./Flow/Flow.styles.js";
|
|
4
8
|
import { HvFlowBackground } from "./Flow/Background/Background.js";
|
|
5
9
|
import { HvFlowControls } from "./Flow/Controls/Controls.js";
|
|
6
|
-
import { staticClasses as
|
|
10
|
+
import { staticClasses as staticClasses5 } from "./Flow/Minimap/Minimap.styles.js";
|
|
7
11
|
import { HvFlowMinimap } from "./Flow/Minimap/Minimap.js";
|
|
8
|
-
import { staticClasses as
|
|
12
|
+
import { staticClasses as staticClasses6 } from "./Flow/Sidebar/Sidebar.styles.js";
|
|
9
13
|
import { HvFlowSidebar } from "./Flow/Sidebar/Sidebar.js";
|
|
10
14
|
import { HvFlowEmpty } from "./Flow/Empty/Empty.js";
|
|
11
15
|
import { HvFlow } from "./Flow/Flow.js";
|
|
12
|
-
import { staticClasses as
|
|
16
|
+
import { staticClasses as staticClasses7 } from "./Flow/Node/BaseNode.styles.js";
|
|
13
17
|
import { HvFlowBaseNode } from "./Flow/Node/BaseNode.js";
|
|
14
|
-
import { staticClasses as
|
|
18
|
+
import { staticClasses as staticClasses8 } from "./Flow/Node/Node.styles.js";
|
|
15
19
|
import { HvFlowNode } from "./Flow/Node/Node.js";
|
|
16
20
|
import { HvDashboardNode, hvDashboardNodeClasses } from "./Flow/nodes/DashboardNode.js";
|
|
17
|
-
import { useFlowInputNodes, useFlowNode, useFlowNodeEdges, useFlowNodeInputEdges, useFlowNodeOutputEdges, useFlowNodeParents, useFlowOutputNodes } from "./Flow/hooks/useFlowNode.js";
|
|
21
|
+
import { useFlowInputNodes, useFlowNode, useFlowNodeEdges, useFlowNodeInputEdges, useFlowNodeOutputEdges, useFlowNodeParents, useFlowNodeUtils, useFlowOutputNodes } from "./Flow/hooks/useFlowNode.js";
|
|
18
22
|
import { useFlowContext } from "./Flow/hooks/useFlowContext.js";
|
|
19
23
|
import { useFlowNodeMeta } from "./Flow/hooks/useFlowNodeMeta.js";
|
|
20
|
-
import { staticClasses as
|
|
24
|
+
import { staticClasses as staticClasses9 } from "./StepNavigation/StepNavigation.styles.js";
|
|
21
25
|
import { HvStepNavigation } from "./StepNavigation/StepNavigation.js";
|
|
22
|
-
import { staticClasses as
|
|
26
|
+
import { staticClasses as staticClasses10 } from "./Wizard/Wizard.styles.js";
|
|
23
27
|
import { HvWizard } from "./Wizard/Wizard.js";
|
|
24
|
-
import { staticClasses as
|
|
28
|
+
import { staticClasses as staticClasses11 } from "./Wizard/WizardActions/WizardActions.styles.js";
|
|
25
29
|
import { HvWizardActions } from "./Wizard/WizardActions/WizardActions.js";
|
|
26
|
-
import { staticClasses as
|
|
30
|
+
import { staticClasses as staticClasses12 } from "./Wizard/WizardContainer/WizardContainer.styles.js";
|
|
27
31
|
import { HvWizardContainer } from "./Wizard/WizardContainer/WizardContainer.js";
|
|
28
|
-
import { staticClasses as
|
|
32
|
+
import { staticClasses as staticClasses13 } from "./Wizard/WizardContent/WizardContent.styles.js";
|
|
29
33
|
import { HvWizardContent } from "./Wizard/WizardContent/WizardContent.js";
|
|
30
34
|
import { default as default2 } from "./Wizard/WizardContext/WizardContext.js";
|
|
31
|
-
import { staticClasses as
|
|
35
|
+
import { staticClasses as staticClasses14 } from "./Wizard/WizardTitle/WizardTitle.styles.js";
|
|
32
36
|
import { HvWizardTitle } from "./Wizard/WizardTitle/WizardTitle.js";
|
|
33
37
|
export {
|
|
38
|
+
HvBlade,
|
|
39
|
+
HvBlades,
|
|
34
40
|
HvDashboard,
|
|
35
41
|
HvDashboardNode,
|
|
36
42
|
HvFlow,
|
|
@@ -48,14 +54,16 @@ export {
|
|
|
48
54
|
HvWizardContent,
|
|
49
55
|
default2 as HvWizardContext,
|
|
50
56
|
HvWizardTitle,
|
|
51
|
-
staticClasses as
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
+
staticClasses as bladeClasses,
|
|
58
|
+
staticClasses2 as bladesClasses,
|
|
59
|
+
staticClasses3 as dashboardClasses,
|
|
60
|
+
staticClasses7 as flowBaseNodeClasses,
|
|
61
|
+
staticClasses4 as flowClasses,
|
|
62
|
+
staticClasses5 as flowMinimapClasses,
|
|
63
|
+
staticClasses8 as flowNodeClasses,
|
|
64
|
+
staticClasses6 as flowSidebarClasses,
|
|
57
65
|
hvDashboardNodeClasses,
|
|
58
|
-
|
|
66
|
+
staticClasses9 as stepNavigationClasses,
|
|
59
67
|
useFlowContext,
|
|
60
68
|
useFlowInputNodes,
|
|
61
69
|
useFlowNode,
|
|
@@ -64,11 +72,12 @@ export {
|
|
|
64
72
|
useFlowNodeMeta,
|
|
65
73
|
useFlowNodeOutputEdges,
|
|
66
74
|
useFlowNodeParents,
|
|
75
|
+
useFlowNodeUtils,
|
|
67
76
|
useFlowOutputNodes,
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
77
|
+
staticClasses11 as wizardActionsClasses,
|
|
78
|
+
staticClasses10 as wizardClasses,
|
|
79
|
+
staticClasses12 as wizardContainerClasses,
|
|
80
|
+
staticClasses13 as wizardContentClasses,
|
|
81
|
+
staticClasses14 as wizardTitleClasses
|
|
73
82
|
};
|
|
74
83
|
//# sourceMappingURL=index.js.map
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|