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.15 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 { useBottomSheet } from './use-bottom-sheet.js'; import { BottomSheetProvider } from './use-bottom-sheet-context.js'; const BottomSheetRoot = (props) => { const [presenceProps, { children, ...localProps }] = splitPresenceProps(props); const [renderStrategyProps] = splitRenderStrategyProps(presenceProps); const bottomSheet = useBottomSheet(localProps); const presence = usePresence(mergeProps({ present: bottomSheet.open }, presenceProps)); return /* @__PURE__ */ jsx(BottomSheetProvider, { value: bottomSheet, children: /* @__PURE__ */ jsx(RenderStrategyPropsProvider, { value: renderStrategyProps, children: /* @__PURE__ */ jsx(PresenceProvider, { value: presence, children }) }) }); }; export { BottomSheetRoot };