TourTipPluginInterface.php

Same filename and directory in other branches
  1. 10 core/modules/tour/src/TourTipPluginInterface.php
  2. 11.x core/modules/tour/src/TourTipPluginInterface.php

Namespace

Drupal\tour

File

core/modules/tour/src/TourTipPluginInterface.php

View source
<?php

namespace Drupal\tour;


/**
 * Defines an interface for tour items.
 *
 * @see \Drupal\tour\Annotation\Tip
 * @see \Drupal\tour\TipPluginBase
 * @see \Drupal\tour\TipPluginManager
 * @see plugin_api
 *
 * @todo move all methods to TipPluginInterface and deprecate this interface in
 *   https://drupal.org/node/3195193
 */
interface TourTipPluginInterface extends TipPluginInterface {
  
  /**
   * Returns the selector the tour tip will attach to.
   *
   * This typically maps to the Shepherd Step options `attachTo.element`
   * property.
   *
   * @return null|string
   *   A selector string, or null for an unattached tip.
   *
   * @see https://shepherdjs.dev/docs/Step.html
   */
  public function getSelector() : ?string;
  
  /**
   * Returns the body content of the tooltip.
   *
   * This typically maps to the Shepherd Step options `text` property.
   *
   * @return array
   *   A render array.
   *
   * @see https://shepherdjs.dev/docs/Step.html
   */
  public function getBody() : array;
  
  /**
   * Returns the configured placement of the tip relative to the element.
   *
   * If null, the tip will automatically determine the best position based on
   * the element's position in the viewport.
   *
   * This typically maps to the Shepherd Step options `attachTo.on` property.
   *
   * @return string|null
   *   The tip placement relative to the element.
   *
   * @see https://shepherdjs.dev/docs/Step.html
   */
  public function getLocation() : ?string;

}

Interfaces

Title Deprecated Summary
TourTipPluginInterface Defines an interface for tour items.

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.