export default { mounted: function (el, binding) { const shortcut = binding.value ?? '+'; const { key, ctrl, alt, callback } = typeof shortcut === 'string' ? { key: shortcut, ctrl: true, alt: true, callback: () => document .querySelector(`button[shortcut="${shortcut}"]`) ?.click(), } : binding.value; const handleKeydown = (event) => { if (event.key === key && (!ctrl || event.ctrlKey) && (!alt || event.altKey)) { callback(); } }; // Attach the event listener to the window window.addEventListener('keydown', handleKeydown); el._handleKeydown = handleKeydown; }, unmounted: function (el) { if (el._handleKeydown) { window.removeEventListener('keydown', el._handleKeydown); } }, };