The only way if your components does not have a parent-child relationship (or are related but too further such as a grand grand grand son) is to have some kind of a signal that one component subscribes to, and the other writes into.
Those are the 2 basic operations of any event system: subscribe/listen to an event to be notify, and send/trigger/publish/dispatch a event to notify the ones who wants.
There are at least 3 patterns to do that. You can find a comparison here.
Here is a brief summary:
otherObject.addEventListener('click', () => { alert('click!'); });this.dispatchEvent('click');globalBroadcaster.subscribe('click', () => { alert('click!'); });globalBroadcaster.publish('click');otherObject.clicked.add( () => { alert('click'); });this.clicked.dispatch();