Renamed to orus-io/elm-orus-ui. It is published under that name, and new versions come out there.
Versions published as cdevienne/elm-orus-ui still install under that name. 1 version of 1 come from the new location (see their notes).
Rerouted (renamed, needs approval). The GitHub user or repository was renamed. The tag is still there, at the new name. The Lamdera package server serves a copy recovered from https://github.com/orus-io/elm-orus-ui.
What we checked: The repo moved to github.com/orus-io/elm-orus-ui and tag 1.0.0 is there; its commit ad645724a38d is from 2024-11-15 10:17 UTC, after the version was published (2024-11-15 09:57 UTC); elm.json differs from package.elm-lang.org's; the exposed modules match docs.json; the zip's SHA-1 is not the published one and nothing else confirms its contents.
We could not verify this copy against what was published, so the Lamdera compiler asks before using it (y/n). Without a terminal, as in CI, it stops with an error unless approved:
lamdera make --auto-approve-package-rerouting approves rerouted versions for that run,LAMDERA_AUTO_APPROVE_PACKAGE_REROUTING=1 does the same for every run in that environment,LAMDERA_CACHE=off skips the Lamdera package server altogether: packages come from package.elm-lang.org and GitHub only, as with elm, and a rerouted version then fails to download.Details · package.elm-lang.org's zip: https://github.com/cdevienne/elm-orus-ui/zipball/1.0.0/
A button+menu creation API
The button will open a menu when clicked.
Menu alignment
Keys
Creates a new button + menu
The button must not have any action defined on it
MenuButton.new (MenuButtonMsg "menu1")
OnMenu1Click
(Button.new "click me"
|> Button.outlinedButton
)
(Menu.new identity
|> Menu.withItems [ "One", "Two", "Three" ]
|> Menu.withIcon
(\i ->
if i /= "Two" then
Just OUI.Icon.check
else
Nothing
)
)
|> OUI.Material.menuButton shared.theme model.menu1State []Change the menu alignment to 'left' (default)
Change the menu alignment to 'right'
Change the menu alignment to 'top'
Change the menu alignment to 'bottom'
withOpenCloseIcons
Menu + button is a stateful component
The component state
The component message
Initialise the State. The given id must be unique in the currently displayed components
Catch clicks outside an opened menu
If you need to change the update effect into something else than Cmd (say, a
Effect, here is
everything you need.
Internal update returns Effect instead of Cmd
Do the update but returns a Effect instead of a Cmd
The Effect can be converted to a Cmd with performEffect
get the button
get the menu
get the menu alignment
get the keydown message
get the lose focus message
get the open/close icons
A Button + Menu component