# XWUIOpsHRIqamaTrackingPage

Saudi work-permit (Iqama) compliance dashboard (route `/en/hr/iqama-tracking`) that extends `XWUIShellPage` with a toolbar (search + Nationality/Status/Sponsor/Profession filter dropdowns), a 4-tile KPI row (Expired / Expiring / Valid / Total), and an `XWUIDataGrid` carrying the 11-column Iqama matrix: Employee Code, Full Name, Nationality, Iqama Number (10-digit), Profession, Sponsor, Issue Date, Expiry Date, Days Remaining, Status, Actions. Each row's `state` (valid / expiring / expired / "No Iqama" for missing) drives the Status badge and the Expiry/Days-Remaining colour coding via an embedded `XWUIDisplayDueDate`; dates use the dd/mm/yyyy Saudi convention with an `expiryIso` companion. Populate it with `rows`, `kpis`, and the four filter `*Options` arrays. Use it so HR can forecast Iqama renewals and avoid government overstay penalties - the Iqama sibling of the Visa Tracking page, diverging only on the Iqama-specific Sponsor and Profession columns.

## Basic Usage

Iqama Tracking page with two sample rows - one Iqama inside the renewal window and one already expired - plus populated Nationality/Sponsor/Profession dropdowns.

```example
file: examples/BasicUsage.ts
html: examples/BasicUsage.html
title: Basic Usage
description: KPI counts (1 expired / 1 expiring / 14 valid / 16 total) over an expiring Egyptian Camera Operator and an expired Filipino Sound Engineer, each with Iqama number, sponsor, and issue/expiry dates.
```

## Renewal Window Queue

The monthly renewal-window cohort where every row sits in the expiring state within ~90 days, with the Status filter and the kebab row-action callback wired.

```example
file: examples/RenewalWindowQueue.ts
html: examples/RenewalWindowQueue.html
title: Renewal Window Queue
description: Six expiring Iqamas across nationalities, professions and both sponsors, framed by the KPI strip as the actionable renewal queue.
```

## Sponsor Compliance Audit

A kafala/MOL-readiness audit grouped by the two sponsor entities, surfacing missing-Iqama and expired records, mounted inside the Ops shell.

```example
file: examples/SponsorComplianceAudit.ts
html: examples/SponsorComplianceAudit.html
title: Sponsor Compliance Audit
description: Missing-Iqama rows (no number, null dates) plus an expired record across two sponsors, with the sponsor filter callback wired in the shell.
```

```api
```
