UNPKG

@ariakit/react-core

Version:

Ariakit React core

44 lines (41 loc) 1.17 kB
"use client"; import { useDisclosure } from "./NJZUP4KO.js"; import { useDialogProviderContext } from "./63N3TCQX.js"; import { createElement, createHook, forwardRef } from "./ILRXHV7V.js"; // src/dialog/dialog-disclosure.tsx import { getPopupRole } from "@ariakit/core/utils/dom"; import { invariant } from "@ariakit/core/utils/misc"; var TagName = "button"; var useDialogDisclosure = createHook( function useDialogDisclosure2({ store, ...props }) { const context = useDialogProviderContext(); store = store || context; invariant( store, process.env.NODE_ENV !== "production" && "DialogDisclosure must receive a `store` prop or be wrapped in a DialogProvider component." ); const contentElement = store.useState("contentElement"); props = { "aria-haspopup": getPopupRole(contentElement, "dialog"), ...props }; props = useDisclosure({ store, ...props }); return props; } ); var DialogDisclosure = forwardRef(function DialogDisclosure2(props) { const htmlProps = useDialogDisclosure(props); return createElement(TagName, htmlProps); }); export { useDialogDisclosure, DialogDisclosure };