@hitachivantara/uikit-react-lab 5.19.3 → 5.20.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/Flow/Flow.cjs.map +1 -1
- package/dist/cjs/Flow/nodes/DashboardNode.cjs +91 -0
- package/dist/cjs/Flow/nodes/DashboardNode.cjs.map +1 -0
- package/dist/cjs/index.cjs +3 -0
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/esm/Flow/Flow.js.map +1 -1
- package/dist/esm/Flow/nodes/DashboardNode.js +91 -0
- package/dist/esm/Flow/nodes/DashboardNode.js.map +1 -0
- package/dist/esm/index.js +3 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/types/index.d.ts +68 -24
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Flow.cjs","sources":["../../../src/Flow/Flow.tsx"],"sourcesContent":["import {\n DndContext,\n DndContextProps,\n KeyboardSensor,\n PointerSensor,\n useSensor,\n useSensors,\n} from \"@dnd-kit/core\";\nimport { restrictToWindowEdges } from \"@dnd-kit/modifiers\";\n\nimport { ReactFlowProvider } from \"reactflow\";\n\nimport { HvFlowNodeAction, HvFlowNodeGroups, HvFlowNodeTypes } from \"./types\";\nimport { HvFlowProvider } from \"./FlowContext\";\nimport { HvDroppableFlow, HvDroppableFlowProps } from \"./DroppableFlow\";\n\nexport interface HvFlowProps<\n NodeGroups extends keyof any = string,\n NodeType extends string | undefined = string | undefined,\n NodeData = any\n> extends HvDroppableFlowProps<NodeType, NodeData> {\n /** Flow nodes groups. */\n nodeGroups?: HvFlowNodeGroups<NodeGroups>;\n /** Flow nodes types. */\n nodeTypes?: HvFlowNodeTypes<NodeGroups, NodeData>;\n /** Flow sidebar. */\n sidebar?: React.ReactNode;\n /** Flow default actions. */\n defaultActions?: HvFlowNodeAction[];\n /**\n * Dnd Kit context props. This should be used for accessibility purposes.\n *\n * More information can be found on the [Dnd Kit documentation](https://docs.dndkit.com/guides/accessibility)\n */\n dndContextProps?: Pick<DndContextProps, \"accessibility\">;\n}\n\n/**\n * Flow component to build interactive node-based UIs.\n *\n * This implementation leverages [React Flow](https://reactflow.dev).\n * The drag and drop functionality leverages [Dnd Kit](https://docs.dndkit.com)\n *\n * DISCLAIMER: This component is a work in progress and there might be breaking changes.\n */\nexport const HvFlow = ({\n nodeTypes,\n nodeGroups,\n sidebar,\n defaultActions,\n dndContextProps,\n ...others\n}: HvFlowProps) => {\n const sensors = useSensors(\n useSensor(PointerSensor),\n useSensor(KeyboardSensor)\n );\n\n // We're wrapping the main Flow component with the ReactFlowProvider to access the react flow instance.\n // HvFlowContext is our custom internal context.\n return (\n <ReactFlowProvider>\n <HvFlowProvider\n nodeGroups={nodeGroups}\n nodeTypes={nodeTypes}\n defaultActions={defaultActions}\n >\n <DndContext\n sensors={sensors}\n modifiers={[restrictToWindowEdges]}\n {...dndContextProps}\n >\n <HvDroppableFlow {...others} />\n {sidebar}\n </DndContext>\n </HvFlowProvider>\n </ReactFlowProvider>\n );\n};\n"],"names":["useSensors","useSensor","PointerSensor","KeyboardSensor","ReactFlowProvider","jsx","HvFlowProvider","jsxs","DndContext","restrictToWindowEdges","HvDroppableFlow"],"mappings":";;;;;;;;
|
|
1
|
+
{"version":3,"file":"Flow.cjs","sources":["../../../src/Flow/Flow.tsx"],"sourcesContent":["import {\n DndContext,\n DndContextProps,\n KeyboardSensor,\n PointerSensor,\n useSensor,\n useSensors,\n} from \"@dnd-kit/core\";\nimport { restrictToWindowEdges } from \"@dnd-kit/modifiers\";\n\nimport { ReactFlowProvider } from \"reactflow\";\n\nimport { HvFlowNodeAction, HvFlowNodeGroups, HvFlowNodeTypes } from \"./types\";\nimport { HvFlowProvider } from \"./FlowContext\";\nimport { HvDroppableFlow, HvDroppableFlowProps } from \"./DroppableFlow\";\n\nexport interface HvFlowProps<\n NodeGroups extends keyof any = string,\n NodeType extends string | undefined = string | undefined,\n NodeData = any\n> extends HvDroppableFlowProps<NodeType, NodeData> {\n /** Flow nodes groups. */\n nodeGroups?: HvFlowNodeGroups<NodeGroups>;\n /** Flow nodes types. */\n nodeTypes?: HvFlowNodeTypes<NodeGroups, NodeData>;\n /** Flow sidebar. */\n sidebar?: React.ReactNode;\n /** Flow default actions. */\n defaultActions?: HvFlowNodeAction[];\n /**\n * Dnd Kit context props. This should be used for accessibility purposes.\n *\n * More information can be found on the [Dnd Kit documentation](https://docs.dndkit.com/guides/accessibility)\n */\n dndContextProps?: Pick<DndContextProps, \"accessibility\">;\n}\n\n/**\n * Flow component to build interactive node-based UIs.\n *\n * This implementation leverages [React Flow](https://reactflow.dev).\n * The drag and drop functionality leverages [Dnd Kit](https://docs.dndkit.com)\n *\n * Take a look at the [usage page](https://lumada-design.github.io/uikit/master/?path=/docs/lab-flow-usage--docs) to learn more about this component.\n *\n * DISCLAIMER: This component is a work in progress and there might be breaking changes.\n */\nexport const HvFlow = ({\n nodeTypes,\n nodeGroups,\n sidebar,\n defaultActions,\n dndContextProps,\n ...others\n}: HvFlowProps) => {\n const sensors = useSensors(\n useSensor(PointerSensor),\n useSensor(KeyboardSensor)\n );\n\n // We're wrapping the main Flow component with the ReactFlowProvider to access the react flow instance.\n // HvFlowContext is our custom internal context.\n return (\n <ReactFlowProvider>\n <HvFlowProvider\n nodeGroups={nodeGroups}\n nodeTypes={nodeTypes}\n defaultActions={defaultActions}\n >\n <DndContext\n sensors={sensors}\n modifiers={[restrictToWindowEdges]}\n {...dndContextProps}\n >\n <HvDroppableFlow {...others} />\n {sidebar}\n </DndContext>\n </HvFlowProvider>\n </ReactFlowProvider>\n );\n};\n"],"names":["useSensors","useSensor","PointerSensor","KeyboardSensor","ReactFlowProvider","jsx","HvFlowProvider","jsxs","DndContext","restrictToWindowEdges","HvDroppableFlow"],"mappings":";;;;;;;;AA+CO,MAAM,SAAS,CAAC;AAAA,EACrB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAmB;AACjB,QAAM,UAAUA,KAAA;AAAA,IACdC,KAAAA,UAAUC,KAAAA,aAAa;AAAA,IACvBD,KAAAA,UAAUE,KAAAA,cAAc;AAAA,EAAA;AAK1B,wCACGC,UAAAA,mBACC,EAAA,UAAAC,2BAAA;AAAA,IAACC,YAAA;AAAA,IAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MAEA,UAAAC,2BAAA;AAAA,QAACC,KAAA;AAAA,QAAA;AAAA,UACC;AAAA,UACA,WAAW,CAACC,UAAAA,qBAAqB;AAAA,UAChC,GAAG;AAAA,UAEJ,UAAA;AAAA,YAACJ,2BAAAA,IAAAK,cAAA,iBAAA,EAAiB,GAAG,QAAQ;AAAA,YAC5B;AAAA,UAAA;AAAA,QAAA;AAAA,MACH;AAAA,IAAA;AAAA,EAEJ,EAAA,CAAA;AAEJ;;"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const jsxRuntime = require("@emotion/react/jsx-runtime");
|
|
4
|
+
const uikitReactCore = require("@hitachivantara/uikit-react-core");
|
|
5
|
+
const uikitReactIcons = require("@hitachivantara/uikit-react-icons");
|
|
6
|
+
const Node = require("../Node/Node.cjs");
|
|
7
|
+
const Dashboard = require("../../Dashboard/Dashboard.cjs");
|
|
8
|
+
const { staticClasses, useClasses } = uikitReactCore.createClasses("HvDashboardNode", {
|
|
9
|
+
actions: {
|
|
10
|
+
display: "flex",
|
|
11
|
+
justifyContent: "space-around",
|
|
12
|
+
padding: uikitReactCore.theme.space.xs
|
|
13
|
+
},
|
|
14
|
+
empty: {
|
|
15
|
+
padding: uikitReactCore.theme.spacing("sm", 0, 0, 0)
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
const DEFAULT_LABELS = {
|
|
19
|
+
title: "Dashboard",
|
|
20
|
+
description: "Dashboard",
|
|
21
|
+
emptyMessage: "No visualizations connected to the dashboard.",
|
|
22
|
+
dialogTitle: "Configure dashboard",
|
|
23
|
+
dialogSubtitle: "Please configure the layout of your dashboard as needed.",
|
|
24
|
+
dialogApply: "Apply",
|
|
25
|
+
dialogCancel: "Cancel"
|
|
26
|
+
};
|
|
27
|
+
const HvDashboardNode = (props) => {
|
|
28
|
+
const {
|
|
29
|
+
id,
|
|
30
|
+
open,
|
|
31
|
+
layout,
|
|
32
|
+
labels: labelsProp,
|
|
33
|
+
classes: classesProp,
|
|
34
|
+
previewItems,
|
|
35
|
+
children,
|
|
36
|
+
dialogProps,
|
|
37
|
+
dashboardProps,
|
|
38
|
+
onApply,
|
|
39
|
+
onCancel,
|
|
40
|
+
onClose,
|
|
41
|
+
...others
|
|
42
|
+
} = props;
|
|
43
|
+
const labels = uikitReactCore.useLabels(DEFAULT_LABELS, labelsProp);
|
|
44
|
+
const { classes } = useClasses(classesProp);
|
|
45
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(Node.HvFlowNode, { id, classes, ...others, children: [
|
|
46
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: classes.actions, children }),
|
|
47
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
48
|
+
uikitReactCore.HvDialog,
|
|
49
|
+
{
|
|
50
|
+
open,
|
|
51
|
+
maxWidth: "lg",
|
|
52
|
+
fullWidth: true,
|
|
53
|
+
onClose,
|
|
54
|
+
...dialogProps,
|
|
55
|
+
children: [
|
|
56
|
+
/* @__PURE__ */ jsxRuntime.jsx(uikitReactCore.HvDialogTitle, { variant: "info", children: labels?.dialogTitle }),
|
|
57
|
+
/* @__PURE__ */ jsxRuntime.jsxs(uikitReactCore.HvDialogContent, { indentContent: true, children: [
|
|
58
|
+
labels?.dialogSubtitle,
|
|
59
|
+
layout && layout?.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
60
|
+
Dashboard.HvDashboard,
|
|
61
|
+
{
|
|
62
|
+
cols: 12,
|
|
63
|
+
layout,
|
|
64
|
+
compactType: "vertical",
|
|
65
|
+
rowHeight: 80,
|
|
66
|
+
margin: [16, 16],
|
|
67
|
+
containerPadding: [0, 16],
|
|
68
|
+
...dashboardProps,
|
|
69
|
+
children: previewItems
|
|
70
|
+
}
|
|
71
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
72
|
+
uikitReactCore.HvEmptyState,
|
|
73
|
+
{
|
|
74
|
+
className: classes.empty,
|
|
75
|
+
icon: /* @__PURE__ */ jsxRuntime.jsx(uikitReactIcons.Info, { role: "none" }),
|
|
76
|
+
message: labels?.emptyMessage
|
|
77
|
+
}
|
|
78
|
+
)
|
|
79
|
+
] }),
|
|
80
|
+
/* @__PURE__ */ jsxRuntime.jsxs(uikitReactCore.HvDialogActions, { children: [
|
|
81
|
+
/* @__PURE__ */ jsxRuntime.jsx(uikitReactCore.HvButton, { variant: "primary", onClick: onApply, children: labels?.dialogApply }),
|
|
82
|
+
/* @__PURE__ */ jsxRuntime.jsx(uikitReactCore.HvButton, { variant: "secondarySubtle", onClick: onCancel, children: labels?.dialogCancel })
|
|
83
|
+
] })
|
|
84
|
+
]
|
|
85
|
+
}
|
|
86
|
+
)
|
|
87
|
+
] });
|
|
88
|
+
};
|
|
89
|
+
exports.HvDashboardNode = HvDashboardNode;
|
|
90
|
+
exports.hvDashboardNodeClasses = staticClasses;
|
|
91
|
+
//# sourceMappingURL=DashboardNode.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DashboardNode.cjs","sources":["../../../../src/Flow/nodes/DashboardNode.tsx"],"sourcesContent":["import {\n ExtractNames,\n HvButton,\n HvDialog,\n HvDialogActions,\n HvDialogContent,\n HvDialogProps,\n HvDialogTitle,\n HvEmptyState,\n createClasses,\n theme,\n useLabels,\n} from \"@hitachivantara/uikit-react-core\";\nimport { Info } from \"@hitachivantara/uikit-react-icons\";\n\nimport { HvDashboard, HvDashboardProps } from \"../../Dashboard\";\nimport { HvFlowNode, HvFlowNodeProps, HvFlowNodeClasses } from \"../Node\";\n\nconst { staticClasses, useClasses } = createClasses(\"HvDashboardNode\", {\n actions: {\n display: \"flex\",\n justifyContent: \"space-around\",\n padding: theme.space.xs,\n },\n empty: {\n padding: theme.spacing(\"sm\", 0, 0, 0),\n },\n});\n\nexport { staticClasses as hvDashboardNodeClasses };\n\nconst DEFAULT_LABELS = {\n title: \"Dashboard\",\n description: \"Dashboard\",\n emptyMessage: \"No visualizations connected to the dashboard.\",\n dialogTitle: \"Configure dashboard\",\n dialogSubtitle: \"Please configure the layout of your dashboard as needed.\",\n dialogApply: \"Apply\",\n dialogCancel: \"Cancel\",\n};\n\nexport interface HvDashboardNodeClasses\n extends ExtractNames<typeof useClasses>,\n HvFlowNodeClasses {}\n\nexport interface HvDashboardNodeProps\n extends HvFlowNodeProps,\n Pick<HvDialogProps, \"open\" | \"onClose\">,\n Pick<HvDashboardProps, \"layout\"> {\n classes?: HvDashboardNodeClasses;\n labels?: typeof DEFAULT_LABELS;\n previewItems?: React.ReactNode;\n onApply?: () => void;\n onCancel?: () => void;\n\n dashboardProps?: Omit<HvDashboardProps, \"children\">;\n dialogProps?: HvDialogProps;\n}\n\nexport const HvDashboardNode = (props: HvDashboardNodeProps) => {\n const {\n id,\n open,\n layout,\n labels: labelsProp,\n classes: classesProp,\n previewItems,\n children,\n dialogProps,\n dashboardProps,\n onApply,\n onCancel,\n onClose,\n ...others\n } = props;\n const labels = useLabels(DEFAULT_LABELS, labelsProp);\n const { classes } = useClasses(classesProp);\n\n return (\n <HvFlowNode id={id} classes={classes as any} {...others}>\n <div className={classes.actions}>{children}</div>\n <HvDialog\n open={open}\n maxWidth=\"lg\"\n fullWidth\n onClose={onClose}\n {...dialogProps}\n >\n <HvDialogTitle variant=\"info\">{labels?.dialogTitle}</HvDialogTitle>\n <HvDialogContent indentContent>\n {labels?.dialogSubtitle}\n {layout && layout?.length > 0 ? (\n <HvDashboard\n cols={12}\n layout={layout}\n compactType=\"vertical\"\n rowHeight={80}\n margin={[16, 16]}\n containerPadding={[0, 16]}\n {...dashboardProps}\n >\n {previewItems}\n </HvDashboard>\n ) : (\n <HvEmptyState\n className={classes.empty}\n icon={<Info role=\"none\" />}\n message={labels?.emptyMessage}\n />\n )}\n </HvDialogContent>\n <HvDialogActions>\n <HvButton variant=\"primary\" onClick={onApply}>\n {labels?.dialogApply}\n </HvButton>\n <HvButton variant=\"secondarySubtle\" onClick={onCancel}>\n {labels?.dialogCancel}\n </HvButton>\n </HvDialogActions>\n </HvDialog>\n </HvFlowNode>\n );\n};\n"],"names":["createClasses","theme","useLabels","jsxs","HvFlowNode","jsx","HvDialog","HvDialogTitle","HvDialogContent","HvDashboard","HvEmptyState","Info","HvDialogActions","HvButton"],"mappings":";;;;;;;AAkBA,MAAM,EAAE,eAAe,eAAeA,eAAAA,cAAc,mBAAmB;AAAA,EACrE,SAAS;AAAA,IACP,SAAS;AAAA,IACT,gBAAgB;AAAA,IAChB,SAASC,eAAAA,MAAM,MAAM;AAAA,EACvB;AAAA,EACA,OAAO;AAAA,IACL,SAASA,eAAM,MAAA,QAAQ,MAAM,GAAG,GAAG,CAAC;AAAA,EACtC;AACF,CAAC;AAID,MAAM,iBAAiB;AAAA,EACrB,OAAO;AAAA,EACP,aAAa;AAAA,EACb,cAAc;AAAA,EACd,aAAa;AAAA,EACb,gBAAgB;AAAA,EAChB,aAAa;AAAA,EACb,cAAc;AAChB;AAoBa,MAAA,kBAAkB,CAAC,UAAgC;AACxD,QAAA;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA,QAAQ;AAAA,IACR,SAAS;AAAA,IACT;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACD,IAAA;AACE,QAAA,SAASC,eAAAA,UAAU,gBAAgB,UAAU;AACnD,QAAM,EAAE,QAAA,IAAY,WAAW,WAAW;AAE1C,SACGC,2BAAAA,KAAAC,KAAAA,YAAA,EAAW,IAAQ,SAA0B,GAAG,QAC/C,UAAA;AAAA,IAAAC,2BAAA,IAAC,OAAI,EAAA,WAAW,QAAQ,SAAU,UAAS;AAAA,IAC3CF,2BAAA;AAAA,MAACG,eAAA;AAAA,MAAA;AAAA,QACC;AAAA,QACA,UAAS;AAAA,QACT,WAAS;AAAA,QACT;AAAA,QACC,GAAG;AAAA,QAEJ,UAAA;AAAA,UAAAD,2BAAA,IAACE,eAAc,eAAA,EAAA,SAAQ,QAAQ,UAAA,QAAQ,aAAY;AAAA,UACnDJ,2BAAAA,KAACK,eAAAA,iBAAgB,EAAA,eAAa,MAC3B,UAAA;AAAA,YAAQ,QAAA;AAAA,YACR,UAAU,QAAQ,SAAS,IAC1BH,2BAAA;AAAA,cAACI,UAAA;AAAA,cAAA;AAAA,gBACC,MAAM;AAAA,gBACN;AAAA,gBACA,aAAY;AAAA,gBACZ,WAAW;AAAA,gBACX,QAAQ,CAAC,IAAI,EAAE;AAAA,gBACf,kBAAkB,CAAC,GAAG,EAAE;AAAA,gBACvB,GAAG;AAAA,gBAEH,UAAA;AAAA,cAAA;AAAA,YAAA,IAGHJ,2BAAA;AAAA,cAACK,eAAA;AAAA,cAAA;AAAA,gBACC,WAAW,QAAQ;AAAA,gBACnB,MAAML,2BAAAA,IAACM,gBAAAA,MAAK,EAAA,MAAK,OAAO,CAAA;AAAA,gBACxB,SAAS,QAAQ;AAAA,cAAA;AAAA,YACnB;AAAA,UAAA,GAEJ;AAAA,0CACCC,eAAAA,iBACC,EAAA,UAAA;AAAA,YAAAP,+BAACQ,eAAAA,YAAS,SAAQ,WAAU,SAAS,SAClC,kBAAQ,aACX;AAAA,2CACCA,eAAAA,UAAS,EAAA,SAAQ,mBAAkB,SAAS,UAC1C,kBAAQ,cACX;AAAA,UAAA,GACF;AAAA,QAAA;AAAA,MAAA;AAAA,IACF;AAAA,EACF,EAAA,CAAA;AAEJ;;;"}
|
package/dist/cjs/index.cjs
CHANGED
|
@@ -15,6 +15,7 @@ const BaseNode_styles = require("./Flow/Node/BaseNode.styles.cjs");
|
|
|
15
15
|
const BaseNode = require("./Flow/Node/BaseNode.cjs");
|
|
16
16
|
const Node_styles = require("./Flow/Node/Node.styles.cjs");
|
|
17
17
|
const Node = require("./Flow/Node/Node.cjs");
|
|
18
|
+
const DashboardNode = require("./Flow/nodes/DashboardNode.cjs");
|
|
18
19
|
const useFlowNode = require("./Flow/hooks/useFlowNode.cjs");
|
|
19
20
|
const useFlowContext = require("./Flow/hooks/useFlowContext.cjs");
|
|
20
21
|
const useFlowNodeMeta = require("./Flow/hooks/useFlowNodeMeta.cjs");
|
|
@@ -46,6 +47,8 @@ exports.flowBaseNodeClasses = BaseNode_styles.staticClasses;
|
|
|
46
47
|
exports.HvFlowBaseNode = BaseNode.HvFlowBaseNode;
|
|
47
48
|
exports.flowNodeClasses = Node_styles.staticClasses;
|
|
48
49
|
exports.HvFlowNode = Node.HvFlowNode;
|
|
50
|
+
exports.HvDashboardNode = DashboardNode.HvDashboardNode;
|
|
51
|
+
exports.hvDashboardNodeClasses = DashboardNode.hvDashboardNodeClasses;
|
|
49
52
|
exports.useFlowInputNodes = useFlowNode.useFlowInputNodes;
|
|
50
53
|
exports.useFlowNode = useFlowNode.useFlowNode;
|
|
51
54
|
exports.useFlowNodeEdges = useFlowNode.useFlowNodeEdges;
|
package/dist/cjs/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Flow.js","sources":["../../../src/Flow/Flow.tsx"],"sourcesContent":["import {\n DndContext,\n DndContextProps,\n KeyboardSensor,\n PointerSensor,\n useSensor,\n useSensors,\n} from \"@dnd-kit/core\";\nimport { restrictToWindowEdges } from \"@dnd-kit/modifiers\";\n\nimport { ReactFlowProvider } from \"reactflow\";\n\nimport { HvFlowNodeAction, HvFlowNodeGroups, HvFlowNodeTypes } from \"./types\";\nimport { HvFlowProvider } from \"./FlowContext\";\nimport { HvDroppableFlow, HvDroppableFlowProps } from \"./DroppableFlow\";\n\nexport interface HvFlowProps<\n NodeGroups extends keyof any = string,\n NodeType extends string | undefined = string | undefined,\n NodeData = any\n> extends HvDroppableFlowProps<NodeType, NodeData> {\n /** Flow nodes groups. */\n nodeGroups?: HvFlowNodeGroups<NodeGroups>;\n /** Flow nodes types. */\n nodeTypes?: HvFlowNodeTypes<NodeGroups, NodeData>;\n /** Flow sidebar. */\n sidebar?: React.ReactNode;\n /** Flow default actions. */\n defaultActions?: HvFlowNodeAction[];\n /**\n * Dnd Kit context props. This should be used for accessibility purposes.\n *\n * More information can be found on the [Dnd Kit documentation](https://docs.dndkit.com/guides/accessibility)\n */\n dndContextProps?: Pick<DndContextProps, \"accessibility\">;\n}\n\n/**\n * Flow component to build interactive node-based UIs.\n *\n * This implementation leverages [React Flow](https://reactflow.dev).\n * The drag and drop functionality leverages [Dnd Kit](https://docs.dndkit.com)\n *\n * DISCLAIMER: This component is a work in progress and there might be breaking changes.\n */\nexport const HvFlow = ({\n nodeTypes,\n nodeGroups,\n sidebar,\n defaultActions,\n dndContextProps,\n ...others\n}: HvFlowProps) => {\n const sensors = useSensors(\n useSensor(PointerSensor),\n useSensor(KeyboardSensor)\n );\n\n // We're wrapping the main Flow component with the ReactFlowProvider to access the react flow instance.\n // HvFlowContext is our custom internal context.\n return (\n <ReactFlowProvider>\n <HvFlowProvider\n nodeGroups={nodeGroups}\n nodeTypes={nodeTypes}\n defaultActions={defaultActions}\n >\n <DndContext\n sensors={sensors}\n modifiers={[restrictToWindowEdges]}\n {...dndContextProps}\n >\n <HvDroppableFlow {...others} />\n {sidebar}\n </DndContext>\n </HvFlowProvider>\n </ReactFlowProvider>\n );\n};\n"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"Flow.js","sources":["../../../src/Flow/Flow.tsx"],"sourcesContent":["import {\n DndContext,\n DndContextProps,\n KeyboardSensor,\n PointerSensor,\n useSensor,\n useSensors,\n} from \"@dnd-kit/core\";\nimport { restrictToWindowEdges } from \"@dnd-kit/modifiers\";\n\nimport { ReactFlowProvider } from \"reactflow\";\n\nimport { HvFlowNodeAction, HvFlowNodeGroups, HvFlowNodeTypes } from \"./types\";\nimport { HvFlowProvider } from \"./FlowContext\";\nimport { HvDroppableFlow, HvDroppableFlowProps } from \"./DroppableFlow\";\n\nexport interface HvFlowProps<\n NodeGroups extends keyof any = string,\n NodeType extends string | undefined = string | undefined,\n NodeData = any\n> extends HvDroppableFlowProps<NodeType, NodeData> {\n /** Flow nodes groups. */\n nodeGroups?: HvFlowNodeGroups<NodeGroups>;\n /** Flow nodes types. */\n nodeTypes?: HvFlowNodeTypes<NodeGroups, NodeData>;\n /** Flow sidebar. */\n sidebar?: React.ReactNode;\n /** Flow default actions. */\n defaultActions?: HvFlowNodeAction[];\n /**\n * Dnd Kit context props. This should be used for accessibility purposes.\n *\n * More information can be found on the [Dnd Kit documentation](https://docs.dndkit.com/guides/accessibility)\n */\n dndContextProps?: Pick<DndContextProps, \"accessibility\">;\n}\n\n/**\n * Flow component to build interactive node-based UIs.\n *\n * This implementation leverages [React Flow](https://reactflow.dev).\n * The drag and drop functionality leverages [Dnd Kit](https://docs.dndkit.com)\n *\n * Take a look at the [usage page](https://lumada-design.github.io/uikit/master/?path=/docs/lab-flow-usage--docs) to learn more about this component.\n *\n * DISCLAIMER: This component is a work in progress and there might be breaking changes.\n */\nexport const HvFlow = ({\n nodeTypes,\n nodeGroups,\n sidebar,\n defaultActions,\n dndContextProps,\n ...others\n}: HvFlowProps) => {\n const sensors = useSensors(\n useSensor(PointerSensor),\n useSensor(KeyboardSensor)\n );\n\n // We're wrapping the main Flow component with the ReactFlowProvider to access the react flow instance.\n // HvFlowContext is our custom internal context.\n return (\n <ReactFlowProvider>\n <HvFlowProvider\n nodeGroups={nodeGroups}\n nodeTypes={nodeTypes}\n defaultActions={defaultActions}\n >\n <DndContext\n sensors={sensors}\n modifiers={[restrictToWindowEdges]}\n {...dndContextProps}\n >\n <HvDroppableFlow {...others} />\n {sidebar}\n </DndContext>\n </HvFlowProvider>\n </ReactFlowProvider>\n );\n};\n"],"names":[],"mappings":";;;;;;AA+CO,MAAM,SAAS,CAAC;AAAA,EACrB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAmB;AACjB,QAAM,UAAU;AAAA,IACd,UAAU,aAAa;AAAA,IACvB,UAAU,cAAc;AAAA,EAAA;AAK1B,6BACG,mBACC,EAAA,UAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MAEA,UAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC;AAAA,UACA,WAAW,CAAC,qBAAqB;AAAA,UAChC,GAAG;AAAA,UAEJ,UAAA;AAAA,YAAC,oBAAA,iBAAA,EAAiB,GAAG,QAAQ;AAAA,YAC5B;AAAA,UAAA;AAAA,QAAA;AAAA,MACH;AAAA,IAAA;AAAA,EAEJ,EAAA,CAAA;AAEJ;"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { jsxs, jsx } from "@emotion/react/jsx-runtime";
|
|
2
|
+
import { createClasses, theme, useLabels, HvDialog, HvDialogTitle, HvDialogContent, HvEmptyState, HvDialogActions, HvButton } from "@hitachivantara/uikit-react-core";
|
|
3
|
+
import { Info } from "@hitachivantara/uikit-react-icons";
|
|
4
|
+
import { HvFlowNode } from "../Node/Node.js";
|
|
5
|
+
import { HvDashboard } from "../../Dashboard/Dashboard.js";
|
|
6
|
+
const { staticClasses, useClasses } = createClasses("HvDashboardNode", {
|
|
7
|
+
actions: {
|
|
8
|
+
display: "flex",
|
|
9
|
+
justifyContent: "space-around",
|
|
10
|
+
padding: theme.space.xs
|
|
11
|
+
},
|
|
12
|
+
empty: {
|
|
13
|
+
padding: theme.spacing("sm", 0, 0, 0)
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
const DEFAULT_LABELS = {
|
|
17
|
+
title: "Dashboard",
|
|
18
|
+
description: "Dashboard",
|
|
19
|
+
emptyMessage: "No visualizations connected to the dashboard.",
|
|
20
|
+
dialogTitle: "Configure dashboard",
|
|
21
|
+
dialogSubtitle: "Please configure the layout of your dashboard as needed.",
|
|
22
|
+
dialogApply: "Apply",
|
|
23
|
+
dialogCancel: "Cancel"
|
|
24
|
+
};
|
|
25
|
+
const HvDashboardNode = (props) => {
|
|
26
|
+
const {
|
|
27
|
+
id,
|
|
28
|
+
open,
|
|
29
|
+
layout,
|
|
30
|
+
labels: labelsProp,
|
|
31
|
+
classes: classesProp,
|
|
32
|
+
previewItems,
|
|
33
|
+
children,
|
|
34
|
+
dialogProps,
|
|
35
|
+
dashboardProps,
|
|
36
|
+
onApply,
|
|
37
|
+
onCancel,
|
|
38
|
+
onClose,
|
|
39
|
+
...others
|
|
40
|
+
} = props;
|
|
41
|
+
const labels = useLabels(DEFAULT_LABELS, labelsProp);
|
|
42
|
+
const { classes } = useClasses(classesProp);
|
|
43
|
+
return /* @__PURE__ */ jsxs(HvFlowNode, { id, classes, ...others, children: [
|
|
44
|
+
/* @__PURE__ */ jsx("div", { className: classes.actions, children }),
|
|
45
|
+
/* @__PURE__ */ jsxs(
|
|
46
|
+
HvDialog,
|
|
47
|
+
{
|
|
48
|
+
open,
|
|
49
|
+
maxWidth: "lg",
|
|
50
|
+
fullWidth: true,
|
|
51
|
+
onClose,
|
|
52
|
+
...dialogProps,
|
|
53
|
+
children: [
|
|
54
|
+
/* @__PURE__ */ jsx(HvDialogTitle, { variant: "info", children: labels?.dialogTitle }),
|
|
55
|
+
/* @__PURE__ */ jsxs(HvDialogContent, { indentContent: true, children: [
|
|
56
|
+
labels?.dialogSubtitle,
|
|
57
|
+
layout && layout?.length > 0 ? /* @__PURE__ */ jsx(
|
|
58
|
+
HvDashboard,
|
|
59
|
+
{
|
|
60
|
+
cols: 12,
|
|
61
|
+
layout,
|
|
62
|
+
compactType: "vertical",
|
|
63
|
+
rowHeight: 80,
|
|
64
|
+
margin: [16, 16],
|
|
65
|
+
containerPadding: [0, 16],
|
|
66
|
+
...dashboardProps,
|
|
67
|
+
children: previewItems
|
|
68
|
+
}
|
|
69
|
+
) : /* @__PURE__ */ jsx(
|
|
70
|
+
HvEmptyState,
|
|
71
|
+
{
|
|
72
|
+
className: classes.empty,
|
|
73
|
+
icon: /* @__PURE__ */ jsx(Info, { role: "none" }),
|
|
74
|
+
message: labels?.emptyMessage
|
|
75
|
+
}
|
|
76
|
+
)
|
|
77
|
+
] }),
|
|
78
|
+
/* @__PURE__ */ jsxs(HvDialogActions, { children: [
|
|
79
|
+
/* @__PURE__ */ jsx(HvButton, { variant: "primary", onClick: onApply, children: labels?.dialogApply }),
|
|
80
|
+
/* @__PURE__ */ jsx(HvButton, { variant: "secondarySubtle", onClick: onCancel, children: labels?.dialogCancel })
|
|
81
|
+
] })
|
|
82
|
+
]
|
|
83
|
+
}
|
|
84
|
+
)
|
|
85
|
+
] });
|
|
86
|
+
};
|
|
87
|
+
export {
|
|
88
|
+
HvDashboardNode,
|
|
89
|
+
staticClasses as hvDashboardNodeClasses
|
|
90
|
+
};
|
|
91
|
+
//# sourceMappingURL=DashboardNode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DashboardNode.js","sources":["../../../../src/Flow/nodes/DashboardNode.tsx"],"sourcesContent":["import {\n ExtractNames,\n HvButton,\n HvDialog,\n HvDialogActions,\n HvDialogContent,\n HvDialogProps,\n HvDialogTitle,\n HvEmptyState,\n createClasses,\n theme,\n useLabels,\n} from \"@hitachivantara/uikit-react-core\";\nimport { Info } from \"@hitachivantara/uikit-react-icons\";\n\nimport { HvDashboard, HvDashboardProps } from \"../../Dashboard\";\nimport { HvFlowNode, HvFlowNodeProps, HvFlowNodeClasses } from \"../Node\";\n\nconst { staticClasses, useClasses } = createClasses(\"HvDashboardNode\", {\n actions: {\n display: \"flex\",\n justifyContent: \"space-around\",\n padding: theme.space.xs,\n },\n empty: {\n padding: theme.spacing(\"sm\", 0, 0, 0),\n },\n});\n\nexport { staticClasses as hvDashboardNodeClasses };\n\nconst DEFAULT_LABELS = {\n title: \"Dashboard\",\n description: \"Dashboard\",\n emptyMessage: \"No visualizations connected to the dashboard.\",\n dialogTitle: \"Configure dashboard\",\n dialogSubtitle: \"Please configure the layout of your dashboard as needed.\",\n dialogApply: \"Apply\",\n dialogCancel: \"Cancel\",\n};\n\nexport interface HvDashboardNodeClasses\n extends ExtractNames<typeof useClasses>,\n HvFlowNodeClasses {}\n\nexport interface HvDashboardNodeProps\n extends HvFlowNodeProps,\n Pick<HvDialogProps, \"open\" | \"onClose\">,\n Pick<HvDashboardProps, \"layout\"> {\n classes?: HvDashboardNodeClasses;\n labels?: typeof DEFAULT_LABELS;\n previewItems?: React.ReactNode;\n onApply?: () => void;\n onCancel?: () => void;\n\n dashboardProps?: Omit<HvDashboardProps, \"children\">;\n dialogProps?: HvDialogProps;\n}\n\nexport const HvDashboardNode = (props: HvDashboardNodeProps) => {\n const {\n id,\n open,\n layout,\n labels: labelsProp,\n classes: classesProp,\n previewItems,\n children,\n dialogProps,\n dashboardProps,\n onApply,\n onCancel,\n onClose,\n ...others\n } = props;\n const labels = useLabels(DEFAULT_LABELS, labelsProp);\n const { classes } = useClasses(classesProp);\n\n return (\n <HvFlowNode id={id} classes={classes as any} {...others}>\n <div className={classes.actions}>{children}</div>\n <HvDialog\n open={open}\n maxWidth=\"lg\"\n fullWidth\n onClose={onClose}\n {...dialogProps}\n >\n <HvDialogTitle variant=\"info\">{labels?.dialogTitle}</HvDialogTitle>\n <HvDialogContent indentContent>\n {labels?.dialogSubtitle}\n {layout && layout?.length > 0 ? (\n <HvDashboard\n cols={12}\n layout={layout}\n compactType=\"vertical\"\n rowHeight={80}\n margin={[16, 16]}\n containerPadding={[0, 16]}\n {...dashboardProps}\n >\n {previewItems}\n </HvDashboard>\n ) : (\n <HvEmptyState\n className={classes.empty}\n icon={<Info role=\"none\" />}\n message={labels?.emptyMessage}\n />\n )}\n </HvDialogContent>\n <HvDialogActions>\n <HvButton variant=\"primary\" onClick={onApply}>\n {labels?.dialogApply}\n </HvButton>\n <HvButton variant=\"secondarySubtle\" onClick={onCancel}>\n {labels?.dialogCancel}\n </HvButton>\n </HvDialogActions>\n </HvDialog>\n </HvFlowNode>\n );\n};\n"],"names":[],"mappings":";;;;;AAkBA,MAAM,EAAE,eAAe,eAAe,cAAc,mBAAmB;AAAA,EACrE,SAAS;AAAA,IACP,SAAS;AAAA,IACT,gBAAgB;AAAA,IAChB,SAAS,MAAM,MAAM;AAAA,EACvB;AAAA,EACA,OAAO;AAAA,IACL,SAAS,MAAM,QAAQ,MAAM,GAAG,GAAG,CAAC;AAAA,EACtC;AACF,CAAC;AAID,MAAM,iBAAiB;AAAA,EACrB,OAAO;AAAA,EACP,aAAa;AAAA,EACb,cAAc;AAAA,EACd,aAAa;AAAA,EACb,gBAAgB;AAAA,EAChB,aAAa;AAAA,EACb,cAAc;AAChB;AAoBa,MAAA,kBAAkB,CAAC,UAAgC;AACxD,QAAA;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA,QAAQ;AAAA,IACR,SAAS;AAAA,IACT;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACD,IAAA;AACE,QAAA,SAAS,UAAU,gBAAgB,UAAU;AACnD,QAAM,EAAE,QAAA,IAAY,WAAW,WAAW;AAE1C,SACG,qBAAA,YAAA,EAAW,IAAQ,SAA0B,GAAG,QAC/C,UAAA;AAAA,IAAA,oBAAC,OAAI,EAAA,WAAW,QAAQ,SAAU,UAAS;AAAA,IAC3C;AAAA,MAAC;AAAA,MAAA;AAAA,QACC;AAAA,QACA,UAAS;AAAA,QACT,WAAS;AAAA,QACT;AAAA,QACC,GAAG;AAAA,QAEJ,UAAA;AAAA,UAAA,oBAAC,eAAc,EAAA,SAAQ,QAAQ,UAAA,QAAQ,aAAY;AAAA,UACnD,qBAAC,iBAAgB,EAAA,eAAa,MAC3B,UAAA;AAAA,YAAQ,QAAA;AAAA,YACR,UAAU,QAAQ,SAAS,IAC1B;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,MAAM;AAAA,gBACN;AAAA,gBACA,aAAY;AAAA,gBACZ,WAAW;AAAA,gBACX,QAAQ,CAAC,IAAI,EAAE;AAAA,gBACf,kBAAkB,CAAC,GAAG,EAAE;AAAA,gBACvB,GAAG;AAAA,gBAEH,UAAA;AAAA,cAAA;AAAA,YAAA,IAGH;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,WAAW,QAAQ;AAAA,gBACnB,MAAM,oBAAC,MAAK,EAAA,MAAK,OAAO,CAAA;AAAA,gBACxB,SAAS,QAAQ;AAAA,cAAA;AAAA,YACnB;AAAA,UAAA,GAEJ;AAAA,+BACC,iBACC,EAAA,UAAA;AAAA,YAAA,oBAAC,YAAS,SAAQ,WAAU,SAAS,SAClC,kBAAQ,aACX;AAAA,gCACC,UAAS,EAAA,SAAQ,mBAAkB,SAAS,UAC1C,kBAAQ,cACX;AAAA,UAAA,GACF;AAAA,QAAA;AAAA,MAAA;AAAA,IACF;AAAA,EACF,EAAA,CAAA;AAEJ;"}
|
package/dist/esm/index.js
CHANGED
|
@@ -13,6 +13,7 @@ import { staticClasses as staticClasses5 } from "./Flow/Node/BaseNode.styles.js"
|
|
|
13
13
|
import { HvFlowBaseNode } from "./Flow/Node/BaseNode.js";
|
|
14
14
|
import { staticClasses as staticClasses6 } from "./Flow/Node/Node.styles.js";
|
|
15
15
|
import { HvFlowNode } from "./Flow/Node/Node.js";
|
|
16
|
+
import { HvDashboardNode, hvDashboardNodeClasses } from "./Flow/nodes/DashboardNode.js";
|
|
16
17
|
import { useFlowInputNodes, useFlowNode, useFlowNodeEdges, useFlowNodeInputEdges, useFlowNodeOutputEdges, useFlowNodeParents, useFlowOutputNodes } from "./Flow/hooks/useFlowNode.js";
|
|
17
18
|
import { useFlowContext } from "./Flow/hooks/useFlowContext.js";
|
|
18
19
|
import { useFlowNodeMeta } from "./Flow/hooks/useFlowNodeMeta.js";
|
|
@@ -31,6 +32,7 @@ import { staticClasses as staticClasses12 } from "./Wizard/WizardTitle/WizardTit
|
|
|
31
32
|
import { HvWizardTitle } from "./Wizard/WizardTitle/WizardTitle.js";
|
|
32
33
|
export {
|
|
33
34
|
HvDashboard,
|
|
35
|
+
HvDashboardNode,
|
|
34
36
|
HvFlow,
|
|
35
37
|
HvFlowBackground,
|
|
36
38
|
HvFlowBaseNode,
|
|
@@ -52,6 +54,7 @@ export {
|
|
|
52
54
|
staticClasses3 as flowMinimapClasses,
|
|
53
55
|
staticClasses6 as flowNodeClasses,
|
|
54
56
|
staticClasses4 as flowSidebarClasses,
|
|
57
|
+
hvDashboardNodeClasses,
|
|
55
58
|
staticClasses7 as stepNavigationClasses,
|
|
56
59
|
useFlowContext,
|
|
57
60
|
useFlowInputNodes,
|
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -36,6 +36,16 @@ export declare const dashboardClasses: {
|
|
|
36
36
|
root: "HvDashboard-root";
|
|
37
37
|
};
|
|
38
38
|
|
|
39
|
+
declare const DEFAULT_LABELS: {
|
|
40
|
+
title: string;
|
|
41
|
+
description: string;
|
|
42
|
+
emptyMessage: string;
|
|
43
|
+
dialogTitle: string;
|
|
44
|
+
dialogSubtitle: string;
|
|
45
|
+
dialogApply: string;
|
|
46
|
+
dialogCancel: string;
|
|
47
|
+
};
|
|
48
|
+
|
|
39
49
|
export declare const flowBaseNodeClasses: {
|
|
40
50
|
root: "HvFlowBaseNode-root";
|
|
41
51
|
title: "HvFlowBaseNode-title";
|
|
@@ -87,6 +97,26 @@ export declare const HvDashboard: (props: HvDashboardProps) => JSX_2.Element;
|
|
|
87
97
|
|
|
88
98
|
export declare type HvDashboardClasses = ExtractNames<typeof useClasses>;
|
|
89
99
|
|
|
100
|
+
export declare const HvDashboardNode: (props: HvDashboardNodeProps) => JSX_2.Element;
|
|
101
|
+
|
|
102
|
+
export declare interface HvDashboardNodeClasses extends ExtractNames<typeof useClasses_7>, HvFlowNodeClasses {
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
export declare const hvDashboardNodeClasses: {
|
|
106
|
+
empty: "HvDashboardNode-empty";
|
|
107
|
+
actions: "HvDashboardNode-actions";
|
|
108
|
+
};
|
|
109
|
+
|
|
110
|
+
export declare interface HvDashboardNodeProps extends HvFlowNodeProps, Pick<HvDialogProps, "open" | "onClose">, Pick<HvDashboardProps, "layout"> {
|
|
111
|
+
classes?: HvDashboardNodeClasses;
|
|
112
|
+
labels?: typeof DEFAULT_LABELS;
|
|
113
|
+
previewItems?: React.ReactNode;
|
|
114
|
+
onApply?: () => void;
|
|
115
|
+
onCancel?: () => void;
|
|
116
|
+
dashboardProps?: Omit<HvDashboardProps, "children">;
|
|
117
|
+
dialogProps?: HvDialogProps;
|
|
118
|
+
}
|
|
119
|
+
|
|
90
120
|
export declare interface HvDashboardProps extends Omit<ResponsiveProps, "cols"> {
|
|
91
121
|
/** Dashboard items. Each node must be `key`'ed */
|
|
92
122
|
children: React.ReactNode;
|
|
@@ -135,6 +165,8 @@ declare interface HvDroppableFlowProps<NodeType extends string | undefined = str
|
|
|
135
165
|
* This implementation leverages [React Flow](https://reactflow.dev).
|
|
136
166
|
* The drag and drop functionality leverages [Dnd Kit](https://docs.dndkit.com)
|
|
137
167
|
*
|
|
168
|
+
* Take a look at the [usage page](https://lumada-design.github.io/uikit/master/?path=/docs/lab-flow-usage--docs) to learn more about this component.
|
|
169
|
+
*
|
|
138
170
|
* DISCLAIMER: This component is a work in progress and there might be breaking changes.
|
|
139
171
|
*/
|
|
140
172
|
export declare const HvFlow: ({ nodeTypes, nodeGroups, sidebar, defaultActions, dndContextProps, ...others }: HvFlowProps) => JSX_2.Element;
|
|
@@ -391,7 +423,7 @@ export declare interface HvFlowSidebarProps extends Omit<HvDrawerProps, "classes
|
|
|
391
423
|
defaultGroupProps?: HvFlowNodeGroup;
|
|
392
424
|
}
|
|
393
425
|
|
|
394
|
-
declare type HvStepClasses = ExtractNames<typeof
|
|
426
|
+
declare type HvStepClasses = ExtractNames<typeof useClasses_9>;
|
|
395
427
|
|
|
396
428
|
/**
|
|
397
429
|
* Navigation page with steps.
|
|
@@ -416,7 +448,7 @@ declare type HvStepClasses = ExtractNames<typeof useClasses_8>;
|
|
|
416
448
|
*/
|
|
417
449
|
export declare const HvStepNavigation: ({ className, classes: classesProp, width, steps, stepSize, showTitles, type, "aria-label": ariaLabel, ...others }: HvStepNavigationProps) => JSX_2.Element;
|
|
418
450
|
|
|
419
|
-
export declare type HvStepNavigationClasses = ExtractNames<typeof
|
|
451
|
+
export declare type HvStepNavigationClasses = ExtractNames<typeof useClasses_8>;
|
|
420
452
|
|
|
421
453
|
export declare interface HvStepNavigationProps extends HvBaseProps {
|
|
422
454
|
/** Type of step navigation. Values = {"Simple", "Default"} */
|
|
@@ -462,7 +494,7 @@ export declare const HvWizard: ({ className, children, onClose, handleSubmit, ti
|
|
|
462
494
|
|
|
463
495
|
export declare const HvWizardActions: ({ classes: classesProp, handleClose, handleSubmit, loading, skippable, labels, }: HvWizardActionsProps) => JSX_2.Element;
|
|
464
496
|
|
|
465
|
-
export declare type HvWizardActionsClasses = ExtractNames<typeof
|
|
497
|
+
export declare type HvWizardActionsClasses = ExtractNames<typeof useClasses_11>;
|
|
466
498
|
|
|
467
499
|
export declare interface HvWizardActionsProps extends HvBaseProps {
|
|
468
500
|
/** Function to handle the cancel button. */
|
|
@@ -490,11 +522,11 @@ export declare interface HvWizardActionsProps extends HvBaseProps {
|
|
|
490
522
|
classes?: HvWizardActionsClasses;
|
|
491
523
|
}
|
|
492
524
|
|
|
493
|
-
export declare type HvWizardClasses = ExtractNames<typeof
|
|
525
|
+
export declare type HvWizardClasses = ExtractNames<typeof useClasses_10>;
|
|
494
526
|
|
|
495
527
|
export declare const HvWizardContainer: (props: HvWizardContainerProps) => JSX_2.Element;
|
|
496
528
|
|
|
497
|
-
export declare type HvWizardContainerClasses = ExtractNames<typeof
|
|
529
|
+
export declare type HvWizardContainerClasses = ExtractNames<typeof useClasses_13>;
|
|
498
530
|
|
|
499
531
|
export declare interface HvWizardContainerProps extends Omit<HvBaseProps, "onClose">, Pick<HvDialogProps, "maxWidth" | "fullWidth"> {
|
|
500
532
|
/** Current state of the Wizard. */
|
|
@@ -507,7 +539,7 @@ export declare interface HvWizardContainerProps extends Omit<HvBaseProps, "onClo
|
|
|
507
539
|
|
|
508
540
|
export declare const HvWizardContent: ({ classes: classesProp, fixedHeight, loading, children, summaryContent, }: HvWizardContentProps) => JSX_2.Element;
|
|
509
541
|
|
|
510
|
-
export declare type HvWizardContentClasses = ExtractNames<typeof
|
|
542
|
+
export declare type HvWizardContentClasses = ExtractNames<typeof useClasses_14>;
|
|
511
543
|
|
|
512
544
|
export declare interface HvWizardContentProps extends HvBaseProps {
|
|
513
545
|
/** Forces minimum height to the component. */
|
|
@@ -574,7 +606,7 @@ export declare type HvWizardTabs = {
|
|
|
574
606
|
|
|
575
607
|
export declare const HvWizardTitle: ({ title, hasSummary, labels, classes: classesProp, customStep, }: HvWizardTitleProps) => JSX_2.Element;
|
|
576
608
|
|
|
577
|
-
export declare type HvWizardTitleClasses = ExtractNames<typeof
|
|
609
|
+
export declare type HvWizardTitleClasses = ExtractNames<typeof useClasses_12>;
|
|
578
610
|
|
|
579
611
|
export declare interface HvWizardTitleProps extends HvBaseProps {
|
|
580
612
|
/** Title for the wizard. */
|
|
@@ -615,7 +647,18 @@ declare const useClasses: (classesProp?: Partial<Record<"root", string>>, addSta
|
|
|
615
647
|
cx: (...args: any) => string;
|
|
616
648
|
};
|
|
617
649
|
|
|
618
|
-
declare const useClasses_10: (classesProp?: Partial<Record<"
|
|
650
|
+
declare const useClasses_10: (classesProp?: Partial<Record<"root", string>>, addStatic?: boolean) => {
|
|
651
|
+
classes: {
|
|
652
|
+
root: string;
|
|
653
|
+
};
|
|
654
|
+
css: {
|
|
655
|
+
(template: TemplateStringsArray, ...args: CSSInterpolation[]): string;
|
|
656
|
+
(...args: CSSInterpolation[]): string;
|
|
657
|
+
};
|
|
658
|
+
cx: (...args: any) => string;
|
|
659
|
+
};
|
|
660
|
+
|
|
661
|
+
declare const useClasses_11: (classesProp?: Partial<Record<"actionsContainer" | "buttonWidth" | "buttonsContainer" | "buttonSpacing", string>>, addStatic?: boolean) => {
|
|
619
662
|
classes: {
|
|
620
663
|
actionsContainer: string;
|
|
621
664
|
buttonWidth: string;
|
|
@@ -629,7 +672,7 @@ declare const useClasses_10: (classesProp?: Partial<Record<"actionsContainer" |
|
|
|
629
672
|
cx: (...args: any) => string;
|
|
630
673
|
};
|
|
631
674
|
|
|
632
|
-
declare const
|
|
675
|
+
declare const useClasses_12: (classesProp?: Partial<Record<"titleContainer" | "messageContainer" | "headerContainer" | "buttonWidth" | "rootSummaryButton" | "stepContainer", string>>, addStatic?: boolean) => {
|
|
633
676
|
classes: {
|
|
634
677
|
titleContainer: string;
|
|
635
678
|
messageContainer: string;
|
|
@@ -645,7 +688,7 @@ declare const useClasses_11: (classesProp?: Partial<Record<"titleContainer" | "m
|
|
|
645
688
|
cx: (...args: any) => string;
|
|
646
689
|
};
|
|
647
690
|
|
|
648
|
-
declare const
|
|
691
|
+
declare const useClasses_13: (classesProp?: Partial<Record<"root" | "paper" | "closeButton", string>>, addStatic?: boolean) => {
|
|
649
692
|
classes: {
|
|
650
693
|
root: string;
|
|
651
694
|
paper: string;
|
|
@@ -658,7 +701,7 @@ declare const useClasses_12: (classesProp?: Partial<Record<"root" | "paper" | "c
|
|
|
658
701
|
cx: (...args: any) => string;
|
|
659
702
|
};
|
|
660
703
|
|
|
661
|
-
declare const
|
|
704
|
+
declare const useClasses_14: (classesProp?: Partial<Record<"contentContainer" | "fixedHeight" | "summaryRef" | "summarySticky" | "summaryContainer", string>>, addStatic?: boolean) => {
|
|
662
705
|
classes: {
|
|
663
706
|
contentContainer: string;
|
|
664
707
|
fixedHeight: string;
|
|
@@ -747,7 +790,19 @@ declare const useClasses_6: (classesProp?: Partial<Record<"actions" | "subtitleC
|
|
|
747
790
|
cx: (...args: any) => string;
|
|
748
791
|
};
|
|
749
792
|
|
|
750
|
-
declare const useClasses_7: (classesProp?: Partial<Record<"
|
|
793
|
+
declare const useClasses_7: (classesProp?: Partial<Record<"empty" | "actions", string>>, addStatic?: boolean) => {
|
|
794
|
+
classes: {
|
|
795
|
+
empty: string;
|
|
796
|
+
actions: string;
|
|
797
|
+
};
|
|
798
|
+
css: {
|
|
799
|
+
(template: TemplateStringsArray, ...args: CSSInterpolation[]): string;
|
|
800
|
+
(...args: CSSInterpolation[]): string;
|
|
801
|
+
};
|
|
802
|
+
cx: (...args: any) => string;
|
|
803
|
+
};
|
|
804
|
+
|
|
805
|
+
declare const useClasses_8: (classesProp?: Partial<Record<"root" | "separator" | "li" | "ol" | "titles", string>>, addStatic?: boolean) => {
|
|
751
806
|
classes: {
|
|
752
807
|
root: string;
|
|
753
808
|
separator: string;
|
|
@@ -762,7 +817,7 @@ declare const useClasses_7: (classesProp?: Partial<Record<"root" | "separator" |
|
|
|
762
817
|
cx: (...args: any) => string;
|
|
763
818
|
};
|
|
764
819
|
|
|
765
|
-
declare const
|
|
820
|
+
declare const useClasses_9: (classesProp?: Partial<Record<"xs" | "sm" | "md" | "lg" | "xl" | "root" | "ghost" | "avatar" | "ghostDisabled" | "notCurrent", string>>, addStatic?: boolean) => {
|
|
766
821
|
classes: {
|
|
767
822
|
xs: string;
|
|
768
823
|
sm: string;
|
|
@@ -782,17 +837,6 @@ declare const useClasses_8: (classesProp?: Partial<Record<"xs" | "sm" | "md" | "
|
|
|
782
837
|
cx: (...args: any) => string;
|
|
783
838
|
};
|
|
784
839
|
|
|
785
|
-
declare const useClasses_9: (classesProp?: Partial<Record<"root", string>>, addStatic?: boolean) => {
|
|
786
|
-
classes: {
|
|
787
|
-
root: string;
|
|
788
|
-
};
|
|
789
|
-
css: {
|
|
790
|
-
(template: TemplateStringsArray, ...args: CSSInterpolation[]): string;
|
|
791
|
-
(...args: CSSInterpolation[]): string;
|
|
792
|
-
};
|
|
793
|
-
cx: (...args: any) => string;
|
|
794
|
-
};
|
|
795
|
-
|
|
796
840
|
export declare const useFlowContext: () => HvFlowContextValue<string>;
|
|
797
841
|
|
|
798
842
|
export declare function useFlowInputNodes<T = any>(id: string): Node_2<T, string | undefined>[];
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hitachivantara/uikit-react-lab",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.20.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"author": "Hitachi Vantara UI Kit Team",
|
|
6
6
|
"description": "Contributed React components for the NEXT UI Kit.",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"@dnd-kit/core": "^6.1.0",
|
|
33
33
|
"@dnd-kit/modifiers": "^6.0.1",
|
|
34
34
|
"@emotion/css": "^11.11.0",
|
|
35
|
-
"@hitachivantara/uikit-react-core": "^5.
|
|
35
|
+
"@hitachivantara/uikit-react-core": "^5.40.0",
|
|
36
36
|
"@hitachivantara/uikit-react-icons": "^5.7.10",
|
|
37
37
|
"@hitachivantara/uikit-styles": "^5.17.0",
|
|
38
38
|
"lodash": "^4.17.21",
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
"access": "public",
|
|
50
50
|
"directory": "package"
|
|
51
51
|
},
|
|
52
|
-
"gitHead": "
|
|
52
|
+
"gitHead": "4fb47a8125a716a8b225c460b41cd303c879dbba",
|
|
53
53
|
"main": "dist/cjs/index.cjs",
|
|
54
54
|
"exports": {
|
|
55
55
|
".": {
|