25 lines
		
	
	
		
			776 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			25 lines
		
	
	
		
			776 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| import { shallowRef, ref, computed } from 'vue';
 | |
| import { useResizeObserver } from '@vueuse/core';
 | |
| import { MINIMUM_INPUT_WIDTH } from '../../constants/form.mjs';
 | |
| 
 | |
| function useCalcInputWidth() {
 | |
|   const calculatorRef = shallowRef();
 | |
|   const calculatorWidth = ref(0);
 | |
|   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
 |