1<?php
2namespace ILIAS\UI\Component;
3
4/**
5 * Interface Hoverable
6 *
7 * Describes a component that can trigger signals of other components on hover.
8 *
9 * @package ILIAS\UI\Component
10 */
11interface Hoverable extends Triggerer
12{
13
14    /**
15     * Get a component like this, triggering a signal of another component on hover.
16     * Note: Any previous signals registered on hover are replaced.
17     *
18     * @param Signal $signal A signal of another component
19     *
20     * @return $this
21     */
22    public function withOnHover(Signal $signal);
23
24    /**
25     * Get a component like this, triggering a signal of another component on hover.
26     * In contrast to withOnHover, the signal is appended to existing signals for the hover event.
27     *
28     * @param Signal $signal
29     *
30     * @return $this
31     */
32    public function appendOnHover(Signal $signal);
33}
34