4 * Contains \Drupal\bootstrap\Plugin\Setting\JavaScript\Tooltips\TooltipAnimation.
7 namespace Drupal\bootstrap\Plugin\Setting\JavaScript\Tooltips;
9 use Drupal\bootstrap\Annotation\BootstrapSetting;
10 use Drupal\bootstrap\Plugin\Setting\SettingBase;
11 use Drupal\bootstrap\Utility\Element;
12 use Drupal\Core\Annotation\Translation;
13 use Drupal\Core\Form\FormStateInterface;
16 * The "tooltip_animation" theme setting.
18 * @ingroup plugins_setting
21 * id = "tooltip_animation",
23 * title = @Translation("animation"),
24 * description = @Translation("Apply a CSS fade transition to the tooltip."),
27 * "javascript" = @Translation("JavaScript"),
28 * "tooltips" = @Translation("Tooltips"),
29 * "options" = @Translation("Options"),
33 class TooltipAnimation extends SettingBase {
38 public function alterFormElement(Element $form, FormStateInterface $form_state, $form_id = NULL) {
39 parent::alterFormElement($form, $form_state, $form_id);
41 $group = $this->getGroupElement($form, $form_state);
42 $group->setProperty('description', t('These are global options. Each tooltip can independently override desired settings by appending the option name to <code>data-</code>. Example: <code>data-animation="false"</code>.'));
43 $group->setProperty('states', [
45 ':input[name="tooltip_enabled"]' => ['checked' => TRUE],
53 public function drupalSettings() {
54 return !!$this->theme->getSetting('tooltip_enabled');