# XWUIHrShiftCalendarPage

Shell page that lists assigned shifts in a data grid. It extends `HrListPage`, fetches rows from `hrApi.listShifts()` (accepting either a bare array or a `{ items }` envelope), and renders them in an `XWUIDataGrid` with three fixed columns - `date` (Date), `employeeName` (Employee), and `shiftName` (Shift) - styled striped and hoverable. If `data.rows` is pre-supplied it is used directly; an empty result shows the shared empty state (`No records found` / `لا توجد بيانات`). Default page title is `Shift Calendar`, with the usual `XWUIShellPage` chrome and `conf_comp.hrApiOptions` / `conf_comp.hrApi` / `conf_comp.locale` controls.

## Basic Usage

Mounts the Shift Calendar page against a sandbox mock HR API (`hrApiOptions: { env: 'sandbox' }`, `locale: 'en'`); shifts load asynchronously and populate the Date / Employee / Shift data grid.

```example
file: examples/BasicUsage.ts
html: examples/BasicUsage.html
title: Basic Usage
description: Renders the Shift Calendar page, loading shifts from a sandbox mock IHrApi into a striped Date / Employee / Shift data grid.
```

## Arabic Locale (RTL)

Renders the page right-to-left with an Arabic title by passing `locale: 'ar'`.

```example
file: examples/ArabicLocale.ts
html: examples/ArabicLocale.html
title: Arabic Locale (RTL)
description: Renders the page right-to-left with an Arabic title by passing locale 'ar'.
```

## Preloaded Rows

Supplies `data.rows` directly so the grid renders immediately without calling the API.

```example
file: examples/PreloadedRows.ts
html: examples/PreloadedRows.html
title: Preloaded Rows
description: Supplies data.rows directly so the grid renders immediately without calling the API.
```

```api
```
