% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/drawer.R
\name{module_drawer}
\alias{module_drawer}
\title{Drawer shell for module templates}
\usage{
module_drawer(output_id = "shidashi_drawer")
}
\arguments{
\item{output_id}{character; the output ID for the
\code{uiOutput} placeholder inside the drawer.
Defaults to \code{"shidashi_drawer"}.}
}
\value{
A \code{shiny::tagList} containing the drawer div and
  its overlay.
}
\description{
Emits a minimal \code{.shidashi-drawer} container with a
\code{\link[shiny]{uiOutput}} placeholder inside, plus the drawer
overlay.  The drawer starts empty; module server code fills it
dynamically via \code{shiny::renderUI}.

Typical usage in a \file{module-ui.html} template:
\preformatted{
  \{\{ shidashi::module_drawer() \}\}
}

Then in the module server:
\preformatted{
  output$shidashi_drawer <- shiny::renderUI(\{
    shiny::tagList(
      shiny::h5("My settings"),
      shiny::p("Custom drawer content here.")
    )
  \})
}

The \code{ns()} function from the module's template evaluation
environment is used automatically so that the output ID is
properly scoped to the module namespace.
}
