Zum Inhalt springen

Tooltip Spark ​

Der Tooltip Spark hängt einen gestylten Tooltip an ein Element im Forge-Ergebnis. Der Inhalt kann normaler Text, HTML oder ein Template sein.

Er verwendet Home Assistants wa-tooltip, unterstützt zwölf Positionen und liegt durch die Popover-API des Browsers über anderen Oberflächenebenen. for verwendet die DOM-Navigation, einschließlich $ für Shadow Roots. Nur das erste passende Element erhält den Tooltip. Ohne for wird die Wurzel des erzeugten Elements verwendet; bei einer Blank Card ist dies uix-forge-blank-card $ div.content.

Versionsstand

Versionsstand: UIX 8.4.0. Die nachfolgend gekennzeichneten Ergänzungen aus 8.3-Beta-Versionen sind in dieser stabilen Version enthalten.

Grundnutzung ​

yaml
type: custom:uix-forge
forge:
  mold: card
  sparks:
    - type: tooltip
      for: hui-tile-card $ ha-tile-icon
      content: Wohnzimmer-Licht
element:
  type: tile
  entity: light.living_room
yaml
type: custom:uix-forge
forge:
  mold: card
  sparks:
    - type: tooltip
      for: hui-tile-card
      content: "<b>Status:</b> {{ states(config.element.entity) }}"
      placement: bottom
element:
  type: tile
  entity: light.living_room

Konfiguration ​

SchlüsselTypPflichtStandardBeschreibung
typestringja-Muss tooltip sein.
forstringneinelement, bei Blank Card uix-forge-blank-card $ div.contentUIX-Selektor für das Zielelement.
contentstringnein""HTML-Inhalt des Tooltips.
placementstringneintopPosition relativ zum Ziel: top, top-start, top-end, bottom, bottom-start, bottom-end, left, left-start, left-end, right, right-start, right-end.
distancenumbernein8Abstand zwischen Tooltip und Ziel in Pixeln.
skiddingnumbernein0Versatz entlang der Achse des Zielelements in Pixeln.
show_delaynumbernein150Wartezeit bis zum Anzeigen in Millisekunden.
hide_delaynumbernein150Wartezeit bis zum Ausblenden in Millisekunden.
triggerstringnein"hover focus"Ab 8.3.0-beta.8: durch Leerzeichen getrennte Aktivierungsarten hover, focus, click oder manual.
openbooleanneinfalseAb 8.3.0-beta.8: Öffnungszustand beim Ändern der Spark-Konfiguration setzen; besonders für trigger: manual.
without_arrowbooleanneinfalseBei true wird der Richtungspfeil ausgeblendet.

TIP

Mit dem DOM-Helfer uix_forge_path($0) lässt sich der passende for-Pfad ermitteln.

Wenn ein Element bereits ein natives title-Attribut besitzt, kann der Attribute Spark es entfernen, damit nicht zwei Tooltips gleichzeitig erscheinen.

Ab 8.3.0-beta.8 bleibt ein mit hover aktivierter Tooltip geöffnet, wenn der Zeiger vom Ziel in seinen Inhalt bewegt wird. Damit lassen sich Inhalte mit --uix-tooltip-max-height begrenzen und mit --uix-tooltip-overflow: auto scrollen. manual öffnet den Tooltip nicht automatisch; setze dafür open: true:

yaml
forge:
  sparks:
    - type: tooltip
      trigger: manual
      open: true
      content: Dieser Tooltip wird über die Spark-Konfiguration geöffnet

Templates im Inhalt ​

content ist Teil der Forge-Konfiguration und wird als Template verarbeitet. Entitätszustände, config und die übrigen UIX-Templatevariablen stehen zur Verfügung.

yaml
type: custom:uix-forge
forge:
  mold: card
  sparks:
    - type: tooltip
      for: hui-tile-card
      content: |
        <strong>{{ state_attr(config.element.entity, 'friendly_name') }}</strong><br>
        Status: {{ states(config.element.entity) }}
element:
  type: tile
  entity: sensor.outdoor_temperature

Tooltip auf einem Badge ​

yaml
# Badge im Dashboard-Header
type: custom:uix-forge
forge:
  mold: badge
  sparks:
    - type: tooltip
      content: Haustür seit {{ relative_time(states.binary_sensor.front_door.last_changed) }}
      placement: bottom
element:
  type: entity
  entity: binary_sensor.front_door

Aussehen anpassen ​

::: note Der Tooltip wird als Geschwisterelement seines Ziels eingefügt. Setze CSS-Variablen deshalb auf einem gemeinsamen übergeordneten Element. Im Beispiel liegt das Ziel ha-card im Shadow Root des mit :host gestylten Tile-Elements. Die Variablen können auch aus einem Theme stammen.

:::

yaml
type: custom:uix-forge
forge:
  mold: card
  sparks:
    - type: tooltip
      for: hui-tile-card $ ha-card
      content: Fenster offen
element:
  type: tile
  entity: binary_sensor.window
  uix:
    style: |
      :host {
        --uix-tooltip-background-color: var(--error-color);
        --uix-tooltip-content-color: var(--white-color);
        --uix-tooltip-border-radius: 8px;
      }

CSS-Variablen ​

Geänderte Standardwerte ab 8.3.0-beta.6

Hintergrund, Schriftgröße und -gewicht, Padding, Radius und Schatten orientieren sich an Home Assistants Tooltip-Design. Ab beta.7 ergänzt --ha-tooltip-text-color die Textfarben-Fallbackkette. Die Tabelle zeigt den Stand beta.8; bei UIX 8.2.0 gelten unter anderem --secondary-background-color, --ha-font-size-s, --ha-font-weight-normal, 8px Padding, --ha-border-radius-sm und --ha-card-box-shadow.

CSS-VariableStandardBeschreibung
--uix-tooltip-background-colorvar(--ha-tooltip-background-color, var(--ha-color-surface-default))Hintergrundfarbe.
--uix-tooltip-content-colorvar(--ha-tooltip-text-color, var(--primary-text-color))Textfarbe.
--uix-tooltip-font-family--ha-font-family-bodySchriftfamilie.
--uix-tooltip-font-size--ha-font-size-mSchriftgröße.
--uix-tooltip-font-weight--ha-font-weight-mediumSchriftgewicht.
--uix-tooltip-line-height--ha-line-height-condensedZeilenhöhe.
--uix-tooltip-paddingvar(--ha-tooltip-padding, var(--ha-space-2))Innenabstand; standardmäßig weiterhin 8 px.
--uix-tooltip-border-radius--ha-border-radius-mdRundung.
--uix-tooltip-arrow-sizevar(--ha-tooltip-arrow-size, 8px)Pfeilgröße. Zum Ausblenden without_arrow: true, --ha-tooltip-arrow-size: 0px oder --uix-tooltip-arrow-size: 0px verwenden.
--uix-tooltip-border-widthnicht gesetztRahmenbreite.
--uix-tooltip-border-colornicht gesetztRahmenfarbe.
--uix-tooltip-border-stylenicht gesetztRahmenstil.
--uix-tooltip-max-width30chMaximale Breite.
--uix-tooltip-max-heightnoneAb beta.8: maximale Höhe des Inhalts.
--uix-tooltip-overflowvisibleAb beta.8: Überlaufverhalten; auto macht begrenzte Inhalte scrollbar.
--uix-tooltip-show-duration100msDauer der Einblendanimation.
--uix-tooltip-hide-duration100msDauer der Ausblendanimation.
--uix-tooltip-opacity1Deckkraft.
--uix-tooltip-box-shadowvar(--ha-tooltip-box-shadow, var(--ha-box-shadow-m))Schatten.
--uix-tooltip-text-aligncenterTextausrichtung.
--uix-tooltip-text-decorationnoneTextdekoration.
--uix-tooltip-text-transformnoneTexttransformation.
--uix-tooltip-overflow-wrapnormalUmbruchverhalten langer Inhalte.