Public API barrel file for the notifications module, re-exporting all components, hooks, utilities, and TypeScript types from their respective internal modules.
## Key Components
**Context & Hooks**
- `NotificationsProvider` — React context provider for managing notification state
- `useNotifications` — Hook to access notifications context (throws if outside provider)
- `useOptionalNotifications` — Hook to access notifications context (returns `null` if outside provider)
**UI Components**
- `NotificationDrawer` — Slide-out drawer listing all notifications
- `NotificationTile` — Individual notification row/card component
- `NotificationPopups` — Floating toast-style popup notifications
- `ApprovalRequestNotificationTile` — Specialized tile for approval request notifications
**Utilities**
- `approvalMetaToBatchData` — Transforms approval metadata into batch-compatible format
- `getApprovalMeta` — Extracts approval metadata from a notification
- `isApprovalNotification` — Type guard for approval notifications
- `resolutionToStatus` — Maps an approval resolution to a display status
- `ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE` — Constant identifying the approval request context type
**Types**
`Notification`, `NotificationVariant`, `NotificationSeverity`, `AddNotificationInput`, `ApprovalNotificationMeta`, `ApprovalToolCallMeta`, `RenderNotificationTile`, and associated `Props` types.
## Usage Example
```typescript
import {
NotificationsProvider,
useNotifications,
NotificationDrawer,
NotificationPopups,
isApprovalNotification,
} from '@openframe-oss-lib/notifications'
import type { AddNotificationInput, NotificationSeverity } from '@openframe-oss-lib/notifications'
function App() {
return (
)
}
function MyContent() {
const { addNotification } = useNotifications()
const notify = (message: string, severity: NotificationSeverity) => {
const input: AddNotificationInput = { message, severity }
addNotification(input)
}
return
}
```
**Source:** [`src/notifications/index.ts`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/src/notifications/index.ts)