UNPKG

@ark-ui/vue

Version:

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

50 lines (45 loc) 1.66 kB
'use strict'; Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } }); const vue = require('vue'); const factory = require('../factory.cjs'); const usePresence = require('./use-presence.cjs'); const usePresenceContext = require('./use-presence-context.cjs'); const useForwardExpose = require('../../utils/use-forward-expose.cjs'); const _sfc_main = /* @__PURE__ */ vue.defineComponent({ __name: "presence", props: /* @__PURE__ */ vue.mergeDefaults({ immediate: { type: Boolean }, lazyMount: { type: Boolean }, present: { type: Boolean }, skipAnimationOnMount: { type: Boolean }, unmountOnExit: { type: Boolean }, asChild: { type: Boolean } }, { immediate: void 0, lazyMount: void 0, present: void 0, skipAnimationOnMount: void 0, unmountOnExit: void 0 }), emits: ["exitComplete"], setup(__props, { emit: __emit }) { const props = __props; const emits = __emit; const presence = usePresence.usePresence(props, emits); usePresenceContext.PresenceProvider(presence); useForwardExpose.useForwardExpose(); return (_ctx, _cache) => { return !vue.unref(presence).unmounted ? (vue.openBlock(), vue.createBlock(vue.unref(factory.ark).div, vue.mergeProps({ key: 0 }, vue.unref(presence).presenceProps, { "as-child": _ctx.asChild, "data-scope": "presence", "data-part": "root" }), { default: vue.withCtx(() => [ vue.renderSlot(_ctx.$slots, "default") ]), _: 3 }, 16, ["as-child"])) : vue.createCommentVNode("", true); }; } }); exports.default = _sfc_main;