UNPKG

@aplus-frontend/ui

Version:

63 lines (62 loc) 1.93 kB
import { defineComponent as v, unref as r, computed as g, renderSlot as y } from "vue"; import "../hooks/index.mjs"; import { useProvideCheckCard as b } from "./context.mjs"; import { isUndefined as S } from "lodash-unified"; import { useControllableValue as B } from "../hooks/useControllableValue.mjs"; const P = /* @__PURE__ */ v({ name: "CheckCardGroup", __name: "group", props: { bordered: { type: Boolean, default: void 0 }, disabled: { type: Boolean, default: void 0 }, loading: { type: Boolean, default: void 0 }, size: { default: void 0 }, stopPropagation: { type: [Boolean, Function], default: void 0 }, indicatorSize: { default: void 0 }, style: { default: void 0 }, multiple: { type: Boolean, default: !1 }, defaultValue: { type: [String, Number, Boolean, Array], default: void 0 }, value: { type: [String, Number, Boolean, Array], default: void 0 }, "onUpdate:value": {} }, emits: ["update:value"], setup(n, { emit: u }) { const t = n, s = u, { value: a, updateValue: d } = B(t, s), l = /* @__PURE__ */ new Map(); function p(e) { if (!t.multiple) { if (r(a) === e) return; d(e); return; } let o = [...r(a) || []]; const c = o.find((i) => i === e); S(c) ? o.push(e) : o = o.filter((i) => i !== e).filter((i) => l.has(i)), d(o); } function f(e) { l.set(e, !0); } function m(e) { l.delete(e); } return b( g(() => ({ toggleOption: p, registerValue: f, cancelValue: m, disabled: t.disabled, size: t.size, bordered: t.bordered, loading: t.loading, value: r(a), multiple: t.multiple, stopPropagation: t.stopPropagation, style: t.style, indicatorSize: t.indicatorSize })) ), (e, o) => y(e.$slots, "default"); } }); export { P as default };