comic-plus
Version:
<p align="center"> <img width="200px" src="./logo.png"/> </p>
69 lines (68 loc) • 2.64 kB
JavaScript
;
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
const vue = require("vue");
const index = require("../../transition-collapse/index.js");
const item_props = require("./item.props.js");
const type = require("./type.js");
require("../../../icons/index.js");
const components = require("../../../icons/components/components.js");
const _hoisted_1 = { class: "cu-collapse-item__content" };
const _sfc_main = /* @__PURE__ */ vue.defineComponent({
...{
name: "CuCollapseItem"
},
__name: "item",
props: item_props.collapseItemProps,
setup(__props) {
const props = __props;
const { props: injectProps, activeValue, collapseChange } = vue.inject(type.COLLAPSE_PROVIDE);
const showItem = vue.computed(() => {
return injectProps.accordion ? activeValue.value === props.name : activeValue.value.includes(props.name) || false;
});
const style = vue.computed(() => {
return {
background: injectProps.fill ? props.background ?? injectProps.background : void 0,
color: props.color ?? injectProps.color
};
});
const changeShow = function() {
collapseChange(!showItem.value, props.name);
};
return (_ctx, _cache) => {
return vue.openBlock(), vue.createElementBlock("div", {
class: "cu-collapse-item",
style: vue.normalizeStyle(style.value)
}, [
vue.createElementVNode("div", {
class: "cu-collapse-item__head",
onClick: changeShow
}, [
vue.renderSlot(_ctx.$slots, "head", {}, () => [
vue.createElementVNode("span", null, [
vue.renderSlot(_ctx.$slots, "label", {}, () => [
vue.createTextVNode(vue.toDisplayString(_ctx.label), 1)
])
]),
_cache[0] || (_cache[0] = vue.createElementVNode("span", { class: "cu-collapse-item__line" }, null, -1)),
vue.createVNode(vue.unref(components.Right), {
class: vue.normalizeClass(["cu-collapse--icon", { active: showItem.value }])
}, null, 8, ["class"])
])
]),
vue.createVNode(vue.unref(index.CuTransitionCollapse), null, {
default: vue.withCtx(() => [
vue.withDirectives(vue.createElementVNode("div", null, [
vue.createElementVNode("div", _hoisted_1, [
vue.renderSlot(_ctx.$slots, "default")
])
], 512), [
[vue.vShow, showItem.value]
])
]),
_: 3
})
], 4);
};
}
});
exports.default = _sfc_main;