Jido.Chat.Card.Component (Jido Chat v1.0.0)

Copy Markdown View Source

Canonical card component used by Jido.Chat.Card.

Summary

Functions

Builds a component from serialized data.

Creates a canonical card component.

Normalizes component input.

Returns the schema for a card component.

Serializes the component into a plain map with a type marker.

Types

input()

@type input() :: t() | map() | String.t()

t()

@type t() :: %Jido.Chat.Card.Component{
  alt_text: nil | nil | binary(),
  columns: [any()],
  disabled: boolean(),
  id: nil | nil | binary(),
  image_url: nil | nil | binary(),
  items: [any()],
  kind:
    :text
    | :section
    | :fields
    | :field
    | :button
    | :link_button
    | :link
    | :actions
    | :select
    | :select_option
    | :radio_select
    | :table
    | :image
    | :divider,
  label: nil | nil | binary(),
  markdown: nil | nil | any(),
  metadata: map(),
  options: [any()],
  rows: [any()],
  style: nil | nil | binary(),
  text: nil | nil | binary(),
  title: nil | nil | binary(),
  url: nil | nil | binary(),
  value: nil | nil | binary()
}

Functions

from_map(map)

@spec from_map(map()) :: t()

Builds a component from serialized data.

new(component)

@spec new(t() | map()) :: t()

Creates a canonical card component.

normalize(component)

@spec normalize(input()) :: t()

Normalizes component input.

schema()

Returns the schema for a card component.

to_map(component)

@spec to_map(t()) :: map()

Serializes the component into a plain map with a type marker.