tav-ui
Version:
79 lines (76 loc) • 3.19 kB
JavaScript
import { defineComponent, ref, resolveComponent, openBlock, createElementBlock, normalizeClass, createVNode, mergeProps, withCtx, renderSlot, createElementVNode, createBlock, withDirectives, vShow, createCommentVNode } from 'vue';
import { Skeleton } from 'ant-design-vue';
import { triggerWindowResize } from '../../../utils/event/index2.mjs';
import { useTimeoutFn } from '../../../hooks/core/useTimeout2.mjs';
import { TaCollapseTransition } from '../../transition/index2.mjs';
import CollapseHeader from './CollapseHeader2.mjs';
import { containerCollapseProps } from './types2.mjs';
import _export_sfc from '../../../../_virtual/plugin-vue_export-helper.mjs';
const _sfc_main = defineComponent({
name: "TaContainerCollapse",
components: { CollapseTransition: TaCollapseTransition, CollapseHeader, Skeleton },
props: containerCollapseProps,
setup(props) {
const show = ref(true);
const prefixCls = "ta-container-collapse";
function handleExpand() {
show.value = !show.value;
if (props.triggerWindowResize) {
useTimeoutFn(triggerWindowResize, 200);
}
}
return { show, prefixCls, handleExpand };
}
});
const _hoisted_1 = { class: "p-2" };
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
const _component_CollapseHeader = resolveComponent("CollapseHeader");
const _component_Skeleton = resolveComponent("Skeleton");
const _component_CollapseTransition = resolveComponent("CollapseTransition");
return openBlock(), createElementBlock("div", {
class: normalizeClass(_ctx.prefixCls)
}, [
createVNode(_component_CollapseHeader, mergeProps(_ctx.$props, {
"prefix-cls": _ctx.prefixCls,
show: _ctx.show,
onExpand: _ctx.handleExpand
}), {
title: withCtx(() => [
renderSlot(_ctx.$slots, "title")
]),
action: withCtx(() => [
renderSlot(_ctx.$slots, "action")
]),
_: 3
}, 16, ["prefix-cls", "show", "onExpand"]),
createElementVNode("div", _hoisted_1, [
createVNode(_component_CollapseTransition, {
enable: _ctx.$props.canExpan
}, {
default: withCtx(() => [
_ctx.$props.loading ? (openBlock(), createBlock(_component_Skeleton, {
key: 0,
active: _ctx.$props.loading
}, null, 8, ["active"])) : withDirectives((openBlock(), createElementBlock("div", {
key: 1,
class: normalizeClass(`${_ctx.prefixCls}__body`)
}, [
renderSlot(_ctx.$slots, "default")
], 2)), [
[vShow, _ctx.show]
])
]),
_: 3
}, 8, ["enable"])
]),
_ctx.$slots.footer ? (openBlock(), createElementBlock("div", {
key: 0,
class: normalizeClass(`${_ctx.prefixCls}__footer`)
}, [
renderSlot(_ctx.$slots, "footer")
], 2)) : createCommentVNode("v-if", true)
], 2);
}
var ContainerCollapse = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "/home/runner/work/tav-ui/tav-ui/packages/components/container-collapse/src/container-collapse.vue"]]);
export { ContainerCollapse as default };
//# sourceMappingURL=container-collapse2.mjs.map