UNPKG

@ark-ui/vue

Version:

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

43 lines (38 loc) 1.81 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 useTreeViewContext = require('./use-tree-view-context.cjs'); const useTreeViewNodePropsContext = require('./use-tree-view-node-props-context.cjs'); const _sfc_main = /* @__PURE__ */ vue.defineComponent({ __name: "tree-view-branch", props: { asChild: { type: Boolean } }, setup(__props) { const treeView = useTreeViewContext.useTreeViewContext(); const nodeProps = useTreeViewNodePropsContext.useTreeViewNodePropsContext(); const renderStrategyProps = useRenderStrategy.useRenderStrategyProps(); const nodeState = vue.computed(() => treeView.value.getNodeState(nodeProps)); const branchContentProps = vue.computed(() => treeView.value.getBranchContentProps(nodeProps)); useForwardExpose.useForwardExpose(); return (_ctx, _cache) => { return vue.openBlock(), vue.createBlock(vue.unref(collapsible).Root, vue.mergeProps({ open: nodeState.value.expanded, ids: { content: branchContentProps.value.id } }, vue.unref(treeView).getBranchProps(vue.unref(nodeProps)), { "lazy-mount": vue.unref(renderStrategyProps).lazyMount, "unmount-on-exit": vue.unref(renderStrategyProps).unmountOnExit, "as-child": _ctx.asChild }), { default: vue.withCtx(() => [ vue.renderSlot(_ctx.$slots, "default") ]), _: 3 }, 16, ["open", "ids", "lazy-mount", "unmount-on-exit", "as-child"]); }; } }); exports.default = _sfc_main;