import {computed, ref, type UnwrapRef, watch, type WritableComputedRef} from 'vue'; import {type Keyable} from '@myparcel-pdk/common'; type Value = Partial>; export type PdkBulkSelectCheckboxEmits = (event: 'select', value: Record) => void; export const useBulkSelectCheckbox = ( options: KS, emit: PdkBulkSelectCheckboxEmits, ): { bulkModel: WritableComputedRef>>; bulkOptions: Keyable[]; } => { const selected = ref>({}); const bulkModel = computed({ get() { return selected.value; }, set(values) { selected.value = values; }, }); watch( bulkModel, (value) => { emit('select', value as Record); }, {deep: true}, ); return { bulkModel, bulkOptions: options, }; };