Cómo codificar un colapso de la barra lateral en shiny para mostrar solo los icons

Si está familiarizado con el sitio web shiny , notará que cuando presiona el botón para colapsar la barra lateral, muestra icons más grandes (pero no oculta por completo la barra lateral.

¿Sabes cómo es esto posible codificar esto?

Escuché que el paquete shinyBS podría ser útil o arrancar cosas, pero no entiendo de qué se trata.

Antes de colapsar:

  

enter image description here

Y esto (ver texto resaltado): enter image description here

Después de colapsar:

  

enter image description here

    Puede lograrlo con un poco de ayuda de dos geniales bibliotecas: shinydashboard (que obtiene la barra de navegación basada en el tema de arranque AdminLTE) y shinyjs (incluida la clase necesaria para la plantilla). Código de trabajo a continuación:

     ## app.R ## library(shiny) library(shinydashboard) library(shinyjs) ui < - dashboardPage( dashboardHeader(), dashboardSidebar(sidebarMenu(menuItem('Test', icon = icon('phone'), tabName = 'sampletabname'))), dashboardBody(h3('Test app'), useShinyjs()) ) server <- function(input, output) { runjs(' var el2 = document.querySelector(".skin-blue"); el2.className = "skin-blue sidebar-mini"; ') } shinyApp(ui, server) 

    EDITAR: Para resolver el problema mencionado en el comentario, juego con visibilidad: estilo css oculto. Nuevo contenido del servidor parte de la aplicación (el rest permanece sin cambios):

      runjs({' var el2 = document.querySelector(".skin-blue"); el2.className = "skin-blue sidebar-mini"; var clicker = document.querySelector(".sidebar-toggle"); clicker.id = "switchState"; '}) onclick('switchState', runjs({' var title = document.querySelector(".logo") if (title.style.visibility == "hidden") { title.style.visibility = "visible"; } else { title.style.visibility = "hidden"; } '}))