Package-level declarations

Types

Link copied to clipboard
@Serializable
@SerialName(value = "Inline")
object InlineEventTrigger : EventTrigger

The trigger a child event uses when it's meant to run unconditionally as part of a plain fan-out (RunEvents, RunCancellableEvents) rather than being matched against a real outcome — those two events run their own events list unconditionally regardless of what trigger each child declares, so inline() documents that intent at the call site instead of implying a real condition like onSuccess() would.

Link copied to clipboard
@Serializable
@SerialName(value = "OnAsyncImageLoadFailure")
object OnAsyncImageLoadFailureEventTrigger : EventTrigger

Fires on AsyncImage when Coil fails to load the image — can fire more than once over the tile's lifetime, including on every reload triggered by model changing.

Link copied to clipboard
@Serializable
@SerialName(value = "OnAsyncImageLoadStart")
object OnAsyncImageLoadStartEventTrigger : EventTrigger

Fires on AsyncImage when Coil enters its loading state — can fire more than once over the tile's lifetime, including on every reload triggered by model changing.

Link copied to clipboard
@Serializable
@SerialName(value = "OnAsyncImageLoadSuccess")
object OnAsyncImageLoadSuccessEventTrigger : EventTrigger

Fires on AsyncImage when the image is decoded and drawn — can fire more than once over the tile's lifetime, including on every reload triggered by model changing.

Link copied to clipboard
@Serializable
@SerialName(value = "OnCancelled")
object OnCancelledEventTrigger : EventTrigger

Fires when the user dismisses/cancels an interactive platform flow without completing it — OpenFilePicker/TakePicture/GetImageFromGallery (no choice made) and DownloadFile (the platform save dialog cancelled), instead of the matching onFailure().

Link copied to clipboard
@Serializable
@SerialName(value = "OnCheckChanged")
object OnCheckChangedEventTrigger : EventTrigger

Fires on Checkbox/Switch/FilterChip/InputChip on every toggle, always — after onCheck()/onUncheck(), whichever applies.

Link copied to clipboard
@Serializable
@SerialName(value = "OnCheck")
object OnCheckEventTrigger : EventTrigger

Fires on Checkbox/Switch/FilterChip/InputChip when it becomes checked/selected — followed, on the same tap, by the generic onCheckChanged().

Link copied to clipboard
@Serializable
@SerialName(value = "OnClick")
object OnClickEventTrigger : EventTrigger

Fires when an interactive tile is tapped — the single most common trigger in the catalog, declared on nearly every clickable tile (Button, IconButton, chips, Card, containers with a declared click handler, etc.).

Link copied to clipboard
@Serializable
@SerialName(value = "OnCountdownTimerTick")
data object OnCountdownTimerTickEventTrigger : EventTrigger

Fires repeatedly on StartCountdownTimer, once per tick, carrying the remaining value as incoming data.

Link copied to clipboard
@Serializable
@SerialName(value = "OnDataReceived")
object OnDataReceivedEventTrigger : EventTrigger

Fires alongside onSuccess() on CheckForReceivedData when a value exists under the requested dataKey, carrying that value as incoming data.

Link copied to clipboard
@Serializable
@SerialName(value = "OnDatePickerClose")
data object OnDatePickerCloseEventTrigger : EventTrigger

Fires on DatePicker whenever the dialog closes — after confirming, on cancel, or on dismiss.

Link copied to clipboard
@Serializable
@SerialName(value = "OnDatePickerOpen")
data object OnDatePickerOpenEventTrigger : EventTrigger

Fires on DatePicker when the field is pressed while the dialog is closed.

Link copied to clipboard
@Serializable
@SerialName(value = "OnDateSelected")
data object OnDateSelectedEventTrigger : EventTrigger

Fires on DatePicker when the confirm button is pressed, carrying the picked ISO date string (yyyy-MM-dd) as incoming data.

Link copied to clipboard
@Serializable
@SerialName(value = "OnDisplay")
object OnDisplayEventTrigger : EventTrigger

Fires once, the first time the declaring tile enters composition — implemented by every built-in container/interactive tile via TileRenderingScope.OnDisplayEffect() (extensions/TileRenderingScopeExtensions.kt), keyed on the tile's own id so it doesn't re-fire on plain recomposition.

Link copied to clipboard
@Serializable
@SerialName(value = "OnDownloadFailure")
object OnDownloadFailureEventTrigger : EventTrigger

Fires alongside onFailure() when DownloadFile/DownloadFileToDisk/DownloadFileToMemory fails (not user cancellation — see onCancelled()), carrying the causing Throwable as incoming data.

Link copied to clipboard
@Serializable
@SerialName(value = "OnDownloadFinish")
object OnDownloadFinishEventTrigger : EventTrigger

Fires alongside onSuccess() when DownloadFile/DownloadFileToDisk/DownloadFileToMemory finishes writing successfully.

Link copied to clipboard
@Serializable
@SerialName(value = "OnDownloadProgress")
object OnDownloadProgressEventTrigger : EventTrigger

Fires repeatedly on DownloadFile/DownloadFileToDisk/DownloadFileToMemory as the download progresses, carrying progress as incoming data.

Link copied to clipboard
@Serializable
@SerialName(value = "OnDropdownListClose")
data object OnDropdownListCloseEventTrigger : EventTrigger

Fires on DropdownList whenever the menu closes — after picking an item, tapping the anchor while open, or dismissing by tapping outside.

Link copied to clipboard
@Serializable
@SerialName(value = "OnDropdownListItemSelected")
data class OnDropdownListItemSelectedEventTrigger(val id: String) : EventTrigger

Fires on DropdownList when an item is picked, carrying the picked option's id as incoming data.

Link copied to clipboard
@Serializable
@SerialName(value = "OnDropdownListOpen")
data object OnDropdownListOpenEventTrigger : EventTrigger

Fires on DropdownList when its anchor is tapped while the menu is closed.

Link copied to clipboard
@Serializable
@SerialName(value = "OnEmptyDir")
object OnEmptyDirEventTrigger : EventTrigger

Fires when ListFiles finds the requested directory but it holds no files. No data is passed downstream.

Link copied to clipboard
@Serializable
@SerialName(value = "OnFailure")
object OnFailureEventTrigger : EventTrigger

The generic failure outcome, fired by nearly every event in the catalog when its work doesn't succeed. Often carries the causing Throwable/parsed error body as incoming data — see the matching event's own catalog entry for exactly what.

@Serializable
@SerialName(value = "OnHeightBreakpointNotSatisfied")
object OnHeightBreakpointNotSatisfiedEventTrigger : EventTrigger

Fires on AdaptiveVisibility on first composition and every height change, when its heightVisibility condition is not satisfied.

Link copied to clipboard
@Serializable
@SerialName(value = "OnHeightBreakpointSatisfied")
object OnHeightBreakpointSatisfiedEventTrigger : EventTrigger

Fires on AdaptiveVisibility on first composition and every height change, when its heightVisibility condition is satisfied.

Link copied to clipboard
@Serializable
@SerialName(value = "OnInsufficientDiskSpace")
object OnInsufficientDiskSpaceEventTrigger : EventTrigger

Fires when DownloadFileToDisk fails because the device has no free storage left to hold the file, carrying the causing Throwable as incoming data. Replaces onDownloadFailure() and onFailure() for that failure — neither of them fires — and the partially written file is deleted before it fires.

Link copied to clipboard
@Serializable
@SerialName(value = "OnKeyboardDone")
data object OnKeyboardDoneEventTrigger : EventTrigger

Fires on TextField when the IME action button is pressed and keyboardOptions.imeAction is Done.

Link copied to clipboard
@Serializable
@SerialName(value = "OnKeyboardGo")
data object OnKeyboardGoEventTrigger : EventTrigger

Fires on TextField when the IME action button is pressed and keyboardOptions.imeAction is Go.

Link copied to clipboard
@Serializable
@SerialName(value = "OnKeyboardNext")
data object OnKeyboardNextEventTrigger : EventTrigger

Fires on TextField when the IME action button is pressed and keyboardOptions.imeAction is Next.

Link copied to clipboard
@Serializable
@SerialName(value = "OnKeyboardPrevious")
data object OnKeyboardPreviousEventTrigger : EventTrigger

Fires on TextField when the IME action button is pressed and keyboardOptions.imeAction is Previous.

Link copied to clipboard
@Serializable
@SerialName(value = "OnKeyboardSearch")
data object OnKeyboardSearchEventTrigger : EventTrigger

Fires on TextField when the IME action button is pressed and keyboardOptions.imeAction is Search.

Link copied to clipboard
@Serializable
@SerialName(value = "OnKeyboardSend")
data object OnKeyboardSendEventTrigger : EventTrigger

Fires on TextField when the IME action button is pressed and keyboardOptions.imeAction is Send.

Link copied to clipboard
@Serializable
@SerialName(value = "OnLeadingIconClick")
object OnLeadingIconClickEventTrigger : EventTrigger

Fires on TextField when leadingIcon is tapped — only when clickableLeadingIcon is true (defaults to false, unlike trailingIcon's default).

Link copied to clipboard
@Serializable
@SerialName(value = "OnLoadTilesFailure")
object OnLoadTilesFailureEventTrigger : EventTrigger

Fires on LazyTiles when its network fetch or response decoding fails, carrying the causing Throwable as incoming data.

Link copied to clipboard
@Serializable
@SerialName(value = "OnLoadTilesStart")
object OnLoadTilesStartEventTrigger : EventTrigger

Fires on LazyTiles right before its network fetch begins.

Link copied to clipboard
@Serializable
@SerialName(value = "OnLoadTilesSuccess")
object OnLoadTilesSuccessEventTrigger : EventTrigger

Fires on LazyTiles when its network fetch succeeds and the response was decoded into a tile list.

Link copied to clipboard
@Serializable
@SerialName(value = "OnLongPress")
object OnLongPressEventTrigger : EventTrigger

Fires when an interactive tile is long-pressed — only made interactive for long-press when this trigger is actually declared on the tile (e.g. Box/Column/Row only get a long-press handler installed if something listens for it).

Link copied to clipboard
@Serializable
@SerialName(value = "OnMenuItemClick")
data class OnMenuItemClickEventTrigger(val itemId: String) : EventTrigger

Fires on Menu when the item whose id equals itemId is tapped.

Link copied to clipboard
@Serializable
@SerialName(value = "OnNavigationBarItemClick")
data class OnNavigationBarItemClickEventTrigger(val itemId: String) : EventTrigger

Fires on NavigationBar when the item whose id equals itemId is tapped.

Link copied to clipboard
@Serializable
@SerialName(value = "OnNavigationEntrySet")
data class OnNavigationEntrySetEventTrigger(val screenId: String) : EventTrigger

Fires on NestedNavigationGraph whenever an entry is displayed — including the start destination, and again every time navigation returns to that entry — carrying the entry's own screenId.

Link copied to clipboard
@Serializable
@SerialName(value = "OnNavigationRailItemClick")
data class OnNavigationRailItemClickEventTrigger(val itemId: String) : EventTrigger

Fires on NavigationRail when the item whose id equals itemId is tapped.

Link copied to clipboard
@Serializable
@SerialName(value = "OnNetworkFailure")
data class OnNetworkFailureEventTrigger(val httpCode: Int) : EventTrigger

Fires on SendNetworkRequest/UploadFile instead of onFailure() when a child is wired to the exact non-2xx HTTP status code the response came back with.

Link copied to clipboard
@Serializable
@SerialName(value = "OnNetworkResponse")
data class OnNetworkResponseEventTrigger(val httpCode: Int) : EventTrigger

Fires on SendNetworkRequest/UploadFile instead of onSuccess() when a child is wired to the exact HTTP status code the response came back with.

Link copied to clipboard
@Serializable
@SerialName(value = "OnPageChanged")
data class OnPageChangedEventTrigger(val direction: OnPageChangedEventTrigger.Direction) : EventTrigger

Fires on Pager/Carousel when the current page/item settles on a new one — once per matching direction per change, so wiring several directions runs several chains for the same page change. The initial page doesn't fire this. Carries the new page/item index (an Int) as incomingData — a mixed-content template like "Page: <||>" resolves against it directly.

Link copied to clipboard
@Serializable
@SerialName(value = "OnPause")
object OnPauseEventTrigger : EventTrigger

Fires on the screen itself (a screen-level trigger, not tied to any one tile) when the screen's lifecycle pauses — the client's internal ScreenTileRenderer wires this to Compose's LifecycleResumeEffect/onPauseOrDispose.

Link copied to clipboard
@Serializable
@SerialName(value = "OnPermissionRationale")
object OnPermissionRationaleEventTrigger : EventTrigger

Fires on RequestPermission when the platform wants a rationale shown to the user before asking again — real in practice only on Android, per its own runtime-permission APIs; other platforms only ever produce onPermissionsAcquired()/onPermissionsDenied().

Link copied to clipboard
@Serializable
@SerialName(value = "OnPermissionsAcquired")
object OnPermissionsAcquiredEventTrigger : EventTrigger

Fires alongside onSuccess() on RequestPermission when every requested permission was granted.

Link copied to clipboard
@Serializable
@SerialName(value = "OnPermissionsDenied")
object OnPermissionsDeniedEventTrigger : EventTrigger

Fires alongside onFailure() on RequestPermission when at least one requested permission was denied.

Link copied to clipboard
@Serializable
@SerialName(value = "OnPull")
object OnPullEventTrigger : EventTrigger

Fires on PullToRefresh when the user completes a pull gesture — the trigger to hook the real refresh work to.

Link copied to clipboard
@Serializable
@SerialName(value = "OnQueryChanged")
object OnQueryChangedEventTrigger : EventTrigger

Fires on SearchBar on every keystroke where the query text actually changes, carrying the new query as incoming data.

Link copied to clipboard
@Serializable
@SerialName(value = "OnQueryCleared")
object OnQueryClearedEventTrigger : EventTrigger

Fires on SearchBar when the query is cleared.

Link copied to clipboard
@Serializable
@SerialName(value = "OnResume")
object OnResumeEventTrigger : EventTrigger

Fires on the screen itself (a screen-level trigger, not tied to any one tile) when the screen's lifecycle resumes — the client's internal ScreenTileRenderer wires this to Compose's LifecycleResumeEffect.

Link copied to clipboard
@Serializable
@SerialName(value = "OnScreenStart")
object OnScreenStartEventTrigger : EventTrigger

Fires on the screen itself (a screen-level trigger, not tied to any one tile) when the screen enters composition — the client's internal ScreenTileRenderer wires this to Compose's onStartOrDispose.

Link copied to clipboard
@Serializable
@SerialName(value = "OnScreenStop")
object OnScreenStopEventTrigger : EventTrigger

Fires on the screen itself (a screen-level trigger, not tied to any one tile) when the screen leaves composition — the client's internal ScreenTileRenderer wires this to Compose's onStopOrDispose.

Link copied to clipboard
@Serializable
@SerialName(value = "OnScrolled")
data class OnScrolledEventTrigger(val direction: OnScrolledEventTrigger.ScrollDirection) : EventTrigger

Fires on Column/Row (when scrollable = true) and LazyColumn/LazyRow whenever the scroll direction changes — not on every scroll delta. Column/LazyColumn only ever produce ScrollDirection.Top/ScrollDirection.Bottom; Row/LazyRow only ever produce ScrollDirection.Start/ScrollDirection.End.

Link copied to clipboard
@Serializable
@SerialName(value = "OnScrollThresholdReached")
object OnScrollThresholdReachedEventTrigger : EventTrigger

Fires on LazyColumn/LazyRow when the scroll position comes within scrollThreshold items of the end of the list — the infinite-scroll pagination signal, guarded by Int.ThresholdReachedEffect so it doesn't re-fire until the list actually grows past its last fired count — or, after a failed page shrinks the list back down, past whatever smaller count it shrank to.

Link copied to clipboard
@Serializable
@SerialName(value = "OnSearch")
object OnSearchEventTrigger : EventTrigger

Fires on SearchBar when the search action is submitted (e.g. the keyboard's search IME action).

Link copied to clipboard
@Serializable
@SerialName(value = "OnSelected")
object OnSelectEventTrigger : EventTrigger

Fires on RadioButton only for the radio button that becomes selected — the ones that lose selection within the same groupId fire nothing.

Link copied to clipboard
@Serializable
@SerialName(value = "OnSnackbarAction")
object OnSnackbarActionEventTrigger : EventTrigger

Fires when a snackbar shown via DisplaySnackbar has its action button pressed — fires later, asynchronously, well after DisplaySnackbar's own onSuccess() (which only confirms the show broadcast was sent).

Link copied to clipboard
@Serializable
@SerialName(value = "OnSnackbarDismissed")
object OnSnackbarDismissedEventTrigger : EventTrigger

Fires when a snackbar shown via DisplaySnackbar goes away without its action button being pressed — fires later, asynchronously, well after DisplaySnackbar's own onSuccess().

Link copied to clipboard
@Serializable
@SerialName(value = "OnStart")
object OnStartEventTrigger : EventTrigger

Fires on an event right before its real (typically async/network) work begins — lets a child react to "the operation started" separately from its eventual outcome (e.g. showing a loading spinner). Declared by most networking and data-reading events (SendNetworkRequest, UploadFile, GetData, GetScreen/RefreshScreen, the download events).

Link copied to clipboard
@Serializable
@SerialName(value = "OnSuccess")
object OnSuccessEventTrigger : EventTrigger

The generic success outcome, fired by nearly every event in the catalog when its work succeeds. Often carries the produced value as incoming data — see the matching event's own catalog entry for exactly what.

Link copied to clipboard
@Serializable
@SerialName(value = "OnSystemBroadcast")
data class OnSystemBroadcastEventTrigger(val broadcastId: String) : EventTrigger

Fires on SystemBroadcastListener when a value is published on the app-wide system broadcast channel under broadcastId (via BroadcastToSystem), carrying the published value as incoming data.

Link copied to clipboard
@Serializable
@SerialName(value = "OnTabItemClick")
data class OnTabItemClickEventTrigger(val itemId: String) : EventTrigger

Fires on Tabs when the tab whose id equals itemId is tapped.

Link copied to clipboard
@Serializable
@SerialName(value = "OnTextChanged")
object OnTextChangedEventTrigger : EventTrigger

Fires on TextField on every keystroke where the text actually changes vs. its current value, carrying the new text as incoming data.

Link copied to clipboard
@Serializable
@SerialName(value = "OnTimeFinish")
data object OnTimeFinishEventTrigger : EventTrigger

Fires on StartCountdownTimer when the countdown reaches zero.

Link copied to clipboard
@Serializable
@SerialName(value = "OnTimeLoop")
data object OnTimeLoopEventTrigger : EventTrigger

Fires repeatedly on StartTimeLoop, once per tick.

Link copied to clipboard
@Serializable
@SerialName(value = "OnTimePickerClose")
data object OnTimePickerCloseEventTrigger : EventTrigger

Fires on TimePicker whenever the dialog closes — after confirming, on cancel, or on dismiss.

Link copied to clipboard
@Serializable
@SerialName(value = "OnTimePickerOpen")
data object OnTimePickerOpenEventTrigger : EventTrigger

Fires on TimePicker when the field is pressed while the dialog is closed.

Link copied to clipboard
@Serializable
@SerialName(value = "OnTimeSelected")
data object OnTimeSelectedEventTrigger : EventTrigger

Fires on TimePicker when the confirm button is pressed, carrying the picked ISO time string (HH:mm) as incoming data.

Link copied to clipboard
@Serializable
@SerialName(value = "OnTrailingIconClick")
object OnTrailingIconClickEventTrigger : EventTrigger

Fires on TextField when trailingIcon is tapped — only when clickableTrailingIcon is true (defaults to true, matching the common "clear button" pattern).

Link copied to clipboard
@Serializable
@SerialName(value = "OnUncheck")
object OnUncheckEventTrigger : EventTrigger

Fires on Checkbox/Switch/FilterChip/InputChip when it becomes unchecked/unselected — followed, on the same tap, by the generic onCheckChanged().

Link copied to clipboard
@Serializable
@SerialName(value = "OnUploadProgress")
object OnUploadProgressEventTrigger : EventTrigger

Fires repeatedly on UploadFile as the upload progresses, carrying progress as incoming data.

@Serializable
@SerialName(value = "OnWidthBreakpointNotSatisfied")
object OnWidthBreakpointNotSatisfiedEventTrigger : EventTrigger

Fires on AdaptiveVisibility on first composition and every width change, when its widthVisibility condition is not satisfied.

Link copied to clipboard
@Serializable
@SerialName(value = "OnWidthBreakpointSatisfied")
object OnWidthBreakpointSatisfiedEventTrigger : EventTrigger

Fires on AdaptiveVisibility on first composition and every width change, when its widthVisibility condition is satisfied.