Operations
Available
v1.0.0
Loss Mitigation
Loan count by type
Live preview
Rendered from sample data fed via .data — exactly how your app feeds it.
Data contract
| Column | Type | Req |
|---|---|---|
| Category | string | ✓ |
| Value | number | ✓ |
| Series | string | — |
Emits ready,
error and
widget-select
when a mark is clicked —
wiring up drill-down.
Embed code
URL:
Colours:
<!-- 1. Load the widget (self-registers <afn-lossmitigation>) -->
<script type="module" src="https://widgets-d.afnai.com/cdn/afn-lossmitigation/v1/afn-lossmitigation.js"></script>
<!-- 2. Drop the tag -->
<afn-lossmitigation id="w"></afn-lossmitigation>
<!-- 3. Feed your data -->
<script>
const el = document.querySelector('#w');
el.data = [
{"Category":"Q1","Series":"Forbearance","Value":8},
{"Category":"Q1","Series":"Modification","Value":5},
{"Category":"Q1","Series":"Short Sale","Value":2},
{"Category":"Q1","Series":"Repayment","Value":4},
{"Category":"Q1","Series":"Reinstatement","Value":3},
{"Category":"Q1","Series":"Deed in Lieu","Value":1},
{"Category":"Q2","Series":"Forbearance","Value":10},
{"Category":"Q2","Series":"Modification","Value":6},
{"Category":"Q2","Series":"Short Sale","Value":3},
{"Category":"Q2","Series":"Repayment","Value":5},
{"Category":"Q2","Series":"Reinstatement","Value":2},
{"Category":"Q2","Series":"Deed in Lieu","Value":2},
{"Category":"Q3","Series":"Forbearance","Value":7},
{"Category":"Q3","Series":"Modification","Value":8},
{"Category":"Q3","Series":"Short Sale","Value":1},
{"Category":"Q3","Series":"Repayment","Value":6},
{"Category":"Q3","Series":"Reinstatement","Value":4},
{"Category":"Q3","Series":"Deed in Lieu","Value":1}
];
</script>
v1 gets non-breaking fixes automatically; a breaking change bumps to the next major and never touches your embed.
Bring-your-own-data: your app feeds the rows via .data.
Integration guide — framework setup, versioning and the origin allowlist.