Skip to main content

Dashboard components

This article describes components in Components Library > Dashboard.

ReactSpeedometer

The ReactSpeedometer component displays a speedometer gauge that visualizes a numeric value as a needle position within a colored arc. It supports configurable value ranges, segment colors, needle animation, and custom segment labels. In the App Designer, select a ReactSpeedometer on the canvas to configure it through three tab pages in the Settings panel: Props, Styles, and Advanced.

Props

The Props tab contains the data, appearance, and dimension properties of the ReactSpeedometer.

If a property displays the Variable Binding icon Variable Binding, that means it supports variable binding.

PropertyUI ControlDefaultDescription
ValueNumber input0Sets the current value displayed by the needle. The value must be between Min value and Max value.
Min valueNumber input0Sets the minimum value at the start of the gauge arc.
Max valueNumber input1000Sets the maximum value at the end of the gauge arc.
Force renderToggle switchOffForces a full component re-render whenever props change.
WidthNumber input300Sets the width (in the unit specified by Dimension unit) of the speedometer.
HeightNumber input300Sets the height (in the unit specified by Dimension unit) of the SVG element.
Dimension unitText inputpxSpecifies the CSS unit for the width and height values. Accepted values: em, ex, px, in, cm, mm, pt, pc.
Fluid widthToggle switchOffWhen enabled, the speedometer expands to fill the width of its parent container, ignoring the Width value.
Needle colorColor pickersteelblueSets the color of the needle.
Start colorColor picker#FF471ASets the starting color of the arc gradient.
End colorColor picker#33CC33Sets the ending color of the arc gradient.
Segment colorsArray setter (Color picker items)-Defines custom colors for individual arc segments, overriding the gradient defined by Start color and End color.
Needle transitionDropdown (easeLinear | easeQuadIn | easeQuadOut | easeQuadInOut | easeCubicIn | easeCubicOut | easeCubicInOut | easePolyIn | easePolyOut | easePolyInOut | easeSinIn | easeSinOut | easeSinInOut | easeExpIn | easeExpOut | easeExpInOut | easeCircleIn | easeCircleOut | easeCircleInOut | easeBounceIn | easeBounceOut | easeBounceInOut | easeBackIn | easeBackOut | easeBackInOut | easeElasticIn | easeElasticOut | easeElasticInOut | easeElastic)Ease quad in outSpecifies the D3 easing function used for the needle animation.
Needle transition durationNumber input500Sets the duration (in milliseconds) of the needle animation when the value changes.
Needle height ratioNumber input0.9Sets the length of the needle relative to the gauge radius. Accepts values between 0 and 1.
Ring widthNumber input60Sets the width (in pixels) of the colored arc ring.
Text colorColor picker#666Sets the color of all text elements on the gauge, including labels and the current value.
Value formatText input-Sets a format string used to format the displayed value (for example, d for integers, .1f for one decimal place).
Current value placeholder styleText input${value}Sets a custom placeholder string used in Current value text as an alternative to ${value}.
Current value textText input${value}Sets the template string for the current value label. Use ${value} as a placeholder (for example, Current value: ${value}).
Custom segment stopsArray setter (Number input items)-Defines custom boundary values for arc segments. When set, overrides the automatic segment distribution between Min value and Max value.
Custom segment labelsArray setter (Object items)-Defines custom labels for each arc segment. Each label item has a Text, Position (INSIDE or OUTSIDE), Font size, and Color.
Label font sizeText input14pxSets the font size for the arc segment labels. Accepts a CSS font size string (for example, 14px).
Value text font sizeText input16pxSets the font size for the current value label. Accepts a CSS font size string (for example, 16px).
Value text font weightText inputboldSets the font weight for the current value label (for example, bold or 700).
Padding horizontalNumber input0Sets the horizontal padding (in pixels) around the gauge to ensure segment labels are not clipped.
Padding verticalNumber input0Sets the vertical padding (in pixels) around the gauge to ensure segment labels are not clipped.

Advanced (Props sub-section)

Within the Props tab, an Advanced collapsible section provides:

PropertyUI ControlDefaultDescription
IDText inputAuto-generatedUnique HTML identifier for the element. Auto-generated from the component title (non-alphanumeric characters are replaced by underscores). You can override this value manually.
NameText inputAuto-generatedHTML name attribute for form identification. Auto-generated from the component title. You can override this value manually.

Styles

For more information, refer to Styles.

Advanced

For more information, refer to Advanced.

Best practices

  1. Set Correct Value Bounds

    • Always ensure Value is between Min value and Max value at runtime. Values outside this range will cause the needle to render at the arc boundary.
  2. Use Custom Segment Stops for Thresholds

    • Use Custom segment stops together with Segment colors to define meaningful threshold zones (for example, green for normal, yellow for warning, red for critical).
  3. Use Fluid Width for Responsive Layouts

    • Enable Fluid width when the speedometer is placed inside a responsive container such as a Card or Cell that resizes with the viewport. When enabled, the Width value is ignored.
  4. Format Values for Readability

    • Use the Value format property with a format string to display values in a human-readable form (for example, .0f for rounded integers or ,.2f for thousands-separated decimals).

Last updated on 20 May 2026