UNPKG

@ark-ui/vue

Version:

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

31 lines (28 loc) 1.16 kB
import { defineComponent, computed, renderSlot } from 'vue'; import { RenderStrategyPropsProvider } from '../../utils/use-render-strategy.js'; import { BottomSheetProvider } from './use-bottom-sheet-context.js'; import '@zag-js/core'; import { useForwardExpose } from '../../utils/use-forward-expose.js'; import { usePresence } from '../presence/use-presence.js'; import { PresenceProvider } from '../presence/use-presence-context.js'; const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "bottom-sheet-root-provider", props: { value: {}, lazyMount: { type: Boolean }, unmountOnExit: { type: Boolean } }, setup(__props) { const props = __props; const bottomSheet = computed(() => props.value); BottomSheetProvider(bottomSheet); RenderStrategyPropsProvider(computed(() => ({ lazyMount: props.lazyMount, unmountOnExit: props.unmountOnExit }))); const presence = usePresence(computed(() => ({ present: bottomSheet.value.open }))); PresenceProvider(presence); useForwardExpose(); return (_ctx, _cache) => { return renderSlot(_ctx.$slots, "default"); }; } }); export { _sfc_main as default };