Liquid Fill Chart
Display a percentage value as an animated liquid fill inside a shape. Great for showing completion rates, capacity levels, or KPI progress with a visual wave animation.
Installation
dotnet add package Lumeo.Charts
One-time app setup (AddLumeo(), CSS & JS) is covered in the
installation guide.
Usage
@using Lumeo <LiquidFillChart />
Shape-aware skeleton with reserved space for legend and axes — no layout shift when real data arrives.
API Reference
LiquidFillChart
| Property | Type | Default | Description |
|---|---|---|---|
| Value | double | 0.5 | Fill level as a decimal (0 to 1). |
| Title | string? | null | Title text displayed above the chart. |
| Shape | string | "circle" | Container shape: "circle", "rect", "roundRect", "triangle", "diamond". |
| Color | string? | null | Fill color for the liquid. |
| BackgroundColor | string? | null | Background color of the container. |
| WaveAnimation | bool | true | Enables the wave animation effect. |
| IsLoading | bool | false | When true, renders a shape-matched loading skeleton in place of the chart. Bind to your async fetch state. |
| ShowLoadingSkeleton | bool | true | Set to false to opt out of the skeleton (chart area stays empty while IsLoading is true). |
| SkeletonKind | ChartSkeletonKind | (chart default) | Override the skeleton silhouette (Bars, Line, Area, Pie, Scatter, Grid, Generic). |
| SkeletonStyle | ChartSkeletonStyle | Phantom | Phantom renders the real chart with placeholder data and morphs to real data via ECharts animation. Silhouette falls back to the legacy SVG skeleton overlay. |
| ShowLoadingLabel | bool | true | Shows a small "Loading…" pill in the top-right corner whenever IsLoading is true. Layered on top of any SkeletonStyle. Set to false for bare visuals. (rc.18) |
| LoadingText | string? | "Loading…" | Label rendered next to the spinner inside the loading pill. Set to empty to show the spinner alone. (rc.18) |
| AnimationDuration | int? | null | Entry animation duration in milliseconds for the liquid fill. |
| AnimationEasing | string? | null | ECharts easing function name used during the fill animation. |
| ColorPalette | List<string>? | null | Multi-stop color palette for layered liquid waves. |
| EChartsSource | string? | null | Override URL for the echarts-liquidfill plugin script. |
| Height | string | "350px" | CSS height of the liquid fill chart container. |
| LabelFormat | string? | null | ECharts label format template for the center value label. |
| LabelPosition | string | "center" | Position of the value label inside the container. |
| PhantomCycleMs | int | 1400 | Phantom-mode refresh interval in milliseconds while loading. |
| ShowDataLabels | bool | false | Shows the numeric value label inside the liquid fill. |
| Theme | string? | null | ECharts theme name applied to this chart instance. |
| Toolbox | bool | false | Shows the ECharts toolbox with save-as-image controls. |
| Width | string | "100%" | CSS width of the liquid fill chart container. |