UNPKG

@ark-ui/vue

Version:

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

41 lines (36 loc) 1.58 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 useAccordionContext = require('./use-accordion-context.cjs'); const useAccordionItemPropsContext = require('./use-accordion-item-props-context.cjs'); const useCollapsibleContext = require('../collapsible/use-collapsible-context.cjs'); const _sfc_main = /* @__PURE__ */ vue.defineComponent({ __name: "accordion-item-trigger", props: { asChild: { type: Boolean } }, setup(__props) { const accordion = useAccordionContext.useAccordionContext(); const itemProps = useAccordionItemPropsContext.useAccordionItemPropsContext(); const collapsible = useCollapsibleContext.useCollapsibleContext(); const triggerProps = vue.computed(() => { const { "aria-controls": ariaControls, ...otherProps } = accordion.value.getItemTriggerProps(itemProps); return { ...otherProps, ...collapsible.value.unmounted ? {} : { "aria-controls": ariaControls } }; }); 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;