IconButtonTileSchema

@Serializable
@SerialName(value = "IconButton")
data class IconButtonTileSchema(val id: String, val events: SerializableImmutableList<EventSchema>?, val style: StyleSchema, val searchableTerms: SerializableImmutableList<String>?, val visibility: TileSchema.Visibility, val icon: IconSchema, val buttonType: IconButtonTileSchema.Type = Type.DEFAULT, val loading: Boolean = false, val enabled: Boolean) : TileSchema

Renders a Material 3 icon button. The concrete composable is picked by buttonType: Type.DEFAULTIconButton, Type.FILLEDFilledIconButton, Type.FILLED_TONALFilledTonalIconButton, Type.OUTLINEDOutlinedIconButton.

Content: when loading is true the button shows a 24dp CircularProgressIndicator (2dp stroke, round cap, tinted with LocalContentColor); otherwise it renders icon with its color, size and style applied.

Enabled state: the button is interactive only when enabled is true and loading is false — the two are combined into the single enabled the Material composable receives, so a loading button is disabled for real: it takes Material's disabled colors and is reported as disabled to accessibility services. A slow action therefore cannot be submitted twice.

Triggers dispatched:

  • OnClickEventTrigger — fired when the button is tapped while interactive.

Constructors

Link copied to clipboard
constructor(id: String, events: SerializableImmutableList<EventSchema>?, style: StyleSchema, searchableTerms: SerializableImmutableList<String>?, visibility: TileSchema.Visibility, icon: IconSchema, buttonType: IconButtonTileSchema.Type = Type.DEFAULT, loading: Boolean = false, enabled: Boolean)

Types

Link copied to clipboard

Properties

Link copied to clipboard
@SerialName(value = "buttonType")
val buttonType: IconButtonTileSchema.Type
Link copied to clipboard
@SerialName(value = "enabled")
val enabled: Boolean
Link copied to clipboard
@SerialName(value = "events")
open override val events: SerializableImmutableList<EventSchema>?
Link copied to clipboard
@SerialName(value = "icon")
val icon: IconSchema
Link copied to clipboard
@SerialName(value = "id")
open override val id: String
Link copied to clipboard
@SerialName(value = "loading")
val loading: Boolean
Link copied to clipboard
@SerialName(value = "searchableTerms")
open override val searchableTerms: SerializableImmutableList<String>?
Link copied to clipboard
@SerialName(value = "style")
open override val style: StyleSchema
Link copied to clipboard
@SerialName(value = "visibility")
open override val visibility: TileSchema.Visibility

Functions

Link copied to clipboard
open fun isGone(): Boolean
Link copied to clipboard
open fun isVisible(): Boolean