<!-- README for NPM; the one for GitHub is in .github directory. -->

# OpenFin Notification Center

### This library is deprecated. We will stop publishing updates to it after July 2024. Use [@openfin/workspace/notifications](https://www.npmjs.com/package/@openfin/workspace) instead.

## Overview

The OpenFin Notification Center provides developers with a uniform way to create, display and organize desktop notifications as well as responding to notification events.

Notifications will be displayed as toasts as well as being listed and organized in a Notification Center. The Notification Center can be accessed by clicking on the Notifications icon in the system tray.

This project consist of 3 parts:

1. The Notification Center, displaying and managing notifications
2. The Notification Center Client Library, exposing APIs for applications to create and manage notifications
3. The Notification Studio, A visual editor for user notifications.

### Features

- Create notifications.
- Clear and dismiss notifications.
- Attach handlers for when notifications are created, closed, and interacted with.
- Attach indicators and buttons with actions to notifications.
- Persist notifications in the Notification Center.
- Persist notification toasts.
- Create expiring and/or future notifications.
- Search notifications in the Notification Center.
- Create notifications with markdown, form, premade or custom templated notification content.
- Create grouping streams for notifications.
- Create pop-out frame windows for individiual notification senders and streams.
- Customize to specify the Notification Center and notification toast corners on screen.
- Customize Notification Center theme via Workspace Platforms.

## Getting Started

Integrating the Notification Center within an application is done by importing the Client API.

### Import the Client API

```bash
npm install openfin-notifications
```

The client library is also available as a resource which can be included via `<script>` tag:

```html
<script src="https://cdn.openfin.co/services/openfin/notifications/<VERSION>/openfin-notifications.js"></script>
```

This will expose the global variable `notifications` with the API methods documented in the link below. Example:

```js
const notes = await notifications.getAll();
```

The client module exports a set of functions, documented in the [API docs](https://cdn.openfin.co/docs/services/notifications/stable/api/).

### Usage

Documentation is available [here](https://developers.openfin.co/docs/notifications-api).
