@apia/notifications 4.0.45 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import React__default, { ReactNode } from 'react';
3
- import { EventEmitter, TApiaSystemMessageObj } from '@apia/util';
3
+ import { EventEmitter, T__LEGACY_SERVER__MessagesPayload, T__LEGACY_SERVER__Message } from '@apia/util';
4
4
 
5
5
  type TNotificationId = string | number;
6
6
  interface INotification<T = string> {
@@ -36,7 +36,7 @@ declare const _default: React__default.MemoExoticComponent<((props: object) => R
36
36
  }>;
37
37
 
38
38
  declare const onCloseNotificationCallbacks: Record<string, () => unknown>;
39
- type TNotificationType = 'danger' | 'success' | 'warning';
39
+ type TNotificationType = 'danger' | 'error' | 'success' | 'info' | 'warning' | 'modal';
40
40
  declare function uniqueId(): string;
41
41
  type TDispatchedNotification = Omit<INotification<TNotificationType>, 'id' | 'type' | 'isOpen'> & Partial<Pick<INotification<TNotificationType>, 'id' | 'type'>>;
42
42
  declare class DefaultNotifier extends EventEmitter<{
@@ -57,41 +57,22 @@ declare class DefaultNotifier extends EventEmitter<{
57
57
  declare const defaultNotifier: DefaultNotifier;
58
58
  declare function notify(notification: TDispatchedNotification): void;
59
59
 
60
- interface TMessage {
61
- text: string;
62
- content?: string;
63
- title?: string;
64
- type?: string;
65
- }
66
- interface TNotificationMessage {
67
- onClose?: string;
68
- sysMessages?: {
69
- message: TMessage | TMessage[];
70
- };
71
- sysExceptions?: {
72
- exception: TMessage | TMessage[];
73
- };
74
- exceptions?: {
75
- exception: TMessage | TMessage[];
76
- };
77
- }
78
-
79
60
  /**
80
61
  * Devuelve un array de notificaciones a partir de
81
62
  * una respuesta de Apia.
82
63
  */
83
- declare const getNotificationMessageObj: (data: TApiaSystemMessageObj) => INotification<TNotificationType>[] | null;
64
+ declare const getNotificationMessageObj: (data: T__LEGACY_SERVER__MessagesPayload) => INotification<TNotificationType>[] | null;
84
65
  /**
85
66
  * Toma un objeto de notificación de servidor y lo convierte a un
86
67
  * objeto de notificación de cliente.
87
68
  */
88
- declare const parseServerNotification: (serverNotification: TMessage | TMessage[], type: TNotificationType) => INotification<TNotificationType>[];
69
+ declare const parseServerNotification: (serverNotification: T__LEGACY_SERVER__Message | T__LEGACY_SERVER__Message[], type: TNotificationType) => INotification<TNotificationType>[];
89
70
  /**
90
71
  * Toma un objeto de respuesta de servidor que puede eventualmente
91
72
  * tener notificaciones y las pasa al sistema de notificaciones si
92
73
  * es que hay alguna.
93
74
  */
94
- declare const dispatchNotifications: (alert: TNotificationMessage) => void;
75
+ declare const dispatchNotifications: (alert: T__LEGACY_SERVER__MessagesPayload) => void;
95
76
 
96
- export { DefaultNotifier, type INotification, Notification, _default as NotificationsList, type TDispatchedNotification, type TMessage, type TNotificationId, type TNotificationMessage, type TNotificationSelector, type TNotificationType, defaultNotifier, dispatchNotifications, getNotificationMessageObj, notify, onCloseNotificationCallbacks, parseServerNotification, uniqueId };
77
+ export { DefaultNotifier, type INotification, Notification, _default as NotificationsList, type TDispatchedNotification, type TNotificationId, type TNotificationSelector, type TNotificationType, defaultNotifier, dispatchNotifications, getNotificationMessageObj, notify, onCloseNotificationCallbacks, parseServerNotification, uniqueId };
97
78
  //# sourceMappingURL=index.d.ts.map
package/dist/index.js CHANGED
@@ -202,20 +202,27 @@ const Notification = ({
202
202
  const nodeRef = React.useRef(null);
203
203
  if (!innerNotification.title)
204
204
  innerNotification.title = getIndex(
205
- [window.LBL_ERROR, window.LBL_WARNING, window.LBL_COMPLETE_OPERATION],
205
+ [
206
+ window.LBL_ERROR,
207
+ window.LBL_ERROR,
208
+ window.LBL_WARNING,
209
+ window.LBL_COMPLETE_OPERATION
210
+ ],
206
211
  [
207
212
  innerNotification.type === "danger",
213
+ innerNotification.type === "error",
208
214
  innerNotification.type === "warning",
209
215
  innerNotification.type === "success"
210
216
  ]
211
217
  );
212
218
  if (!innerNotification.icon)
213
219
  innerNotification.icon = getIndex(
214
- ["Check", "Alert", "Close"],
220
+ ["Check", "Alert", "Close", "Close"],
215
221
  [
216
222
  innerNotification.type === "success",
217
223
  innerNotification.type === "warning",
218
- innerNotification.type === "danger"
224
+ innerNotification.type === "danger",
225
+ innerNotification.type === "error"
219
226
  ]
220
227
  );
221
228
  const [shouldShow, setShouldShow] = React.useState(true);
@@ -231,7 +238,9 @@ const Notification = ({
231
238
  onCloseNotificationCallbacks[innerNotification.id]();
232
239
  });
233
240
  let notificationType = "warning";
234
- if (["sysException", "exception", "danger"].includes(innerNotification.type))
241
+ if (["sysException", "exception", "danger", "error"].includes(
242
+ innerNotification.type
243
+ ))
235
244
  notificationType = "danger";
236
245
  if (["greenMessage", "success"].includes(innerNotification.type))
237
246
  notificationType = "success";
@@ -413,6 +422,8 @@ function parseServerNotificationType(type) {
413
422
  return "warning";
414
423
  case "3":
415
424
  return "danger";
425
+ case "4":
426
+ return "modal";
416
427
  default:
417
428
  return "warning";
418
429
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/defaultNotifier.ts","../src/Trace.tsx","../src/Notification.tsx","../src/NotificationsList.tsx","../src/apia/index.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\r\nimport { INotification, TNotificationId, TNotificationSelector } from './types';\r\nimport { EventEmitter, useMount, useLatest } from '@apia/util';\r\nimport { useState } from 'react';\r\n\r\nexport const onCloseNotificationCallbacks: Record<string, () => unknown> = {};\r\n\r\nexport type TNotificationType = 'danger' | 'success' | 'warning';\r\n\r\nfunction shallowEqual(a: unknown[], b: unknown[]) {\r\n if (a.length !== b.length) return false;\r\n\r\n for (let i = 0; i < a.length; i++) if (a[i] !== b[i]) return false;\r\n\r\n return true;\r\n}\r\n\r\nlet id = 0;\r\nexport function uniqueId() {\r\n return `notification_${id++}`;\r\n}\r\n\r\nexport type TDispatchedNotification = Omit<\r\n INotification<TNotificationType>,\r\n 'id' | 'type' | 'isOpen'\r\n> &\r\n Partial<Pick<INotification<TNotificationType>, 'id' | 'type'>>;\r\n\r\nexport class DefaultNotifier extends EventEmitter<{ changedList: boolean }> {\r\n notifications: INotification<TNotificationType>[] = [];\r\n\r\n areNotificationsOpen(): boolean {\r\n return !!document.querySelector('.notification');\r\n }\r\n\r\n shout() {\r\n this.emit('changedList', true);\r\n }\r\n\r\n close(id: TNotificationId | INotification): void {\r\n const actualId = typeof id === 'object' ? id.id : id;\r\n this.notifications = this.notifications.map((current) => {\r\n if (current.id === actualId) {\r\n current.onClose?.();\r\n return { ...current, isOpen: false };\r\n }\r\n return current;\r\n });\r\n this.shout();\r\n }\r\n\r\n closeAll(): void {\r\n this.notifications = this.notifications.map((current) => {\r\n current.onClose?.();\r\n return {\r\n ...current,\r\n isOpen: false,\r\n };\r\n });\r\n this.shout();\r\n }\r\n\r\n delete(id: TNotificationId | INotification): void {\r\n const actualId = typeof id === 'object' ? id.id : id;\r\n this.notifications = this.notifications.filter(\r\n (current) => current.id !== actualId,\r\n );\r\n this.shout();\r\n }\r\n\r\n useSelector = (\r\n selector: TNotificationSelector<TNotificationType>,\r\n ): INotification<TNotificationType>[] => {\r\n const [state, setState] = useState<INotification<TNotificationType>[]>([]);\r\n\r\n const lastState = useLatest(state);\r\n useMount(() => {\r\n return this.on('changedList', () => {\r\n const newState = selector(this.notifications);\r\n if (!shallowEqual(newState, lastState.current)) {\r\n setState([...newState]);\r\n }\r\n });\r\n });\r\n\r\n return state;\r\n };\r\n\r\n notify(notification: TDispatchedNotification): void {\r\n const id = notification.id ?? uniqueId();\r\n\r\n let hasAnimated = false;\r\n document\r\n .querySelectorAll('.notificationsFloatingList .notification__text')\r\n .forEach((current) => {\r\n if (current.textContent === notification.message) {\r\n const notificationElement = (current as HTMLElement).closest(\r\n '.notification',\r\n ) as HTMLElement;\r\n if (notificationElement) {\r\n notificationElement.classList.add('animate');\r\n setTimeout(() => {\r\n notificationElement.classList.remove('animate');\r\n }, 200);\r\n hasAnimated = true;\r\n } else\r\n console.warn(\r\n 'A notification with that text was found, but it could not be animated',\r\n );\r\n }\r\n });\r\n if (hasAnimated) return;\r\n\r\n this.notifications.push({\r\n ...notification,\r\n isOpen: true,\r\n type: notification.type ?? 'warning',\r\n id,\r\n });\r\n\r\n this.shout();\r\n }\r\n\r\n on<K extends 'changedList'>(\r\n eventName: K,\r\n fn: (params: { changedList: boolean }[K]) => unknown,\r\n ): () => void {\r\n fn(true);\r\n return super.on(eventName, fn);\r\n }\r\n}\r\n\r\nexport const defaultNotifier = new DefaultNotifier();\r\n\r\nexport function notify(notification: TDispatchedNotification) {\r\n defaultNotifier.notify(notification);\r\n}\r\n","import { Icon } from '@apia/icons';\r\nimport { Box, Button, IconButton } from '@apia/theme';\r\n\r\ninterface ITrace {\r\n trace: string;\r\n}\r\n\r\nconst Trace = ({ trace }: ITrace) => {\r\n const openModal = () => {\r\n document.dispatchEvent(\r\n new CustomEvent('openModal', {\r\n detail: {\r\n NavBar: (\r\n <>\r\n <Button\r\n variant=\"outline-sm\"\r\n onClick={() => {\r\n void navigator.clipboard.writeText(\r\n document.querySelector<HTMLElement>('.TraceModal__content')\r\n ?.innerText ?? '',\r\n );\r\n }}\r\n >\r\n Copy trace\r\n </Button>\r\n </>\r\n ),\r\n children: (\r\n <Box\r\n dangerouslySetInnerHTML={{\r\n __html: trace.replaceAll(\r\n /\\((\\w+\\.java:\\d+)\\)/g,\r\n '(<strong>$1</strong>)',\r\n ),\r\n }}\r\n />\r\n ),\r\n size: 'xxl',\r\n title: 'Stack trace',\r\n },\r\n }),\r\n );\r\n };\r\n\r\n return (\r\n <Box as=\"code\" className=\"notification__trace\">\r\n <Box as=\"strong\" className=\"notification__traceLabel\">\r\n <IconButton\r\n size=\"IconMd\"\r\n onClick={openModal}\r\n title=\"View trace\"\r\n sx={{\r\n height: '24px',\r\n width: '24px',\r\n }}\r\n >\r\n <Icon size=\"iconXs\" title=\"\" name=\"External\" />\r\n </IconButton>\r\n <IconButton\r\n size=\"IconMd\"\r\n title=\"Copy trace\"\r\n sx={{\r\n height: '24px',\r\n width: '24px',\r\n }}\r\n onClick={() =>\r\n void navigator.clipboard.writeText(\r\n trace.replaceAll(/<br *\\/?>/g, '\\n'),\r\n )\r\n }\r\n >\r\n <Icon size=\"iconXs\" title=\"\" name=\"Copy\" />\r\n </IconButton>\r\n <Box as=\"span\">Trace:</Box>\r\n </Box>\r\n <Box className=\"notification__traceText\">{trace}</Box>\r\n </Box>\r\n );\r\n};\r\n\r\nexport default Trace;\r\n","import * as React from 'react';\r\nimport { Alert, Box, Close } from '@apia/theme';\r\nimport { CSSTransition } from 'react-transition-group';\r\nimport { getIndex, useUnmount, useUpdateEffect } from '@apia/util';\r\nimport { Icon, isIconName, TIconName } from '@apia/icons';\r\nimport { INotification } from './types';\r\nimport {\r\n defaultNotifier,\r\n onCloseNotificationCallbacks,\r\n} from './defaultNotifier';\r\nimport Trace from './Trace';\r\n\r\nexport interface INotificationProps {\r\n animationName?: string;\r\n animationTimeout?: number;\r\n className?: string;\r\n disableClose?: boolean;\r\n notification: INotification;\r\n}\r\n\r\nexport const Notification: React.FC<INotificationProps> = ({\r\n animationName = 'fromRight',\r\n animationTimeout = 150,\r\n className,\r\n disableClose,\r\n notification,\r\n}) => {\r\n const innerNotification = React.useMemo(\r\n () => ({ ...notification }),\r\n [notification],\r\n );\r\n const nodeRef = React.useRef(null);\r\n if (!innerNotification.title)\r\n innerNotification.title = getIndex(\r\n [window.LBL_ERROR, window.LBL_WARNING, window.LBL_COMPLETE_OPERATION],\r\n [\r\n innerNotification.type === 'danger',\r\n innerNotification.type === 'warning',\r\n innerNotification.type === 'success',\r\n ],\r\n );\r\n if (!innerNotification.icon)\r\n innerNotification.icon = getIndex<TIconName>(\r\n ['Check', 'Alert', 'Close'],\r\n [\r\n innerNotification.type === 'success',\r\n innerNotification.type === 'warning',\r\n innerNotification.type === 'danger',\r\n ],\r\n );\r\n\r\n const [shouldShow, setShouldShow] = React.useState(true);\r\n\r\n const close = React.useCallback(() => {\r\n defaultNotifier.delete(innerNotification);\r\n }, [innerNotification]);\r\n\r\n useUpdateEffect(() => {\r\n if (!innerNotification.isOpen) setShouldShow(false);\r\n }, [innerNotification.isOpen]);\r\n\r\n useUnmount(() => {\r\n if (onCloseNotificationCallbacks[innerNotification.id])\r\n onCloseNotificationCallbacks[innerNotification.id]();\r\n });\r\n\r\n let notificationType: INotification['type'] = 'warning';\r\n if (['sysException', 'exception', 'danger'].includes(innerNotification.type))\r\n notificationType = 'danger';\r\n if (['greenMessage', 'success'].includes(innerNotification.type))\r\n notificationType = 'success';\r\n if (['info'].includes(innerNotification.type)) notificationType = 'info';\r\n\r\n const onClick = React.useCallback(() => {\r\n setShouldShow(false);\r\n defaultNotifier.close(innerNotification);\r\n }, [innerNotification]);\r\n\r\n return (\r\n <CSSTransition\r\n in={shouldShow}\r\n timeout={animationTimeout}\r\n classNames={animationName}\r\n appear\r\n unmountOnExit\r\n onExited={close}\r\n nodeRef={nodeRef}\r\n >\r\n <Alert\r\n data-testid={notificationType}\r\n role=\"alert\"\r\n ref={nodeRef}\r\n variant={`alerts.${notificationType}`}\r\n className={`${\r\n className ?? ''\r\n } notification notification__alert ${notificationType}`}\r\n tabIndex={0}\r\n onKeyDown={React.useCallback((ev: React.KeyboardEvent) => {\r\n if (\r\n ev.key.toLowerCase() === 'escape' ||\r\n ev.key.toLowerCase() === 'enter' ||\r\n ev.key === ' '\r\n ) {\r\n ev.preventDefault();\r\n ev.stopPropagation();\r\n setShouldShow(false);\r\n }\r\n }, [])}\r\n >\r\n {(!disableClose ||\r\n innerNotification.icon ||\r\n innerNotification.title) && (\r\n <Box className=\"notification__header\">\r\n {(innerNotification.title || innerNotification.icon) && (\r\n <Box as=\"h4\" className=\"notification__title\">\r\n {innerNotification.icon && (\r\n <Box className=\"notification__icon\">\r\n {isIconName(\r\n innerNotification.icon as unknown as TIconName,\r\n ) ? (\r\n <Icon\r\n title=\"\"\r\n name={innerNotification.icon as unknown as TIconName}\r\n />\r\n ) : (\r\n innerNotification.icon\r\n )}\r\n </Box>\r\n )}\r\n {innerNotification.title}\r\n </Box>\r\n )}\r\n {!disableClose && (\r\n <Close\r\n type=\"button\"\r\n onClick={onClick}\r\n tabIndex={-1}\r\n className=\"notification__closeButton\"\r\n />\r\n )}\r\n </Box>\r\n )}\r\n <Box className=\"notification__body\">\r\n <Box className=\"notification__content\">\r\n <Box className=\"notification__message\">\r\n <Box\r\n dangerouslySetInnerHTML={{\r\n __html: innerNotification.message,\r\n }}\r\n className=\"notification__text\"\r\n />\r\n </Box>\r\n {innerNotification.trace && (\r\n <Trace trace={innerNotification.trace} />\r\n )}\r\n </Box>\r\n </Box>\r\n </Alert>\r\n </CSSTransition>\r\n );\r\n};\r\n","import React from 'react';\r\nimport { Box } from '@apia/theme';\r\nimport { getVariant, makeStyledComponent, spacing } from '@apia/theme';\r\nimport { keyframes } from '@emotion/react';\r\nimport { Notification } from './Notification';\r\nimport { defaultNotifier } from './defaultNotifier';\r\nimport { useMount } from '@apia/util';\r\n\r\nconst vibrate = keyframes`\r\n0% {\r\n transform: rotate(0);\r\n}\r\n\r\n25% {\r\n transform: rotate(1.5deg);\r\n}\r\n\r\n75% {\r\n transform: rotate(-1.5deg);\r\n}\r\n\r\n100% {\r\n transform: rotate(0);\r\n}`;\r\n\r\nconst useSelector = defaultNotifier.useSelector;\r\n\r\nconst NotificationsList = makeStyledComponent(\r\n 'NotificationsList',\r\n 'layout.common.notifications.list',\r\n {\r\n '.notificationsFloatingList': {\r\n bottom: '10px',\r\n height: 'min-content',\r\n maxHeight: 'calc(100vh - 20px)',\r\n maxWidth: 'floatingNotifications',\r\n position: 'fixed',\r\n pr: '5px',\r\n right: '5px',\r\n width: '100%',\r\n zIndex: 'notifications',\r\n\r\n '& > *:not(:last-child)': {\r\n mb: spacing(5),\r\n },\r\n\r\n '.notification.animate': {\r\n animation: `${vibrate} 0.1s linear infinite`,\r\n },\r\n },\r\n\r\n '.fromRight-enter, .fromRight-appear': { transform: 'translateX(550px)' },\r\n '.fromRight-enter-active, .fromRight-appear-active': {\r\n transition: 'transform 150ms',\r\n transform: 'translateX(0)',\r\n },\r\n '.fromRight-exit': { transform: 'translateX(0)' },\r\n '.fromRight-exit-active': {\r\n transition: 'transform 150ms',\r\n transform: 'translateX(550px)',\r\n },\r\n },\r\n () => {\r\n const notifications = useSelector((current) => {\r\n return current;\r\n });\r\n\r\n useMount(() => {\r\n document.addEventListener('keydown', (ev) => {\r\n if (ev.code === 'Escape') {\r\n defaultNotifier.closeAll();\r\n }\r\n });\r\n });\r\n\r\n return (\r\n <Box\r\n className=\"notificationsFloatingList\"\r\n {...getVariant('layout.common.components.notifications.list')}\r\n >\r\n {notifications.map((current) => {\r\n return <Notification notification={current} key={current.id} />;\r\n })}\r\n </Box>\r\n );\r\n },\r\n);\r\n\r\nexport default React.memo(NotificationsList);\r\n","import { arrayOrArray, TApiaSystemMessageObj } from '@apia/util';\r\nimport { notify, TNotificationType, uniqueId } from '../defaultNotifier';\r\nimport { INotification } from '../types';\r\nimport { TMessage, TNotificationMessage } from './types';\r\n\r\n/**\r\n * Devuelve un array de notificaciones a partir de\r\n * una respuesta de Apia.\r\n */\r\nexport const getNotificationMessageObj = (\r\n data: TApiaSystemMessageObj,\r\n): INotification<TNotificationType>[] | null => {\r\n const notifications: INotification<TNotificationType>[] = [];\r\n if (data?.sysMessages?.message) {\r\n notifications.push(\r\n ...parseServerNotification(data.sysMessages.message, 'warning'),\r\n );\r\n }\r\n if (data?.sysExceptions) {\r\n notifications.push(\r\n ...parseServerNotification(data.sysExceptions.exception, 'danger'),\r\n );\r\n }\r\n if (data?.exceptions?.exception) {\r\n notifications.push(\r\n ...parseServerNotification(data.exceptions.exception, 'danger'),\r\n );\r\n }\r\n if (notifications.length > 0) return notifications;\r\n return null;\r\n};\r\n\r\nfunction parseServerNotificationType(type: string): TNotificationType {\r\n switch (type) {\r\n case '1':\r\n return 'success';\r\n case '2':\r\n return 'warning';\r\n case '3':\r\n return 'danger';\r\n default:\r\n return 'warning';\r\n }\r\n}\r\n\r\n/**\r\n * Toma un objeto de notificación de servidor y lo convierte a un\r\n * objeto de notificación de cliente.\r\n */\r\nexport const parseServerNotification = (\r\n serverNotification: TMessage | TMessage[],\r\n type: TNotificationType,\r\n): INotification<TNotificationType>[] => {\r\n const messages = arrayOrArray(serverNotification);\r\n return messages.map((current) => {\r\n const returnNotification: INotification<TNotificationType> = {\r\n message: current.text,\r\n trace: current.content,\r\n title: current.title,\r\n type:\r\n current.type !== undefined\r\n ? parseServerNotificationType(current.type)\r\n : (type as TNotificationType),\r\n isOpen: true,\r\n id: uniqueId(),\r\n };\r\n return returnNotification;\r\n });\r\n};\r\n\r\n/**\r\n * Toma un objeto de respuesta de servidor que puede eventualmente\r\n * tener notificaciones y las pasa al sistema de notificaciones si\r\n * es que hay alguna.\r\n */\r\nexport const dispatchNotifications = (alert: TNotificationMessage) => {\r\n if (alert) {\r\n if (alert.sysMessages?.message)\r\n parseServerNotification(alert.sysMessages?.message, 'warning').forEach(\r\n notify,\r\n );\r\n if (alert.exceptions?.exception)\r\n parseServerNotification(alert.exceptions?.exception, 'danger').forEach(\r\n notify,\r\n );\r\n if (alert.sysExceptions?.exception)\r\n parseServerNotification(alert.sysExceptions?.exception, 'danger').forEach(\r\n notify,\r\n );\r\n }\r\n};\r\n\r\nexport * from './types';\r\n"],"names":["id","React"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/defaultNotifier.ts","../src/Trace.tsx","../src/Notification.tsx","../src/NotificationsList.tsx","../src/apia/index.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\r\nimport { INotification, TNotificationId, TNotificationSelector } from './types';\r\nimport { EventEmitter, useMount, useLatest } from '@apia/util';\r\nimport { useState } from 'react';\r\n\r\nexport const onCloseNotificationCallbacks: Record<string, () => unknown> = {};\r\n\r\nexport type TNotificationType =\r\n | 'danger'\r\n | 'error'\r\n | 'success'\r\n | 'info'\r\n | 'warning'\r\n | 'modal';\r\n\r\nfunction shallowEqual(a: unknown[], b: unknown[]) {\r\n if (a.length !== b.length) return false;\r\n\r\n for (let i = 0; i < a.length; i++) if (a[i] !== b[i]) return false;\r\n\r\n return true;\r\n}\r\n\r\nlet id = 0;\r\nexport function uniqueId() {\r\n return `notification_${id++}`;\r\n}\r\n\r\nexport type TDispatchedNotification = Omit<\r\n INotification<TNotificationType>,\r\n 'id' | 'type' | 'isOpen'\r\n> &\r\n Partial<Pick<INotification<TNotificationType>, 'id' | 'type'>>;\r\n\r\nexport class DefaultNotifier extends EventEmitter<{ changedList: boolean }> {\r\n notifications: INotification<TNotificationType>[] = [];\r\n\r\n areNotificationsOpen(): boolean {\r\n return !!document.querySelector('.notification');\r\n }\r\n\r\n shout() {\r\n this.emit('changedList', true);\r\n }\r\n\r\n close(id: TNotificationId | INotification): void {\r\n const actualId = typeof id === 'object' ? id.id : id;\r\n this.notifications = this.notifications.map((current) => {\r\n if (current.id === actualId) {\r\n current.onClose?.();\r\n return { ...current, isOpen: false };\r\n }\r\n return current;\r\n });\r\n this.shout();\r\n }\r\n\r\n closeAll(): void {\r\n this.notifications = this.notifications.map((current) => {\r\n current.onClose?.();\r\n return {\r\n ...current,\r\n isOpen: false,\r\n };\r\n });\r\n this.shout();\r\n }\r\n\r\n delete(id: TNotificationId | INotification): void {\r\n const actualId = typeof id === 'object' ? id.id : id;\r\n this.notifications = this.notifications.filter(\r\n (current) => current.id !== actualId,\r\n );\r\n this.shout();\r\n }\r\n\r\n useSelector = (\r\n selector: TNotificationSelector<TNotificationType>,\r\n ): INotification<TNotificationType>[] => {\r\n const [state, setState] = useState<INotification<TNotificationType>[]>([]);\r\n\r\n const lastState = useLatest(state);\r\n useMount(() => {\r\n return this.on('changedList', () => {\r\n const newState = selector(this.notifications);\r\n if (!shallowEqual(newState, lastState.current)) {\r\n setState([...newState]);\r\n }\r\n });\r\n });\r\n\r\n return state;\r\n };\r\n\r\n notify(notification: TDispatchedNotification): void {\r\n const id = notification.id ?? uniqueId();\r\n\r\n let hasAnimated = false;\r\n document\r\n .querySelectorAll('.notificationsFloatingList .notification__text')\r\n .forEach((current) => {\r\n if (current.textContent === notification.message) {\r\n const notificationElement = (current as HTMLElement).closest(\r\n '.notification',\r\n ) as HTMLElement;\r\n if (notificationElement) {\r\n notificationElement.classList.add('animate');\r\n setTimeout(() => {\r\n notificationElement.classList.remove('animate');\r\n }, 200);\r\n hasAnimated = true;\r\n } else\r\n console.warn(\r\n 'A notification with that text was found, but it could not be animated',\r\n );\r\n }\r\n });\r\n if (hasAnimated) return;\r\n\r\n this.notifications.push({\r\n ...notification,\r\n isOpen: true,\r\n type: notification.type ?? 'warning',\r\n id,\r\n });\r\n\r\n this.shout();\r\n }\r\n\r\n on<K extends 'changedList'>(\r\n eventName: K,\r\n fn: (params: { changedList: boolean }[K]) => unknown,\r\n ): () => void {\r\n fn(true);\r\n return super.on(eventName, fn);\r\n }\r\n}\r\n\r\nexport const defaultNotifier = new DefaultNotifier();\r\n\r\nexport function notify(notification: TDispatchedNotification) {\r\n defaultNotifier.notify(notification);\r\n}\r\n","import { Icon } from '@apia/icons';\r\nimport { Box, Button, IconButton } from '@apia/theme';\r\n\r\ninterface ITrace {\r\n trace: string;\r\n}\r\n\r\nconst Trace = ({ trace }: ITrace) => {\r\n const openModal = () => {\r\n document.dispatchEvent(\r\n new CustomEvent('openModal', {\r\n detail: {\r\n NavBar: (\r\n <>\r\n <Button\r\n variant=\"outline-sm\"\r\n onClick={() => {\r\n void navigator.clipboard.writeText(\r\n document.querySelector<HTMLElement>('.TraceModal__content')\r\n ?.innerText ?? '',\r\n );\r\n }}\r\n >\r\n Copy trace\r\n </Button>\r\n </>\r\n ),\r\n children: (\r\n <Box\r\n dangerouslySetInnerHTML={{\r\n __html: trace.replaceAll(\r\n /\\((\\w+\\.java:\\d+)\\)/g,\r\n '(<strong>$1</strong>)',\r\n ),\r\n }}\r\n />\r\n ),\r\n size: 'xxl',\r\n title: 'Stack trace',\r\n },\r\n }),\r\n );\r\n };\r\n\r\n return (\r\n <Box as=\"code\" className=\"notification__trace\">\r\n <Box as=\"strong\" className=\"notification__traceLabel\">\r\n <IconButton\r\n size=\"IconMd\"\r\n onClick={openModal}\r\n title=\"View trace\"\r\n sx={{\r\n height: '24px',\r\n width: '24px',\r\n }}\r\n >\r\n <Icon size=\"iconXs\" title=\"\" name=\"External\" />\r\n </IconButton>\r\n <IconButton\r\n size=\"IconMd\"\r\n title=\"Copy trace\"\r\n sx={{\r\n height: '24px',\r\n width: '24px',\r\n }}\r\n onClick={() =>\r\n void navigator.clipboard.writeText(\r\n trace.replaceAll(/<br *\\/?>/g, '\\n'),\r\n )\r\n }\r\n >\r\n <Icon size=\"iconXs\" title=\"\" name=\"Copy\" />\r\n </IconButton>\r\n <Box as=\"span\">Trace:</Box>\r\n </Box>\r\n <Box className=\"notification__traceText\">{trace}</Box>\r\n </Box>\r\n );\r\n};\r\n\r\nexport default Trace;\r\n","import * as React from 'react';\r\nimport { Alert, Box, Close } from '@apia/theme';\r\nimport { CSSTransition } from 'react-transition-group';\r\nimport { getIndex, useUnmount, useUpdateEffect } from '@apia/util';\r\nimport { Icon, isIconName, TIconName } from '@apia/icons';\r\nimport { INotification } from './types';\r\nimport {\r\n defaultNotifier,\r\n onCloseNotificationCallbacks,\r\n} from './defaultNotifier';\r\nimport Trace from './Trace';\r\n\r\nexport interface INotificationProps {\r\n animationName?: string;\r\n animationTimeout?: number;\r\n className?: string;\r\n disableClose?: boolean;\r\n notification: INotification;\r\n}\r\n\r\nexport const Notification: React.FC<INotificationProps> = ({\r\n animationName = 'fromRight',\r\n animationTimeout = 150,\r\n className,\r\n disableClose,\r\n notification,\r\n}) => {\r\n const innerNotification = React.useMemo(\r\n () => ({ ...notification }),\r\n [notification],\r\n );\r\n const nodeRef = React.useRef(null);\r\n if (!innerNotification.title)\r\n innerNotification.title = getIndex(\r\n [\r\n window.LBL_ERROR,\r\n window.LBL_ERROR,\r\n window.LBL_WARNING,\r\n window.LBL_COMPLETE_OPERATION,\r\n ],\r\n [\r\n innerNotification.type === 'danger',\r\n innerNotification.type === 'error',\r\n innerNotification.type === 'warning',\r\n innerNotification.type === 'success',\r\n ],\r\n );\r\n if (!innerNotification.icon)\r\n innerNotification.icon = getIndex<TIconName>(\r\n ['Check', 'Alert', 'Close', 'Close'],\r\n [\r\n innerNotification.type === 'success',\r\n innerNotification.type === 'warning',\r\n innerNotification.type === 'danger',\r\n innerNotification.type === 'error',\r\n ],\r\n );\r\n\r\n const [shouldShow, setShouldShow] = React.useState(true);\r\n\r\n const close = React.useCallback(() => {\r\n defaultNotifier.delete(innerNotification);\r\n }, [innerNotification]);\r\n\r\n useUpdateEffect(() => {\r\n if (!innerNotification.isOpen) setShouldShow(false);\r\n }, [innerNotification.isOpen]);\r\n\r\n useUnmount(() => {\r\n if (onCloseNotificationCallbacks[innerNotification.id])\r\n onCloseNotificationCallbacks[innerNotification.id]();\r\n });\r\n\r\n let notificationType: INotification['type'] = 'warning';\r\n if (\r\n ['sysException', 'exception', 'danger', 'error'].includes(\r\n innerNotification.type,\r\n )\r\n )\r\n notificationType = 'danger';\r\n if (['greenMessage', 'success'].includes(innerNotification.type))\r\n notificationType = 'success';\r\n if (['info'].includes(innerNotification.type)) notificationType = 'info';\r\n\r\n const onClick = React.useCallback(() => {\r\n setShouldShow(false);\r\n defaultNotifier.close(innerNotification);\r\n }, [innerNotification]);\r\n\r\n return (\r\n <CSSTransition\r\n in={shouldShow}\r\n timeout={animationTimeout}\r\n classNames={animationName}\r\n appear\r\n unmountOnExit\r\n onExited={close}\r\n nodeRef={nodeRef}\r\n >\r\n <Alert\r\n data-testid={notificationType}\r\n role=\"alert\"\r\n ref={nodeRef}\r\n variant={`alerts.${notificationType}`}\r\n className={`${\r\n className ?? ''\r\n } notification notification__alert ${notificationType}`}\r\n tabIndex={0}\r\n onKeyDown={React.useCallback((ev: React.KeyboardEvent) => {\r\n if (\r\n ev.key.toLowerCase() === 'escape' ||\r\n ev.key.toLowerCase() === 'enter' ||\r\n ev.key === ' '\r\n ) {\r\n ev.preventDefault();\r\n ev.stopPropagation();\r\n setShouldShow(false);\r\n }\r\n }, [])}\r\n >\r\n {(!disableClose ||\r\n innerNotification.icon ||\r\n innerNotification.title) && (\r\n <Box className=\"notification__header\">\r\n {(innerNotification.title || innerNotification.icon) && (\r\n <Box as=\"h4\" className=\"notification__title\">\r\n {innerNotification.icon && (\r\n <Box className=\"notification__icon\">\r\n {isIconName(\r\n innerNotification.icon as unknown as TIconName,\r\n ) ? (\r\n <Icon\r\n title=\"\"\r\n name={innerNotification.icon as unknown as TIconName}\r\n />\r\n ) : (\r\n innerNotification.icon\r\n )}\r\n </Box>\r\n )}\r\n {innerNotification.title}\r\n </Box>\r\n )}\r\n {!disableClose && (\r\n <Close\r\n type=\"button\"\r\n onClick={onClick}\r\n tabIndex={-1}\r\n className=\"notification__closeButton\"\r\n />\r\n )}\r\n </Box>\r\n )}\r\n <Box className=\"notification__body\">\r\n <Box className=\"notification__content\">\r\n <Box className=\"notification__message\">\r\n <Box\r\n dangerouslySetInnerHTML={{\r\n __html: innerNotification.message,\r\n }}\r\n className=\"notification__text\"\r\n />\r\n </Box>\r\n {innerNotification.trace && (\r\n <Trace trace={innerNotification.trace} />\r\n )}\r\n </Box>\r\n </Box>\r\n </Alert>\r\n </CSSTransition>\r\n );\r\n};\r\n","import React from 'react';\r\nimport { Box } from '@apia/theme';\r\nimport { getVariant, makeStyledComponent, spacing } from '@apia/theme';\r\nimport { keyframes } from '@emotion/react';\r\nimport { Notification } from './Notification';\r\nimport { defaultNotifier } from './defaultNotifier';\r\nimport { useMount } from '@apia/util';\r\n\r\nconst vibrate = keyframes`\r\n0% {\r\n transform: rotate(0);\r\n}\r\n\r\n25% {\r\n transform: rotate(1.5deg);\r\n}\r\n\r\n75% {\r\n transform: rotate(-1.5deg);\r\n}\r\n\r\n100% {\r\n transform: rotate(0);\r\n}`;\r\n\r\nconst useSelector = defaultNotifier.useSelector;\r\n\r\nconst NotificationsList = makeStyledComponent(\r\n 'NotificationsList',\r\n 'layout.common.notifications.list',\r\n {\r\n '.notificationsFloatingList': {\r\n bottom: '10px',\r\n height: 'min-content',\r\n maxHeight: 'calc(100vh - 20px)',\r\n maxWidth: 'floatingNotifications',\r\n position: 'fixed',\r\n pr: '5px',\r\n right: '5px',\r\n width: '100%',\r\n zIndex: 'notifications',\r\n\r\n '& > *:not(:last-child)': {\r\n mb: spacing(5),\r\n },\r\n\r\n '.notification.animate': {\r\n animation: `${vibrate} 0.1s linear infinite`,\r\n },\r\n },\r\n\r\n '.fromRight-enter, .fromRight-appear': { transform: 'translateX(550px)' },\r\n '.fromRight-enter-active, .fromRight-appear-active': {\r\n transition: 'transform 150ms',\r\n transform: 'translateX(0)',\r\n },\r\n '.fromRight-exit': { transform: 'translateX(0)' },\r\n '.fromRight-exit-active': {\r\n transition: 'transform 150ms',\r\n transform: 'translateX(550px)',\r\n },\r\n },\r\n () => {\r\n const notifications = useSelector((current) => {\r\n return current;\r\n });\r\n\r\n useMount(() => {\r\n document.addEventListener('keydown', (ev) => {\r\n if (ev.code === 'Escape') {\r\n defaultNotifier.closeAll();\r\n }\r\n });\r\n });\r\n\r\n return (\r\n <Box\r\n className=\"notificationsFloatingList\"\r\n {...getVariant('layout.common.components.notifications.list')}\r\n >\r\n {notifications.map((current) => {\r\n return <Notification notification={current} key={current.id} />;\r\n })}\r\n </Box>\r\n );\r\n },\r\n);\r\n\r\nexport default React.memo(NotificationsList);\r\n","import {\r\n arrayOrArray,\r\n T__LEGACY_SERVER__Message,\r\n T__LEGACY_SERVER__MessagesPayload,\r\n} from '@apia/util';\r\nimport { notify, TNotificationType, uniqueId } from '../defaultNotifier';\r\nimport { INotification } from '../types';\r\n\r\n/**\r\n * Devuelve un array de notificaciones a partir de\r\n * una respuesta de Apia.\r\n */\r\nexport const getNotificationMessageObj = (\r\n data: T__LEGACY_SERVER__MessagesPayload,\r\n): INotification<TNotificationType>[] | null => {\r\n const notifications: INotification<TNotificationType>[] = [];\r\n if (data?.sysMessages?.message) {\r\n notifications.push(\r\n ...parseServerNotification(data.sysMessages.message, 'warning'),\r\n );\r\n }\r\n if (data?.sysExceptions) {\r\n notifications.push(\r\n ...parseServerNotification(data.sysExceptions.exception, 'danger'),\r\n );\r\n }\r\n if (data?.exceptions?.exception) {\r\n notifications.push(\r\n ...parseServerNotification(data.exceptions.exception, 'danger'),\r\n );\r\n }\r\n if (notifications.length > 0) return notifications;\r\n return null;\r\n};\r\n\r\nfunction parseServerNotificationType(type: string): TNotificationType {\r\n switch (type) {\r\n case '1':\r\n return 'success';\r\n case '2':\r\n return 'warning';\r\n case '3':\r\n return 'danger';\r\n case '4':\r\n return 'modal';\r\n default:\r\n return 'warning';\r\n }\r\n}\r\n\r\n/**\r\n * Toma un objeto de notificación de servidor y lo convierte a un\r\n * objeto de notificación de cliente.\r\n */\r\nexport const parseServerNotification = (\r\n serverNotification: T__LEGACY_SERVER__Message | T__LEGACY_SERVER__Message[],\r\n type: TNotificationType,\r\n): INotification<TNotificationType>[] => {\r\n const messages = arrayOrArray(serverNotification);\r\n return messages.map((current) => {\r\n const returnNotification: INotification<TNotificationType> = {\r\n message: current.text,\r\n trace: current.content,\r\n title: current.title,\r\n type:\r\n current.type !== undefined\r\n ? parseServerNotificationType(current.type)\r\n : (type as TNotificationType),\r\n isOpen: true,\r\n id: uniqueId(),\r\n };\r\n return returnNotification;\r\n });\r\n};\r\n\r\n/**\r\n * Toma un objeto de respuesta de servidor que puede eventualmente\r\n * tener notificaciones y las pasa al sistema de notificaciones si\r\n * es que hay alguna.\r\n */\r\nexport const dispatchNotifications = (\r\n alert: T__LEGACY_SERVER__MessagesPayload,\r\n) => {\r\n if (alert) {\r\n if (alert.sysMessages?.message)\r\n parseServerNotification(alert.sysMessages?.message, 'warning').forEach(\r\n notify,\r\n );\r\n if (alert.exceptions?.exception)\r\n parseServerNotification(alert.exceptions?.exception, 'danger').forEach(\r\n notify,\r\n );\r\n if (alert.sysExceptions?.exception)\r\n parseServerNotification(alert.sysExceptions?.exception, 'danger').forEach(\r\n notify,\r\n );\r\n }\r\n};\r\n"],"names":["id","React"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@apia/notifications",
3
- "version": "4.0.45",
3
+ "version": "5.0.0",
4
4
  "sideEffects": false,
5
5
  "author": "Alexis Leite <alexisleite@live.com>",
6
6
  "main": "dist/index.js",
@@ -15,10 +15,10 @@
15
15
  "libWatchForDashboards": "rollup --watch --config ../../config/rollup.common.mjs --environment MODE:development,ENTRY:index.ts,WATCH:true,DEV_SERVER_MODULE:dashboards"
16
16
  },
17
17
  "dependencies": {
18
- "@apia/icons": "^4.0.45",
19
- "@apia/store": "^4.0.45",
20
- "@apia/theme": "^4.0.45",
21
- "@apia/util": "^4.0.45",
18
+ "@apia/icons": "^5.0.0",
19
+ "@apia/store": "^5.0.0",
20
+ "@apia/theme": "^5.0.0",
21
+ "@apia/util": "^5.0.0",
22
22
  "@emotion/react": "^11.11.4",
23
23
  "@types/react-transition-group": "^4.4.5",
24
24
  "react-transition-group": "^4.4.5"
@@ -43,5 +43,5 @@
43
43
  "url": "http://corp-gitlab-01.domst.st.net/products/apia/ApiaNPMPackages.git",
44
44
  "directory": "packages/notifications"
45
45
  },
46
- "gitHead": "1b035d1b515ceb49207373a4fafcf0ff465bc439"
46
+ "gitHead": "985b675635fb9d3dc5e26a90a6d9898864418b84"
47
47
  }