UNPKG

@ariakit/react-core

Version:

Ariakit React core

78 lines (75 loc) 1.92 kB
"use client"; import { useDialogScopedContext } from "./T2AZQXQU.js"; import { useButton } from "./XCKGTAUF.js"; import { createElement, createHook, forwardRef } from "./VOQWLFSQ.js"; import { useEvent } from "./5GGHRIN3.js"; import { __objRest, __spreadProps, __spreadValues } from "./3YLGPPWQ.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(_a) { var _b = _a, { store } = _b, props = __objRest(_b, ["store"]); 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 = __spreadProps(__spreadValues({ "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 };