reapop v3.0.0 Release Notes

Release Date: 2020-11-17 // 7 days ago
  • ๐Ÿ’ฅ Breaking changes

    Notification

    • The Notification.closeButton attribute was renamed Notification.showDismissButton
    • ๐Ÿšš The Notification.onRemove was renamed Notification.onDismiss
    • 0๏ธโƒฃ The default notification status was renamed none.
    • The STATUS constant was renamed STATUSES
    • ๐Ÿšš The position top and bottom were removed.

    Actions

    • 0๏ธโƒฃ Notifications have no default properties by default
    • ๐Ÿ”ง Default properties of notifications are not configurable via the reducer function anymore.
    • ๐Ÿšš The action removeNotification was renamed dismissNotification
    • The action notify now returns a redux action instead of the notification.
    • ๐Ÿšš The action removeNotification was renamed dismissNotification
    • ๐Ÿšš The action removeNotifications was renamed dismissNotifications
    • โšก๏ธ Images specified in Notification.image won't be preloaded anymore. You need to preload them before creating/updating notifications.
    • ๐Ÿ‘ HTTP status codes passed in Notification.status won't be converted anymore to statuses supported by the library.
    • all Redux actions are not exposed under the actions variable.

    Components

    • The component NotificationsSystem requires notifications, and dismissNotification properties.
    • ๐Ÿšš The filter property of the NotificationsSystem component was removed. Use instead the notification property.
    • ๐Ÿ— Themes are not directly included in this package and build with inline CSS.

    Migration guide

    1. Replace usage of Notification.closeButton with Notification.showDismissButton ๐Ÿšš 2. Replace usage of Notification.onRemove with Notification.onDismiss
    2. Replace usage of STATUS with STATUSES 0๏ธโƒฃ 4. Replace usage of STATUSES.default with STATUSES.none or null.
    3. Use the top-center or bottom-center position if you used the top or bottom position ๐Ÿšš 6. Remove default properties passed to the notifications reducer and use the setUpNotifications helper to set up the default properties of your notifications. โšก๏ธ 7. Update notify(...) call to get the notification from the payload property of the action returned (previously the notification was returned) โšก๏ธ 8. Replace usage of addNotification and updateNotification actions with notify ๐Ÿšš 9. Replace usage of removeNotification action with dismissNotification ๐Ÿšš 10. Replace usage of removeNotifications action with dismissNotifications โšก๏ธ 11. Make sure to preload images before creating/updating notifications containing images.
    4. Replace statements where you set HTTP status code in Notification.status, or set a customizeNotification function with the setUpNotifications helper to reproduce this behavior
    5. Replace usage of reapop.actions and directly import notify, dismissNotification or dismissNotifications from reapop
    6. Add notifications and dismissNotification property to the NotificationsSystem component. Read the Integration & usage section to learn more about these new properties. ๐Ÿšš 15. Remove filter property of the NotificationsSystem component. ๐Ÿ“š 16. Replace usage of reapop-theme-* package with builtin themes. More information in the Themes section of the documentation to get these themes. ๐Ÿ“š 17. If you have a custom theme, read the guide to create a custom theme with a CSS file to learn how to migrate your theme. If you prefer inline CSS, or CSS-in-JS, you might want to take a look at create a custom theme with inline CSS

    ๐Ÿ†• New

    • Compatible with any application state managers. You can use it with mobx for example.
    • TypeScript types exposed
    • ๐Ÿ†• new API using React hooks and the React context API to use the library with React only
    • ๐Ÿ†• New builtin transitions: fade, grow, slide
    • Customizable components: Transition, NotificationIcon, and Notification
    • ๐Ÿ†• new API to create custom themes (inline CSS or CSS files)
    • ๐Ÿ†• new helper function to:
      • define default properties for notifications
      • define a custom function used to modify notifications
      • define the function used to generate notification IDs

    ๐Ÿ“š More information about these new things in the documentation

    ๐Ÿ‘Œ Improvements

    • Complete rewrite in TypeScript
    • โœ‚ removed non-customizable behaviors
    • โœ‚ removed redux-thunk dependency

    If you have any questions or feedback, feel free to open an issue ๐Ÿ™‚


Previous changes from v2.1.0

  • ๐Ÿ”„ Changelog

    • โž• Added support for Redux v7.x.x
    • โž• Added support for React >= v16.8.6
    • โšก๏ธ update all dependencies
    • โœ… migrate tests suite to Jest and add 100% coverage