@ariakit/react-core
Version:
Ariakit React core
72 lines (69 loc) • 1.76 kB
JavaScript
"use client";
import {
useDialogScopedContext
} from "./63N3TCQX.js";
import {
useButton
} from "./J4DPQC5Y.js";
import {
createElement,
createHook,
forwardRef
} from "./ILRXHV7V.js";
import {
useEvent
} from "./K2XTQB3X.js";
// src/dialog/dialog-dismiss.tsx
import { useMemo } from "react";
import { jsx, jsxs } from "react/jsx-runtime";
var TagName = "button";
var useDialogDismiss = createHook(
function useDialogDismiss2({ store, ...props }) {
const context = useDialogScopedContext();
store = store || context;
const onClickProp = props.onClick;
const onClick = useEvent((event) => {
onClickProp == null ? void 0 : onClickProp(event);
if (event.defaultPrevented) return;
store == null ? void 0 : store.hide();
});
const children = useMemo(
() => /* @__PURE__ */ jsxs(
"svg",
{
"aria-label": "Dismiss popup",
display: "block",
fill: "none",
stroke: "currentColor",
strokeLinecap: "round",
strokeLinejoin: "round",
strokeWidth: 1.5,
viewBox: "0 0 16 16",
height: "1em",
width: "1em",
children: [
/* @__PURE__ */ jsx("line", { x1: "4", y1: "4", x2: "12", y2: "12" }),
/* @__PURE__ */ jsx("line", { x1: "4", y1: "12", x2: "12", y2: "4" })
]
}
),
[]
);
props = {
"data-dialog-dismiss": "",
children,
...props,
onClick
};
props = useButton(props);
return props;
}
);
var DialogDismiss = forwardRef(function DialogDismiss2(props) {
const htmlProps = useDialogDismiss(props);
return createElement(TagName, htmlProps);
});
export {
useDialogDismiss,
DialogDismiss
};