vuestic-ui
Version:
Vue 3 UI Framework
42 lines (41 loc) • 1.01 kB
JavaScript
import { ref, computed, watch } from "vue";
import { i as isRange } from "./model-value-parser.js";
const useRangeModelValueGuard = (modelValue, disabled) => {
const bufferValue = ref(modelValue.value);
const valueComputed = computed({
get: () => bufferValue.value,
set: (value) => {
if (disabled.value) {
modelValue.value = value;
}
if (!value) {
modelValue.value = value;
return;
}
if (isRange(value)) {
if (value.end !== null) {
modelValue.value = value;
}
} else {
modelValue.value = value;
}
bufferValue.value = value;
}
});
watch(modelValue, (newValue) => {
bufferValue.value = newValue;
});
const reset = () => {
if (bufferValue.value && isRange(bufferValue.value)) {
bufferValue.value = modelValue.value;
}
};
return {
valueComputed,
reset
};
};
export {
useRangeModelValueGuard as u
};
//# sourceMappingURL=range-model-value-guard.js.map