@hitachivantara/uikit-react-core
Version:
Core React components for the NEXT Design System.
56 lines (55 loc) • 1.52 kB
JavaScript
import { jsxs, jsx } from "react/jsx-runtime";
import { useEffect } from "react";
import { useDefaultProps } from "@hitachivantara/uikit-react-utils";
import { EyeIcon } from "../../Input/icons.js";
import { useClasses } from "./Preview.styles.js";
import { staticClasses } from "./Preview.styles.js";
import { HvButton } from "../../Button/Button.js";
const HvFileUploaderPreview = (props) => {
const {
className,
children,
classes: classesProp,
disableOverlay = false,
onUnload,
onClick,
...others
} = useDefaultProps("HvFileUploaderPreview", props);
const { classes, cx, css } = useClasses(classesProp);
useEffect(() => {
return () => {
onUnload?.();
};
}, [onUnload]);
if (onClick) {
return /* @__PURE__ */ jsxs(
HvButton,
{
icon: true,
className: cx(classes.previewButton, className),
onClick,
...others,
children: [
children,
!disableOverlay && /* @__PURE__ */ jsx("div", { className: classes.overlay, "aria-hidden": "true", children: /* @__PURE__ */ jsx(
EyeIcon,
{
className: css({
position: "absolute",
left: "50%",
top: "50%",
transform: "translate(-50%, -50%)",
display: "none"
})
}
) })
]
}
);
}
return children;
};
export {
HvFileUploaderPreview,
staticClasses as fileUploaderPreviewClasses
};