@hh.ru/magritte-ui-snackbar 6.2.11 → 6.3.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/Snackbar.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Snackbar.js","sources":["src/Snackbar.tsx"],"sourcesContent":["import { FC, useContext, useEffect, useId, useRef } from 'react';\n\nimport { SnackbarContext } from '@hh.ru/magritte-ui-snackbar/context';\nimport { SnackbarProps, SnackbarTransitionName } from '@hh.ru/magritte-ui-snackbar/types';\n\nexport const Snackbar: FC<SnackbarProps> = ({\n actionLabel,\n align,\n addon,\n autohideTime,\n children,\n containerId,\n 'data-qa': dataQa,\n stretched,\n showClose,\n showTimer,\n 'aria-label-close': ariaLabelClose,\n 'aria-label': ariaLabel,\n role,\n removeOnUnmount = true,\n onAction,\n onClose,\n}) => {\n const context = useContext(SnackbarContext);\n const uid = useId();\n const removeOnUnmountRef = useRef(removeOnUnmount);\n removeOnUnmountRef.current = removeOnUnmount;\n\n // коллбэки не мемоизированы => вызывают animateIn\n const onActionRef = useRef<VoidFunction | undefined>(onAction);\n onActionRef.current = onAction;\n const onCloseRef = useRef<VoidFunction | undefined>(onClose);\n onCloseRef.current = onClose;\n\n useEffect(() => {\n context.animateIn(uid, {\n actionLabel,\n align,\n addon,\n autohideTime,\n children,\n 'data-qa': dataQa,\n containerId,\n stretched,\n showClose,\n showTimer,\n 'aria-label-close': ariaLabelClose,\n 'aria-label': ariaLabel,\n role,\n onAction: onActionRef.current,\n onClose: onCloseRef.current,\n } as SnackbarProps);\n }, [\n context,\n uid,\n actionLabel,\n align,\n addon,\n autohideTime,\n dataQa,\n children,\n containerId,\n stretched,\n showClose,\n showTimer,\n ariaLabelClose,\n ariaLabel,\n role,\n ]);\n\n useEffect(() => {\n return () => {\n if (!removeOnUnmountRef.current) {\n return;\n }\n context.animateOut(\n uid,\n context.isShown(uid) ? SnackbarTransitionName.Hide : SnackbarTransitionName.RemoveImmediately\n );\n };\n }, [context, uid]);\n\n return null;\n};\n"],"names":[],"mappings":";;;;MAKa,QAAQ,GAAsB,CAAC,EACxC,WAAW,EACX,KAAK,EACL,KAAK,EACL,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,SAAS,EAAE,MAAM,EACjB,SAAS,EACT,SAAS,EACT,SAAS,EACT,kBAAkB,EAAE,cAAc,EAClC,YAAY,EAAE,SAAS,EACvB,IAAI,EACJ,eAAe,GAAG,IAAI,EACtB,QAAQ,EACR,OAAO,GACV,KAAI;AACD,IAAA,MAAM,OAAO,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;AAC5C,IAAA,MAAM,GAAG,GAAG,KAAK,EAAE,CAAC;AACpB,IAAA,MAAM,kBAAkB,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;AACnD,IAAA,kBAAkB,CAAC,OAAO,GAAG,eAAe,CAAC;;AAG7C,IAAA,MAAM,WAAW,GAAG,MAAM,CAA2B,QAAQ,CAAC,CAAC;AAC/D,IAAA,WAAW,CAAC,OAAO,GAAG,QAAQ,CAAC;AAC/B,IAAA,MAAM,UAAU,GAAG,MAAM,CAA2B,OAAO,CAAC,CAAC;AAC7D,IAAA,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC;IAE7B,SAAS,CAAC,MAAK;AACX,QAAA,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE;YACnB,WAAW;YACX,KAAK;YACL,KAAK;YACL,YAAY;YACZ,QAAQ;AACR,YAAA,SAAS,EAAE,MAAM;YACjB,WAAW;YACX,SAAS;YACT,SAAS;YACT,SAAS;AACT,YAAA,kBAAkB,EAAE,cAAc;AAClC,YAAA,YAAY,EAAE,SAAS;YACvB,IAAI;YACJ,QAAQ,EAAE,WAAW,CAAC,OAAO;YAC7B,OAAO,EAAE,UAAU,CAAC,OAAO;AACb,SAAA,CAAC,CAAC;AACxB,KAAC,EAAE;QACC,OAAO;QACP,GAAG;QACH,WAAW;QACX,KAAK;QACL,KAAK;QACL,YAAY;QACZ,MAAM;QACN,QAAQ;QACR,WAAW;QACX,SAAS;QACT,SAAS;QACT,SAAS;QACT,cAAc;QACd,SAAS;QACT,IAAI;AACP,KAAA,CAAC,CAAC;IAEH,SAAS,CAAC,MAAK;AACX,QAAA,OAAO,MAAK;AACR,YAAA,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE;gBAC7B,OAAO;aACV;YACD,OAAO,CAAC,UAAU,CACd,GAAG,EACH,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,sBAAsB,CAAC,IAAI,GAAG,sBAAsB,CAAC,iBAAiB,CAChG,CAAC;AACN,SAAC,CAAC;AACN,KAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;AAEnB,IAAA,OAAO,IAAI,CAAC;AAChB;;;;"}
1
+ {"version":3,"file":"Snackbar.js","sources":["src/Snackbar.tsx"],"sourcesContent":["import { FC, useContext, useEffect, useId, useRef } from 'react';\n\nimport { SnackbarContext } from '@hh.ru/magritte-ui-snackbar/context';\nimport { SnackbarProps, SnackbarTransitionName } from '@hh.ru/magritte-ui-snackbar/types';\n\nexport const Snackbar: FC<SnackbarProps> = ({\n actionLabel,\n align,\n addon,\n autohideTime,\n children,\n containerId,\n 'data-qa': dataQa,\n stretched,\n showClose,\n showTimer,\n 'aria-label-close': ariaLabelClose,\n 'aria-label': ariaLabel,\n role,\n removeOnUnmount = true,\n onAction,\n onClose,\n}) => {\n const context = useContext(SnackbarContext);\n const uid = useId();\n const removeOnUnmountRef = useRef(removeOnUnmount);\n removeOnUnmountRef.current = removeOnUnmount;\n\n // коллбэки не мемоизированы => вызывают animateIn\n const onActionRef = useRef<VoidFunction | undefined>(onAction);\n onActionRef.current = onAction;\n const onCloseRef = useRef<SnackbarProps['onClose'] | undefined>(onClose);\n onCloseRef.current = onClose;\n\n useEffect(() => {\n context.animateIn(uid, {\n actionLabel,\n align,\n addon,\n autohideTime,\n children,\n 'data-qa': dataQa,\n containerId,\n stretched,\n showClose,\n showTimer,\n 'aria-label-close': ariaLabelClose,\n 'aria-label': ariaLabel,\n role,\n onAction: onActionRef.current,\n onClose: onCloseRef.current,\n } as SnackbarProps);\n }, [\n context,\n uid,\n actionLabel,\n align,\n addon,\n autohideTime,\n dataQa,\n children,\n containerId,\n stretched,\n showClose,\n showTimer,\n ariaLabelClose,\n ariaLabel,\n role,\n ]);\n\n useEffect(() => {\n return () => {\n if (!removeOnUnmountRef.current) {\n return;\n }\n context.animateOut(\n uid,\n context.isShown(uid) ? SnackbarTransitionName.Hide : SnackbarTransitionName.RemoveImmediately\n );\n };\n }, [context, uid]);\n\n return null;\n};\n"],"names":[],"mappings":";;;;MAKa,QAAQ,GAAsB,CAAC,EACxC,WAAW,EACX,KAAK,EACL,KAAK,EACL,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,SAAS,EAAE,MAAM,EACjB,SAAS,EACT,SAAS,EACT,SAAS,EACT,kBAAkB,EAAE,cAAc,EAClC,YAAY,EAAE,SAAS,EACvB,IAAI,EACJ,eAAe,GAAG,IAAI,EACtB,QAAQ,EACR,OAAO,GACV,KAAI;AACD,IAAA,MAAM,OAAO,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;AAC5C,IAAA,MAAM,GAAG,GAAG,KAAK,EAAE,CAAC;AACpB,IAAA,MAAM,kBAAkB,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;AACnD,IAAA,kBAAkB,CAAC,OAAO,GAAG,eAAe,CAAC;;AAG7C,IAAA,MAAM,WAAW,GAAG,MAAM,CAA2B,QAAQ,CAAC,CAAC;AAC/D,IAAA,WAAW,CAAC,OAAO,GAAG,QAAQ,CAAC;AAC/B,IAAA,MAAM,UAAU,GAAG,MAAM,CAAuC,OAAO,CAAC,CAAC;AACzE,IAAA,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC;IAE7B,SAAS,CAAC,MAAK;AACX,QAAA,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE;YACnB,WAAW;YACX,KAAK;YACL,KAAK;YACL,YAAY;YACZ,QAAQ;AACR,YAAA,SAAS,EAAE,MAAM;YACjB,WAAW;YACX,SAAS;YACT,SAAS;YACT,SAAS;AACT,YAAA,kBAAkB,EAAE,cAAc;AAClC,YAAA,YAAY,EAAE,SAAS;YACvB,IAAI;YACJ,QAAQ,EAAE,WAAW,CAAC,OAAO;YAC7B,OAAO,EAAE,UAAU,CAAC,OAAO;AACb,SAAA,CAAC,CAAC;AACxB,KAAC,EAAE;QACC,OAAO;QACP,GAAG;QACH,WAAW;QACX,KAAK;QACL,KAAK;QACL,YAAY;QACZ,MAAM;QACN,QAAQ;QACR,WAAW;QACX,SAAS;QACT,SAAS;QACT,SAAS;QACT,cAAc;QACd,SAAS;QACT,IAAI;AACP,KAAA,CAAC,CAAC;IAEH,SAAS,CAAC,MAAK;AACX,QAAA,OAAO,MAAK;AACR,YAAA,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE;gBAC7B,OAAO;aACV;YACD,OAAO,CAAC,UAAU,CACd,GAAG,EACH,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,sBAAsB,CAAC,IAAI,GAAG,sBAAsB,CAAC,iBAAiB,CAChG,CAAC;AACN,SAAC,CAAC;AACN,KAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;AAEnB,IAAA,OAAO,IAAI,CAAC;AAChB;;;;"}
@@ -2,7 +2,7 @@ import './index.css';
2
2
  import { jsxs, jsx } from 'react/jsx-runtime';
3
3
  import { useContext, useCallback, Fragment } from 'react';
4
4
  import { SnackbarContext } from './context.js';
5
- import { s as styles } from './snackbar-BjgHN7lW.js';
5
+ import { s as styles } from './snackbar-M_7tzox4.js';
6
6
 
7
7
  const SnackbarContainer = ({ children, id, ...props }) => {
8
8
  const context = useContext(SnackbarContext);
@@ -5,7 +5,7 @@ import { createPortal } from 'react-dom';
5
5
  import { SnackbarRenderer } from './SnackbarRenderer.js';
6
6
  import { SnackbarContext } from './context.js';
7
7
  import { SnackbarTransitionName } from './types.js';
8
- import { s as styles } from './snackbar-BjgHN7lW.js';
8
+ import { s as styles } from './snackbar-M_7tzox4.js';
9
9
  import 'react-transition-group';
10
10
  import 'classnames';
11
11
  import '@hh.ru/magritte-common-keyboard';
@@ -14,7 +14,7 @@ import { SnackbarTransitionName } from './types.js';
14
14
  import { useAriaSnackbar } from './useAriaSnackbar.js';
15
15
  import { ThemeWrapper } from '@hh.ru/magritte-ui-theme-wrapper';
16
16
  import { useTimer, Timer } from '@hh.ru/magritte-ui-timer';
17
- import { s as styles } from './snackbar-BjgHN7lW.js';
17
+ import { s as styles } from './snackbar-M_7tzox4.js';
18
18
 
19
19
  const OTHER_CLASS_NAMES = {
20
20
  [SnackbarTransitionName.Hide]: {
@@ -53,8 +53,15 @@ const SnackbarRenderer = ({ actionLabel, addon, align = 'bottom', animateOut, au
53
53
  const hasTouchSupportRef = useRef(false);
54
54
  const prevWidth = useRef(0);
55
55
  const stretchedRef = useRef(stretched);
56
- const autohideFunc = useCallback(() => animateOut(SnackbarTransitionName.Autohide), [animateOut]);
57
- const closeFunc = useCallback(() => animateOut(SnackbarTransitionName.Hide), [animateOut]);
56
+ const closeReasonRef = useRef(null);
57
+ const autohideFunc = useCallback(() => {
58
+ closeReasonRef.current = 'timeout';
59
+ animateOut(SnackbarTransitionName.Autohide);
60
+ }, [animateOut]);
61
+ const closeFunc = useCallback(() => {
62
+ closeReasonRef.current = 'user';
63
+ animateOut(SnackbarTransitionName.Hide);
64
+ }, [animateOut]);
58
65
  const ariaAttributes = useAriaSnackbar({ role, hasAction: !!actionLabel, 'aria-label': ariaLabel });
59
66
  const visible = transition === SnackbarTransitionName.Show;
60
67
  const maxDistanceSqRef = useRef({ nearestSide: Number.POSITIVE_INFINITY, farSide: Number.POSITIVE_INFINITY });
@@ -62,7 +69,8 @@ const SnackbarRenderer = ({ actionLabel, addon, align = 'bottom', animateOut, au
62
69
  const swipeThresholdYRef = useRef(null);
63
70
  const removeImmediately = useCallback(() => {
64
71
  animateOut(SnackbarTransitionName.RemoveImmediately);
65
- onClose?.();
72
+ onClose?.({ reason: closeReasonRef.current });
73
+ closeReasonRef.current = null;
66
74
  }, [animateOut, onClose]);
67
75
  const snackbarRef = useRef(null);
68
76
  const bindEscapeToClose = useEscapeToClose(closeFunc);
@@ -1 +1 @@
1
- {"version":3,"file":"SnackbarRenderer.js","sources":["src/SnackbarRenderer.tsx"],"sourcesContent":["import { FC, useCallback, useEffect, useRef, useState, useLayoutEffect } from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport classnames from 'classnames';\n\nimport { useEscapeToClose } from '@hh.ru/magritte-common-keyboard';\nimport { useMultipleRefs } from '@hh.ru/magritte-common-use-multiple-refs';\nimport { SwipeEventHandler, SwipeThreshold, useSwipeHandlers } from '@hh.ru/magritte-common-use-swipe';\nimport { Divider } from '@hh.ru/magritte-ui-divider';\nimport { CrossOutlinedSize24 } from '@hh.ru/magritte-ui-icon/icon';\nimport { Layer } from '@hh.ru/magritte-ui-layer';\nimport { Link } from '@hh.ru/magritte-ui-link';\nimport { SnackbarRendererProps, SnackbarTransitionName } from '@hh.ru/magritte-ui-snackbar/types';\nimport { useAriaSnackbar } from '@hh.ru/magritte-ui-snackbar/useAriaSnackbar';\nimport { ThemeWrapper } from '@hh.ru/magritte-ui-theme-wrapper';\nimport { Timer, useTimer } from '@hh.ru/magritte-ui-timer';\n\nimport styles from './snackbar.less';\n\nconst OTHER_CLASS_NAMES = {\n [SnackbarTransitionName.Hide]: {\n exit: styles.exit,\n exitActive: styles['exit-active'],\n exitDone: styles['exit-done'],\n },\n [SnackbarTransitionName.Autohide]: {\n exit: styles.exit,\n exitActive: styles['exit-active_autohide'],\n exitDone: styles['exit-done'],\n },\n [SnackbarTransitionName.RemoveImmediately]: {},\n};\n\nconst OPEN_CLASS_NAMES = {\n [SnackbarTransitionName.Show]: {\n top: {\n appear: styles.appearTop,\n appearActive: styles['appear-active'],\n appearDone: styles['appear-done'],\n },\n bottom: {\n appear: styles.appearBottom,\n appearActive: styles['appear-active'],\n appearDone: styles['appear-done'],\n },\n },\n};\n\nconst DEFAULT_AUTOHIDE_TIME_MS = 6000;\nconst BASE_VERTICAL_PADDING = 16;\nconst VERTICAL_PADDING_BETWEEN_SNACKBAR = 8;\n\nexport const SnackbarRenderer: FC<SnackbarRendererProps> = ({\n actionLabel,\n addon,\n align = 'bottom',\n animateOut,\n autohideTime = DEFAULT_AUTOHIDE_TIME_MS,\n children,\n containerId,\n isShown,\n onAction,\n onClose,\n onShown,\n showClose,\n showTimer,\n timeout,\n transition,\n 'aria-label': ariaLabel,\n 'aria-label-close': ariaLabelClose,\n role = 'status',\n stretched = true,\n position,\n container,\n ...props\n}) => {\n const actionFunc = useCallback(() => onAction?.(), [onAction]);\n const [hasFocus, setHasFocus] = useState(false);\n const [hasHover, setHasHover] = useState(false);\n const hasTouchSupportRef = useRef(false);\n const prevWidth = useRef<number>(0);\n const stretchedRef = useRef(stretched);\n const autohideFunc = useCallback(() => animateOut(SnackbarTransitionName.Autohide), [animateOut]);\n const closeFunc = useCallback(() => animateOut(SnackbarTransitionName.Hide), [animateOut]);\n const ariaAttributes = useAriaSnackbar({ role, hasAction: !!actionLabel, 'aria-label': ariaLabel });\n const visible = transition === SnackbarTransitionName.Show;\n const maxDistanceSqRef = useRef({ nearestSide: Number.POSITIVE_INFINITY, farSide: Number.POSITIVE_INFINITY });\n const swipeThresholdXRef = useRef<SwipeThreshold | null>(null);\n const swipeThresholdYRef = useRef<SwipeThreshold | null>(null);\n\n const removeImmediately = useCallback(() => {\n animateOut(SnackbarTransitionName.RemoveImmediately);\n onClose?.();\n }, [animateOut, onClose]);\n\n const snackbarRef = useRef<HTMLDivElement>(null);\n const bindEscapeToClose = useEscapeToClose(closeFunc);\n const snackbarRefMultiplexer = useMultipleRefs(snackbarRef, bindEscapeToClose);\n\n useTimer(\n !!autohideTime && !showTimer ? autohideTime : -1,\n (callable) => {\n const timeoutId = setTimeout(callable, 50);\n return () => clearTimeout(timeoutId);\n },\n (remaining) => {\n remaining < 0 && autohideFunc();\n },\n hasFocus || hasHover\n );\n\n useEffect(() => {\n if (snackbarRef.current !== null) {\n const maxDistanceX = snackbarRef.current.clientWidth * 0.66;\n const maxDistanceNearestY = snackbarRef.current.clientHeight * 0.5;\n const maxDistanceFarY = snackbarRef.current.clientHeight;\n maxDistanceSqRef.current.nearestSide = Math.pow(maxDistanceX, 2) + Math.pow(maxDistanceNearestY, 2);\n maxDistanceSqRef.current.farSide = Math.pow(maxDistanceX, 2) + Math.pow(maxDistanceFarY, 2);\n swipeThresholdXRef.current = { minDelta: -maxDistanceX, maxDelta: maxDistanceX };\n swipeThresholdYRef.current =\n align === 'top'\n ? { minDelta: -maxDistanceNearestY, maxDelta: maxDistanceFarY }\n : { minDelta: -maxDistanceFarY, maxDelta: maxDistanceNearestY };\n }\n }, [align, visible]);\n\n const handleSwipeMove: SwipeEventHandler = useCallback(\n (event) => {\n if (snackbarRef.current !== null) {\n // насколько прозрачным нужно сделать снекбар с учетом расстояния от начальной позиции\n let maxDistanceSq = maxDistanceSqRef.current.nearestSide;\n\n // определяем был ли свайп в дальнюю сторону экрана по вертикали\n if ((align === 'top' && event.distanceY > 0) || (align === 'bottom' && event.distanceY < 0)) {\n maxDistanceSq = maxDistanceSqRef.current.farSide;\n }\n\n const fadeDistanceSq = Math.pow(event.distanceX, 2) + Math.pow(event.distanceY, 2);\n snackbarRef.current.style.opacity = `${1 - fadeDistanceSq / maxDistanceSq}`;\n snackbarRef.current.style.transform = `translate(${event.distanceX}px, ${event.distanceY}px)`;\n }\n },\n [align]\n );\n\n const handleSwipeEnd: SwipeEventHandler = useCallback(() => {\n if (snackbarRef.current !== null) {\n snackbarRef.current.style.opacity = `0`;\n }\n closeFunc();\n }, [closeFunc]);\n\n const handleSwipeCancel: SwipeEventHandler = useCallback(() => {\n if (snackbarRef.current !== null) {\n snackbarRef.current.style.removeProperty('opacity');\n snackbarRef.current.style.removeProperty('transform');\n }\n }, []);\n\n const swipeHandlers = useSwipeHandlers({\n thresholdXRef: swipeThresholdXRef,\n thresholdYRef: swipeThresholdYRef,\n onSwipeMove: handleSwipeMove,\n onSwipeEnd: handleSwipeEnd,\n onSwipeCancel: handleSwipeCancel,\n });\n\n useEffect(() => {\n const snackbar = snackbarRef.current;\n if (!snackbar) {\n return void 0;\n }\n\n const handleTouchStart = (event: TouchEvent) => {\n event.stopPropagation();\n hasTouchSupportRef.current = true;\n setHasHover(true);\n swipeHandlers.onTouchStart(event);\n };\n\n const handleTouchMove = (event: TouchEvent) => {\n event.preventDefault();\n event.stopPropagation();\n swipeHandlers.onTouchMove(event);\n };\n\n const handleTouchEnd = (event: TouchEvent) => {\n setHasHover(false);\n swipeHandlers.onTouchEnd(event);\n };\n\n const handleTouchCancel = (event: TouchEvent) => {\n setHasHover(false);\n swipeHandlers.onTouchCancel(event);\n };\n\n snackbar.addEventListener('touchstart', handleTouchStart);\n snackbar.addEventListener('touchmove', handleTouchMove, { passive: false });\n snackbar.addEventListener('touchend', handleTouchEnd);\n snackbar.addEventListener('touchcancel', handleTouchCancel);\n\n return () => {\n snackbar.removeEventListener('touchstart', handleTouchStart);\n snackbar.removeEventListener('touchmove', handleTouchMove);\n snackbar.removeEventListener('touchend', handleTouchEnd);\n snackbar.removeEventListener('touchcancel', handleTouchCancel);\n };\n }, [swipeHandlers]);\n\n useEffect(() => {\n const snackbar = snackbarRef.current;\n if (!snackbar) {\n return;\n }\n snackbar.style.setProperty('--snackbar-offset', `${snackbarRef.current.offsetHeight}px`);\n prevWidth.current = snackbar.getBoundingClientRect().width;\n }, []);\n\n useEffect(() => {\n const snackbar = snackbarRef.current;\n if (!snackbar) {\n return;\n }\n // снекбары могут быть разные по высоте\n // для расчета текущей позиции\n // высоту каждого предыдущего надо учесть\n const snackbars = container.querySelectorAll<HTMLElement>('[data-magritte-snackbar=\"true\"]');\n let offset = 0;\n let found = false;\n for (const node of snackbars) {\n if (found) {\n offset += node.offsetHeight;\n }\n if (node === snackbar) {\n found = true;\n }\n }\n const value = `${offset + VERTICAL_PADDING_BETWEEN_SNACKBAR * position + BASE_VERTICAL_PADDING}px`;\n if (align === 'top') {\n snackbar.style.top = value;\n snackbar.style.removeProperty('bottom');\n return;\n }\n snackbar.style.bottom = value;\n snackbar.style.removeProperty('top');\n }, [position, align, container]);\n\n useLayoutEffect(() => {\n const snackbar = snackbarRef.current;\n if (!snackbar || stretched === stretchedRef.current) {\n return void 0;\n }\n const width = snackbar.getBoundingClientRect().width;\n if (Math.abs(width - prevWidth.current) < 1) {\n return void 0;\n }\n // width: auto не анимируется, поэтому\n // зафиксировали ширину → анимировали → снял инлайн свойство\n snackbar.style.width = `${prevWidth.current}px`;\n void snackbar.offsetWidth; // force layout\n snackbar.style.width = `${width}px`;\n const onEnd = (event: TransitionEvent) => {\n if (event.propertyName !== 'width') {\n return;\n }\n snackbar.style.removeProperty('width');\n snackbar.removeEventListener('transitionend', onEnd);\n };\n snackbar.addEventListener('transitionend', onEnd);\n stretchedRef.current = stretched;\n prevWidth.current = width;\n\n return () => {\n snackbar.removeEventListener('transitionend', onEnd);\n snackbar.style.removeProperty('width');\n };\n }, [stretched]);\n\n const showDivider = showClose || Boolean(actionLabel);\n const classNames =\n transition === SnackbarTransitionName.Show\n ? OPEN_CLASS_NAMES[transition][align]\n : OTHER_CLASS_NAMES[transition];\n\n return (\n <CSSTransition\n appear\n classNames={classNames}\n in={visible}\n nodeRef={snackbarRef}\n onEnter={() => {\n onShown();\n }}\n onEntered={() => {\n if (actionLabel) {\n snackbarRef.current?.focus();\n }\n }}\n onExited={removeImmediately}\n timeout={timeout}\n >\n <ThemeWrapper>\n {(themeClass) => (\n <Layer layer=\"snackbar\">\n <div\n {...props}\n {...ariaAttributes}\n className={classnames(styles.snackbar, themeClass, {\n [styles.snackbarStretched]: stretched,\n [styles[`snackbar_align-${align}`]]: align,\n [styles.snackbarInBody]: !containerId,\n })}\n ref={snackbarRefMultiplexer}\n onFocus={(event) => {\n if (event.target !== snackbarRef.current && !hasTouchSupportRef.current) {\n setHasFocus(true);\n }\n }}\n onBlur={() => !hasTouchSupportRef.current && setHasFocus(false)}\n onMouseEnter={() => setHasHover(true)}\n onMouseLeave={() => setHasHover(false)}\n data-magritte-snackbar={true}\n >\n <div className={styles.snackbarContent}>\n {!!addon && (\n <div className={styles.snackbarAddon} data-qa=\"snackbar-addon\">\n {addon}\n </div>\n )}\n {!!autohideTime && showTimer && (\n <div className={styles.snackbarAddon} data-qa=\"snackbar-timer\">\n <Timer\n timeout={autohideTime}\n pause={hasFocus || hasHover}\n callback={autohideFunc}\n />\n </div>\n )}\n <div className={styles.snackbarTextWrapper}>\n <div className={styles.snackbarText} id=\"dialog-description\">\n {children}\n </div>\n </div>\n {showDivider && (\n <div className={styles.divider}>\n <Divider mode=\"vertical\" />\n </div>\n )}\n {!!actionLabel && (\n <div className={styles.action}>\n <Link\n data-qa=\"snackbar-user-action\"\n aria-label={actionLabel}\n Element=\"button\"\n type=\"button\"\n onClick={actionFunc}\n typography=\"subtitle-1-semibold\"\n style=\"constant\"\n >\n {actionLabel}\n </Link>\n </div>\n )}\n {showClose && (\n <div className={styles.snackbarClose}>\n <CrossOutlinedSize24\n padding={8}\n borderRadius=\"halfHeight\"\n initialColor=\"constant-secondary\"\n data-qa=\"snackbar-close-action\"\n tabIndex={actionLabel ? 0 : -1}\n aria-label={\n actionLabel && typeof ariaLabelClose === 'string'\n ? ariaLabelClose\n : undefined\n }\n onClick={closeFunc}\n />\n </div>\n )}\n </div>\n </div>\n </Layer>\n )}\n </ThemeWrapper>\n </CSSTransition>\n );\n};\n"],"names":["_jsx","_jsxs"],"mappings":"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"}
1
+ {"version":3,"file":"SnackbarRenderer.js","sources":["src/SnackbarRenderer.tsx"],"sourcesContent":["import { FC, useCallback, useEffect, useRef, useState, useLayoutEffect } from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport classnames from 'classnames';\n\nimport { useEscapeToClose } from '@hh.ru/magritte-common-keyboard';\nimport { useMultipleRefs } from '@hh.ru/magritte-common-use-multiple-refs';\nimport { SwipeEventHandler, SwipeThreshold, useSwipeHandlers } from '@hh.ru/magritte-common-use-swipe';\nimport { Divider } from '@hh.ru/magritte-ui-divider';\nimport { CrossOutlinedSize24 } from '@hh.ru/magritte-ui-icon/icon';\nimport { Layer } from '@hh.ru/magritte-ui-layer';\nimport { Link } from '@hh.ru/magritte-ui-link';\nimport { CloseReason, SnackbarRendererProps, SnackbarTransitionName } from '@hh.ru/magritte-ui-snackbar/types';\nimport { useAriaSnackbar } from '@hh.ru/magritte-ui-snackbar/useAriaSnackbar';\nimport { ThemeWrapper } from '@hh.ru/magritte-ui-theme-wrapper';\nimport { Timer, useTimer } from '@hh.ru/magritte-ui-timer';\n\nimport styles from './snackbar.less';\n\nconst OTHER_CLASS_NAMES = {\n [SnackbarTransitionName.Hide]: {\n exit: styles.exit,\n exitActive: styles['exit-active'],\n exitDone: styles['exit-done'],\n },\n [SnackbarTransitionName.Autohide]: {\n exit: styles.exit,\n exitActive: styles['exit-active_autohide'],\n exitDone: styles['exit-done'],\n },\n [SnackbarTransitionName.RemoveImmediately]: {},\n};\n\nconst OPEN_CLASS_NAMES = {\n [SnackbarTransitionName.Show]: {\n top: {\n appear: styles.appearTop,\n appearActive: styles['appear-active'],\n appearDone: styles['appear-done'],\n },\n bottom: {\n appear: styles.appearBottom,\n appearActive: styles['appear-active'],\n appearDone: styles['appear-done'],\n },\n },\n};\n\nconst DEFAULT_AUTOHIDE_TIME_MS = 6000;\nconst BASE_VERTICAL_PADDING = 16;\nconst VERTICAL_PADDING_BETWEEN_SNACKBAR = 8;\n\nexport const SnackbarRenderer: FC<SnackbarRendererProps> = ({\n actionLabel,\n addon,\n align = 'bottom',\n animateOut,\n autohideTime = DEFAULT_AUTOHIDE_TIME_MS,\n children,\n containerId,\n isShown,\n onAction,\n onClose,\n onShown,\n showClose,\n showTimer,\n timeout,\n transition,\n 'aria-label': ariaLabel,\n 'aria-label-close': ariaLabelClose,\n role = 'status',\n stretched = true,\n position,\n container,\n ...props\n}) => {\n const actionFunc = useCallback(() => onAction?.(), [onAction]);\n const [hasFocus, setHasFocus] = useState(false);\n const [hasHover, setHasHover] = useState(false);\n const hasTouchSupportRef = useRef(false);\n const prevWidth = useRef<number>(0);\n const stretchedRef = useRef(stretched);\n const closeReasonRef = useRef<CloseReason>(null);\n const autohideFunc = useCallback(() => {\n closeReasonRef.current = 'timeout';\n animateOut(SnackbarTransitionName.Autohide);\n }, [animateOut]);\n const closeFunc = useCallback(() => {\n closeReasonRef.current = 'user';\n animateOut(SnackbarTransitionName.Hide);\n }, [animateOut]);\n const ariaAttributes = useAriaSnackbar({ role, hasAction: !!actionLabel, 'aria-label': ariaLabel });\n const visible = transition === SnackbarTransitionName.Show;\n const maxDistanceSqRef = useRef({ nearestSide: Number.POSITIVE_INFINITY, farSide: Number.POSITIVE_INFINITY });\n const swipeThresholdXRef = useRef<SwipeThreshold | null>(null);\n const swipeThresholdYRef = useRef<SwipeThreshold | null>(null);\n\n const removeImmediately = useCallback(() => {\n animateOut(SnackbarTransitionName.RemoveImmediately);\n onClose?.({ reason: closeReasonRef.current });\n closeReasonRef.current = null;\n }, [animateOut, onClose]);\n\n const snackbarRef = useRef<HTMLDivElement>(null);\n const bindEscapeToClose = useEscapeToClose(closeFunc);\n const snackbarRefMultiplexer = useMultipleRefs(snackbarRef, bindEscapeToClose);\n\n useTimer(\n !!autohideTime && !showTimer ? autohideTime : -1,\n (callable) => {\n const timeoutId = setTimeout(callable, 50);\n return () => clearTimeout(timeoutId);\n },\n (remaining) => {\n remaining < 0 && autohideFunc();\n },\n hasFocus || hasHover\n );\n\n useEffect(() => {\n if (snackbarRef.current !== null) {\n const maxDistanceX = snackbarRef.current.clientWidth * 0.66;\n const maxDistanceNearestY = snackbarRef.current.clientHeight * 0.5;\n const maxDistanceFarY = snackbarRef.current.clientHeight;\n maxDistanceSqRef.current.nearestSide = Math.pow(maxDistanceX, 2) + Math.pow(maxDistanceNearestY, 2);\n maxDistanceSqRef.current.farSide = Math.pow(maxDistanceX, 2) + Math.pow(maxDistanceFarY, 2);\n swipeThresholdXRef.current = { minDelta: -maxDistanceX, maxDelta: maxDistanceX };\n swipeThresholdYRef.current =\n align === 'top'\n ? { minDelta: -maxDistanceNearestY, maxDelta: maxDistanceFarY }\n : { minDelta: -maxDistanceFarY, maxDelta: maxDistanceNearestY };\n }\n }, [align, visible]);\n\n const handleSwipeMove: SwipeEventHandler = useCallback(\n (event) => {\n if (snackbarRef.current !== null) {\n // насколько прозрачным нужно сделать снекбар с учетом расстояния от начальной позиции\n let maxDistanceSq = maxDistanceSqRef.current.nearestSide;\n\n // определяем был ли свайп в дальнюю сторону экрана по вертикали\n if ((align === 'top' && event.distanceY > 0) || (align === 'bottom' && event.distanceY < 0)) {\n maxDistanceSq = maxDistanceSqRef.current.farSide;\n }\n\n const fadeDistanceSq = Math.pow(event.distanceX, 2) + Math.pow(event.distanceY, 2);\n snackbarRef.current.style.opacity = `${1 - fadeDistanceSq / maxDistanceSq}`;\n snackbarRef.current.style.transform = `translate(${event.distanceX}px, ${event.distanceY}px)`;\n }\n },\n [align]\n );\n\n const handleSwipeEnd: SwipeEventHandler = useCallback(() => {\n if (snackbarRef.current !== null) {\n snackbarRef.current.style.opacity = `0`;\n }\n closeFunc();\n }, [closeFunc]);\n\n const handleSwipeCancel: SwipeEventHandler = useCallback(() => {\n if (snackbarRef.current !== null) {\n snackbarRef.current.style.removeProperty('opacity');\n snackbarRef.current.style.removeProperty('transform');\n }\n }, []);\n\n const swipeHandlers = useSwipeHandlers({\n thresholdXRef: swipeThresholdXRef,\n thresholdYRef: swipeThresholdYRef,\n onSwipeMove: handleSwipeMove,\n onSwipeEnd: handleSwipeEnd,\n onSwipeCancel: handleSwipeCancel,\n });\n\n useEffect(() => {\n const snackbar = snackbarRef.current;\n if (!snackbar) {\n return void 0;\n }\n\n const handleTouchStart = (event: TouchEvent) => {\n event.stopPropagation();\n hasTouchSupportRef.current = true;\n setHasHover(true);\n swipeHandlers.onTouchStart(event);\n };\n\n const handleTouchMove = (event: TouchEvent) => {\n event.preventDefault();\n event.stopPropagation();\n swipeHandlers.onTouchMove(event);\n };\n\n const handleTouchEnd = (event: TouchEvent) => {\n setHasHover(false);\n swipeHandlers.onTouchEnd(event);\n };\n\n const handleTouchCancel = (event: TouchEvent) => {\n setHasHover(false);\n swipeHandlers.onTouchCancel(event);\n };\n\n snackbar.addEventListener('touchstart', handleTouchStart);\n snackbar.addEventListener('touchmove', handleTouchMove, { passive: false });\n snackbar.addEventListener('touchend', handleTouchEnd);\n snackbar.addEventListener('touchcancel', handleTouchCancel);\n\n return () => {\n snackbar.removeEventListener('touchstart', handleTouchStart);\n snackbar.removeEventListener('touchmove', handleTouchMove);\n snackbar.removeEventListener('touchend', handleTouchEnd);\n snackbar.removeEventListener('touchcancel', handleTouchCancel);\n };\n }, [swipeHandlers]);\n\n useEffect(() => {\n const snackbar = snackbarRef.current;\n if (!snackbar) {\n return;\n }\n snackbar.style.setProperty('--snackbar-offset', `${snackbarRef.current.offsetHeight}px`);\n prevWidth.current = snackbar.getBoundingClientRect().width;\n }, []);\n\n useEffect(() => {\n const snackbar = snackbarRef.current;\n if (!snackbar) {\n return;\n }\n // снекбары могут быть разные по высоте\n // для расчета текущей позиции\n // высоту каждого предыдущего надо учесть\n const snackbars = container.querySelectorAll<HTMLElement>('[data-magritte-snackbar=\"true\"]');\n let offset = 0;\n let found = false;\n for (const node of snackbars) {\n if (found) {\n offset += node.offsetHeight;\n }\n if (node === snackbar) {\n found = true;\n }\n }\n const value = `${offset + VERTICAL_PADDING_BETWEEN_SNACKBAR * position + BASE_VERTICAL_PADDING}px`;\n if (align === 'top') {\n snackbar.style.top = value;\n snackbar.style.removeProperty('bottom');\n return;\n }\n snackbar.style.bottom = value;\n snackbar.style.removeProperty('top');\n }, [position, align, container]);\n\n useLayoutEffect(() => {\n const snackbar = snackbarRef.current;\n if (!snackbar || stretched === stretchedRef.current) {\n return void 0;\n }\n const width = snackbar.getBoundingClientRect().width;\n if (Math.abs(width - prevWidth.current) < 1) {\n return void 0;\n }\n // width: auto не анимируется, поэтому\n // зафиксировали ширину → анимировали → снял инлайн свойство\n snackbar.style.width = `${prevWidth.current}px`;\n void snackbar.offsetWidth; // force layout\n snackbar.style.width = `${width}px`;\n const onEnd = (event: TransitionEvent) => {\n if (event.propertyName !== 'width') {\n return;\n }\n snackbar.style.removeProperty('width');\n snackbar.removeEventListener('transitionend', onEnd);\n };\n snackbar.addEventListener('transitionend', onEnd);\n stretchedRef.current = stretched;\n prevWidth.current = width;\n\n return () => {\n snackbar.removeEventListener('transitionend', onEnd);\n snackbar.style.removeProperty('width');\n };\n }, [stretched]);\n\n const showDivider = showClose || Boolean(actionLabel);\n const classNames =\n transition === SnackbarTransitionName.Show\n ? OPEN_CLASS_NAMES[transition][align]\n : OTHER_CLASS_NAMES[transition];\n\n return (\n <CSSTransition\n appear\n classNames={classNames}\n in={visible}\n nodeRef={snackbarRef}\n onEnter={() => {\n onShown();\n }}\n onEntered={() => {\n if (actionLabel) {\n snackbarRef.current?.focus();\n }\n }}\n onExited={removeImmediately}\n timeout={timeout}\n >\n <ThemeWrapper>\n {(themeClass) => (\n <Layer layer=\"snackbar\">\n <div\n {...props}\n {...ariaAttributes}\n className={classnames(styles.snackbar, themeClass, {\n [styles.snackbarStretched]: stretched,\n [styles[`snackbar_align-${align}`]]: align,\n [styles.snackbarInBody]: !containerId,\n })}\n ref={snackbarRefMultiplexer}\n onFocus={(event) => {\n if (event.target !== snackbarRef.current && !hasTouchSupportRef.current) {\n setHasFocus(true);\n }\n }}\n onBlur={() => !hasTouchSupportRef.current && setHasFocus(false)}\n onMouseEnter={() => setHasHover(true)}\n onMouseLeave={() => setHasHover(false)}\n data-magritte-snackbar={true}\n >\n <div className={styles.snackbarContent}>\n {!!addon && (\n <div className={styles.snackbarAddon} data-qa=\"snackbar-addon\">\n {addon}\n </div>\n )}\n {!!autohideTime && showTimer && (\n <div className={styles.snackbarAddon} data-qa=\"snackbar-timer\">\n <Timer\n timeout={autohideTime}\n pause={hasFocus || hasHover}\n callback={autohideFunc}\n />\n </div>\n )}\n <div className={styles.snackbarTextWrapper}>\n <div className={styles.snackbarText} id=\"dialog-description\">\n {children}\n </div>\n </div>\n {showDivider && (\n <div className={styles.divider}>\n <Divider mode=\"vertical\" />\n </div>\n )}\n {!!actionLabel && (\n <div className={styles.action}>\n <Link\n data-qa=\"snackbar-user-action\"\n aria-label={actionLabel}\n Element=\"button\"\n type=\"button\"\n onClick={actionFunc}\n typography=\"subtitle-1-semibold\"\n style=\"constant\"\n >\n {actionLabel}\n </Link>\n </div>\n )}\n {showClose && (\n <div className={styles.snackbarClose}>\n <CrossOutlinedSize24\n padding={8}\n borderRadius=\"halfHeight\"\n initialColor=\"constant-secondary\"\n data-qa=\"snackbar-close-action\"\n tabIndex={actionLabel ? 0 : -1}\n aria-label={\n actionLabel && typeof ariaLabelClose === 'string'\n ? ariaLabelClose\n : undefined\n }\n onClick={closeFunc}\n />\n </div>\n )}\n </div>\n </div>\n </Layer>\n )}\n </ThemeWrapper>\n </CSSTransition>\n );\n};\n"],"names":["_jsx","_jsxs"],"mappings":"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"}
package/index.css CHANGED
@@ -17,14 +17,14 @@
17
17
  --magritte-color-component-snackbar-background-content-v24-5-0:#2e2e2ef5;
18
18
  --magritte-color-component-snackbar-stroke-divider-v24-5-0:#ffffff29;
19
19
  }
20
- .magritte-snackbar-container___SeRql_6-2-11{
20
+ .magritte-snackbar-container___SeRql_6-3-1{
21
21
  pointer-events:none;
22
22
  position:absolute;
23
23
  inset:0;
24
24
  overflow:hidden;
25
25
  }
26
- .magritte-snackbar-animation-timeout___EQLvG_6-2-11,
27
- .magritte-snackbar___jgq4H_6-2-11{
26
+ .magritte-snackbar-animation-timeout___EQLvG_6-3-1,
27
+ .magritte-snackbar___jgq4H_6-3-1{
28
28
  outline:none;
29
29
  padding:16px 20px;
30
30
  margin:0 auto;
@@ -42,8 +42,8 @@
42
42
  --removeImmediately-animation-duration:0;
43
43
  }
44
44
  @media (prefers-reduced-motion){
45
- .magritte-snackbar-animation-timeout___EQLvG_6-2-11,
46
- .magritte-snackbar___jgq4H_6-2-11{
45
+ .magritte-snackbar-animation-timeout___EQLvG_6-3-1,
46
+ .magritte-snackbar___jgq4H_6-3-1{
47
47
  --show-animation-duration:0;
48
48
  --hide-animation-duration:0;
49
49
  --stack-animation-duration:0;
@@ -53,21 +53,21 @@
53
53
  }
54
54
  }
55
55
  @media (min-width: 700px){
56
- body.magritte-old-layout .magritte-snackbar-animation-timeout___EQLvG_6-2-11,
57
- body.magritte-old-layout .magritte-snackbar___jgq4H_6-2-11{
56
+ body.magritte-old-layout .magritte-snackbar-animation-timeout___EQLvG_6-3-1,
57
+ body.magritte-old-layout .magritte-snackbar___jgq4H_6-3-1{
58
58
  max-width:600px;
59
59
  }
60
60
  }
61
61
  @media (min-width: 600px){
62
- body:not(.magritte-old-layout) .magritte-snackbar-animation-timeout___EQLvG_6-2-11,
63
- body:not(.magritte-old-layout) .magritte-snackbar___jgq4H_6-2-11{
62
+ body:not(.magritte-old-layout) .magritte-snackbar-animation-timeout___EQLvG_6-3-1,
63
+ body:not(.magritte-old-layout) .magritte-snackbar___jgq4H_6-3-1{
64
64
  max-width:600px;
65
65
  }
66
66
  }
67
- .magritte-snackbar-animation-timeout___EQLvG_6-2-11{
67
+ .magritte-snackbar-animation-timeout___EQLvG_6-3-1{
68
68
  display:none;
69
69
  }
70
- .magritte-snackbar___jgq4H_6-2-11{
70
+ .magritte-snackbar___jgq4H_6-3-1{
71
71
  background:var(--magritte-color-component-snackbar-background-content-v24-5-0);
72
72
  color:var(--magritte-color-component-snackbar-text-content-v24-5-0);
73
73
  box-shadow:inset 0 0 0 1px var(--magritte-color-component-snackbar-stroke-content-v24-5-0);
@@ -75,49 +75,49 @@
75
75
  pointer-events:auto;
76
76
  width:max-content;
77
77
  }
78
- .magritte-snackbar_stretched___xVhgJ_6-2-11{
78
+ .magritte-snackbar_stretched___xVhgJ_6-3-1{
79
79
  width:auto;
80
80
  }
81
- .magritte-snackbar_align-top___WWWbk_6-2-11{
81
+ .magritte-snackbar_align-top___WWWbk_6-3-1{
82
82
  inset:16px 8px auto;
83
83
  }
84
84
  @media (min-width: 1020px){
85
- body.magritte-old-layout .magritte-snackbar_align-top___WWWbk_6-2-11{
85
+ body.magritte-old-layout .magritte-snackbar_align-top___WWWbk_6-3-1{
86
86
  inset:16px 16px auto 16px;
87
87
  }
88
88
  }
89
89
  @media (min-width: 1024px){
90
- body:not(.magritte-old-layout) .magritte-snackbar_align-top___WWWbk_6-2-11{
90
+ body:not(.magritte-old-layout) .magritte-snackbar_align-top___WWWbk_6-3-1{
91
91
  inset:16px 16px auto 16px;
92
92
  }
93
93
  }
94
- .magritte-snackbar_align-bottom___tCBBP_6-2-11{
94
+ .magritte-snackbar_align-bottom___tCBBP_6-3-1{
95
95
  inset:auto 8px 16px;
96
96
  }
97
97
  @media (min-width: 1020px){
98
- body.magritte-old-layout .magritte-snackbar_align-bottom___tCBBP_6-2-11{
98
+ body.magritte-old-layout .magritte-snackbar_align-bottom___tCBBP_6-3-1{
99
99
  inset:auto 16px 16px 16px;
100
100
  }
101
101
  }
102
102
  @media (min-width: 1024px){
103
- body:not(.magritte-old-layout) .magritte-snackbar_align-bottom___tCBBP_6-2-11{
103
+ body:not(.magritte-old-layout) .magritte-snackbar_align-bottom___tCBBP_6-3-1{
104
104
  inset:auto 16px 16px 16px;
105
105
  }
106
106
  }
107
- .magritte-snackbar-in-body___Zer4o_6-2-11{
107
+ .magritte-snackbar-in-body___Zer4o_6-3-1{
108
108
  position:fixed;
109
109
  }
110
- .magritte-snackbar-content___MlP5J_6-2-11{
110
+ .magritte-snackbar-content___MlP5J_6-3-1{
111
111
  display:flex;
112
112
  align-items:center;
113
113
  }
114
- .magritte-snackbar-addon___-eJn7_6-2-11{
114
+ .magritte-snackbar-addon___-eJn7_6-3-1{
115
115
  margin-right:12px;
116
116
  width:24px;
117
117
  height:24px;
118
118
  margin-left:-4px;
119
119
  }
120
- .magritte-snackbar-text___PCxnB_6-2-11{
120
+ .magritte-snackbar-text___PCxnB_6-3-1{
121
121
  font-family:"hh sans";
122
122
  font-weight:400;
123
123
  line-height:22px;
@@ -128,11 +128,11 @@
128
128
  text-decoration:none;
129
129
  margin-right:auto;
130
130
  }
131
- .magritte-snackbar-text-wrapper___SH6YB_6-2-11{
131
+ .magritte-snackbar-text-wrapper___SH6YB_6-3-1{
132
132
  display:flex;
133
133
  width:100%;
134
134
  }
135
- .magritte-action___Yjp2t_6-2-11{
135
+ .magritte-action___Yjp2t_6-3-1{
136
136
  display:flex;
137
137
  align-items:center;
138
138
  margin-left:8px;
@@ -143,13 +143,13 @@
143
143
  --magritte-ui-link-text-color-hovered-override:var(--magritte-color-component-snackbar-text-state-action-hovered-v24-5-0);
144
144
  --magritte-ui-link-text-color-pressed-override:var(--magritte-color-component-snackbar-text-state-action-pressed-v24-5-0);
145
145
  }
146
- .magritte-snackbar-close___U8YT5_6-2-11{
146
+ .magritte-snackbar-close___U8YT5_6-3-1{
147
147
  height:calc(24 * 1px);
148
148
  display:flex;
149
149
  align-items:center;
150
150
  margin-right:-12px;
151
151
  }
152
- .magritte-divider___GQ492_6-2-11{
152
+ .magritte-divider___GQ492_6-3-1{
153
153
  align-self:stretch;
154
154
  margin-top:-8px;
155
155
  margin-bottom:-8px;
@@ -157,33 +157,33 @@
157
157
  margin-right:8px;
158
158
  --magritte-ui-divider-color-override:var(--magritte-color-component-snackbar-stroke-divider-v24-5-0);
159
159
  }
160
- .magritte-appearTop___UJQ6-_6-2-11{
160
+ .magritte-appearTop___UJQ6-_6-3-1{
161
161
  transform:translateY(calc(var(--snackbar-offset, 60px) * -1 + 16px * -1));
162
162
  }
163
- .magritte-appearBottom___wDoOa_6-2-11{
163
+ .magritte-appearBottom___wDoOa_6-3-1{
164
164
  transform:translateY(calc(var(--snackbar-offset, 60px) + 16px));
165
165
  }
166
- .magritte-appear-active___Kl7by_6-2-11{
166
+ .magritte-appear-active___Kl7by_6-3-1{
167
167
  transform:translateY(0);
168
168
  transition:opacity var(--hide-animation-duration) var(--magritte-semantic-animation-ease-base-timing-function-v24-5-0), transform var(--show-animation-duration) var(--magritte-semantic-animation-ease-base-timing-function-v24-5-0), top var(--stack-animation-duration) var(--magritte-semantic-animation-ease-base-timing-function-v24-5-0), bottom var(--stack-animation-duration) var(--magritte-semantic-animation-ease-base-timing-function-v24-5-0);
169
169
  }
170
- .magritte-appear-done___3g7bl_6-2-11{
170
+ .magritte-appear-done___3g7bl_6-3-1{
171
171
  transform:translateY(0);
172
172
  }
173
- .magritte-exit___MsYCK_6-2-11{
173
+ .magritte-exit___MsYCK_6-3-1{
174
174
  opacity:1;
175
175
  }
176
- .magritte-exit-active___I4AYt_6-2-11{
176
+ .magritte-exit-active___I4AYt_6-3-1{
177
177
  opacity:0;
178
178
  transform:scale(0.75);
179
179
  transition:opacity var(--hide-animation-duration) var(--magritte-semantic-animation-ease-base-timing-function-v24-5-0), transform var(--hide-animation-duration) var(--magritte-semantic-animation-ease-base-timing-function-v24-5-0), top var(--stack-animation-duration) var(--magritte-semantic-animation-ease-base-timing-function-v24-5-0), bottom var(--stack-animation-duration) var(--magritte-semantic-animation-ease-base-timing-function-v24-5-0);
180
180
  }
181
- .magritte-exit-active_autohide___jvdWc_6-2-11{
181
+ .magritte-exit-active_autohide___jvdWc_6-3-1{
182
182
  opacity:0;
183
183
  transform:scale(0.75);
184
184
  transition:opacity var(--hide-animation-duration) var(--magritte-semantic-animation-ease-base-timing-function-v24-5-0), transform var(--hide-animation-duration) var(--magritte-semantic-animation-ease-base-timing-function-v24-5-0), top var(--stack-animation-duration) var(--magritte-semantic-animation-ease-base-timing-function-v24-5-0), bottom var(--stack-animation-duration) var(--magritte-semantic-animation-ease-base-timing-function-v24-5-0);
185
185
  }
186
- .magritte-exit-done___DK8l2_6-2-11{
186
+ .magritte-exit-done___DK8l2_6-3-1{
187
187
  opacity:0;
188
188
  transform:scale(0.75);
189
189
  }
package/index.js CHANGED
@@ -7,7 +7,7 @@ import 'react';
7
7
  import './context.js';
8
8
  import './types.js';
9
9
  import 'react/jsx-runtime';
10
- import './snackbar-BjgHN7lW.js';
10
+ import './snackbar-M_7tzox4.js';
11
11
  import 'react-dom';
12
12
  import './SnackbarRenderer.js';
13
13
  import 'react-transition-group';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hh.ru/magritte-ui-snackbar",
3
- "version": "6.2.11",
3
+ "version": "6.3.1",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [
@@ -26,9 +26,9 @@
26
26
  "@hh.ru/magritte-common-use-swipe": "3.1.9",
27
27
  "@hh.ru/magritte-design-tokens": "24.5.0",
28
28
  "@hh.ru/magritte-internal-layer-name": "3.4.1",
29
- "@hh.ru/magritte-ui-divider": "3.0.19",
29
+ "@hh.ru/magritte-ui-divider": "3.1.0",
30
30
  "@hh.ru/magritte-ui-icon": "14.0.0",
31
- "@hh.ru/magritte-ui-layer": "3.2.2",
31
+ "@hh.ru/magritte-ui-layer": "3.2.3",
32
32
  "@hh.ru/magritte-ui-link": "7.1.11",
33
33
  "@hh.ru/magritte-ui-theme-wrapper": "1.1.14",
34
34
  "@hh.ru/magritte-ui-timer": "1.2.74",
@@ -46,5 +46,5 @@
46
46
  "publishConfig": {
47
47
  "access": "public"
48
48
  },
49
- "gitHead": "e019f700cfff466975b65b96124aaac592268720"
49
+ "gitHead": "c19f88d1b8508382b25fe1d9e3a9a5fc931dfa64"
50
50
  }
@@ -0,0 +1,5 @@
1
+ import './index.css';
2
+ var styles = {"snackbar-container":"magritte-snackbar-container___SeRql_6-3-1","snackbarContainer":"magritte-snackbar-container___SeRql_6-3-1","snackbar-animation-timeout":"magritte-snackbar-animation-timeout___EQLvG_6-3-1","snackbarAnimationTimeout":"magritte-snackbar-animation-timeout___EQLvG_6-3-1","snackbar":"magritte-snackbar___jgq4H_6-3-1","snackbar_stretched":"magritte-snackbar_stretched___xVhgJ_6-3-1","snackbarStretched":"magritte-snackbar_stretched___xVhgJ_6-3-1","snackbar_align-top":"magritte-snackbar_align-top___WWWbk_6-3-1","snackbarAlignTop":"magritte-snackbar_align-top___WWWbk_6-3-1","snackbar_align-bottom":"magritte-snackbar_align-bottom___tCBBP_6-3-1","snackbarAlignBottom":"magritte-snackbar_align-bottom___tCBBP_6-3-1","snackbar-in-body":"magritte-snackbar-in-body___Zer4o_6-3-1","snackbarInBody":"magritte-snackbar-in-body___Zer4o_6-3-1","snackbar-content":"magritte-snackbar-content___MlP5J_6-3-1","snackbarContent":"magritte-snackbar-content___MlP5J_6-3-1","snackbar-addon":"magritte-snackbar-addon___-eJn7_6-3-1","snackbarAddon":"magritte-snackbar-addon___-eJn7_6-3-1","snackbar-text":"magritte-snackbar-text___PCxnB_6-3-1","snackbarText":"magritte-snackbar-text___PCxnB_6-3-1","snackbar-text-wrapper":"magritte-snackbar-text-wrapper___SH6YB_6-3-1","snackbarTextWrapper":"magritte-snackbar-text-wrapper___SH6YB_6-3-1","action":"magritte-action___Yjp2t_6-3-1","snackbar-close":"magritte-snackbar-close___U8YT5_6-3-1","snackbarClose":"magritte-snackbar-close___U8YT5_6-3-1","divider":"magritte-divider___GQ492_6-3-1","appearTop":"magritte-appearTop___UJQ6-_6-3-1","appearBottom":"magritte-appearBottom___wDoOa_6-3-1","appear-active":"magritte-appear-active___Kl7by_6-3-1","appearActive":"magritte-appear-active___Kl7by_6-3-1","appear-done":"magritte-appear-done___3g7bl_6-3-1","appearDone":"magritte-appear-done___3g7bl_6-3-1","exit":"magritte-exit___MsYCK_6-3-1","exit-active":"magritte-exit-active___I4AYt_6-3-1","exitActive":"magritte-exit-active___I4AYt_6-3-1","exit-active_autohide":"magritte-exit-active_autohide___jvdWc_6-3-1","exitActiveAutohide":"magritte-exit-active_autohide___jvdWc_6-3-1","exit-done":"magritte-exit-done___DK8l2_6-3-1","exitDone":"magritte-exit-done___DK8l2_6-3-1"};
3
+
4
+ export { styles as s };
5
+ //# sourceMappingURL=snackbar-M_7tzox4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snackbar-M_7tzox4.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
package/types.d.ts CHANGED
@@ -16,6 +16,7 @@ export interface AriaSnackbarProps {
16
16
  **/
17
17
  'aria-label'?: string;
18
18
  }
19
+ export type CloseReason = 'user' | 'timeout' | null;
19
20
  interface BaseSnackbarProps extends AriaSnackbarProps {
20
21
  /**
21
22
  * Cодержимое уведомления (текст, без каких либо активных компонентов)
@@ -45,7 +46,9 @@ interface BaseSnackbarProps extends AriaSnackbarProps {
45
46
  /**
46
47
  * Колбек закрытия компонента, вызывается после скрытия
47
48
  **/
48
- onClose?: VoidFunction;
49
+ onClose?: (params: {
50
+ reason: CloseReason;
51
+ }) => void;
49
52
  /**
50
53
  * Флаг, который отвечает за скрытие снекбара при размонтировании компонента. Если он установлен в false,
51
54
  * то снекбар скроется только после закрытия его пользователем или по истечении времени автоскрытия даже в случае
package/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sources":["src/types.ts"],"sourcesContent":["import type { ReactNode, PropsWithChildren } from 'react';\n\nexport type Align = 'top' | 'bottom';\n\nexport enum SnackbarTransitionName {\n Show = 'show',\n Hide = 'hide',\n Autohide = 'autohide',\n RemoveImmediately = 'removeImmediately',\n}\n\nexport interface AriaSnackbarProps {\n /**\n * Aтрибут role, логика выбора описана в разделе доступность\n **/\n role?: 'status' | 'alertdialog' | 'alert';\n /**\n * Aтрибут aria-label\n **/\n 'aria-label'?: string;\n}\n\ninterface BaseSnackbarProps extends AriaSnackbarProps {\n /**\n * Cодержимое уведомления (текст, без каких либо активных компонентов)\n **/\n children: ReactNode;\n /**\n * Текст действия, фокусирует юзера на уведомлении\n **/\n actionLabel?: string;\n /**\n * Край экрана или контейнера, относительно которого снекбар позиционируется\n * */\n align?: Align;\n /**\n * Время aвтоматического скрытия уведомления в мс(дефолт 6000). Если не нужно скрывать\n * по истечению времени, тогда нужно передать 0.\n **/\n autohideTime?: number;\n /**\n * Идентификатор контейнера, в котором отрисуется компонент\n **/\n containerId?: string;\n /**\n * Колбек действия, вызывается после нажатия на действие\n **/\n onAction?: VoidFunction;\n /**\n * Колбек закрытия компонента, вызывается после скрытия\n **/\n onClose?: VoidFunction;\n /**\n * Флаг, который отвечает за скрытие снекбара при размонтировании компонента. Если он установлен в false,\n * то снекбар скроется только после закрытия его пользователем или по истечении времени автоскрытия даже в случае\n * удаления компонента из дерева\n **/\n removeOnUnmount?: boolean;\n /** Флаг включающий растягивание на всю ширину контейнера */\n stretched?: boolean;\n /** Кастомный data-qa для тестирования */\n 'data-qa'?: string;\n}\n\ninterface SnackbarPropsWithClose {\n /**\n * Булев флаг, который отвечает за показ кнопки закрытия\n **/\n showClose?: true;\n /**\n * Aria-label атрибут для кнопки закрытия, устанавливается в случае если показываем кнопку закрытия\n **/\n 'aria-label-close'?: string;\n}\n\ninterface SnackbarPropsWithoutClose {\n showClose?: false;\n 'aria-label-close'?: never;\n}\n\ninterface SnackbarPropsWithAddon {\n /**\n * Компонент, который отрисуется в контейнере с левой стороны children, размер 24*24px\n **/\n addon?: ReactNode;\n showTimer?: false;\n}\n\ninterface SnackbarPropsWithTimer {\n addon?: never;\n /**\n * Булев флаг, который отвечает за показ таймера закрытия компонента, вместо на месте addon\n **/\n showTimer: true;\n}\n\nexport type SnackbarProps = BaseSnackbarProps &\n (SnackbarPropsWithAddon | SnackbarPropsWithTimer) &\n (SnackbarPropsWithClose | SnackbarPropsWithoutClose);\n\nexport interface SnackbarInternalState {\n animateOut: (\n transition:\n | SnackbarTransitionName.Hide\n | SnackbarTransitionName.Autohide\n | SnackbarTransitionName.RemoveImmediately\n ) => void;\n isShown: () => boolean;\n onShown: VoidFunction;\n transition: SnackbarTransitionName;\n position: number;\n stretched?: boolean;\n}\n\nexport interface SnackbarHelper {\n animateIn: VoidFunction;\n}\n\nexport interface SnackbarRenderHelper {\n timeout: number;\n container: HTMLElement;\n}\n\nexport type SnackbarState = SnackbarProps & SnackbarInternalState & SnackbarHelper;\n\nexport type SnackbarRendererProps = SnackbarState & SnackbarRenderHelper;\n\nexport interface SnackbarContainerProps extends PropsWithChildren {\n /**\n * Уникальный идентификатор контейнера\n **/\n id: string;\n}\n"],"names":[],"mappings":"IAIY,uBAKX;AALD,CAAA,UAAY,sBAAsB,EAAA;AAC9B,IAAA,sBAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,IAAA,sBAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,IAAA,sBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrB,IAAA,sBAAA,CAAA,mBAAA,CAAA,GAAA,mBAAuC,CAAA;AAC3C,CAAC,EALW,sBAAsB,KAAtB,sBAAsB,GAKjC,EAAA,CAAA,CAAA;;;;"}
1
+ {"version":3,"file":"types.js","sources":["src/types.ts"],"sourcesContent":["import type { ReactNode, PropsWithChildren } from 'react';\n\nexport type Align = 'top' | 'bottom';\n\nexport enum SnackbarTransitionName {\n Show = 'show',\n Hide = 'hide',\n Autohide = 'autohide',\n RemoveImmediately = 'removeImmediately',\n}\n\nexport interface AriaSnackbarProps {\n /**\n * Aтрибут role, логика выбора описана в разделе доступность\n **/\n role?: 'status' | 'alertdialog' | 'alert';\n /**\n * Aтрибут aria-label\n **/\n 'aria-label'?: string;\n}\n\nexport type CloseReason = 'user' | 'timeout' | null;\n\ninterface BaseSnackbarProps extends AriaSnackbarProps {\n /**\n * Cодержимое уведомления (текст, без каких либо активных компонентов)\n **/\n children: ReactNode;\n /**\n * Текст действия, фокусирует юзера на уведомлении\n **/\n actionLabel?: string;\n /**\n * Край экрана или контейнера, относительно которого снекбар позиционируется\n * */\n align?: Align;\n /**\n * Время aвтоматического скрытия уведомления в мс(дефолт 6000). Если не нужно скрывать\n * по истечению времени, тогда нужно передать 0.\n **/\n autohideTime?: number;\n /**\n * Идентификатор контейнера, в котором отрисуется компонент\n **/\n containerId?: string;\n /**\n * Колбек действия, вызывается после нажатия на действие\n **/\n onAction?: VoidFunction;\n /**\n * Колбек закрытия компонента, вызывается после скрытия\n **/\n onClose?: (params: { reason: CloseReason }) => void;\n /**\n * Флаг, который отвечает за скрытие снекбара при размонтировании компонента. Если он установлен в false,\n * то снекбар скроется только после закрытия его пользователем или по истечении времени автоскрытия даже в случае\n * удаления компонента из дерева\n **/\n removeOnUnmount?: boolean;\n /** Флаг включающий растягивание на всю ширину контейнера */\n stretched?: boolean;\n /** Кастомный data-qa для тестирования */\n 'data-qa'?: string;\n}\n\ninterface SnackbarPropsWithClose {\n /**\n * Булев флаг, который отвечает за показ кнопки закрытия\n **/\n showClose?: true;\n /**\n * Aria-label атрибут для кнопки закрытия, устанавливается в случае если показываем кнопку закрытия\n **/\n 'aria-label-close'?: string;\n}\n\ninterface SnackbarPropsWithoutClose {\n showClose?: false;\n 'aria-label-close'?: never;\n}\n\ninterface SnackbarPropsWithAddon {\n /**\n * Компонент, который отрисуется в контейнере с левой стороны children, размер 24*24px\n **/\n addon?: ReactNode;\n showTimer?: false;\n}\n\ninterface SnackbarPropsWithTimer {\n addon?: never;\n /**\n * Булев флаг, который отвечает за показ таймера закрытия компонента, вместо на месте addon\n **/\n showTimer: true;\n}\n\nexport type SnackbarProps = BaseSnackbarProps &\n (SnackbarPropsWithAddon | SnackbarPropsWithTimer) &\n (SnackbarPropsWithClose | SnackbarPropsWithoutClose);\n\nexport interface SnackbarInternalState {\n animateOut: (\n transition:\n | SnackbarTransitionName.Hide\n | SnackbarTransitionName.Autohide\n | SnackbarTransitionName.RemoveImmediately\n ) => void;\n isShown: () => boolean;\n onShown: VoidFunction;\n transition: SnackbarTransitionName;\n position: number;\n stretched?: boolean;\n}\n\nexport interface SnackbarHelper {\n animateIn: VoidFunction;\n}\n\nexport interface SnackbarRenderHelper {\n timeout: number;\n container: HTMLElement;\n}\n\nexport type SnackbarState = SnackbarProps & SnackbarInternalState & SnackbarHelper;\n\nexport type SnackbarRendererProps = SnackbarState & SnackbarRenderHelper;\n\nexport interface SnackbarContainerProps extends PropsWithChildren {\n /**\n * Уникальный идентификатор контейнера\n **/\n id: string;\n}\n"],"names":[],"mappings":"IAIY,uBAKX;AALD,CAAA,UAAY,sBAAsB,EAAA;AAC9B,IAAA,sBAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,IAAA,sBAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,IAAA,sBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrB,IAAA,sBAAA,CAAA,mBAAA,CAAA,GAAA,mBAAuC,CAAA;AAC3C,CAAC,EALW,sBAAsB,KAAtB,sBAAsB,GAKjC,EAAA,CAAA,CAAA;;;;"}
@@ -1,5 +0,0 @@
1
- import './index.css';
2
- var styles = {"snackbar-container":"magritte-snackbar-container___SeRql_6-2-11","snackbarContainer":"magritte-snackbar-container___SeRql_6-2-11","snackbar-animation-timeout":"magritte-snackbar-animation-timeout___EQLvG_6-2-11","snackbarAnimationTimeout":"magritte-snackbar-animation-timeout___EQLvG_6-2-11","snackbar":"magritte-snackbar___jgq4H_6-2-11","snackbar_stretched":"magritte-snackbar_stretched___xVhgJ_6-2-11","snackbarStretched":"magritte-snackbar_stretched___xVhgJ_6-2-11","snackbar_align-top":"magritte-snackbar_align-top___WWWbk_6-2-11","snackbarAlignTop":"magritte-snackbar_align-top___WWWbk_6-2-11","snackbar_align-bottom":"magritte-snackbar_align-bottom___tCBBP_6-2-11","snackbarAlignBottom":"magritte-snackbar_align-bottom___tCBBP_6-2-11","snackbar-in-body":"magritte-snackbar-in-body___Zer4o_6-2-11","snackbarInBody":"magritte-snackbar-in-body___Zer4o_6-2-11","snackbar-content":"magritte-snackbar-content___MlP5J_6-2-11","snackbarContent":"magritte-snackbar-content___MlP5J_6-2-11","snackbar-addon":"magritte-snackbar-addon___-eJn7_6-2-11","snackbarAddon":"magritte-snackbar-addon___-eJn7_6-2-11","snackbar-text":"magritte-snackbar-text___PCxnB_6-2-11","snackbarText":"magritte-snackbar-text___PCxnB_6-2-11","snackbar-text-wrapper":"magritte-snackbar-text-wrapper___SH6YB_6-2-11","snackbarTextWrapper":"magritte-snackbar-text-wrapper___SH6YB_6-2-11","action":"magritte-action___Yjp2t_6-2-11","snackbar-close":"magritte-snackbar-close___U8YT5_6-2-11","snackbarClose":"magritte-snackbar-close___U8YT5_6-2-11","divider":"magritte-divider___GQ492_6-2-11","appearTop":"magritte-appearTop___UJQ6-_6-2-11","appearBottom":"magritte-appearBottom___wDoOa_6-2-11","appear-active":"magritte-appear-active___Kl7by_6-2-11","appearActive":"magritte-appear-active___Kl7by_6-2-11","appear-done":"magritte-appear-done___3g7bl_6-2-11","appearDone":"magritte-appear-done___3g7bl_6-2-11","exit":"magritte-exit___MsYCK_6-2-11","exit-active":"magritte-exit-active___I4AYt_6-2-11","exitActive":"magritte-exit-active___I4AYt_6-2-11","exit-active_autohide":"magritte-exit-active_autohide___jvdWc_6-2-11","exitActiveAutohide":"magritte-exit-active_autohide___jvdWc_6-2-11","exit-done":"magritte-exit-done___DK8l2_6-2-11","exitDone":"magritte-exit-done___DK8l2_6-2-11"};
3
-
4
- export { styles as s };
5
- //# sourceMappingURL=snackbar-BjgHN7lW.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"snackbar-BjgHN7lW.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}