notification ui component for react
npm install @rc-component/notificationReact Notification UI Component
[![NPM version][npm-image]][npm-url]  [![build status][github-actions-image]][github-actions-url] [![Test coverage][coveralls-image]][coveralls-url] [![npm download][download-image]][download-url] [![bundle size][bundlephobia-image]][bundlephobia-url]
[npm-image]: http://img.shields.io/npm/v/@rc-component/notification.svg?style=flat-square
[npm-url]: http://npmjs.org/package/@rc-component/notification
[github-actions-image]: https://github.com/react-component/notification/workflows/CI/badge.svg
[github-actions-url]: https://github.com/react-component/notification/actions
[coveralls-image]: https://img.shields.io/coveralls/react-component/notification.svg?style=flat-square
[coveralls-url]: https://coveralls.io/r/react-component/notification?branch=master
[download-image]: https://img.shields.io/npm/dm/@rc-component/notification.svg?style=flat-square
[download-url]: https://npmjs.org/package/@rc-component/notification
[bundlephobia-url]: https://bundlephobia.com/result?p=@rc-component/notification
[bundlephobia-image]: https://badgen.net/bundlephobia/minzip/@rc-component/notification

``js
import Notification from '@rc-component/notification';
Notification.newInstance({}, (notification) => {
notification.notice({
content: 'content',
});
});
`
| Browser | Supported Version |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------- |
|  | last 2 versions |
|  | last 2 versions |
|  | last 2 versions |
|  | last 2 versions |
http://localhost:8001
online example: https://notification-react-component.vercel.app
props details:
| name | type | default | description |
|---|---|---|---|
| prefixCls | String | prefix class name for notification container | |
| style | Object | {'top': 65, left: '50%'} | additional style for notification container. |
| getContainer | getContainer(): HTMLElement | function returning html node which will act as notification container | |
| maxCount | number | max notices show, drop first notice if exceed limit |
props details:
| name | type | default | description |
|---|---|---|---|
| content | React.Element | content of notice | |
| key | String | id of this notice | |
| closable | Boolean | { closeIcon: ReactNode, onClose: VoidFunction } | whether show close button | |
| onClose | Function | called when notice close | |
| duration | number | false | 4.5 | The delay for automatic closing in seconds. Set to 0 or false to not close automatically. |
| showProgress | boolean | false | show with progress bar for auto-closing notification |
| pauseOnHover | boolean | true | keep the timer running or not on hover |
| style | Object | { right: '50%' } | additional style for single notice node. |
| closeIcon | ReactNode | specific the close icon. | |
| props | Object | An object that can contain data-, aria-, or role props, to be put on the notification div. This currently only allows data-testid instead of data-* in TypeScript. See https://github.com/microsoft/TypeScript/issues/28960. |
remove single notice with specified key
destroy current notification
``
npm test
npm run chrome-test
```
npm run coverage
open coverage/ dir
@rc-component/notification is released under the MIT license.