Navs (also called "left nav" or "navigation pane") provide links to the main areas of an app or a site. In larger configurations, the Nav is always on-screen, usually on the left of the view. In smaller configurations, the Nav may collapse into a skinnier version or be completely hidden until the user taps an icon.
For more details and examples visit the official docs. The R package can not handle each and every case, so for advanced use cases you need to work using the original docs to achieve the desired result.
Nav(...)
INavLink
(Optional) Link to be rendered.
string
(Optional) The nav container aria label.
string
Additional css class to apply to the Nav
IRefObject<INav>
Optional callback to access the INav interface. Use this instead of ref for accessing the public methods and properties of the component.
string
(Optional) The nav container aria label. The link name is prepended to this label. If not provided, the aria label will default to the link name.
INavLinkGroup[] | null
A collection of link groups to display in the navigation bar
string
(Optional) The key of the nav item initially selected.
boolean
Indicates whether the navigation component renders on top of other content in the UI
IComponentAs<INavButtonProps>
Render a custom link in place of the normal one. This replaces the entire button rather than simply button content
(ev?: React.MouseEvent<HTMLElement>, item?: INavLink) => void
Function callback invoked when a link in the navigation is clicked
(ev?: React.MouseEvent<HTMLElement>, item?: INavLink) => void
Function callback invoked when the chevron on a link is clicked
IRenderFunction<IRenderGroupHeaderProps>
Used to customize how content inside the group header is rendered
IRenderFunction<INavLink>
Used to customize how content inside the link tag is rendered
string
(Deprecated) Use ariaCurrent on links instead
string
(Optional) The key of the nav item selected by caller.
IStyleFunctionOrObject<INavStyleProps, INavStyles>
Call to provide customized styling that will layer on top of the variant rules
ITheme
Theme provided by HOC.
library(shiny.fluent)
if (interactive()) {
navigation_styles <- list(
root = list(
height = "100%",
boxSizing = "border-box",
border = "1px solid #eee",
overflowY = "auto"
)
)
link_groups <- list(
list(
links = list(
list(
name = "Home",
expandAriaLabel = "Expand Home section",
collapseAriaLabel = "Collapse Home section",
links = list(
list(
name = "Activity",
url = "http://msn.com",
key = "key1",
target = "_blank"
),
list(
name = "MSN",
url = "http://msn.com",
disabled = TRUE,
key = "key2",
target = "_blank"
)
),
isExpanded = TRUE
),
list(
name = "Documents",
url = "http://example.com",
key = "key3",
isExpanded = TRUE
),
list(
name = "Pages",
url = "http://msn.com",
key = "key4"
),
list(
name = "Notebook",
url = "http://msn.com",
key = "key5",
disabled = TRUE
),
list(
name = "Communication and Media",
url = "http://msn.com",
key = "key6"
),
list(
name = "News",
url = "http://cnn.com",
icon = "News",
key = "key7",
target = "_blank",
iconProps = list(
iconName = "News",
styles = list(
root = list(
fontSize = 20,
color = "#106ebe"
)
)
)
)
)
)
)
shinyApp(
ui = Nav(
groups = link_groups,
selectedKey = "key1",
styles = navigation_styles
),
server = function(input, output) {}
)
}