@veracity/vui
Version:
Veracity UI is a React component library crafted for use within Veracity applications and pages. Based on Styled Components and @xstyled.
36 lines (34 loc) • 1.28 kB
JavaScript
import { cs } from "../utils/styles.js";
import { useStyleConfig } from "../core/theme.js";
import styled from "../core/styled.js";
import vui from "../core/vui.js";
import { DismissButton } from "../dismissButton/DismissButton.js";
import { useDialogContext } from "./context.js";
import { jsx } from "react/jsx-runtime";
//#region src/dialog/dialogCloseButton.tsx
const StyledDismissButton = styled(DismissButton)`
${({ $dismissFg }) => $dismissFg && `--vui-dismiss-fg: ${$dismissFg};`}
`;
/** Shows a CloseButton in the Dialog Header, which by default closes the Dialog. */
const DialogCloseButton = vui((props, ref) => {
const { className, size = "md", ...rest } = props;
const { onClose } = useDialogContext() ?? {};
const styles = useStyleConfig("Dialog", useDialogContext());
return /* @__PURE__ */ jsx(StyledDismissButton, {
className: cs("vui-dialogCloseButton", className),
onClick: onClose,
position: "absolute",
ref,
right: 16,
size,
top: 16,
$dismissFg: styles.closeButton?.["--vui-dismiss-fg"],
...styles.closeButton,
...rest
});
});
DialogCloseButton.displayName = "DialogCloseButton";
//#endregion
export { DialogCloseButton, DialogCloseButton as default };
globalThis.__vuiVersion__ = "5.3.1"
//# sourceMappingURL=dialogCloseButton.js.map