# Create a `wa-input` component

Generated wrapper for the Web Awesome `wa-input` component. When used as
a Shiny input, `input$<input_id>` reflects the component's current
`value` value. Generated from Web Awesome metadata.

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

## Usage

``` r
wa_input(
  input_id,
  ...,
  class = NULL,
  style = NULL,
  value = NULL,
  disabled = NULL,
  label = NULL,
  hint = NULL,
  name = NULL,
  appearance = NULL,
  autocapitalize = NULL,
  autocomplete = NULL,
  autocorrect = NULL,
  autofocus = NULL,
  custom_error = NULL,
  dir = NULL,
  enterkeyhint = NULL,
  inputmode = NULL,
  lang = NULL,
  max = NULL,
  maxlength = NULL,
  min = NULL,
  minlength = NULL,
  password_toggle = NULL,
  password_visible = NULL,
  pattern = NULL,
  pill = NULL,
  placeholder = NULL,
  readonly = NULL,
  required = NULL,
  size = NULL,
  spellcheck = NULL,
  step = NULL,
  title = NULL,
  type = NULL,
  with_clear = NULL,
  with_hint = NULL,
  with_label = NULL,
  without_spin_buttons = NULL,
  clear_icon = NULL,
  end = NULL,
  hide_password_icon = NULL,
  hint_slot = NULL,
  label_slot = NULL,
  show_password_icon = NULL,
  start = NULL
)

update_wa_input(
  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: `null`. The name of the input, submitted as a
  name/value pair with form data.

- appearance:

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

- autocapitalize:

  Enumerated string. Allowed values: `characters`, `none`, `off`, `on`,
  `sentences`, `words`. Controls whether and how text input is
  automatically capitalized as it is entered by the user.

- autocomplete:

  String. Specifies what permission the browser has to provide
  assistance in filling out form field values. Refer to this page on MDN
  for available values.

- autocorrect:

  Boolean. Default: `FALSE`. Indicates whether the browser's autocorrect
  feature is on or off. When set as an attribute, use `"off"` or `"on"`.
  When set as a property, use `TRUE` or `FALSE`. Because the upstream
  implementation treats attributes and properties differently for this
  field, this argument accepts `TRUE`, `FALSE`, `"on"`, `"off"`, `NULL`.
  `TRUE` emits `autocorrect="on"` and `FALSE` emits `autocorrect="off"`.
  `NULL` omits the attribute. Accepted string values: `"on"` is emitted
  unchanged; `"off"` is emitted unchanged.

- autofocus:

  Boolean. Default: `FALSE`. Indicates that the input should receive
  focus on page load.

- custom_error:

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

- dir:

  String. Optional Web Awesome attribute.

- enterkeyhint:

  Enumerated string. Allowed values: `done`, `enter`, `go`,
  [`next`](https://rdrr.io/r/base/Control.html), `previous`, `search`,
  `send`. Used to customize the label or icon of the Enter key on
  virtual keyboards.

- inputmode:

  Enumerated string. Allowed values: `decimal`, `email`, `none`,
  `numeric`, `search`, `tel`, `text`, `url`. Tells the browser what type
  of data will be entered by the user, allowing it to display the
  appropriate virtual keyboard on supportive devices.

- lang:

  String. Optional Web Awesome attribute.

- max:

  The input's maximum value. Only applies to date and number input
  types.

- maxlength:

  Number. The maximum length of input that will be considered valid.

- min:

  The input's minimum value. Only applies to date and number input
  types.

- minlength:

  Number. The minimum length of input that will be considered valid.

- password_toggle:

  Boolean. Default: `FALSE`. Adds a button to toggle the password's
  visibility. Only applies to password types.

- password_visible:

  Boolean. Default: `FALSE`. Determines whether or not the password is
  currently visible. Only applies to password input types.

- pattern:

  String. A regular expression pattern to validate input against.

- pill:

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

- placeholder:

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

- readonly:

  Boolean. Default: `FALSE`. Makes the input readonly.

- required:

  Boolean. Default: `FALSE`. Makes the input a required field.

- size:

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

- spellcheck:

  Boolean. Default: `TRUE`. Enables spell checking on the input.

- step:

  Specifies the granularity that the value must adhere to, or the
  special value `any` which means no stepping is implied, allowing any
  numeric value. Only applies to date and number input types.

- title:

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

- type:

  Enumerated string. Allowed values: `date`, `datetime-local`, `email`,
  `number`, `password`, `search`, `tel`, `text`, `time`, `url`. Default:
  `text`. The type of input. Works the same as a native `<input>`
  element, but only a subset of types are supported. Defaults to `text`.

- with_clear:

  Boolean. Default: `FALSE`. Adds a clear button when the input 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.

- without_spin_buttons:

  Boolean. Default: `FALSE`. Hides the browser's built-in
  increment/decrement spin buttons for number inputs.

- 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 input
  control.

- hide_password_icon:

  An icon to use in lieu of the default hide password icon.

- 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.

- show_password_icon:

  An icon to use in lieu of the default show password icon.

- start:

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

- 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.
