import { debounce } from 'lodash'; export default { methods: { getResponsiveStyles() { const width = window.innerWidth; if (width < 576) { return 'font-size: 14px !important; padding: 8px !important;'; } else if (width < 768) { return 'font-size: 16px !important; padding: 12px !important;'; } else { return 'font-size: 18px !important; padding: 16px !important;'; } } }, mounted() { this.makeInlineStylesResponsive(); window.addEventListener('resize', debounce(this.makeInlineStylesResponsive, 200)); }, beforeDestroy() { window.removeEventListener('resize', this.makeInlineStylesResponsive); }, methods: { makeInlineStylesResponsive() { const elements = this.$el.querySelectorAll('[style]'); elements.forEach(el => { const originalStyle = el.getAttribute('style'); el.setAttribute('style', ` ${originalStyle}; ${this.getResponsiveStyles()} `); }); } } }