Skip to main content

Overview

A UI element that displays the user’s current balance including available, pending, and reserve amounts with an optional withdraw button. This element provides a complete balance overview, including:
  • Displaying available, pending, and reserve balance amounts
  • Optional withdraw button to initiate withdrawals
  • Clickable balance rows that open detailed breakdown modals
  • Treasury balance display when enabled

Usage

Basic usage

Listening to events

Events

Events emitted by the BalanceElement. Listen to these events using the on() method or by passing callback functions in the options.

error

Emitted when an error occurs during element initialization or operation. Callback signature: (error: unknown) => void

ready

Emitted when the element has finished loading and is ready for user interaction. Callback signature: (element: BalanceElement) => void

optionsUpdated

Emitted when the element’s options are updated via updateOptions(). Callback signature: (options: BalanceElementOptions) => void

snapshot

Emitted when the element’s internal state changes. Callback signature: (snapshot: BalanceElementSnapshot) => void

withdraw

Emitted when the user clicks the withdraw button. Call ev.preventDefault() to prevent the element from automatically opening the withdraw modal. Callback signature: (ev: CustomEvent<BalanceElement>) => void

verify

Emitted when the user needs to verify their account before withdrawing. Callback signature: (ev: CustomEvent<BalanceElement>) => void

Methods

mount(container)

Mount the element to a DOM container. The container must be an empty element. The element will be appended as a child. If the element is already mounted, this method will log a warning and return.

unmount()

Remove the element from the DOM and clean up all event listeners. After unmounting, the element instance should not be reused. Create a new element instance if you need to mount again.

updateOptions(options)

Update the element’s configuration options after creation. Only the provided options will be updated; other options remain unchanged. The element will re-render with the new options.

getSnapshot()

Get the current state snapshot of the element. The snapshot contains the element’s current internal state, such as loading status, form values, or other element-specific data. Returns: BalanceElementSnapshot

Styling

Customize this element with appearance.classes. See the styling reference for the full list of stable class names and example snippets.

Types

BalanceElementOptions

Configuration options for the BalanceElement.

BalanceElementSnapshot

Represents the current state of the BalanceElement. Use element.getSnapshot() to get the current state, or listen to the snapshot event for changes.