UNPKG

@ark-ui/vue

Version:

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

88 lines (83 loc) 3.08 kB
'use strict'; Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } }); const vue = require('vue'); const jsonTreeUtils = require('@zag-js/json-tree-utils'); const createSplitProps = require('../create-split-props.cjs'); const treeCollection = require('../collection/tree-collection.cjs'); const treeView = require('../tree-view/tree-view.cjs'); const getBranchValue = require('./get-branch-value.cjs'); const jsonTreeViewPropsContext = require('./json-tree-view-props-context.cjs'); const _sfc_main = /* @__PURE__ */ vue.defineComponent({ __name: "json-tree-view-root", props: /* @__PURE__ */ vue.mergeDefaults({ data: {}, defaultExpandedDepth: {}, quotesOnKeys: { type: Boolean }, maxPreviewItems: {}, collapseStringsAfterLength: {}, groupArraysAfterLength: {}, showNonenumerable: { type: Boolean }, defaultExpandedValue: {}, defaultSelectedValue: {}, defaultCheckedValue: {}, defaultFocusedValue: {}, checkedValue: {}, expandOnClick: { type: Boolean }, expandedValue: {}, focusedValue: {}, id: {}, ids: {}, selectedValue: {}, selectionMode: {}, typeahead: { type: Boolean }, loadChildren: { type: Function }, lazyMount: { type: Boolean }, unmountOnExit: { type: Boolean }, asChild: { type: Boolean } }, { expandOnClick: void 0, typeahead: void 0, lazyMount: void 0, unmountOnExit: void 0, asChild: void 0, showNonenumerable: void 0, quotesOnKeys: void 0 }), setup(__props) { const props = __props; const splitJsonTreeViewProps = createSplitProps.createSplitProps(); const [jsonTreeProps, localProps] = splitJsonTreeViewProps(props, [ "maxPreviewItems", "collapseStringsAfterLength", "quotesOnKeys", "groupArraysAfterLength", "showNonenumerable" ]); const { data, defaultExpandedDepth, ...restProps } = localProps; const collection = vue.computed(() => { return treeCollection.createTreeCollection({ nodeToValue: jsonTreeUtils.nodeToValue, nodeToString: jsonTreeUtils.nodeToString, rootNode: jsonTreeUtils.getRootNode(data) }); }); const defaultExpandedValue = vue.computed(() => { const expandedValue = defaultExpandedDepth != null ? getBranchValue.getBranchValues(collection.value, defaultExpandedDepth) : void 0; return props.defaultExpandedValue || expandedValue; }); jsonTreeViewPropsContext.JsonTreeViewPropsProvider(vue.computed(() => jsonTreeProps)); return (_ctx, _cache) => { return vue.openBlock(), vue.createBlock(vue.unref(treeView).Root, vue.mergeProps({ "data-scope": "json-tree-view" }, restProps, { collection: collection.value, defaultExpandedValue: defaultExpandedValue.value, typeahead: false }), { default: vue.withCtx(() => [ vue.renderSlot(_ctx.$slots, "default") ]), _: 3 }, 16, ["collection", "defaultExpandedValue"]); }; } }); exports.default = _sfc_main;