Nav: Nav

NavR Documentation

Nav

Description

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.

Usage

Nav(...)

Arguments

...

Props to pass to shiny.react::reactElement. See allowed props listed below in Details section

Details

  • link INavLink
    (Optional) Link to be rendered.

  • ariaLabel string
    (Optional) The nav container aria label.

  • className string
    Additional css class to apply to the Nav

  • componentRef IRefObject<INav>
    Optional callback to access the INav interface. Use this instead of ref for accessing the public methods and properties of the component.

  • expandButtonAriaLabel 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.

  • groups INavLinkGroup[] | null
    A collection of link groups to display in the navigation bar

  • initialSelectedKey string
    (Optional) The key of the nav item initially selected.

  • isOnTop boolean
    Indicates whether the navigation component renders on top of other content in the UI

  • linkAs IComponentAs<INavButtonProps>
    Render a custom link in place of the normal one. This replaces the entire button rather than simply button content

  • onLinkClick (ev?: React.MouseEvent<HTMLElement>, item?: INavLink) => void
    Function callback invoked when a link in the navigation is clicked

  • onLinkExpandClick (ev?: React.MouseEvent<HTMLElement>, item?: INavLink) => void
    Function callback invoked when the chevron on a link is clicked

  • onRenderGroupHeader IRenderFunction<IRenderGroupHeaderProps>
    Used to customize how content inside the group header is rendered

  • onRenderLink IRenderFunction<INavLink>
    Used to customize how content inside the link tag is rendered

  • selectedAriaLabel string
    (Deprecated) Use ariaCurrent on links instead

  • selectedKey string
    (Optional) The key of the nav item selected by caller.

  • styles IStyleFunctionOrObject<INavStyleProps, INavStyles>
    Call to provide customized styling that will layer on top of the variant rules

  • theme ITheme
    Theme provided by HOC.

Examples

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) {}
  )
}

Appsilon/shiny.fluent documentation built on June 12, 2022, 2:41 a.m.