UNPKG

@ark-ui/react

Version:

A collection of unstyled, accessible UI components for React, utilizing state machines for seamless interaction.

20 lines (17 loc) 1.09 kB
'use client'; import { jsx } from 'react/jsx-runtime'; import { mergeProps } from '@zag-js/react'; import { splitRenderStrategyProps, RenderStrategyPropsProvider } from '../../utils/render-strategy.js'; import { splitPresenceProps } from '../presence/split-presence-props.js'; import { usePresence } from '../presence/use-presence.js'; import { PresenceProvider } from '../presence/use-presence-context.js'; import { useDrawer } from './use-drawer.js'; import { DrawerProvider } from './use-drawer-context.js'; const DrawerRoot = (props) => { const [presenceProps, { children, ...localProps }] = splitPresenceProps(props); const [renderStrategyProps] = splitRenderStrategyProps(presenceProps); const drawer = useDrawer(localProps); const presence = usePresence(mergeProps({ present: drawer.open }, presenceProps)); return /* @__PURE__ */ jsx(DrawerProvider, { value: drawer, children: /* @__PURE__ */ jsx(RenderStrategyPropsProvider, { value: renderStrategyProps, children: /* @__PURE__ */ jsx(PresenceProvider, { value: presence, children }) }) }); }; export { DrawerRoot };