Slackblocks.Blocks.Input (slackblocks v2.8.0)

View Source

A labelled input that collects a value in a modal, App Home, or message.

Slack reference: https://docs.slack.dev/reference/block-kit/blocks/input-block

Fields

  • label — Sets the label shown above the input. Required.
  • element — Sets the input element that collects the user's value. Required.
  • dispatch_action — Sets whether changing the element sends a block_actions payload immediately. Optional; nil omits the field.
  • block_id — Sets a unique identifier for this block. Slack returns it in interaction payloads, so use a stable value when you need to find the block again. Optional; nil omits the field.
  • hint — Sets helper text shown below the input. Optional; nil omits the field.
  • optional — Sets whether the modal can be submitted when this input is empty. Optional; nil omits the field.

Summary

Functions

Atomically replaces supplied fields; omitted fields retain their values.

Constructs and validates a value. Text conveniences apply to keyword input.

Constructs a value or raises Slackblocks.ValidationError.

Types

t()

@type t() :: %Slackblocks.Blocks.Input{
  block_id: binary() | nil,
  dispatch_action: boolean() | nil,
  element: Slackblocks.Types.input_element(),
  hint: Slackblocks.Objects.PlainText.t() | nil,
  label: Slackblocks.Objects.PlainText.t(),
  optional: boolean() | nil
}

Functions

change(value, options)

@spec change(
  t(),
  keyword()
) :: {:ok, t()} | {:error, Slackblocks.ValidationError.t()}

Atomically replaces supplied fields; omitted fields retain their values.

change!(value, options)

@spec change!(
  t(),
  keyword()
) :: t()

Replaces fields or raises Slackblocks.ValidationError.

new(options)

@spec new(keyword()) :: {:ok, t()} | {:error, Slackblocks.ValidationError.t()}

Constructs and validates a value. Text conveniences apply to keyword input.

new!(options)

@spec new!(keyword()) :: t()

Constructs a value or raises Slackblocks.ValidationError.