You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

24 lines
746 B

import { shallowRef, ref, computed } from 'vue';
import { useResizeObserver } from '@vueuse/core';
function useCalcInputWidth() {
const calculatorRef = shallowRef();
const calculatorWidth = ref(0);
const MINIMUM_INPUT_WIDTH = 11;
const inputStyle = computed(() => ({
minWidth: `${Math.max(calculatorWidth.value, MINIMUM_INPUT_WIDTH)}px`
}));
const resetCalculatorWidth = () => {
var _a, _b;
calculatorWidth.value = (_b = (_a = calculatorRef.value) == null ? void 0 : _a.getBoundingClientRect().width) != null ? _b : 0;
};
useResizeObserver(calculatorRef, resetCalculatorWidth);
return {
calculatorRef,
calculatorWidth,
inputStyle
};
}
export { useCalcInputWidth };
//# sourceMappingURL=index.mjs.map