UNPKG

@ark-ui/vue

Version:

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

39 lines (34 loc) 1.38 kB
'use strict'; Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } }); const vue = require('vue'); const useForwardExpose = require('../../utils/use-forward-expose.cjs'); const factory = require('../factory.cjs'); const useFloatingPanelContext = require('./use-floating-panel-context.cjs'); const usePresenceContext = require('../presence/use-presence-context.cjs'); const _sfc_main = /* @__PURE__ */ vue.defineComponent({ __name: "floating-panel-trigger", props: { asChild: { type: Boolean } }, setup(__props) { const floatingPanel = useFloatingPanelContext.useFloatingPanelContext(); const presence = usePresenceContext.usePresenceContext(); const triggerProps = vue.computed(() => { const localProps = floatingPanel.value.getTriggerProps(); return { ...localProps, "aria-controls": presence.value.unmounted ? void 0 : localProps["aria-controls"] }; }); useForwardExpose.useForwardExpose(); return (_ctx, _cache) => { return vue.openBlock(), vue.createBlock(vue.unref(factory.ark).button, vue.mergeProps(triggerProps.value, { "as-child": _ctx.asChild }), { default: vue.withCtx(() => [ vue.renderSlot(_ctx.$slots, "default") ]), _: 3 }, 16, ["as-child"]); }; } }); exports.default = _sfc_main;