Skip to content

ChatKit Widgets

This reference is generated from the chatkit.widgets module. Every component inherits the common props id, key, and type. Optional props default to None unless noted.

Badge

Small badge indicating status or categorization.

Field Type Default
key str | None None
id str | None None
type Badge 'Badge'
label str
color secondary | success | danger | warning | info | discovery | None None
variant solid | soft | outline | None None
size sm | md | lg | None None
pill bool | None None

Box

Generic flex container with direction control.

Field Type Default
children list['WidgetComponent'] | None None
align start | center | end | baseline | stretch | None None
justify start | center | end | between | around | evenly | stretch | None None
wrap nowrap | wrap | wrap-reverse | None None
flex int | str | None None
gap int | str | None None
height float | str | None None
width float | str | None None
size float | str | None None
minHeight int | str | None None
minWidth int | str | None None
minSize int | str | None None
maxHeight int | str | None None
maxWidth int | str | None None
maxSize int | str | None None
padding float | str | Spacing | None None
margin float | str | Spacing | None None
border int | Border | Borders | None None
radius 2xs | xs | sm | md | lg | xl | 2xl | 3xl | 4xl | full | 100% | none | None None
background str | ThemeColor | None None
aspectRatio float | str | None None
key str | None None
id str | None None
type Box 'Box'
direction row | col | None None

Button

Button component optionally wired to an action.

Field Type Default
key str | None None
id str | None None
type Button 'Button'
submit bool | None None
label str | None None
onClickAction ActionConfig | None None
iconStart WidgetIcon | None None
iconEnd WidgetIcon | None None
style primary | secondary | None None
iconSize sm | md | lg | xl | 2xl | None None
color primary | secondary | info | discovery | success | caution | warning | danger | None None
variant solid | soft | outline | ghost | None None
size 3xs | 2xs | xs | sm | md | lg | xl | 2xl | 3xl | None None
pill bool | None None
uniform bool | None None
block bool | None None
disabled bool | None None

Caption

Widget rendering supporting caption text.

Field Type Default
key str | None None
id str | None None
type Caption 'Caption'
value str
color str | ThemeColor | None None
weight normal | medium | semibold | bold | None None
size sm | md | lg | None None
textAlign start | center | end | None None
truncate bool | None None
maxLines int | None None

Card

Versatile container used for structuring widget content.

Field Type Default
key str | None None
id str | None None
type Card 'Card'
asForm bool | None None
children list['WidgetComponent']
background str | ThemeColor | None None
size sm | md | lg | full | None None
padding float | str | Spacing | None None
status WidgetStatusWithFavicon | WidgetStatusWithIcon | None None
collapsed bool | None None
confirm CardAction | None None
cancel CardAction | None None
theme light | dark | None None

Chart

Data visualization component for simple bar/line/area charts.

Field Type Default
key str | None None
id str | None None
type Chart 'Chart'
data list[dict[str, str | int | float]]
series list[Series]
xAxis str | XAxisConfig
showYAxis bool | None None
showLegend bool | None None
showTooltip bool | None None
barGap int | None None
barCategoryGap int | None None
flex int | str | None None
height int | str | None None
width int | str | None None
size int | str | None None
minHeight int | str | None None
minWidth int | str | None None
minSize int | str | None None
maxHeight int | str | None None
maxWidth int | str | None None
maxSize int | str | None None
aspectRatio float | str | None None

Checkbox

Checkbox input component.

Field Type Default
key str | None None
id str | None None
type Checkbox 'Checkbox'
name str
label str | None None
defaultChecked str | None None
onChangeAction ActionConfig | None None
disabled bool | None None
required bool | None None

Col

Vertical flex container.

Field Type Default
children list['WidgetComponent'] | None None
align start | center | end | baseline | stretch | None None
justify start | center | end | between | around | evenly | stretch | None None
wrap nowrap | wrap | wrap-reverse | None None
flex int | str | None None
gap int | str | None None
height float | str | None None
width float | str | None None
size float | str | None None
minHeight int | str | None None
minWidth int | str | None None
minSize int | str | None None
maxHeight int | str | None None
maxWidth int | str | None None
maxSize int | str | None None
padding float | str | Spacing | None None
margin float | str | Spacing | None None
border int | Border | Borders | None None
radius 2xs | xs | sm | md | lg | xl | 2xl | 3xl | 4xl | full | 100% | none | None None
background str | ThemeColor | None None
aspectRatio float | str | None None
key str | None None
id str | None None
type Col 'Col'

DatePicker

Date picker input component.

Field Type Default
key str | None None
id str | None None
type DatePicker 'DatePicker'
name str
onChangeAction ActionConfig | None None
placeholder str | None None
defaultValue datetime | None None
min datetime | None None
max datetime | None None
variant solid | soft | outline | ghost | None None
size 3xs | 2xs | xs | sm | md | lg | xl | 2xl | 3xl | None None
side top | bottom | left | right | None None
align start | center | end | None None
pill bool | None None
block bool | None None
clearable bool | None None
disabled bool | None None

Divider

Visual divider separating content sections.

Field Type Default
key str | None None
id str | None None
type Divider 'Divider'
color str | ThemeColor | None None
size int | str | None None
spacing int | str | None None
flush bool | None None

Form

Form wrapper capable of submitting onSubmitAction.

Field Type Default
children list['WidgetComponent'] | None None
align start | center | end | baseline | stretch | None None
justify start | center | end | between | around | evenly | stretch | None None
wrap nowrap | wrap | wrap-reverse | None None
flex int | str | None None
gap int | str | None None
height float | str | None None
width float | str | None None
size float | str | None None
minHeight int | str | None None
minWidth int | str | None None
minSize int | str | None None
maxHeight int | str | None None
maxWidth int | str | None None
maxSize int | str | None None
padding float | str | Spacing | None None
margin float | str | Spacing | None None
border int | Border | Borders | None None
radius 2xs | xs | sm | md | lg | xl | 2xl | 3xl | 4xl | full | 100% | none | None None
background str | ThemeColor | None None
aspectRatio float | str | None None
key str | None None
id str | None None
type Form 'Form'
onSubmitAction ActionConfig | None None
direction row | col | None None

Icon

Icon component referencing a built-in icon name.

Field Type Default
key str | None None
id str | None None
type Icon 'Icon'
name WidgetIcon
color str | ThemeColor | None None
size xs | sm | md | lg | xl | 2xl | 3xl | None None

Image

Image component with sizing and fitting controls.

Field Type Default
key str | None None
id str | None None
type Image 'Image'
src str
alt str | None None
fit cover | contain | fill | scale-down | none | None None
position top left | top | top right | left | center | right | bottom left | bottom | bottom right | None None
radius 2xs | xs | sm | md | lg | xl | 2xl | 3xl | 4xl | full | 100% | none | None None
frame bool | None None
flush bool | None None
height int | str | None None
width int | str | None None
size int | str | None None
minHeight int | str | None None
minWidth int | str | None None
minSize int | str | None None
maxHeight int | str | None None
maxWidth int | str | None None
maxSize int | str | None None
margin int | str | Spacing | None None
background str | ThemeColor | None None
aspectRatio float | str | None None
flex int | str | None None

Input

Single-line text input component.

Field Type Default
key str | None None
id str | None None
type Input 'Input'
name str
inputType number | email | text | password | tel | url | None None
defaultValue str | None None
required bool | None None
pattern str | None None
placeholder str | None None
allowAutofillExtensions bool | None None
autoSelect bool | None None
autoFocus bool | None None
disabled bool | None None
variant soft | outline | None None
size 3xs | 2xs | xs | sm | md | lg | xl | 2xl | 3xl | None None
gutterSize 2xs | xs | sm | md | lg | xl | None None
pill bool | None None

Label

Form label associated with a field.

Field Type Default
key str | None None
id str | None None
type Label 'Label'
value str
fieldName str
size xs | sm | md | lg | xl | None None
weight normal | medium | semibold | bold | None None
textAlign start | center | end | None None
color str | ThemeColor | None None

ListView

Container component for rendering collections of list items.

Field Type Default
key str | None None
id str | None None
type ListView 'ListView'
children list[ListViewItem]
limit int | auto | None None
status WidgetStatusWithFavicon | WidgetStatusWithIcon | None None
theme light | dark | None None

ListViewItem

Single row inside a ListView component.

Field Type Default
key str | None None
id str | None None
type ListViewItem 'ListViewItem'
children list['WidgetComponent']
onClickAction ActionConfig | None None
gap int | str | None None
align start | center | end | baseline | stretch | None None

Markdown

Widget rendering Markdown content, optionally streamed.

Field Type Default
key str | None None
id str | None None
type Markdown 'Markdown'
value str
streaming bool | None None

RadioGroup

Grouped radio input control.

Field Type Default
key str | None None
id str | None None
type RadioGroup 'RadioGroup'
name str
options list[RadioOption] | None None
ariaLabel str | None None
onChangeAction ActionConfig | None None
defaultValue str | None None
direction row | col | None None
disabled bool | None None
required bool | None None

Row

Horizontal flex container.

Field Type Default
children list['WidgetComponent'] | None None
align start | center | end | baseline | stretch | None None
justify start | center | end | between | around | evenly | stretch | None None
wrap nowrap | wrap | wrap-reverse | None None
flex int | str | None None
gap int | str | None None
height float | str | None None
width float | str | None None
size float | str | None None
minHeight int | str | None None
minWidth int | str | None None
minSize int | str | None None
maxHeight int | str | None None
maxWidth int | str | None None
maxSize int | str | None None
padding float | str | Spacing | None None
margin float | str | Spacing | None None
border int | Border | Borders | None None
radius 2xs | xs | sm | md | lg | xl | 2xl | 3xl | 4xl | full | 100% | none | None None
background str | ThemeColor | None None
aspectRatio float | str | None None
key str | None None
id str | None None
type Row 'Row'

Select

Select dropdown component.

Field Type Default
key str | None None
id str | None None
type Select 'Select'
name str
options list[SelectOption]
onChangeAction ActionConfig | None None
placeholder str | None None
defaultValue str | None None
variant solid | soft | outline | ghost | None None
size 3xs | 2xs | xs | sm | md | lg | xl | 2xl | 3xl | None None
pill bool | None None
block bool | None None
clearable bool | None None
disabled bool | None None

Spacer

Flexible spacer used to push content apart.

Field Type Default
key str | None None
id str | None None
type Spacer 'Spacer'
minSize int | str | None None

Text

Widget rendering plain text with typography controls.

Field Type Default
key str | None None
id str | None None
type Text 'Text'
value str
streaming bool | None None
italic bool | None None
lineThrough bool | None None
color str | ThemeColor | None None
weight normal | medium | semibold | bold | None None
width float | str | None None
size xs | sm | md | lg | xl | None None
textAlign start | center | end | None None
truncate bool | None None
minLines int | None None
maxLines int | None None
editable False | EditableProps | None None

Textarea

Multiline text input component.

Field Type Default
key str | None None
id str | None None
type Textarea 'Textarea'
name str
defaultValue str | None None
required bool | None None
pattern str | None None
placeholder str | None None
autoSelect bool | None None
autoFocus bool | None None
disabled bool | None None
variant soft | outline | None None
size 3xs | 2xs | xs | sm | md | lg | xl | 2xl | 3xl | None None
gutterSize 2xs | xs | sm | md | lg | xl | None None
rows int | None None
autoResize bool | None None
maxRows int | None None
allowAutofillExtensions bool | None None

Title

Widget rendering prominent headline text.

Field Type Default
key str | None None
id str | None None
type Title 'Title'
value str
color str | ThemeColor | None None
weight normal | medium | semibold | bold | None None
size sm | md | lg | xl | 2xl | 3xl | 4xl | 5xl | None None
textAlign start | center | end | None None
truncate bool | None None
maxLines int | None None

Transition

Wrapper enabling transitions for a child component.

Field Type Default
key str | None None
id str | None None
type Transition 'Transition'
children WidgetComponent | None