@apia/notifications 4.0.20 → 4.0.24
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.js.map +1 -1
- package/package.json +8 -8
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":";;;;;;;;;;;;;;;AAKO,MAAM,+BAA8D;AAI3E,SAAS,YAAA,CAAa,GAAc,CAAA,EAAc;AAChD,EAAA,IAAI,CAAA,CAAE,WAAW,CAAA,CAAE,MAAA;AAAQ,IAAA,OAAO,KAAA;AAElC,EAAA,KAAA,IAAS,CAAA,GAAI,CAAA,EAAG,CAAA,GAAI,CAAA,CAAE,MAAA,EAAQ,CAAA,EAAA;AAAK,IAAA,IAAI,CAAA,CAAE,CAAC,CAAA,KAAM,CAAA,CAAE,CAAC,CAAA;AAAG,MAAA,OAAO,KAAA;AAE7D,EAAA,OAAO,IAAA;AACT;AAEA,IAAI,EAAA,GAAK,CAAA;AACF,SAAS,QAAA,GAAW;AACzB,EAAA,OAAO,gBAAgB,EAAA,EAAI,CAAA,CAAA;AAC7B;AAQO,MAAM,wBAAwB,YAAA,CAAuC;AAAA,EAArE,WAAA,GAAA;AAAA,IAAA,KAAA,CAAA,GAAA,SAAA,CAAA;AACL,IAAA,aAAA,CAAA,IAAA,EAAA,eAAA,EAAoD,EAAC,CAAA;AAyCrD,IAAA,aAAA,CAAA,IAAA,EAAA,aAAA,EAAc,CACZ,QAAA,KACuC;AACvC,MAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAI,QAAA,CAA6C,EAAE,CAAA;AAEzE,MAAA,MAAM,SAAA,GAAY,UAAU,KAAK,CAAA;AACjC,MAAA,QAAA,CAAS,MAAM;AACb,QAAA,OAAO,IAAA,CAAK,EAAA,CAAG,aAAA,EAAe,MAAM;AAClC,UAAA,MAAM,QAAA,GAAW,QAAA,CAAS,IAAA,CAAK,aAAa,CAAA;AAC5C,UAAA,IAAI,CAAC,YAAA,CAAa,QAAA,EAAU,SAAA,CAAU,OAAO,CAAA,EAAG;AAC9C,YAAA,QAAA,CAAS,CAAC,GAAG,QAAQ,CAAC,CAAA;AAAA;AACxB,SACD,CAAA;AAAA,OACF,CAAA;AAED,MAAA,OAAO,KAAA;AAAA,KACT,CAAA;AAAA;AAAA,EAvDA,oBAAA,GAAgC;AAC9B,IAAA,OAAO,CAAC,CAAC,QAAA,CAAS,aAAA,CAAc,eAAe,CAAA;AAAA;AACjD,EAEA,KAAA,GAAQ;AACN,IAAA,IAAA,CAAK,IAAA,CAAK,eAAe,IAAI,CAAA;AAAA;AAC/B,EAEA,MAAMA,GAAAA,EAA2C;AAC/C,IAAA,MAAM,QAAA,GAAW,OAAOA,GAAAA,KAAO,QAAA,GAAWA,IAAG,EAAA,GAAKA,GAAAA;AAClD,IAAA,IAAA,CAAK,aAAA,GAAgB,IAAA,CAAK,aAAA,CAAc,GAAA,CAAI,CAAC,OAAA,KAAY;AACvD,MAAA,IAAI,OAAA,CAAQ,OAAO,QAAA,EAAU;AAC3B,QAAA,OAAA,CAAQ,OAAA,IAAU;AAClB,QAAA,OAAO,EAAE,GAAG,OAAA,EAAS,MAAA,EAAQ,KAAA,EAAM;AAAA;AAErC,MAAA,OAAO,OAAA;AAAA,KACR,CAAA;AACD,IAAA,IAAA,CAAK,KAAA,EAAM;AAAA;AACb,EAEA,QAAA,GAAiB;AACf,IAAA,IAAA,CAAK,aAAA,GAAgB,IAAA,CAAK,aAAA,CAAc,GAAA,CAAI,CAAC,OAAA,KAAY;AACvD,MAAA,OAAA,CAAQ,OAAA,IAAU;AAClB,MAAA,OAAO;AAAA,QACL,GAAG,OAAA;AAAA,QACH,MAAA,EAAQ;AAAA,OACV;AAAA,KACD,CAAA;AACD,IAAA,IAAA,CAAK,KAAA,EAAM;AAAA;AACb,EAEA,OAAOA,GAAAA,EAA2C;AAChD,IAAA,MAAM,QAAA,GAAW,OAAOA,GAAAA,KAAO,QAAA,GAAWA,IAAG,EAAA,GAAKA,GAAAA;AAClD,IAAA,IAAA,CAAK,aAAA,GAAgB,KAAK,aAAA,CAAc,MAAA;AAAA,MACtC,CAAC,OAAA,KAAY,OAAA,CAAQ,EAAA,KAAO;AAAA,KAC9B;AACA,IAAA,IAAA,CAAK,KAAA,EAAM;AAAA;AACb,EAoBA,OAAO,YAAA,EAA6C;AAClD,IAAA,MAAMA,GAAAA,GAAK,YAAA,CAAa,EAAA,IAAM,QAAA,EAAS;AAEvC,IAAA,IAAI,WAAA,GAAc,KAAA;AAClB,IAAA,QAAA,CACG,gBAAA,CAAiB,gDAAgD,CAAA,CACjE,OAAA,CAAQ,CAAC,OAAA,KAAY;AACpB,MAAA,IAAI,OAAA,CAAQ,WAAA,KAAgB,YAAA,CAAa,OAAA,EAAS;AAChD,QAAA,MAAM,sBAAuB,OAAA,CAAwB,OAAA;AAAA,UACnD;AAAA,SACF;AACA,QAAA,IAAI,mBAAA,EAAqB;AACvB,UAAA,mBAAA,CAAoB,SAAA,CAAU,IAAI,SAAS,CAAA;AAC3C,UAAA,UAAA,CAAW,MAAM;AACf,YAAA,mBAAA,CAAoB,SAAA,CAAU,OAAO,SAAS,CAAA;AAAA,aAC7C,GAAG,CAAA;AACN,UAAA,WAAA,GAAc,IAAA;AAAA,SAChB;AACE,UAAA,OAAA,CAAQ,IAAA;AAAA,YACN;AAAA,WACF;AAAA;AACJ,KACD,CAAA;AACH,IAAA,IAAI,WAAA;AAAa,MAAA;AAEjB,IAAA,IAAA,CAAK,cAAc,IAAA,CAAK;AAAA,MACtB,GAAG,YAAA;AAAA,MACH,MAAA,EAAQ,IAAA;AAAA,MACR,IAAA,EAAM,aAAa,IAAA,IAAQ,SAAA;AAAA,MAC3B,EAAA,EAAAA;AAAA,KACD,CAAA;AAED,IAAA,IAAA,CAAK,KAAA,EAAM;AAAA;AACb,EAEA,EAAA,CACE,WACA,EAAA,EACY;AACZ,IAAA,EAAA,CAAG,IAAI,CAAA;AACP,IAAA,OAAO,KAAA,CAAM,EAAA,CAAG,SAAA,EAAW,EAAE,CAAA;AAAA;AAEjC;AAEO,MAAM,eAAA,GAAkB,IAAI,eAAA;AAE5B,SAAS,OAAO,YAAA,EAAuC;AAC5D,EAAA,eAAA,CAAgB,OAAO,YAAY,CAAA;AACrC;;ACjIA,MAAM,KAAA,GAAQ,CAAC,EAAE,KAAA,EAAM,KAAc;AACnC,EAAA,MAAM,YAAY,MAAM;AACtB,IAAA,QAAA,CAAS,aAAA;AAAA,MACP,IAAI,YAAY,WAAA,EAAa;AAAA,QAC3B,MAAA,EAAQ;AAAA,UACN,wBACE,GAAA,CAAA,QAAA,EAAA,EACE,QAAA,kBAAA,GAAA;AAAA,YAAC,MAAA;AAAA,YAAA;AAAA,cACC,OAAA,EAAQ,YAAA;AAAA,cACR,SAAS,MAAM;AACb,gBAAA,KAAK,UAAU,SAAA,CAAU,SAAA;AAAA,kBACvB,QAAA,CAAS,aAAA,CAA2B,sBAAsB,CAAA,EACtD,SAAA,IAAa;AAAA,iBACnB;AAAA,eACF;AAAA,cACD,QAAA,EAAA;AAAA;AAAA,WAED,EACF,CAAA;AAAA,UAEF,QAAA,kBACE,GAAA;AAAA,YAAC,GAAA;AAAA,YAAA;AAAA,cACC,uBAAA,EAAyB;AAAA,gBACvB,QAAQ,KAAA,CAAM,UAAA;AAAA,kBACZ,sBAAA;AAAA,kBACA;AAAA;AACF;AACF;AAAA,WACF;AAAA,UAEF,IAAA,EAAM,KAAA;AAAA,UACN,KAAA,EAAO;AAAA;AACT,OACD;AAAA,KACH;AAAA,GACF;AAEA,EAAA,uBACE,IAAA,CAAC,GAAA,EAAA,EAAI,EAAA,EAAG,MAAA,EAAO,WAAU,qBAAA,EACvB,QAAA,EAAA;AAAA,oBAAA,IAAA,CAAC,GAAA,EAAA,EAAI,EAAA,EAAG,QAAA,EAAS,SAAA,EAAU,0BAAA,EACzB,QAAA,EAAA;AAAA,sBAAA,GAAA;AAAA,QAAC,UAAA;AAAA,QAAA;AAAA,UACC,IAAA,EAAK,QAAA;AAAA,UACL,OAAA,EAAS,SAAA;AAAA,UACT,KAAA,EAAM,YAAA;AAAA,UACN,EAAA,EAAI;AAAA,YACF,MAAA,EAAQ,MAAA;AAAA,YACR,KAAA,EAAO;AAAA,WACT;AAAA,UAEA,8BAAC,IAAA,EAAA,EAAK,IAAA,EAAK,UAAS,KAAA,EAAM,EAAA,EAAG,MAAK,UAAA,EAAW;AAAA;AAAA,OAC/C;AAAA,sBACA,GAAA;AAAA,QAAC,UAAA;AAAA,QAAA;AAAA,UACC,IAAA,EAAK,QAAA;AAAA,UACL,KAAA,EAAM,YAAA;AAAA,UACN,EAAA,EAAI;AAAA,YACF,MAAA,EAAQ,MAAA;AAAA,YACR,KAAA,EAAO;AAAA,WACT;AAAA,UACA,OAAA,EAAS,MACP,KAAK,SAAA,CAAU,SAAA,CAAU,SAAA;AAAA,YACvB,KAAA,CAAM,UAAA,CAAW,YAAA,EAAc,IAAI;AAAA,WACrC;AAAA,UAGF,8BAAC,IAAA,EAAA,EAAK,IAAA,EAAK,UAAS,KAAA,EAAM,EAAA,EAAG,MAAK,MAAA,EAAO;AAAA;AAAA,OAC3C;AAAA,sBACA,GAAA,CAAC,GAAA,EAAA,EAAI,EAAA,EAAG,MAAA,EAAO,QAAA,EAAA,QAAA,EAAM;AAAA,KAAA,EACvB,CAAA;AAAA,oBACA,GAAA,CAAC,GAAA,EAAA,EAAI,SAAA,EAAU,yBAAA,EAA2B,QAAA,EAAA,KAAA,EAAM;AAAA,GAAA,EAClD,CAAA;AAEJ,CAAA;;AC1DO,MAAM,eAA6C,CAAC;AAAA,EACzD,aAAA,GAAgB,WAAA;AAAA,EAChB,gBAAA,GAAmB,GAAA;AAAA,EACnB,SAAA;AAAA,EACA,YAAA;AAAA,EACA;AACF,CAAA,KAAM;AACJ,EAAA,MAAM,oBAAoB,KAAA,CAAM,OAAA;AAAA,IAC9B,OAAO,EAAE,GAAG,YAAA,EAAa,CAAA;AAAA,IACzB,CAAC,YAAY;AAAA,GACf;AACA,EAAA,MAAM,OAAA,GAAU,KAAA,CAAM,MAAA,CAAO,IAAI,CAAA;AACjC,EAAA,IAAI,CAAC,iBAAA,CAAkB,KAAA;AACrB,IAAA,iBAAA,CAAkB,KAAA,GAAQ,QAAA;AAAA,MACxB,CAAC,MAAA,CAAO,SAAA,EAAW,MAAA,CAAO,WAAA,EAAa,OAAO,sBAAsB,CAAA;AAAA,MACpE;AAAA,QACE,kBAAkB,IAAA,KAAS,QAAA;AAAA,QAC3B,kBAAkB,IAAA,KAAS,SAAA;AAAA,QAC3B,kBAAkB,IAAA,KAAS;AAAA;AAC7B,KACF;AACF,EAAA,IAAI,CAAC,iBAAA,CAAkB,IAAA;AACrB,IAAA,iBAAA,CAAkB,IAAA,GAAO,QAAA;AAAA,MACvB,CAAC,OAAA,EAAS,OAAA,EAAS,OAAO,CAAA;AAAA,MAC1B;AAAA,QACE,kBAAkB,IAAA,KAAS,SAAA;AAAA,QAC3B,kBAAkB,IAAA,KAAS,SAAA;AAAA,QAC3B,kBAAkB,IAAA,KAAS;AAAA;AAC7B,KACF;AAEF,EAAA,MAAM,CAAC,UAAA,EAAY,aAAa,CAAA,GAAI,KAAA,CAAM,SAAS,IAAI,CAAA;AAEvD,EAAA,MAAM,KAAA,GAAQ,KAAA,CAAM,WAAA,CAAY,MAAM;AACpC,IAAA,eAAA,CAAgB,OAAO,iBAAiB,CAAA;AAAA,GAC1C,EAAG,CAAC,iBAAiB,CAAC,CAAA;AAEtB,EAAA,eAAA,CAAgB,MAAM;AACpB,IAAA,IAAI,CAAC,iBAAA,CAAkB,MAAA;AAAQ,MAAA,aAAA,CAAc,KAAK,CAAA;AAAA,GACpD,EAAG,CAAC,iBAAA,CAAkB,MAAM,CAAC,CAAA;AAE7B,EAAA,UAAA,CAAW,MAAM;AACf,IAAA,IAAI,4BAAA,CAA6B,kBAAkB,EAAE,CAAA;AACnD,MAAA,4BAAA,CAA6B,iBAAA,CAAkB,EAAE,CAAA,EAAE;AAAA,GACtD,CAAA;AAED,EAAA,IAAI,gBAAA,GAA0C,SAAA;AAC9C,EAAA,IAAI,CAAC,cAAA,EAAgB,WAAA,EAAa,QAAQ,CAAA,CAAE,QAAA,CAAS,kBAAkB,IAAI,CAAA;AACzE,IAAA,gBAAA,GAAmB,QAAA;AACrB,EAAA,IAAI,CAAC,cAAA,EAAgB,SAAS,CAAA,CAAE,QAAA,CAAS,kBAAkB,IAAI,CAAA;AAC7D,IAAA,gBAAA,GAAmB,SAAA;AACrB,EAAA,IAAI,CAAC,MAAM,CAAA,CAAE,QAAA,CAAS,kBAAkB,IAAI,CAAA;AAAG,IAAA,gBAAA,GAAmB,MAAA;AAElE,EAAA,MAAM,OAAA,GAAU,KAAA,CAAM,WAAA,CAAY,MAAM;AACtC,IAAA,aAAA,CAAc,KAAK,CAAA;AACnB,IAAA,eAAA,CAAgB,MAAM,iBAAiB,CAAA;AAAA,GACzC,EAAG,CAAC,iBAAiB,CAAC,CAAA;AAEtB,EAAA,uBACE,GAAA;AAAA,IAAC,aAAA;AAAA,IAAA;AAAA,MACC,EAAA,EAAI,UAAA;AAAA,MACJ,OAAA,EAAS,gBAAA;AAAA,MACT,UAAA,EAAY,aAAA;AAAA,MACZ,MAAA,EAAM,IAAA;AAAA,MACN,aAAA,EAAa,IAAA;AAAA,MACb,QAAA,EAAU,KAAA;AAAA,MACV,OAAA;AAAA,MAEA,QAAA,kBAAA,IAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UACC,aAAA,EAAa,gBAAA;AAAA,UACb,IAAA,EAAK,OAAA;AAAA,UACL,GAAA,EAAK,OAAA;AAAA,UACL,OAAA,EAAS,UAAU,gBAAgB,CAAA,CAAA;AAAA,UACnC,SAAA,EAAW,CAAA,EACT,SAAA,IAAa,EACf,qCAAqC,gBAAgB,CAAA,CAAA;AAAA,UACrD,QAAA,EAAU,CAAA;AAAA,UACV,SAAA,EAAW,KAAA,CAAM,WAAA,CAAY,CAAC,EAAA,KAA4B;AACxD,YAAA,IACE,EAAA,CAAG,GAAA,CAAI,WAAA,EAAY,KAAM,QAAA,IACzB,EAAA,CAAG,GAAA,CAAI,WAAA,EAAY,KAAM,OAAA,IACzB,EAAA,CAAG,GAAA,KAAQ,GAAA,EACX;AACA,cAAA,EAAA,CAAG,cAAA,EAAe;AAClB,cAAA,EAAA,CAAG,eAAA,EAAgB;AACnB,cAAA,aAAA,CAAc,KAAK,CAAA;AAAA;AACrB,WACF,EAAG,EAAE,CAAA;AAAA,UAEH,QAAA,EAAA;AAAA,YAAA,CAAA,CAAC,YAAA,IACD,kBAAkB,IAAA,IAClB,iBAAA,CAAkB,0BAClB,IAAA,CAAC,GAAA,EAAA,EAAI,WAAU,sBAAA,EACX,QAAA,EAAA;AAAA,cAAA,CAAA,iBAAA,CAAkB,KAAA,IAAS,kBAAkB,IAAA,qBAC7C,IAAA,CAAC,OAAI,EAAA,EAAG,IAAA,EAAK,WAAU,qBAAA,EACpB,QAAA,EAAA;AAAA,gBAAA,iBAAA,CAAkB,IAAA,oBACjB,GAAA,CAAC,GAAA,EAAA,EAAI,SAAA,EAAU,oBAAA,EACZ,QAAA,EAAA,UAAA;AAAA,kBACC,iBAAA,CAAkB;AAAA,iBACpB,mBACE,GAAA;AAAA,kBAAC,IAAA;AAAA,kBAAA;AAAA,oBACC,KAAA,EAAM,EAAA;AAAA,oBACN,MAAM,iBAAA,CAAkB;AAAA;AAAA,iBAC1B,GAEA,kBAAkB,IAAA,EAEtB,CAAA;AAAA,gBAED,iBAAA,CAAkB;AAAA,eAAA,EACrB,CAAA;AAAA,cAED,CAAC,YAAA,oBACA,GAAA;AAAA,gBAAC,KAAA;AAAA,gBAAA;AAAA,kBACC,IAAA,EAAK,QAAA;AAAA,kBACL,OAAA;AAAA,kBACA,QAAA,EAAU,EAAA;AAAA,kBACV,SAAA,EAAU;AAAA;AAAA;AACZ,aAAA,EAEJ,CAAA;AAAA,gCAED,GAAA,EAAA,EAAI,SAAA,EAAU,sBACb,QAAA,kBAAA,IAAA,CAAC,GAAA,EAAA,EAAI,WAAU,uBAAA,EACb,QAAA,EAAA;AAAA,8BAAA,GAAA,CAAC,GAAA,EAAA,EAAI,WAAU,uBAAA,EACb,QAAA,kBAAA,GAAA;AAAA,gBAAC,GAAA;AAAA,gBAAA;AAAA,kBACC,uBAAA,EAAyB;AAAA,oBACvB,QAAQ,iBAAA,CAAkB;AAAA,mBAC5B;AAAA,kBACA,SAAA,EAAU;AAAA;AAAA,eACZ,EACF,CAAA;AAAA,cACC,kBAAkB,KAAA,oBACjB,GAAA,CAAC,KAAA,EAAA,EAAM,KAAA,EAAO,kBAAkB,KAAA,EAAO;AAAA,aAAA,EAE3C,CAAA,EACF;AAAA;AAAA;AAAA;AACF;AAAA,GACF;AAEJ;;ACxJA,MAAM,OAAA,GAAU,SAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA,CAAA,CAAA;AAiBhB,MAAM,cAAc,eAAA,CAAgB,WAAA;AAEpC,MAAM,iBAAA,GAAoB,mBAAA;AAAA,EACxB,mBAAA;AAAA,EACA,kCAAA;AAAA,EACA;AAAA,IACE,4BAAA,EAA8B;AAAA,MAC5B,MAAA,EAAQ,MAAA;AAAA,MACR,MAAA,EAAQ,aAAA;AAAA,MACR,SAAA,EAAW,oBAAA;AAAA,MACX,QAAA,EAAU,uBAAA;AAAA,MACV,QAAA,EAAU,OAAA;AAAA,MACV,EAAA,EAAI,KAAA;AAAA,MACJ,KAAA,EAAO,KAAA;AAAA,MACP,KAAA,EAAO,MAAA;AAAA,MACP,MAAA,EAAQ,eAAA;AAAA,MAER,wBAAA,EAA0B;AAAA,QACxB,EAAA,EAAI,QAAQ,CAAC;AAAA,OACf;AAAA,MAEA,uBAAA,EAAyB;AAAA,QACvB,SAAA,EAAW,GAAG,OAAO,CAAA,qBAAA;AAAA;AACvB,KACF;AAAA,IAEA,qCAAA,EAAuC,EAAE,SAAA,EAAW,mBAAA,EAAoB;AAAA,IACxE,mDAAA,EAAqD;AAAA,MACnD,UAAA,EAAY,iBAAA;AAAA,MACZ,SAAA,EAAW;AAAA,KACb;AAAA,IACA,iBAAA,EAAmB,EAAE,SAAA,EAAW,eAAA,EAAgB;AAAA,IAChD,wBAAA,EAA0B;AAAA,MACxB,UAAA,EAAY,iBAAA;AAAA,MACZ,SAAA,EAAW;AAAA;AACb,GACF;AAAA,EACA,MAAM;AACJ,IAAA,MAAM,aAAA,GAAgB,WAAA,CAAY,CAAC,OAAA,KAAY;AAC7C,MAAA,OAAO,OAAA;AAAA,KACR,CAAA;AAED,IAAA,QAAA,CAAS,MAAM;AACb,MAAA,QAAA,CAAS,gBAAA,CAAiB,SAAA,EAAW,CAAC,EAAA,KAAO;AAC3C,QAAA,IAAI,EAAA,CAAG,SAAS,QAAA,EAAU;AACxB,UAAA,eAAA,CAAgB,QAAA,EAAS;AAAA;AAC3B,OACD,CAAA;AAAA,KACF,CAAA;AAED,IAAA,uBACE,GAAA;AAAA,MAAC,GAAA;AAAA,MAAA;AAAA,QACC,SAAA,EAAU,2BAAA;AAAA,QACT,GAAG,WAAW,6CAA6C,CAAA;AAAA,QAE3D,QAAA,EAAA,aAAA,CAAc,GAAA,CAAI,CAAC,OAAA,KAAY;AAC9B,UAAA,uBAAO,GAAA,CAAC,YAAA,EAAA,EAAa,YAAA,EAAc,OAAA,EAAA,EAAc,QAAQ,EAAI,CAAA;AAAA,SAC9D;AAAA;AAAA,KACH;AAAA;AAGN,CAAA;AAEA,0BAAeC,cAAA,CAAM,KAAK,iBAAiB,CAAA;;AC/EpC,MAAM,yBAAA,GAA4B,CACvC,IAAA,KAC8C;AAC9C,EAAA,MAAM,gBAAoD,EAAC;AAC3D,EAAA,IAAI,IAAA,EAAM,aAAa,OAAA,EAAS;AAC9B,IAAA,aAAA,CAAc,IAAA;AAAA,MACZ,GAAG,uBAAA,CAAwB,IAAA,CAAK,WAAA,CAAY,SAAS,SAAS;AAAA,KAChE;AAAA;AAEF,EAAA,IAAI,MAAM,aAAA,EAAe;AACvB,IAAA,aAAA,CAAc,IAAA;AAAA,MACZ,GAAG,uBAAA,CAAwB,IAAA,CAAK,aAAA,CAAc,WAAW,QAAQ;AAAA,KACnE;AAAA;AAEF,EAAA,IAAI,IAAA,EAAM,YAAY,SAAA,EAAW;AAC/B,IAAA,aAAA,CAAc,IAAA;AAAA,MACZ,GAAG,uBAAA,CAAwB,IAAA,CAAK,UAAA,CAAW,WAAW,QAAQ;AAAA,KAChE;AAAA;AAEF,EAAA,IAAI,cAAc,MAAA,GAAS,CAAA;AAAG,IAAA,OAAO,aAAA;AACrC,EAAA,OAAO,IAAA;AACT;AAEA,SAAS,4BAA4B,IAAA,EAAiC;AACpE,EAAA,QAAQ,IAAA;AAAM,IACZ,KAAK,GAAA;AACH,MAAA,OAAO,SAAA;AAAA,IACT,KAAK,GAAA;AACH,MAAA,OAAO,SAAA;AAAA,IACT,KAAK,GAAA;AACH,MAAA,OAAO,QAAA;AAAA,IACT;AACE,MAAA,OAAO,SAAA;AAAA;AAEb;AAMO,MAAM,uBAAA,GAA0B,CACrC,kBAAA,EACA,IAAA,KACuC;AACvC,EAAA,MAAM,QAAA,GAAW,aAAa,kBAAkB,CAAA;AAChD,EAAA,OAAO,QAAA,CAAS,GAAA,CAAI,CAAC,OAAA,KAAY;AAC/B,IAAA,MAAM,kBAAA,GAAuD;AAAA,MAC3D,SAAS,OAAA,CAAQ,IAAA;AAAA,MACjB,OAAO,OAAA,CAAQ,OAAA;AAAA,MACf,OAAO,OAAA,CAAQ,KAAA;AAAA,MACf,MACE,OAAA,CAAQ,IAAA,KAAS,SACb,2BAAA,CAA4B,OAAA,CAAQ,IAAI,CAAA,GACvC,IAAA;AAAA,MACP,MAAA,EAAQ,IAAA;AAAA,MACR,IAAI,QAAA;AAAS,KACf;AACA,IAAA,OAAO,kBAAA;AAAA,GACR,CAAA;AACH;AAOO,MAAM,qBAAA,GAAwB,CAAC,KAAA,KAAgC;AACpE,EAAA,IAAI,KAAA,EAAO;AACT,IAAA,IAAI,MAAM,WAAA,EAAa,OAAA;AACrB,MAAA,uBAAA,CAAwB,KAAA,CAAM,WAAA,EAAa,OAAA,EAAS,SAAS,CAAA,CAAE,OAAA;AAAA,QAC7D;AAAA,OACF;AACF,IAAA,IAAI,MAAM,UAAA,EAAY,SAAA;AACpB,MAAA,uBAAA,CAAwB,KAAA,CAAM,UAAA,EAAY,SAAA,EAAW,QAAQ,CAAA,CAAE,OAAA;AAAA,QAC7D;AAAA,OACF;AACF,IAAA,IAAI,MAAM,aAAA,EAAe,SAAA;AACvB,MAAA,uBAAA,CAAwB,KAAA,CAAM,aAAA,EAAe,SAAA,EAAW,QAAQ,CAAA,CAAE,OAAA;AAAA,QAChE;AAAA,OACF;AAAA;AAEN;;;;"}
|
|
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 */\nimport { INotification, TNotificationId, TNotificationSelector } from './types';\nimport { EventEmitter, useMount, useLatest } from '@apia/util';\nimport { useState } from 'react';\n\nexport const onCloseNotificationCallbacks: Record<string, () => unknown> = {};\n\nexport type TNotificationType = 'danger' | 'success' | 'warning';\n\nfunction shallowEqual(a: unknown[], b: unknown[]) {\n if (a.length !== b.length) return false;\n\n for (let i = 0; i < a.length; i++) if (a[i] !== b[i]) return false;\n\n return true;\n}\n\nlet id = 0;\nexport function uniqueId() {\n return `notification_${id++}`;\n}\n\nexport type TDispatchedNotification = Omit<\n INotification<TNotificationType>,\n 'id' | 'type' | 'isOpen'\n> &\n Partial<Pick<INotification<TNotificationType>, 'id' | 'type'>>;\n\nexport class DefaultNotifier extends EventEmitter<{ changedList: boolean }> {\n notifications: INotification<TNotificationType>[] = [];\n\n areNotificationsOpen(): boolean {\n return !!document.querySelector('.notification');\n }\n\n shout() {\n this.emit('changedList', true);\n }\n\n close(id: TNotificationId | INotification): void {\n const actualId = typeof id === 'object' ? id.id : id;\n this.notifications = this.notifications.map((current) => {\n if (current.id === actualId) {\n current.onClose?.();\n return { ...current, isOpen: false };\n }\n return current;\n });\n this.shout();\n }\n\n closeAll(): void {\n this.notifications = this.notifications.map((current) => {\n current.onClose?.();\n return {\n ...current,\n isOpen: false,\n };\n });\n this.shout();\n }\n\n delete(id: TNotificationId | INotification): void {\n const actualId = typeof id === 'object' ? id.id : id;\n this.notifications = this.notifications.filter(\n (current) => current.id !== actualId,\n );\n this.shout();\n }\n\n useSelector = (\n selector: TNotificationSelector<TNotificationType>,\n ): INotification<TNotificationType>[] => {\n const [state, setState] = useState<INotification<TNotificationType>[]>([]);\n\n const lastState = useLatest(state);\n useMount(() => {\n return this.on('changedList', () => {\n const newState = selector(this.notifications);\n if (!shallowEqual(newState, lastState.current)) {\n setState([...newState]);\n }\n });\n });\n\n return state;\n };\n\n notify(notification: TDispatchedNotification): void {\n const id = notification.id ?? uniqueId();\n\n let hasAnimated = false;\n document\n .querySelectorAll('.notificationsFloatingList .notification__text')\n .forEach((current) => {\n if (current.textContent === notification.message) {\n const notificationElement = (current as HTMLElement).closest(\n '.notification',\n ) as HTMLElement;\n if (notificationElement) {\n notificationElement.classList.add('animate');\n setTimeout(() => {\n notificationElement.classList.remove('animate');\n }, 200);\n hasAnimated = true;\n } else\n console.warn(\n 'A notification with that text was found, but it could not be animated',\n );\n }\n });\n if (hasAnimated) return;\n\n this.notifications.push({\n ...notification,\n isOpen: true,\n type: notification.type ?? 'warning',\n id,\n });\n\n this.shout();\n }\n\n on<K extends 'changedList'>(\n eventName: K,\n fn: (params: { changedList: boolean }[K]) => unknown,\n ): () => void {\n fn(true);\n return super.on(eventName, fn);\n }\n}\n\nexport const defaultNotifier = new DefaultNotifier();\n\nexport function notify(notification: TDispatchedNotification) {\n defaultNotifier.notify(notification);\n}\n","import { Icon } from '@apia/icons';\nimport { Box, Button, IconButton } from '@apia/theme';\n\ninterface ITrace {\n trace: string;\n}\n\nconst Trace = ({ trace }: ITrace) => {\n const openModal = () => {\n document.dispatchEvent(\n new CustomEvent('openModal', {\n detail: {\n NavBar: (\n <>\n <Button\n variant=\"outline-sm\"\n onClick={() => {\n void navigator.clipboard.writeText(\n document.querySelector<HTMLElement>('.TraceModal__content')\n ?.innerText ?? '',\n );\n }}\n >\n Copy trace\n </Button>\n </>\n ),\n children: (\n <Box\n dangerouslySetInnerHTML={{\n __html: trace.replaceAll(\n /\\((\\w+\\.java:\\d+)\\)/g,\n '(<strong>$1</strong>)',\n ),\n }}\n />\n ),\n size: 'xxl',\n title: 'Stack trace',\n },\n }),\n );\n };\n\n return (\n <Box as=\"code\" className=\"notification__trace\">\n <Box as=\"strong\" className=\"notification__traceLabel\">\n <IconButton\n size=\"IconMd\"\n onClick={openModal}\n title=\"View trace\"\n sx={{\n height: '24px',\n width: '24px',\n }}\n >\n <Icon size=\"iconXs\" title=\"\" name=\"External\" />\n </IconButton>\n <IconButton\n size=\"IconMd\"\n title=\"Copy trace\"\n sx={{\n height: '24px',\n width: '24px',\n }}\n onClick={() =>\n void navigator.clipboard.writeText(\n trace.replaceAll(/<br *\\/?>/g, '\\n'),\n )\n }\n >\n <Icon size=\"iconXs\" title=\"\" name=\"Copy\" />\n </IconButton>\n <Box as=\"span\">Trace:</Box>\n </Box>\n <Box className=\"notification__traceText\">{trace}</Box>\n </Box>\n );\n};\n\nexport default Trace;\n","import * as React from 'react';\nimport { Alert, Box, Close } from '@apia/theme';\nimport { CSSTransition } from 'react-transition-group';\nimport { getIndex, useUnmount, useUpdateEffect } from '@apia/util';\nimport { Icon, isIconName, TIconName } from '@apia/icons';\nimport { INotification } from './types';\nimport {\n defaultNotifier,\n onCloseNotificationCallbacks,\n} from './defaultNotifier';\nimport Trace from './Trace';\n\nexport interface INotificationProps {\n animationName?: string;\n animationTimeout?: number;\n className?: string;\n disableClose?: boolean;\n notification: INotification;\n}\n\nexport const Notification: React.FC<INotificationProps> = ({\n animationName = 'fromRight',\n animationTimeout = 150,\n className,\n disableClose,\n notification,\n}) => {\n const innerNotification = React.useMemo(\n () => ({ ...notification }),\n [notification],\n );\n const nodeRef = React.useRef(null);\n if (!innerNotification.title)\n innerNotification.title = getIndex(\n [window.LBL_ERROR, window.LBL_WARNING, window.LBL_COMPLETE_OPERATION],\n [\n innerNotification.type === 'danger',\n innerNotification.type === 'warning',\n innerNotification.type === 'success',\n ],\n );\n if (!innerNotification.icon)\n innerNotification.icon = getIndex<TIconName>(\n ['Check', 'Alert', 'Close'],\n [\n innerNotification.type === 'success',\n innerNotification.type === 'warning',\n innerNotification.type === 'danger',\n ],\n );\n\n const [shouldShow, setShouldShow] = React.useState(true);\n\n const close = React.useCallback(() => {\n defaultNotifier.delete(innerNotification);\n }, [innerNotification]);\n\n useUpdateEffect(() => {\n if (!innerNotification.isOpen) setShouldShow(false);\n }, [innerNotification.isOpen]);\n\n useUnmount(() => {\n if (onCloseNotificationCallbacks[innerNotification.id])\n onCloseNotificationCallbacks[innerNotification.id]();\n });\n\n let notificationType: INotification['type'] = 'warning';\n if (['sysException', 'exception', 'danger'].includes(innerNotification.type))\n notificationType = 'danger';\n if (['greenMessage', 'success'].includes(innerNotification.type))\n notificationType = 'success';\n if (['info'].includes(innerNotification.type)) notificationType = 'info';\n\n const onClick = React.useCallback(() => {\n setShouldShow(false);\n defaultNotifier.close(innerNotification);\n }, [innerNotification]);\n\n return (\n <CSSTransition\n in={shouldShow}\n timeout={animationTimeout}\n classNames={animationName}\n appear\n unmountOnExit\n onExited={close}\n nodeRef={nodeRef}\n >\n <Alert\n data-testid={notificationType}\n role=\"alert\"\n ref={nodeRef}\n variant={`alerts.${notificationType}`}\n className={`${\n className ?? ''\n } notification notification__alert ${notificationType}`}\n tabIndex={0}\n onKeyDown={React.useCallback((ev: React.KeyboardEvent) => {\n if (\n ev.key.toLowerCase() === 'escape' ||\n ev.key.toLowerCase() === 'enter' ||\n ev.key === ' '\n ) {\n ev.preventDefault();\n ev.stopPropagation();\n setShouldShow(false);\n }\n }, [])}\n >\n {(!disableClose ||\n innerNotification.icon ||\n innerNotification.title) && (\n <Box className=\"notification__header\">\n {(innerNotification.title || innerNotification.icon) && (\n <Box as=\"h4\" className=\"notification__title\">\n {innerNotification.icon && (\n <Box className=\"notification__icon\">\n {isIconName(\n innerNotification.icon as unknown as TIconName,\n ) ? (\n <Icon\n title=\"\"\n name={innerNotification.icon as unknown as TIconName}\n />\n ) : (\n innerNotification.icon\n )}\n </Box>\n )}\n {innerNotification.title}\n </Box>\n )}\n {!disableClose && (\n <Close\n type=\"button\"\n onClick={onClick}\n tabIndex={-1}\n className=\"notification__closeButton\"\n />\n )}\n </Box>\n )}\n <Box className=\"notification__body\">\n <Box className=\"notification__content\">\n <Box className=\"notification__message\">\n <Box\n dangerouslySetInnerHTML={{\n __html: innerNotification.message,\n }}\n className=\"notification__text\"\n />\n </Box>\n {innerNotification.trace && (\n <Trace trace={innerNotification.trace} />\n )}\n </Box>\n </Box>\n </Alert>\n </CSSTransition>\n );\n};\n","import React from 'react';\nimport { Box } from '@apia/theme';\nimport { getVariant, makeStyledComponent, spacing } from '@apia/theme';\nimport { keyframes } from '@emotion/react';\nimport { Notification } from './Notification';\nimport { defaultNotifier } from './defaultNotifier';\nimport { useMount } from '@apia/util';\n\nconst vibrate = keyframes`\n0% {\n transform: rotate(0);\n}\n\n25% {\n transform: rotate(1.5deg);\n}\n\n75% {\n transform: rotate(-1.5deg);\n}\n\n100% {\n transform: rotate(0);\n}`;\n\nconst useSelector = defaultNotifier.useSelector;\n\nconst NotificationsList = makeStyledComponent(\n 'NotificationsList',\n 'layout.common.notifications.list',\n {\n '.notificationsFloatingList': {\n bottom: '10px',\n height: 'min-content',\n maxHeight: 'calc(100vh - 20px)',\n maxWidth: 'floatingNotifications',\n position: 'fixed',\n pr: '5px',\n right: '5px',\n width: '100%',\n zIndex: 'notifications',\n\n '& > *:not(:last-child)': {\n mb: spacing(5),\n },\n\n '.notification.animate': {\n animation: `${vibrate} 0.1s linear infinite`,\n },\n },\n\n '.fromRight-enter, .fromRight-appear': { transform: 'translateX(550px)' },\n '.fromRight-enter-active, .fromRight-appear-active': {\n transition: 'transform 150ms',\n transform: 'translateX(0)',\n },\n '.fromRight-exit': { transform: 'translateX(0)' },\n '.fromRight-exit-active': {\n transition: 'transform 150ms',\n transform: 'translateX(550px)',\n },\n },\n () => {\n const notifications = useSelector((current) => {\n return current;\n });\n\n useMount(() => {\n document.addEventListener('keydown', (ev) => {\n if (ev.code === 'Escape') {\n defaultNotifier.closeAll();\n }\n });\n });\n\n return (\n <Box\n className=\"notificationsFloatingList\"\n {...getVariant('layout.common.components.notifications.list')}\n >\n {notifications.map((current) => {\n return <Notification notification={current} key={current.id} />;\n })}\n </Box>\n );\n },\n);\n\nexport default React.memo(NotificationsList);\n","import { arrayOrArray, TApiaSystemMessageObj } from '@apia/util';\nimport { notify, TNotificationType, uniqueId } from '../defaultNotifier';\nimport { INotification } from '../types';\nimport { TMessage, TNotificationMessage } from './types';\n\n/**\n * Devuelve un array de notificaciones a partir de\n * una respuesta de Apia.\n */\nexport const getNotificationMessageObj = (\n data: TApiaSystemMessageObj,\n): INotification<TNotificationType>[] | null => {\n const notifications: INotification<TNotificationType>[] = [];\n if (data?.sysMessages?.message) {\n notifications.push(\n ...parseServerNotification(data.sysMessages.message, 'warning'),\n );\n }\n if (data?.sysExceptions) {\n notifications.push(\n ...parseServerNotification(data.sysExceptions.exception, 'danger'),\n );\n }\n if (data?.exceptions?.exception) {\n notifications.push(\n ...parseServerNotification(data.exceptions.exception, 'danger'),\n );\n }\n if (notifications.length > 0) return notifications;\n return null;\n};\n\nfunction parseServerNotificationType(type: string): TNotificationType {\n switch (type) {\n case '1':\n return 'success';\n case '2':\n return 'warning';\n case '3':\n return 'danger';\n default:\n return 'warning';\n }\n}\n\n/**\n * Toma un objeto de notificación de servidor y lo convierte a un\n * objeto de notificación de cliente.\n */\nexport const parseServerNotification = (\n serverNotification: TMessage | TMessage[],\n type: TNotificationType,\n): INotification<TNotificationType>[] => {\n const messages = arrayOrArray(serverNotification);\n return messages.map((current) => {\n const returnNotification: INotification<TNotificationType> = {\n message: current.text,\n trace: current.content,\n title: current.title,\n type:\n current.type !== undefined\n ? parseServerNotificationType(current.type)\n : (type as TNotificationType),\n isOpen: true,\n id: uniqueId(),\n };\n return returnNotification;\n });\n};\n\n/**\n * Toma un objeto de respuesta de servidor que puede eventualmente\n * tener notificaciones y las pasa al sistema de notificaciones si\n * es que hay alguna.\n */\nexport const dispatchNotifications = (alert: TNotificationMessage) => {\n if (alert) {\n if (alert.sysMessages?.message)\n parseServerNotification(alert.sysMessages?.message, 'warning').forEach(\n notify,\n );\n if (alert.exceptions?.exception)\n parseServerNotification(alert.exceptions?.exception, 'danger').forEach(\n notify,\n );\n if (alert.sysExceptions?.exception)\n parseServerNotification(alert.sysExceptions?.exception, 'danger').forEach(\n notify,\n );\n }\n};\n\nexport * from './types';\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.
|
|
3
|
+
"version": "4.0.24",
|
|
4
4
|
"sideEffects": false,
|
|
5
5
|
"author": "Alexis Leite <alexisleite@live.com>",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -11,14 +11,14 @@
|
|
|
11
11
|
"libDev": "rollup --config ../../config/rollup.common.mjs --environment MODE:development,ENTRY:index.ts",
|
|
12
12
|
"libBuild": "rollup --config ../../config/rollup.common.mjs --environment MODE:production,ENTRY:index.ts",
|
|
13
13
|
"libWatch": "rollup --watch --config ../../config/rollup.common.mjs --environment MODE:development,ENTRY:index.ts,WATCH:true",
|
|
14
|
-
"
|
|
15
|
-
"
|
|
14
|
+
"libWatchForExecution": "rollup --watch --config ../../config/rollup.common.mjs --environment MODE:development,ENTRY:index.ts,WATCH:true,DEV_SERVER_MODULE:execution",
|
|
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.
|
|
19
|
-
"@apia/store": "^4.0.
|
|
20
|
-
"@apia/theme": "^4.0.
|
|
21
|
-
"@apia/util": "^4.0.
|
|
18
|
+
"@apia/icons": "^4.0.24",
|
|
19
|
+
"@apia/store": "^4.0.24",
|
|
20
|
+
"@apia/theme": "^4.0.24",
|
|
21
|
+
"@apia/util": "^4.0.24",
|
|
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": "
|
|
46
|
+
"gitHead": "0c34ed891f366be27e3fb8d291b6c7c9d90eb201"
|
|
47
47
|
}
|