Transaction Manager: Layouts - The stages progress chevron
You can configure a progress bar using layout JSON or YAML and define it either statically or dynamically. See code snippets.
Purpose
The Stages Progress Chevron component is a visual representation of a transaction’s stage progression, typically displayed as a horizontal chevron bar. It can be defined statically or dynamically and is configurable through layout JSON.
Configuration options
The component is placed at the root level of the layout JSON (alongside header or tierDef).
Static definition
Define a list of stages manually.
JSON:
"stageProgress": {
"stageList": [
{ "value": "draft", "label": "Draft" },
{ "value": "stage2", "label": "Stage 2" },
...
],
"currentStage": "draft"
}
YAML:
stageProgress:
stageList:
- value: draft
label: Draft
- value: stage2
label: Stage 2
# ... add more stages as needed
currentStage: draft
stageListdefines each stage’svalueand displaylabel.currentStagehighlights the active stage.If
currentStageis omitted, it defaults totxn.stage. This allows you to use in a default layout used by multiple stages.
Custom picklist-based definition
Use custom fields to dynamically populate the chevron.
JSON:
"stageProgress": {
"stageListField": "txn.custom.stageList",
"currentStageField": "txn.custom.stageList"
}
YAML:
stageProgress:
stageListField: txn.custom.stageList
currentStageField: txn.custom.stageList
stageListFieldspecifies where to pull the list of available stages.currentStageFieldspecifies the field that contains the current stage value.
This method supports:
- Exclusion rules to hide or disable specific stages.
- Determination rules to set the value of the current stage.
Determination rules are useful when multiple stages should display as a single chevron.
Combination use
You can mix static and dynamic configurations:
- Use a static
stageListwith a dynamiccurrentStageField. - If neither
stageListnorstageListFieldis defined, nothing displays. - If neither
currentStagenorcurrentStageFieldis defined,txn.stageis used by default. - If both static and dynamic versions are present, the dynamic version takes precedence.
Theming
The component supports theming using CSS custom properties. The following table shows a non-exhaustive list of relevant variables.
| Variable | Description |
|---|---|
--lgk-ProgressStep-chevron-size |
Overall chevron size |
--lgk-ProgressStep-chevron-width |
Fixed width for chevrons |
--lgk-ProgressStep-chevron-minWidth |
Minimum width per chevron |
--lgk-ProgressStep-chevron-padding |
Padding inside each chevron |
--lgk-ProgressStep-chevron-disabled-opacity |
Opacity for disabled/inactive chevrons |
--lgk-ProgressStep-incomplete-backgroundColor |
Background for incomplete steps |
--lgk-ProgressStep-incomplete-chevron-color |
Chevron icon color for incomplete steps |
--lgk-ProgressStep-current-backgroundColor |
Background for current step |
--lgk-ProgressStep-current-chevron-color |
Chevron icon color for current step |
--lgk-ProgressStep-chevron-label-fontSize |
Font size for stage labels |
--lgk-ProgressStep-chevron-label-fontWeight |
Font weight for stage labels |