Skip to main content
Use Remote UI components when the standard configuration does not provide the behavior you need. Add a component with "type": "custom" and its custom_type value. This page covers the PNLight components you can add to a Remote UI configuration. Components marked as schema v3 require "schemaVersion": 3 in the Remote UI document. Components marked as schema v3 require "schemaVersion": 3 at the Remote UI document root.

Circular loader

pnlight.circular_loader displays a circular loading indicator in your Remote UI screen. Use it while your app or the screen loads content.
Set the component size with its width and height fields. Use { "type": "wrap_content" } for either dimension when you want the loader to use its intrinsic size.

Progress bar

pnlight.progress_bar displays an animated linear progress bar. Use it for scan progress, onboarding completion, loading steps, or any Remote UI state where a filled bar should move smoothly between values.
This is a schema v3 component. The Remote UI document must declare "schemaVersion": 3.

Animated number

pnlight.animated_number displays a number that counts between values. Use it for counters, savings amounts, progress summaries, or metrics that should update smoothly.
This is a schema v3 component. The Remote UI document must declare "schemaVersion": 3.
Preview the configuration in Remote UI, then test the placement in your app before you enable it for users.

Progress bar (schema v3)

pnlight.progress_bar displays an animated progress indicator. Use it in schema v3 documents when a screen needs to show completion, scanning, loading, or another fractional state.
For variable-driven progress, keep progress as the literal initial value and put the DivKit variable name in progress_variable.

Animated number (schema v3)

pnlight.animated_number displays a number that counts from its current value to a new target. Use it in schema v3 documents for counters, scan results, scores, and other numeric summaries.
For variable-driven counts, keep value as the literal initial value and put the DivKit variable name in value_variable.