# XWUIHrAnnouncementsPage

Engagement page for company-wide announcements with audience targeting and lifecycle state. It calls `hrApi.listAnnouncements()` and renders the results in a table with columns for Announcement title, Publish to (rendered as a tag), Publish date, Expires in, and Status (rendered as a status pill - active, scheduled, unpublished, or expired). Shows a localized loading state while fetching and an empty/error message when there is nothing to display. Use it as the shell page where HR broadcasts messages and reviews each announcement's schedule and lifecycle; accepts standard page-base `conf_comp` props plus `hrApiOptions` and `locale`.

## Basic Usage

Loads the page against the sandbox HR API and renders the announcements table (title, publish-to tag, publish date, expires-in, and status pill) for each company message.

```example
file: examples/BasicUsage.ts
html: examples/BasicUsage.html
title: Basic Usage
description: Constructs the page with title/description data and `{ hrApiOptions: { env: 'sandbox' }, locale: 'en' }`, then fetches and renders the announcements table.
```

## Arabic locale (RTL)

Passes `{ locale: 'ar' }` with a `titleAr` so the page resolves the Arabic title (`الإعلانات`) and renders right-to-left.

```example
file: examples/ArabicLocale.ts
html: examples/ArabicLocale.html
title: Arabic locale (RTL)
description: Arabic title via titleAr plus locale 'ar' for a right-to-left page.
```

## Constrained, centered layout

Caps the content column at 1200px, centers it, and adds roomier padding via the shell-page config.

```example
file: examples/ConstrainedLayout.ts
html: examples/ConstrainedLayout.html
title: Constrained, centered layout
description: `{ maxWidth: '1200px', centered: true, padding: '2rem' }` constrains and centers the page column.
```

```api
```
