Learn R Programming

shiny.fluent

Microsoft Fluent UI for Shiny Apps

We believe that a great UI plays a huge role in the success of application projects. shiny.fluent gives your apps:

  • beautiful, professional look
  • rich set of components easily usable in Shiny
  • fast speed of development that Shiny is famous for.

As Fluent UI is built in React, shiny.fluent is based on another package called shiny.react, which allows for using React libraries in Shiny.

A big game-changer for companies already using Microsoft tools on a daily basis, because everyone is already familiar and pleased by the Microsoft UI.

Note: This package strives to be as easy to use as possible, while providing most of Fluent UI possibilities. That said, Fluent UI is more flexible and low level than Bootstrap, and there is additional complexity coming from using React in Shiny. You should expect using shiny.fluent to be somewhat more complex than vanilla Shiny or shiny.semantic (at some point you will likely want to browse the original Fluent UI documentation), but you get more power, flexibility and better UI in return.

Getting started

Installation

Stable version:

install.packages("shiny.fluent")

Development version:

remotes::install_github("Appsilon/shiny.fluent")

Quick start

Here's how to make an app containing a Fluent UI checkbox:

shinyApp(
    ui = div(
      Checkbox.shinyInput("checkbox", value = TRUE),
      textOutput("checkboxValue")
    ),
    server = function(input, output) {
      output$checkboxValue <- renderText({
        sprintf("Value: %s", input$checkbox)
      })
    }
  )

shiny.fluent provides all components from Microsoft's Fluent UI library. Browse the official docs or start typing shiny.fluent:: in RStudio to see all available controls.

All components are documented, so if you run ?shiny.fluent::MyComponentName, you'll see documentation for this component in RStudio, along with examples. When in doubt, open Fluent UI docs for details.

Examples

A good way to learn more is to look at the examples. Once you install the library, you can run them with shiny.fluent::runExample("example_name"). We recommend the following for starters:

  • demo: a demo app for analyzing sales reps performance,
  • dashboard: a showcase of all available components along with documentation.

There are also usage examples for individual components. Use shiny.fluent::runExample() to list all available examples.

Appsilon

Appsilon is a Posit (formerly RStudio) Full Service Certified Partner. Learn more at appsilon.com.

Get in touch opensource@appsilon.com

Explore the Rhinoverse - a family of R packages built around Rhino!

Copy Link

Version

Install

install.packages('shiny.fluent')

Monthly Downloads

1,476

Version

0.4.0

License

LGPL-3

Issues

Pull Requests

Stars

Forks

Maintainer

Jakub Sobolewski

Last Published

May 21st, 2024

Functions in shiny.fluent (0.4.0)

Coachmark

Coachmark
ActivityItem

ActivityItem
Callout

Callout
Checkbox

Checkbox
Announced

Announced
Calendar

Calendar
Breadcrumb

Breadcrumb
ChoiceGroup

ChoiceGroup
ColorPicker

ColorPicker
ActionButton

Button
DatePicker

DatePicker
Dropdown

Dropdown
CommandBarItem

Command bar item
CommandBar

CommandBar
DetailsList

DetailsList
DocumentCard

DocumentCard
VerticalDivider

Divider
ComboBox

ComboBox
Dialog

Dialog
Image

Image
ContextualMenu

ContextualMenu
Keytip

Keytip
FocusTrapCallout

FocusTrapZone
Facepile

Facepile
KeytipLayer

Keytips
Label

Label
HoverCard

HoverCard
FontIcon

Icon
FocusZone

FocusZone
Layer

Layer
Link

Link
GroupedList

GroupedList
Panel

Panel
Overlay

Overlay
List

List
MarqueeSelection

MarqueeSelection
Nav

Nav
OverflowSet

OverflowSet
Persona

Persona
CompactPeoplePicker

PeoplePicker
ProgressIndicator

ProgressIndicator
MessageBar

MessageBar
ResizeGroup

ResizeGroup
ScrollablePane

ScrollablePane
Slider

Slider
Separator

Separator
Shimmer

Shimmer
TooltipHost

Tooltip
Toggle

Toggle
SearchBox

SearchBox
Modal

Modal
runExample

Run example shiny.fluent apps.
SpinButton

SpinButton
shinyFluentDependency

Shiny Fluent JS dependency
Spinner

Spinner
SwatchColorPicker

SwatchColorPicker
Stack

Stack
Rating

Rating
BasePickerListBelow

Pickers
fluentPage

Basic Fluent UI page
TeachingBubble

TeachingBubble
component

Documentation template for remaining components
Text

Text
Pivot

Pivot
parseTheme

parseTheme
ThemeProvider

Theme
MaskedTextField

TextField
reexports

Objects exported from other packages
fluentPeople

A dataset of sample people based on Fluent UI examples
shinyInput

Documentation template for components with .shinyInput wrappers
fluentSalesDeals

A randomly generated dataset of imaginary sales deals