@hitachivantara/uikit-react-lab
Version:
Contributed React components for the NEXT UI Kit.
89 lines (88 loc) • 3.19 kB
JavaScript
"use strict";
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const jsxRuntime = require("react/jsx-runtime");
const uikitReactCore = require("@hitachivantara/uikit-react-core");
const uikitReactIcons = require("@hitachivantara/uikit-react-icons");
const DashboardNode_styles = require("./DashboardNode.styles.cjs");
const Node = require("../Node/Node.cjs");
const Dashboard = require("../../Dashboard/Dashboard.cjs");
const DEFAULT_LABELS = {
emptyMessage: "No visualizations connected to the dashboard.",
dialogTitle: "Configure dashboard",
dialogSubtitle: "Please configure the layout of your dashboard as needed.",
dialogApply: "Apply",
dialogCancel: "Cancel"
};
const HvDashboardNode = (props) => {
const {
id,
open,
layout,
labels: labelsProp,
classes: classesProp,
previewItems,
children,
dialogProps,
dashboardProps,
onApply,
onCancel,
onClose,
...others
} = props;
const labels = uikitReactCore.useLabels(DEFAULT_LABELS, labelsProp);
const { classes } = DashboardNode_styles.useClasses(classesProp);
return /* @__PURE__ */ jsxRuntime.jsxs(
Node.HvFlowNode,
{
id,
classes,
labels,
...others,
children: [
children,
/* @__PURE__ */ jsxRuntime.jsxs(
uikitReactCore.HvDialog,
{
open,
maxWidth: "lg",
fullWidth: true,
onClose,
...dialogProps,
children: [
/* @__PURE__ */ jsxRuntime.jsx(uikitReactCore.HvDialogTitle, { variant: "info", children: labels?.dialogTitle }),
/* @__PURE__ */ jsxRuntime.jsxs(uikitReactCore.HvDialogContent, { indentContent: true, children: [
labels?.dialogSubtitle,
layout && layout?.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx(
Dashboard.HvDashboard,
{
cols: 12,
layout,
compactType: "vertical",
rowHeight: 80,
margin: [16, 16],
containerPadding: [0, 16],
...dashboardProps,
children: previewItems
}
) : /* @__PURE__ */ jsxRuntime.jsx(
uikitReactCore.HvEmptyState,
{
className: classes.empty,
icon: /* @__PURE__ */ jsxRuntime.jsx(uikitReactIcons.Info, {}),
message: labels?.emptyMessage
}
)
] }),
/* @__PURE__ */ jsxRuntime.jsxs(uikitReactCore.HvDialogActions, { children: [
/* @__PURE__ */ jsxRuntime.jsx(uikitReactCore.HvButton, { variant: "primary", onClick: onApply, children: labels?.dialogApply }),
/* @__PURE__ */ jsxRuntime.jsx(uikitReactCore.HvButton, { variant: "secondarySubtle", onClick: onCancel, children: labels?.dialogCancel })
] })
]
}
)
]
}
);
};
exports.hvDashboardNodeClasses = DashboardNode_styles.staticClasses;
exports.HvDashboardNode = HvDashboardNode;