NoRedInk/noredink-ui/16.0.0

NOTE: the latest version is 35.9.3

Nri.Ui.SideNav.V3

Changes from V2

  • change to NavAttribute list-based API
Config route msg
-> List NavAttribute
-> List (Entry route msg)
-> Html msg
type alias Config route msg =
{ isCurrentRoute : route -> Bool
, routeToString : route -> String
, onSkipNav : 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
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