various-ui
Version:
This is a test version of the Vue 3 component library
44 lines (41 loc) • 1.55 kB
JavaScript
import { defineComponent, inject, provide, openBlock, createElementBlock, renderSlot } from 'vue';
import { UiFormEmitterKey } from '../../../constants/index.mjs';
import { UiCheckboxGroupPropsOption, UiCheckboxGroupEmits, UiCheckboxGroupInjectionKey } from './index.mjs';
import { useComposable } from './src/composable.mjs';
const _hoisted_1 = { class: "ui-checkbox-group" };
const __default__ = defineComponent({ name: "UiCheckboxGroup" });
var _sfc_main = /* @__PURE__ */ defineComponent({
...__default__,
props: UiCheckboxGroupPropsOption,
emits: UiCheckboxGroupEmits,
setup(__props, { expose: __expose, emit: __emit }) {
const emitter = inject(UiFormEmitterKey, void 0);
const define = __props;
const emits = __emit;
const { methods, values } = useComposable(define, emits);
const { switchMode } = methods;
provide(UiCheckboxGroupInjectionKey, {
define,
values,
change: (value) => {
const index = define.modelValue.findIndex((val) => val == value);
if (index != -1) {
define.modelValue.splice(index, 1);
} else {
define.modelValue.push(value);
}
emits("change");
emitter == null ? void 0 : emitter.emit(define.name || "", "change");
}
});
__expose({ switchMode });
;
return (_ctx, _cache) => {
return openBlock(), createElementBlock("div", _hoisted_1, [
renderSlot(_ctx.$slots, "default")
]);
};
}
});
export { _sfc_main as default };
//# sourceMappingURL=index.vue2.mjs.map