@vuesax-alpha/nightly
Version:
A Component Library for Vue 3
65 lines (62 loc) • 2.1 kB
JavaScript
import { defineComponent, nextTick, computed, onBeforeMount, provide, toRefs, openBlock, createElementBlock, normalizeClass, unref, renderSlot } from 'vue';
import { pick } from 'lodash-unified';
import '../../../constants/index.mjs';
import '../../../hooks/index.mjs';
import '../../../tokens/index.mjs';
import '../../../utils/index.mjs';
import { checkboxGroupProps, checkboxGroupEmits } from './checkbox-group.mjs';
import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
import { UPDATE_MODEL_EVENT } from '../../../constants/event.mjs';
import { isArray } from '@vue/shared';
import { checkboxGroupContextKey } from '../../../tokens/checkbox.mjs';
const __default__ = defineComponent({
name: "VsCheckboxGroup"
});
const _sfc_main = defineComponent({
...__default__,
props: checkboxGroupProps,
emits: checkboxGroupEmits,
setup(__props, { emit }) {
const props = __props;
const ns = useNamespace("checkbox");
const changeEvent = async (value) => {
emit(UPDATE_MODEL_EVENT, value);
await nextTick();
emit("change", value);
};
const modelValue = computed({
get() {
return props.modelValue;
},
set(val) {
changeEvent(val);
}
});
onBeforeMount(() => {
if (!isArray(props.modelValue)) {
modelValue.value = [props.modelValue];
}
});
provide(checkboxGroupContextKey, {
...pick(toRefs(props), ["min", "max", "disabled"]),
modelValue,
changeEvent
});
return (_ctx, _cache) => {
return openBlock(), createElementBlock(
"div",
{
class: normalizeClass(unref(ns).b("group"))
},
[
renderSlot(_ctx.$slots, "default")
],
2
);
};
}
});
var CheckboxGroup = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "/home/runner/work/vuesax-alpha/vuesax-alpha/packages/components/checkbox/src/checkbox-group.vue"]]);
export { CheckboxGroup as default };
//# sourceMappingURL=checkbox-group2.mjs.map