UNPKG

@ark-ui/vue

Version:

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

46 lines (41 loc) 1.92 kB
'use strict'; Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } }); const vue = require('vue'); const useRenderStrategy = require('../../utils/use-render-strategy.cjs'); const useForwardExpose = require('../../utils/use-forward-expose.cjs'); const collapsible = require('../collapsible/collapsible.cjs'); const useAccordionContext = require('./use-accordion-context.cjs'); const useAccordionItemContext = require('./use-accordion-item-context.cjs'); const useAccordionItemPropsContext = require('./use-accordion-item-props-context.cjs'); const _sfc_main = /* @__PURE__ */ vue.defineComponent({ __name: "accordion-item", props: { value: {}, disabled: { type: Boolean }, asChild: { type: Boolean } }, setup(__props) { const accordion = useAccordionContext.useAccordionContext(); const props = __props; const item = vue.computed(() => accordion.value.getItemState(props)); const renderStrategyProps = useRenderStrategy.useRenderStrategyProps(); const itemContentProps = vue.computed(() => accordion.value.getItemContentProps(props)); useAccordionItemContext.AccordionItemProvider(item); useAccordionItemPropsContext.AccordionItemPropsProvider(props); useForwardExpose.useForwardExpose(); return (_ctx, _cache) => { return vue.openBlock(), vue.createBlock(vue.unref(collapsible).Root, vue.mergeProps(vue.unref(accordion).getItemProps(props), { open: item.value.expanded, "lazy-mount": vue.unref(renderStrategyProps).lazyMount, "unmount-on-exit": vue.unref(renderStrategyProps).unmountOnExit, ids: { content: itemContentProps.value.id } }), { default: vue.withCtx(() => [ vue.renderSlot(_ctx.$slots, "default") ]), _: 3 }, 16, ["open", "lazy-mount", "unmount-on-exit", "ids"]); }; } }); exports.default = _sfc_main;