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.52 kB
'use strict'; Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } }); const vue = require('vue'); const factory = require('../factory.cjs'); const useNavigationMenuContext = require('./use-navigation-menu-context.cjs'); const useNavigationMenuItemPropsContext = require('./use-navigation-menu-item-props-context.cjs'); const useForwardExpose = require('../../utils/use-forward-expose.cjs'); const _sfc_main = /* @__PURE__ */ vue.defineComponent({ __name: "navigation-menu-link", props: { value: {}, current: { type: Boolean }, onSelect: { type: Function }, closeOnClick: { type: Boolean }, asChild: { type: Boolean } }, setup(__props) { const props = __props; const navigationMenu = useNavigationMenuContext.useNavigationMenuContext(); const itemContext = useNavigationMenuItemPropsContext.useNavigationMenuItemPropsContext(); const value = vue.computed(() => props.value ?? itemContext?.value?.value); const linkProps = vue.computed(() => ({ ...props, value: value.value })); useForwardExpose.useForwardExpose(); return (_ctx, _cache) => { return vue.openBlock(), vue.createBlock(vue.unref(factory.ark).a, vue.mergeProps(vue.unref(navigationMenu).getLinkProps(linkProps.value), { "as-child": __props.asChild }), { default: vue.withCtx(() => [ vue.renderSlot(_ctx.$slots, "default") ]), _: 3 }, 16, ["as-child"]); }; } }); exports.default = _sfc_main;