github.com/pf-qiu/concourse/v6@v6.7.3-0.20201207032516-1f455d73275f/web/elm/src/HoverState.elm (about)

     1  module HoverState exposing
     2      ( HoverState(..)
     3      , TooltipPosition(..)
     4      , hoveredElement
     5      , isHovered
     6      )
     7  
     8  import Browser.Dom
     9  import Message.Message exposing (DomID)
    10  
    11  
    12  type TooltipPosition
    13      = Top Float Float
    14      | Bottom Float Float Float
    15  
    16  
    17  type HoverState
    18      = NoHover
    19      | Hovered DomID
    20      | TooltipPending DomID
    21      | Tooltip DomID Browser.Dom.Element
    22  
    23  
    24  hoveredElement : HoverState -> Maybe DomID
    25  hoveredElement hoverState =
    26      case hoverState of
    27          NoHover ->
    28              Nothing
    29  
    30          Hovered d ->
    31              Just d
    32  
    33          TooltipPending d ->
    34              Just d
    35  
    36          Tooltip d _ ->
    37              Just d
    38  
    39  
    40  isHovered : DomID -> HoverState -> Bool
    41  isHovered domID hoverState =
    42      case hoveredElement hoverState of
    43          Nothing ->
    44              False
    45  
    46          Just d ->
    47              d == domID