UNPKG

tass-ui

Version:

A high quality UI Toolkit built on Vue.js3+.

67 lines (66 loc) 2.54 kB
"use strict"; Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } }); const vue = require("vue"); require("../../../theme-chalk/src/collapse.scss.js"); const _hoisted_1 = { class: "tas-collapse" }; const _hoisted_2 = { class: "tas-collapse-ul" }; const _hoisted_3 = ["onClick"]; const _sfc_main = /* @__PURE__ */ vue.defineComponent({ __name: "collapse", props: { posts: null, types: { type: Boolean, default: false } }, setup(__props) { const props = __props; const arr = vue.reactive([]); function toggle(index) { if (!arr.includes(index)) { if (props.types == true) { arr.push(index); } else { arr.length = 0; arr.push(index); } } else { arr.splice(arr.indexOf(index), 1); } } return (_ctx, _cache) => { const _component_tass_icon = vue.resolveComponent("tass-icon"); return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [ vue.createElementVNode("ul", _hoisted_2, [ vue.createElementVNode("li", null, [ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(__props.posts, (item) => { return vue.openBlock(), vue.createElementBlock("div", { key: item.id, class: "tas-collapse-panel" }, [ vue.createElementVNode("div", { class: "tas-collapse-title", onClick: ($event) => toggle(item.id) }, [ vue.createTextVNode(vue.toDisplayString(item.title) + " ", 1), vue.createVNode(_component_tass_icon, { name: "chevronright", class: vue.normalizeClass([arr.includes(item.id) === true ? "icon-select" : "icon-unselect"]), style: { "float": "right" } }, null, 8, ["class"]) ], 8, _hoisted_3), vue.createVNode(vue.Transition, { name: "tas-collapse" }, { default: vue.withCtx(() => [ vue.withDirectives(vue.createElementVNode("div", { class: "tas-collapse-content" }, vue.toDisplayString(item.body), 513), [ [vue.vShow, arr.includes(item.id) === true] ]) ]), _: 2 }, 1024) ]); }), 128)) ]) ]) ]); }; } }); exports.default = _sfc_main;