@apia/notifications 0.3.6 → 1.0.1

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/cleanDist.json CHANGED
@@ -1,3 +1,3 @@
1
1
  {
2
- "cleanDist": 0.055914100472197026
2
+ "cleanDist": 0.14414508663300607
3
3
  }
package/dist/index.js CHANGED
@@ -1,10 +1,10 @@
1
- import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
1
+ import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
3
  import React__default, { useState } from 'react';
4
- import { Alert, Box, Close, makeStyledComponent, spacing, getVariant } from '@apia/theme';
4
+ import { Box, IconButton, Button, Alert, Close, makeStyledComponent, spacing, getVariant } from '@apia/theme';
5
5
  import { CSSTransition } from 'react-transition-group';
6
6
  import { EventEmitter, useLatest, useMount, getIndex, useUpdateEffect, useUnmount, arrayOrArray } from '@apia/util';
7
- import { isIconName, Icon } from '@apia/icons';
7
+ import { Icon, isIconName } from '@apia/icons';
8
8
  import { uniqueId } from 'lodash-es';
9
9
  import { keyframes } from '@emotion/react';
10
10
 
@@ -129,6 +129,77 @@ function notify(notification) {
129
129
  defaultNotifier.notify(notification);
130
130
  }
131
131
 
132
+ const Trace = ({ trace }) => {
133
+ const openModal = () => {
134
+ document.dispatchEvent(
135
+ new CustomEvent("openModal", {
136
+ detail: {
137
+ NavBar: /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx(
138
+ Button,
139
+ {
140
+ variant: "outline-sm",
141
+ onClick: () => {
142
+ var _a, _b;
143
+ void navigator.clipboard.writeText(
144
+ (_b = (_a = document.querySelector(".TraceModal__content")) == null ? void 0 : _a.innerText) != null ? _b : ""
145
+ );
146
+ },
147
+ children: "Copy trace"
148
+ }
149
+ ) }),
150
+ children: /* @__PURE__ */ jsx(
151
+ Box,
152
+ {
153
+ dangerouslySetInnerHTML: {
154
+ __html: trace.replaceAll(
155
+ /\((\w+\.java:\d+)\)/g,
156
+ "(<strong>$1</strong>)"
157
+ )
158
+ }
159
+ }
160
+ ),
161
+ noHeader: true,
162
+ size: "xxl"
163
+ }
164
+ })
165
+ );
166
+ };
167
+ return /* @__PURE__ */ jsxs(Box, { as: "code", className: "notification__trace", children: [
168
+ /* @__PURE__ */ jsxs(Box, { as: "strong", className: "notification__traceLabel", children: [
169
+ /* @__PURE__ */ jsx(
170
+ IconButton,
171
+ {
172
+ size: "IconMd",
173
+ onClick: openModal,
174
+ title: "View trace",
175
+ sx: {
176
+ height: "24px",
177
+ width: "24px"
178
+ },
179
+ children: /* @__PURE__ */ jsx(Icon, { size: "iconXs", title: "", name: "External" })
180
+ }
181
+ ),
182
+ /* @__PURE__ */ jsx(
183
+ IconButton,
184
+ {
185
+ size: "IconMd",
186
+ title: "Copy trace",
187
+ sx: {
188
+ height: "24px",
189
+ width: "24px"
190
+ },
191
+ onClick: () => void navigator.clipboard.writeText(
192
+ trace.replaceAll(/<br *\/?>/g, "\n")
193
+ ),
194
+ children: /* @__PURE__ */ jsx(Icon, { size: "iconXs", title: "", name: "Copy" })
195
+ }
196
+ ),
197
+ /* @__PURE__ */ jsx(Box, { as: "span", children: "Trace:" })
198
+ ] }),
199
+ /* @__PURE__ */ jsx(Box, { className: "notification__traceText", children: trace })
200
+ ] });
201
+ };
202
+
132
203
  var __defProp$1 = Object.defineProperty;
133
204
  var __getOwnPropSymbols$1 = Object.getOwnPropertySymbols;
134
205
  var __hasOwnProp$1 = Object.prototype.hasOwnProperty;
@@ -256,10 +327,7 @@ const Notification = ({
256
327
  className: "notification__text"
257
328
  }
258
329
  ) }),
259
- innerNotification.trace && /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsxs(Box, { as: "code", className: "notification__trace", children: [
260
- /* @__PURE__ */ jsx(Box, { as: "strong", className: "notification__traceLabel", children: "Trace:" }),
261
- /* @__PURE__ */ jsx(Box, { className: "notification__traceText", children: innerNotification.trace })
262
- ] }) })
330
+ innerNotification.trace && /* @__PURE__ */ jsx(Trace, { trace: innerNotification.trace })
263
331
  ] }) })
264
332
  ]
265
333
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/defaultNotifier.ts","../src/Notification.tsx","../src/NotificationsList.tsx","../src/apia/index.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { uniqueId } from 'lodash-es';\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\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 * 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';\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\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 <>\n <Box as=\"code\" className=\"notification__trace\">\n <Box as=\"strong\" className=\"notification__traceLabel\">\n Trace:\n </Box>\n <Box className=\"notification__traceText\">\n {innerNotification.trace}\n </Box>\n </Box>\n </>\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 { uniqueId } from 'lodash-es';\nimport { notify, TNotificationType } 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":["__spreadProps","__spreadValues","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 */\nimport { uniqueId } from 'lodash-es';\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\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 noHeader: true,\n size: 'xxl',\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\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 { uniqueId } from 'lodash-es';\nimport { notify, TNotificationType } 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":["__spreadProps","__spreadValues","React"],"mappings":"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"}
package/package.json CHANGED
@@ -6,7 +6,7 @@
6
6
  "name": "@apia/notifications",
7
7
  "sideEffects": false,
8
8
  "types": "./dist/index.d.ts",
9
- "version": "0.3.6",
9
+ "version": "1.0.1",
10
10
  "scripts": {
11
11
  "build": "rollup -c rollup.config.esb.mjs",
12
12
  "buildDev": "rollup -c rollup.config.esb.mjs --dev",
@@ -32,10 +32,10 @@
32
32
  "react-transition-group": "^4.4.5"
33
33
  },
34
34
  "peerDependencies": {
35
- "@apia/icons": "^0.3.2",
36
- "@apia/store": "^0.3.2",
37
- "@apia/theme": "^0.3.2",
38
- "@apia/util": "^0.3.2",
35
+ "@apia/icons": "^1.0.0",
36
+ "@apia/store": "^1.0.0",
37
+ "@apia/theme": "^1.0.0",
38
+ "@apia/util": "^1.0.0",
39
39
  "@emotion/react": "^11.10.6",
40
40
  "react": "^18.2.0",
41
41
  "react-dom": "^18.2.0"
@@ -49,5 +49,5 @@
49
49
  "url": "http://corp-gitlab-01.domst.st.net/products/apia/ApiaNPMPackages.git",
50
50
  "directory": "packages/notifications"
51
51
  },
52
- "gitHead": "c79e6173bbcd97539bec49c958374a0dc7e9da6f"
52
+ "gitHead": "a2430a210dacdfec4869e14b8fd438253b9c16a9"
53
53
  }