UNPKG

@ariakit/react-core

Version:

Ariakit React core

72 lines (69 loc) 1.76 kB
"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 };