NoRedInk/noredink-ui/22.6.0

NOTE: the latest version is 35.9.3

Rerouted (regenerated, verified). Same repository and tag, but GitHub now builds the zip with different bytes, so it no longer matches the SHA-1 package.elm-lang.org recorded. The Lamdera package server serves a copy recovered from https://github.com/NoRedInk/noredink-ui.

What we checked: Tag 22.6.0 is still on github.com/NoRedInk/noredink-ui; its commit 7cae53f1af4b is from 2023-03-24 17:13 UTC, before the version was published (2023-03-27 14:55 UTC); elm.json is byte-identical to package.elm-lang.org's; the exposed modules match docs.json; the zip's SHA-1 is not the published one (GitHub's zip no longer comes out byte for byte the same), so the contents were checked instead.

The Lamdera compiler uses this copy and prints a one-line notice saying so. elm itself fails to download this version.

Details · package.elm-lang.org's zip: https://github.com/NoRedInk/noredink-ui/zipball/22.6.0/

Nri.Ui.SideNav.V4

Patch changes

  • add missing aria-current=page attribute
  • don't render an empty nav when there are no entries

Changes from V3

  • make the nav configurably collapsible
Config route msg
-> List (NavAttribute msg)
-> List (Entry route msg)
-> Html msg
type alias Config route msg =
{ isCurrentRoute : route -> Bool
, routeToString : route -> String
, onSkipNav : msg
}
collapsible : CollapsibleConfig msg -> NavAttribute msg

Entries

entry : String -> List (Attribute route msg) -> Entry route msg
String
-> List (Attribute route msg)
-> List (Entry route msg)
-> Entry route msg
html : List (Html msg) -> Entry route msg
type Entry route msg

Use entry to create a sidebar entry.

type Attribute route msg
icon : Svg -> Attribute route msg
rightIcon : Svg -> Attribute route msg
custom : List (Attribute msg) -> Attribute route msg

Use this helper to add custom attributes.

Do NOT use this helper to add css styles, as they may not be applied the way you want/expect if underlying Button styles change. Instead, please use the css helper.

css : List Style -> Attribute route msg
nriDescription : String -> Attribute route msg
testId : String -> Attribute route msg
id : String -> Attribute route msg

Behavior

onClick : msg -> Attribute route msg
href : route -> Attribute route msg
linkSpa : route -> Attribute route msg

Use this link for routing within a single page app.

This will make a normal <a> tag, but change the Events.onClick behavior to avoid reloading the page.

See https://github.com/elm-lang/html/issues/110 for details on this implementation.

linkExternal : String -> Attribute route msg
{ method : String
, url : route
}
-> Attribute route msg
{ track : msg
, url : route
}
-> Attribute route msg
{ track : msg
, url : String
}
-> Attribute route msg

Change the color scheme

primary : Attribute route msg
secondary : Attribute route msg

Change the state