# Construct a shiny.webawesome page

Creates a minimal full-page HTML scaffold for Shiny applications that
use Web Awesome components. `webawesomePage()` attaches the package
dependency once at page level and temporarily suppresses duplicate
wrapper-level attachment while evaluating its children. This function
serves an entirely different role from the upstream component
[`wa_page()`](https://www.shiny-webawesome.org/reference/wa_page.md).

## Usage

``` r
webawesomePage(..., title = NULL, lang = NULL, class = NULL, body_class = NULL)
```

## Arguments

- ...:

  UI content to place in the page body.

- title:

  Optional page title.

- lang:

  Optional HTML `lang` attribute for the page.

- class:

  Optional CSS class string for the root HTML element. This is useful
  for page-level Web Awesome theme, palette, and brand classes such as
  `"wa-theme-default wa-palette-default wa-brand-blue"` or
  `"wa-palette-default"`. When `class` includes a recognized non-default
  theme class such as `"wa-theme-awesome"` or `"wa-theme-shoelace"`,
  `webawesomePage()` also loads the matching bundled theme stylesheet
  automatically.

- body_class:

  Optional CSS class string for the page body. This is useful for
  app-shell layout or body-level styling hooks that should stay separate
  from root HTML theme classes.

## Value

An HTML page scaffold with the shiny.webawesome dependency attached.

## Details

This is a package-level Shiny helper that follows Shiny's page-helper
model
([[`fluidPage()`](https://rdrr.io/pkg/shiny/man/fluidPage.html)](https://shiny.posit.co/r/reference/shiny/1.8.0/fluidpage.html),
etc.) for dependency attachment and full-page scaffolding. It is
intentionally separate from the upstream `wa-page` component wrapper.

## Examples

``` r
if (interactive()) {
  webawesomePage(
    title = "shiny.webawesome",
    class = "wa-theme-default wa-palette-default wa-brand-blue",
    wa_card("Hello from Web Awesome")
  )
}
```
