# Create a `wa-select` component

Generated wrapper for the Web Awesome `wa-select` component. When used
as a Shiny input, `input$<input_id>` reflects the component's current
`value` value. The Shiny value is returned as a character string for
single-select usage, or a character vector when `multiple` is `TRUE`.
Generated from Web Awesome metadata.

Generated update helper for the Web Awesome `wa-select` component.

## Usage

``` r
wa_select(
  input_id,
  ...,
  class = NULL,
  style = NULL,
  value = NULL,
  disabled = NULL,
  label = NULL,
  hint = NULL,
  name = NULL,
  appearance = NULL,
  custom_error = NULL,
  dir = NULL,
  lang = NULL,
  max_options_visible = NULL,
  multiple = NULL,
  open = NULL,
  pill = NULL,
  placeholder = NULL,
  placement = NULL,
  required = NULL,
  size = NULL,
  with_clear = NULL,
  with_hint = NULL,
  with_label = NULL,
  clear_icon = NULL,
  end = NULL,
  expand_icon = NULL,
  hint_slot = NULL,
  label_slot = NULL,
  start = NULL
)

update_wa_select(
  session,
  input_id,
  value = NULL,
  label = NULL,
  hint = NULL,
  disabled = NULL
)
```

## Arguments

- input_id:

  Input id of the component to update.

- ...:

  Child content for the component's default slot.

- class:

  Optional CSS class string.

- style:

  Optional inline CSS style string.

- value:

  Optional value to send to the component.

- disabled:

  Optional logical disabled state to send to the component.

- label:

  Optional label text to send to the component.

- hint:

  Optional hint text to send to the component.

- name:

  String. Default: `""`. The name of the select, submitted as a
  name/value pair with form data.

- appearance:

  Enumerated string. Allowed values: `filled`, `filled-outlined`,
  `outlined`. Default: `outlined`. The select's visual appearance.

- custom_error:

  String. Default: `null`. Optional Web Awesome attribute.

- dir:

  String. Optional Web Awesome attribute.

- lang:

  String. Optional Web Awesome attribute.

- max_options_visible:

  Number. Default: `3`. The maximum number of selected options to show
  when `multiple` is TRUE. After the maximum, "+n" will be shown to
  indicate the number of additional items that are selected. Set to 0 to
  remove the limit.

- multiple:

  Boolean. Default: `FALSE`. Allows more than one option to be selected.

- open:

  Boolean. Default: `FALSE`. Indicates whether or not the select is
  open. You can toggle this attribute to show and hide the menu, or you
  can use the [`show()`](https://rdrr.io/r/methods/show.html) and
  `hide()` methods and this attribute will reflect the select's open
  state.

- pill:

  Boolean. Default: `FALSE`. Draws a pill-style select with rounded
  edges.

- placeholder:

  String. Default: `""`. Placeholder text to show as a hint when the
  select is empty.

- placement:

  Enumerated string. Allowed values: `bottom`, `top`. Default: `bottom`.
  The preferred placement of the select's menu. Note that the actual
  placement may vary as needed to keep the listbox inside of the
  viewport.

- required:

  Boolean. Default: `FALSE`. The select's required attribute.

- size:

  Enumerated string. Allowed values: `large`, `medium`, `small`.
  Default: `medium`. The select's size.

- with_clear:

  Boolean. Default: `FALSE`. Adds a clear button when the select is not
  empty.

- with_hint:

  Boolean. Default: `FALSE`. Only required for SSR. Set to `TRUE` if
  you're slotting in a `hint` element so the server-rendered markup
  includes the hint before the component hydrates on the client.

- with_label:

  Boolean. Default: `FALSE`. Only required for SSR. Set to `TRUE` if
  you're slotting in a `label` element so the server-rendered markup
  includes the label before the component hydrates on the client.

- clear_icon:

  An icon to use in lieu of the default clear icon.

- end:

  An element, such as `<wa-icon>`, placed at the end of the combobox.

- expand_icon:

  The icon to show when the control is expanded and collapsed. Rotates
  on open and close.

- hint_slot:

  Text that describes how to use the input. Alternatively, you can use
  the `hint` attribute.

- label_slot:

  The input's label. Alternatively, you can use the `label` attribute.

- start:

  An element, such as `<wa-icon>`, placed at the start of the combobox.

- session:

  Shiny session object.

## Value

An HTML tag for the component.

Invisibly returns `NULL`.

## Shiny Bindings

`input$<input_id>` reflects the component's current `value` value. The
Shiny value is returned as a character string for single-select usage,
or a character vector when `multiple` is `TRUE`.
