UNPKG

ucc-ui

Version:

ucc-ui components library

41 lines (40 loc) 1.18 kB
import { defineComponent as d, ref as i, watch as p, provide as m, onBeforeUnmount as f, openBlock as C, createElementBlock as v, normalizeClass as h, renderSlot as _ } from "vue"; const V = Symbol("collapseContext"), E = /* @__PURE__ */ d({ name: "UCollapse", __name: "Collapse", props: { modelValue: {}, accordion: { type: Boolean, default: !1 } }, emits: ["update:modelValue", "change"], setup(s, { expose: n, emit: r }) { const a = s, t = r, o = i(a.modelValue || []), l = (e) => { o.value = e, t("update:modelValue", e), t("change", e); }, u = p(() => a.modelValue, (e) => l(e)); return m(V, { activeNames: o, handleItemClick: (e) => { if (a.accordion) { l(o.value.includes(e) ? [] : [e]); return; } o.value.includes(e) ? l(o.value.filter((c) => c !== e)) : l([...o.value, e]); } }), f(() => { u(); }), n({ activeNames: o, updateActiveNames: l }), (e, c) => (C(), v("div", { class: h(["u-collapse", { "is-accordion": e.accordion }]) }, [ _(e.$slots, "default") ], 2)); } }); export { V as C, E as _ };