Slackblocks.Elements.IconButton (slackblocks v2.8.0)

View Source

A button that shows an icon instead of text.

Slack reference: https://docs.slack.dev/reference/block-kit/block-elements/icon-button-element

Fields

  • text — Sets the text used as the button's accessible name. Required.
  • icon — Sets the icon shown on the button. Default: :trash. Required.
  • action_id — Sets the identifier Slack returns in interaction payloads when a user acts on this element. It must be unique among the elements of its block. Optional; nil omits the field.
  • value — Sets the application-defined value sent in interaction payloads. Optional; nil omits the field.
  • confirm — Sets a confirmation dialog shown before the action is sent. Optional; nil omits the field.
  • accessibility_label — Sets the label read by screen readers in place of the visible text. Optional; nil omits the field.
  • visible_to_user_ids — Adds the IDs of users who can see this button. 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.Elements.IconButton{
  accessibility_label: binary() | nil,
  action_id: binary() | nil,
  confirm: Slackblocks.Objects.Confirmation.t() | nil,
  icon: Slackblocks.Types.icon_button_icon(),
  text: Slackblocks.Objects.PlainText.t(),
  value: binary() | nil,
  visible_to_user_ids: [binary()] | 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.