Simple answer is: Dropdowns are out of fashion. That’s also the reason why Elm-Ui does not have them.
I was thinking about it. Material Design recommends using Chips instead. I had an example for filtering Chips before… it should be lying somewhere. If you’re interested I’ll upload it to Ellie.
Material Design also has menus, but they are not used to filter something.
I’m guessing you could write a very lightweight implementation using Elment.below. For a more sophisticated widget I’m guessing you’d need to track the position of the element as well as the height of the page and than constantly update the position of the dropdown menu.
You could write a function
syncPositions : Dropdown -> Task Error (Dropdown -> Dropdown)
similar to ScrollingNav.syncPositions. This function would need to be called regularly by the subscriptions function.
And after that you should be able to write something like
{-| Caculates the amount of pixels the dropdown needs to moved up
in order to be visible in the viewport
-}
xOffset : { Dropdown, height : Float } -> Float
from there i would leave it to the user to define the rest.