25 lines
746 B
JavaScript
25 lines
746 B
JavaScript
|
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
|