@hh.ru/magritte-ui-snackbar 5.0.7 → 5.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/SnackbarContainer.js +1 -1
- package/SnackbarContextProvider.js +1 -2
- package/SnackbarContextProvider.js.map +1 -1
- package/SnackbarRenderer.js +2 -3
- package/SnackbarRenderer.js.map +1 -1
- package/index.css +40 -40
- package/index.js +1 -2
- package/index.js.map +1 -1
- package/package.json +5 -6
- package/snackbar-BImVoc_6.js +5 -0
- package/snackbar-BImVoc_6.js.map +1 -0
- package/snackbar-5fGIGT4E.js +0 -5
- package/snackbar-5fGIGT4E.js.map +0 -1
package/SnackbarContainer.js
CHANGED
|
@@ -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-
|
|
5
|
+
import { s as styles } from './snackbar-BImVoc_6.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-
|
|
8
|
+
import { s as styles } from './snackbar-BImVoc_6.js';
|
|
9
9
|
import 'react-transition-group';
|
|
10
10
|
import 'classnames';
|
|
11
11
|
import '@hh.ru/magritte-common-func-utils';
|
|
@@ -13,7 +13,6 @@ import '@hh.ru/magritte-common-keyboard';
|
|
|
13
13
|
import '@hh.ru/magritte-common-resize';
|
|
14
14
|
import '@hh.ru/magritte-common-use-multiple-refs';
|
|
15
15
|
import '@hh.ru/magritte-common-use-swipe';
|
|
16
|
-
import '@hh.ru/magritte-ui-action';
|
|
17
16
|
import '@hh.ru/magritte-ui-icon/icon';
|
|
18
17
|
import '@hh.ru/magritte-ui-layer';
|
|
19
18
|
import '@hh.ru/magritte-ui-link';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SnackbarContextProvider.js","sources":["../src/SnackbarContextProvider.tsx"],"sourcesContent":["import { FC, ReactNode, useCallback, useEffect, useMemo, useState, useRef, PropsWithChildren } from 'react';\nimport { createPortal } from 'react-dom';\n\nimport { SnackbarRenderer } from '@hh.ru/magritte-ui-snackbar/SnackbarRenderer';\nimport { SnackbarContext, SnackbarContextProps } from '@hh.ru/magritte-ui-snackbar/context';\nimport { SnackbarProps, SnackbarState, SnackbarTransitionName } from '@hh.ru/magritte-ui-snackbar/types';\n\nimport styles from './snackbar.less';\n\nexport const SnackbarContextProvider: FC<PropsWithChildren> = ({ children }) => {\n const animationTimeoutRef = useRef({\n [SnackbarTransitionName.Show]: 0,\n [SnackbarTransitionName.Hide]: 0,\n [SnackbarTransitionName.Autohide]: 0,\n [SnackbarTransitionName.Replace]: 0,\n [SnackbarTransitionName.RemoveImmediately]: 0,\n });\n const containerRefs = useRef<{ [id: string]: HTMLElement }>({});\n const isShownRef = useRef<{ [uid: string]: boolean }>({});\n const [state, setState] = useState<{ [uid: string]: SnackbarState }>({});\n\n const animateOut: SnackbarContextProps['animateOut'] = useCallback(\n (uid, transition) => {\n setState((prevState) => {\n if (uid in prevState) {\n const prevTransition = prevState[uid].transition;\n\n const isCurrentlyVisible =\n prevTransition === SnackbarTransitionName.Show ||\n prevTransition === SnackbarTransitionName.Replace;\n\n const willBeHidden =\n transition === SnackbarTransitionName.Hide || transition === SnackbarTransitionName.Autohide;\n\n if (\n transition === SnackbarTransitionName.RemoveImmediately ||\n (willBeHidden && !isCurrentlyVisible)\n ) {\n return Object.fromEntries(Object.entries(prevState).filter(([key]) => key !== uid));\n }\n\n return { ...prevState, [uid]: { ...prevState[uid], transition } };\n }\n\n return prevState;\n });\n },\n [setState]\n );\n\n const animateIn: SnackbarContextProps['animateIn'] = useCallback(\n (uid: string, props: SnackbarProps) => {\n setState((prevState) => {\n if (uid in prevState) {\n // не даем менять некоторые пропсы у существующего снекбара\n const { autohideTime, containerId, showTimer, ..._props } = props;\n return { ...prevState, [uid]: { ...prevState[uid], ..._props } as SnackbarState };\n }\n\n const _props: Pick<SnackbarState, 'animateOut' | 'isShown' | 'onShown' | 'transition'> = {\n animateOut: (transition) => animateOut(uid, transition),\n isShown: () => !!isShownRef.current[uid],\n onShown: () => (isShownRef.current[uid] = true),\n transition: SnackbarTransitionName[Object.keys(prevState).length > 0 ? 'Replace' : 'Show'],\n };\n\n return Object.keys(prevState).reduce(\n (accumulator, key) => {\n const value = { ...prevState[key], transition: SnackbarTransitionName.Hide };\n return key === uid ? accumulator : { ...accumulator, [key]: value };\n },\n { [uid]: { ..._props, ...props } as SnackbarState }\n );\n });\n },\n [animateOut, setState]\n );\n\n const renderFunc = useCallback(\n (uid: string): ReactNode => {\n const containerId = state[uid].containerId;\n const container = containerId ? containerRefs.current[containerId] : document.body;\n\n if (!container) {\n return null;\n }\n\n return createPortal(\n <SnackbarRenderer {...state[uid]} timeout={animationTimeoutRef.current[state[uid].transition]} />,\n container,\n uid\n );\n },\n [state]\n );\n\n const setContainerRef: SnackbarContextProps['setContainerRef'] = useCallback((containerId, instance) => {\n if (!instance) {\n return;\n }\n\n containerRefs.current[containerId] = instance;\n }, []);\n\n useEffect(() => {\n const animationTimeoutElement = document.createElement('div');\n animationTimeoutElement.classList.add(styles['snackbar-animation-timeout']);\n document.body.appendChild(animationTimeoutElement);\n const style = window.getComputedStyle(animationTimeoutElement);\n\n for (const transition of Object.values(SnackbarTransitionName)) {\n const animationTimeout = parseInt(style.getPropertyValue(`--${transition}-animation-duration`), 10);\n if (Number.isInteger(animationTimeout)) {\n animationTimeoutRef.current[transition] = animationTimeout;\n }\n }\n\n document.body.removeChild(animationTimeoutElement);\n }, []);\n\n const value = useMemo<SnackbarContextProps>(() => {\n return {\n animateIn,\n animateOut,\n isShown: (uid) => isShownRef.current[uid],\n setContainerRef,\n };\n }, [animateIn, animateOut, setContainerRef]);\n\n return (\n <SnackbarContext.Provider value={value}>\n {Object.keys(state).map(renderFunc)}\n {children}\n </SnackbarContext.Provider>\n );\n};\n"],"names":["_jsx","_jsxs"],"mappings":"
|
|
1
|
+
{"version":3,"file":"SnackbarContextProvider.js","sources":["../src/SnackbarContextProvider.tsx"],"sourcesContent":["import { FC, ReactNode, useCallback, useEffect, useMemo, useState, useRef, PropsWithChildren } from 'react';\nimport { createPortal } from 'react-dom';\n\nimport { SnackbarRenderer } from '@hh.ru/magritte-ui-snackbar/SnackbarRenderer';\nimport { SnackbarContext, SnackbarContextProps } from '@hh.ru/magritte-ui-snackbar/context';\nimport { SnackbarProps, SnackbarState, SnackbarTransitionName } from '@hh.ru/magritte-ui-snackbar/types';\n\nimport styles from './snackbar.less';\n\nexport const SnackbarContextProvider: FC<PropsWithChildren> = ({ children }) => {\n const animationTimeoutRef = useRef({\n [SnackbarTransitionName.Show]: 0,\n [SnackbarTransitionName.Hide]: 0,\n [SnackbarTransitionName.Autohide]: 0,\n [SnackbarTransitionName.Replace]: 0,\n [SnackbarTransitionName.RemoveImmediately]: 0,\n });\n const containerRefs = useRef<{ [id: string]: HTMLElement }>({});\n const isShownRef = useRef<{ [uid: string]: boolean }>({});\n const [state, setState] = useState<{ [uid: string]: SnackbarState }>({});\n\n const animateOut: SnackbarContextProps['animateOut'] = useCallback(\n (uid, transition) => {\n setState((prevState) => {\n if (uid in prevState) {\n const prevTransition = prevState[uid].transition;\n\n const isCurrentlyVisible =\n prevTransition === SnackbarTransitionName.Show ||\n prevTransition === SnackbarTransitionName.Replace;\n\n const willBeHidden =\n transition === SnackbarTransitionName.Hide || transition === SnackbarTransitionName.Autohide;\n\n if (\n transition === SnackbarTransitionName.RemoveImmediately ||\n (willBeHidden && !isCurrentlyVisible)\n ) {\n return Object.fromEntries(Object.entries(prevState).filter(([key]) => key !== uid));\n }\n\n return { ...prevState, [uid]: { ...prevState[uid], transition } };\n }\n\n return prevState;\n });\n },\n [setState]\n );\n\n const animateIn: SnackbarContextProps['animateIn'] = useCallback(\n (uid: string, props: SnackbarProps) => {\n setState((prevState) => {\n if (uid in prevState) {\n // не даем менять некоторые пропсы у существующего снекбара\n const { autohideTime, containerId, showTimer, ..._props } = props;\n return { ...prevState, [uid]: { ...prevState[uid], ..._props } as SnackbarState };\n }\n\n const _props: Pick<SnackbarState, 'animateOut' | 'isShown' | 'onShown' | 'transition'> = {\n animateOut: (transition) => animateOut(uid, transition),\n isShown: () => !!isShownRef.current[uid],\n onShown: () => (isShownRef.current[uid] = true),\n transition: SnackbarTransitionName[Object.keys(prevState).length > 0 ? 'Replace' : 'Show'],\n };\n\n return Object.keys(prevState).reduce(\n (accumulator, key) => {\n const value = { ...prevState[key], transition: SnackbarTransitionName.Hide };\n return key === uid ? accumulator : { ...accumulator, [key]: value };\n },\n { [uid]: { ..._props, ...props } as SnackbarState }\n );\n });\n },\n [animateOut, setState]\n );\n\n const renderFunc = useCallback(\n (uid: string): ReactNode => {\n const containerId = state[uid].containerId;\n const container = containerId ? containerRefs.current[containerId] : document.body;\n\n if (!container) {\n return null;\n }\n\n return createPortal(\n <SnackbarRenderer {...state[uid]} timeout={animationTimeoutRef.current[state[uid].transition]} />,\n container,\n uid\n );\n },\n [state]\n );\n\n const setContainerRef: SnackbarContextProps['setContainerRef'] = useCallback((containerId, instance) => {\n if (!instance) {\n return;\n }\n\n containerRefs.current[containerId] = instance;\n }, []);\n\n useEffect(() => {\n const animationTimeoutElement = document.createElement('div');\n animationTimeoutElement.classList.add(styles['snackbar-animation-timeout']);\n document.body.appendChild(animationTimeoutElement);\n const style = window.getComputedStyle(animationTimeoutElement);\n\n for (const transition of Object.values(SnackbarTransitionName)) {\n const animationTimeout = parseInt(style.getPropertyValue(`--${transition}-animation-duration`), 10);\n if (Number.isInteger(animationTimeout)) {\n animationTimeoutRef.current[transition] = animationTimeout;\n }\n }\n\n document.body.removeChild(animationTimeoutElement);\n }, []);\n\n const value = useMemo<SnackbarContextProps>(() => {\n return {\n animateIn,\n animateOut,\n isShown: (uid) => isShownRef.current[uid],\n setContainerRef,\n };\n }, [animateIn, animateOut, setContainerRef]);\n\n return (\n <SnackbarContext.Provider value={value}>\n {Object.keys(state).map(renderFunc)}\n {children}\n </SnackbarContext.Provider>\n );\n};\n"],"names":["_jsx","_jsxs"],"mappings":"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"}
|
package/SnackbarRenderer.js
CHANGED
|
@@ -8,14 +8,13 @@ import { useEscapeToClose } from '@hh.ru/magritte-common-keyboard';
|
|
|
8
8
|
import { useResize } from '@hh.ru/magritte-common-resize';
|
|
9
9
|
import { useMultipleRefs } from '@hh.ru/magritte-common-use-multiple-refs';
|
|
10
10
|
import { useSwipeHandlers } from '@hh.ru/magritte-common-use-swipe';
|
|
11
|
-
import { Action } from '@hh.ru/magritte-ui-action';
|
|
12
11
|
import { CrossOutlinedSize24 } from '@hh.ru/magritte-ui-icon/icon';
|
|
13
12
|
import { Layer } from '@hh.ru/magritte-ui-layer';
|
|
14
13
|
import { Link } from '@hh.ru/magritte-ui-link';
|
|
15
14
|
import { SnackbarTransitionName, SnackbarLayout } from './types.js';
|
|
16
15
|
import { useAriaSnackbar } from './useAriaSnackbar.js';
|
|
17
16
|
import { useTimer, Timer } from '@hh.ru/magritte-ui-timer';
|
|
18
|
-
import { s as styles } from './snackbar-
|
|
17
|
+
import { s as styles } from './snackbar-BImVoc_6.js';
|
|
19
18
|
|
|
20
19
|
const CLASS_NAMES = {
|
|
21
20
|
[SnackbarTransitionName.Show]: {
|
|
@@ -192,7 +191,7 @@ const SnackbarRenderer = ({ actionLabel, addon, align = 'bottom', animateOut, au
|
|
|
192
191
|
if (event.target !== snackbarRef.current && !hasTouchSupportRef.current) {
|
|
193
192
|
setHasFocus(true);
|
|
194
193
|
}
|
|
195
|
-
}, onBlur: () => !hasTouchSupportRef.current && setHasFocus(false), onMouseEnter: () => setHasHover(true), onMouseLeave: () => setHasHover(false), children: jsxs("div", { className: styles.snackbarContent, children: [!!addon && (jsx("div", { className: styles.snackbarAddon, "data-qa": "snackbar-addon", children: addon })), !!autohideTime && showTimer && (jsx("div", { className: styles.snackbarAddon, "data-qa": "snackbar-timer", children: jsx(Timer, { timeout: autohideTime, pause: hasFocus || hasHover, callback: autohideFunc }) })), jsxs("div", { className: styles.snackbarTextAndAction, ref: resizableContentRef, children: [jsx("div", { className: styles.snackbarText, ref: textRef, id: "dialog-description", children: children }), !!actionLabel && (jsx(Link, { "data-qa": "snackbar-user-action", "aria-label": actionLabel, Element: "button", type: "button", onClick: actionFunc, typography: "subtitle-1-semibold", style: "contrast", children: actionLabel }))] }), showClose && (jsx("div", { className: styles.snackbarClose, children: jsx(
|
|
194
|
+
}, onBlur: () => !hasTouchSupportRef.current && setHasFocus(false), onMouseEnter: () => setHasHover(true), onMouseLeave: () => setHasHover(false), children: jsxs("div", { className: styles.snackbarContent, children: [!!addon && (jsx("div", { className: styles.snackbarAddon, "data-qa": "snackbar-addon", children: addon })), !!autohideTime && showTimer && (jsx("div", { className: styles.snackbarAddon, "data-qa": "snackbar-timer", children: jsx(Timer, { timeout: autohideTime, pause: hasFocus || hasHover, callback: autohideFunc }) })), jsxs("div", { className: styles.snackbarTextAndAction, ref: resizableContentRef, children: [jsx("div", { className: styles.snackbarText, ref: textRef, id: "dialog-description", children: children }), !!actionLabel && (jsx(Link, { "data-qa": "snackbar-user-action", "aria-label": actionLabel, Element: "button", type: "button", onClick: actionFunc, typography: "subtitle-1-semibold", style: "contrast", children: actionLabel }))] }), showClose && (jsx("div", { className: styles.snackbarClose, children: jsx(CrossOutlinedSize24, { padding: 8, borderRadius: "halfHeight", initialColor: "constant-secondary", "data-qa": "snackbar-close-action", tabIndex: actionLabel ? 0 : -1, "aria-label": actionLabel && typeof ariaLabelClose === 'string' ? ariaLabelClose : undefined, onClick: closeFunc }) }))] }) }) }) }));
|
|
196
195
|
};
|
|
197
196
|
|
|
198
197
|
export { SnackbarRenderer };
|
package/SnackbarRenderer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SnackbarRenderer.js","sources":["../src/SnackbarRenderer.tsx"],"sourcesContent":["import { FC, useCallback, useEffect, useLayoutEffect, useRef, useState } from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport classnames from 'classnames';\n\nimport { useDebounce } from '@hh.ru/magritte-common-func-utils';\nimport { useEscapeToClose } from '@hh.ru/magritte-common-keyboard';\nimport { useResize } from '@hh.ru/magritte-common-resize';\nimport { useMultipleRefs } from '@hh.ru/magritte-common-use-multiple-refs';\nimport { SwipeEventHandler, SwipeThreshold, useSwipeHandlers } from '@hh.ru/magritte-common-use-swipe';\nimport { Action } from '@hh.ru/magritte-ui-action';\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 { SnackbarLayout, SnackbarRendererProps, SnackbarTransitionName } from '@hh.ru/magritte-ui-snackbar/types';\nimport { useAriaSnackbar } from '@hh.ru/magritte-ui-snackbar/useAriaSnackbar';\nimport { Timer, useTimer } from '@hh.ru/magritte-ui-timer';\n\nimport styles from './snackbar.less';\n\nconst CLASS_NAMES = {\n [SnackbarTransitionName.Show]: {\n appear: styles.appear,\n appearActive: styles['appear-active'],\n appearDone: styles['appear-done'],\n },\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.Replace]: {\n appear: styles.appear,\n appearDone: styles['appear-done'],\n },\n [SnackbarTransitionName.RemoveImmediately]: {},\n};\n\nconst DEFAULT_AUTOHIDE_TIME_MS = 6000;\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 ...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 [layout, setLayout] = useState<SnackbarLayout>(SnackbarLayout.Horizontal);\n const autohideFunc = useCallback(() => animateOut(SnackbarTransitionName.Autohide), [animateOut]);\n const closeFunc = useCallback(() => animateOut(SnackbarTransitionName.Hide), [animateOut]);\n const previousMetrics = useRef<DOMRect | null>(null);\n const ariaAttributes = useAriaSnackbar({ role, hasAction: !!actionLabel, 'aria-label': ariaLabel });\n const textRef = useRef<HTMLDivElement>(null);\n const resizableContentRef = useRef<HTMLDivElement>(null);\n const visible = transition === SnackbarTransitionName.Show || transition === SnackbarTransitionName.Replace;\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 const calculateLayout = useCallback(() => {\n if (textRef.current && resizableContentRef.current) {\n const metrics = resizableContentRef.current?.getBoundingClientRect();\n const style = window.getComputedStyle(textRef.current);\n const isVerticalLayout =\n textRef.current.getBoundingClientRect().height - parseInt(style.lineHeight, 10) > 1;\n\n if (previousMetrics.current !== null) {\n const increaseScreenSize = metrics.width > previousMetrics.current.width;\n\n setLayout((layout) => {\n /* Уменьшаем размер экрана и если нужно переключиться в вертикальный лейаут */\n if (!increaseScreenSize && isVerticalLayout && layout === SnackbarLayout.Horizontal) {\n return SnackbarLayout.Vertical;\n }\n\n /* Увеличиваем размер экрана и если нужно переключиться в вертикальный лейаут */\n if (increaseScreenSize && isVerticalLayout && layout === SnackbarLayout.Horizontal) {\n return SnackbarLayout.Vertical;\n }\n\n /* Кейсы когда уменьшаем или увеличиваем размер экрана и нужно переключиться\n * с вертикального на горизонтальный лейаут скипаем, потому как доступного места для текста\n * меньше и может оказаться что текст будет в 2 строки и надо\n * снова переключаться на вертикальный лейаут. */\n return layout;\n });\n } else {\n setLayout(isVerticalLayout ? SnackbarLayout.Vertical : SnackbarLayout.Horizontal);\n }\n previousMetrics.current = resizableContentRef.current?.getBoundingClientRect();\n }\n }, []);\n\n useLayoutEffect(calculateLayout, [calculateLayout]);\n\n useResize(useDebounce(calculateLayout, 64));\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(() => void (!!actionLabel && snackbarRef.current?.focus?.()), [actionLabel]);\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 // при смене layout может поменяться clientHeight\n }, [align, visible, layout]);\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.opacity = `1`;\n snackbarRef.current.style.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 return (\n <CSSTransition\n appear\n classNames={CLASS_NAMES[transition]}\n in={visible}\n nodeRef={snackbarRef}\n onEntered={onShown}\n onExited={removeImmediately}\n timeout={timeout}\n >\n <Layer layer=\"snackbar\">\n <div\n {...props}\n {...ariaAttributes}\n className={classnames(styles.snackbar, {\n [styles[`snackbar_align-${align}`]]: align,\n [styles.snackbarInBody]: !containerId,\n [styles.snackbarLayoutVertical]: layout === SnackbarLayout.Vertical,\n [styles.snackbarLayoutHorizontal]: layout === SnackbarLayout.Horizontal,\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 >\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 timeout={autohideTime} pause={hasFocus || hasHover} callback={autohideFunc} />\n </div>\n )}\n <div className={styles.snackbarTextAndAction} ref={resizableContentRef}>\n <div className={styles.snackbarText} ref={textRef} id=\"dialog-description\">\n {children}\n </div>\n {!!actionLabel && (\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=\"contrast\"\n >\n {actionLabel}\n </Link>\n )}\n </div>\n {showClose && (\n <div className={styles.snackbarClose}>\n <Action\n data-qa=\"snackbar-close-action\"\n tabIndex={actionLabel ? 0 : -1}\n aria-label={\n actionLabel && typeof ariaLabelClose === 'string' ? ariaLabelClose : undefined\n }\n icon={CrossOutlinedSize24}\n mode=\"secondary\"\n onClick={closeFunc}\n style=\"contrast\"\n />\n </div>\n )}\n </div>\n </div>\n </Layer>\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, useLayoutEffect, useRef, useState } from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport classnames from 'classnames';\n\nimport { useDebounce } from '@hh.ru/magritte-common-func-utils';\nimport { useEscapeToClose } from '@hh.ru/magritte-common-keyboard';\nimport { useResize } from '@hh.ru/magritte-common-resize';\nimport { useMultipleRefs } from '@hh.ru/magritte-common-use-multiple-refs';\nimport { SwipeEventHandler, SwipeThreshold, useSwipeHandlers } from '@hh.ru/magritte-common-use-swipe';\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 { SnackbarLayout, SnackbarRendererProps, SnackbarTransitionName } from '@hh.ru/magritte-ui-snackbar/types';\nimport { useAriaSnackbar } from '@hh.ru/magritte-ui-snackbar/useAriaSnackbar';\nimport { Timer, useTimer } from '@hh.ru/magritte-ui-timer';\n\nimport styles from './snackbar.less';\n\nconst CLASS_NAMES = {\n [SnackbarTransitionName.Show]: {\n appear: styles.appear,\n appearActive: styles['appear-active'],\n appearDone: styles['appear-done'],\n },\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.Replace]: {\n appear: styles.appear,\n appearDone: styles['appear-done'],\n },\n [SnackbarTransitionName.RemoveImmediately]: {},\n};\n\nconst DEFAULT_AUTOHIDE_TIME_MS = 6000;\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 ...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 [layout, setLayout] = useState<SnackbarLayout>(SnackbarLayout.Horizontal);\n const autohideFunc = useCallback(() => animateOut(SnackbarTransitionName.Autohide), [animateOut]);\n const closeFunc = useCallback(() => animateOut(SnackbarTransitionName.Hide), [animateOut]);\n const previousMetrics = useRef<DOMRect | null>(null);\n const ariaAttributes = useAriaSnackbar({ role, hasAction: !!actionLabel, 'aria-label': ariaLabel });\n const textRef = useRef<HTMLDivElement>(null);\n const resizableContentRef = useRef<HTMLDivElement>(null);\n const visible = transition === SnackbarTransitionName.Show || transition === SnackbarTransitionName.Replace;\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 const calculateLayout = useCallback(() => {\n if (textRef.current && resizableContentRef.current) {\n const metrics = resizableContentRef.current?.getBoundingClientRect();\n const style = window.getComputedStyle(textRef.current);\n const isVerticalLayout =\n textRef.current.getBoundingClientRect().height - parseInt(style.lineHeight, 10) > 1;\n\n if (previousMetrics.current !== null) {\n const increaseScreenSize = metrics.width > previousMetrics.current.width;\n\n setLayout((layout) => {\n /* Уменьшаем размер экрана и если нужно переключиться в вертикальный лейаут */\n if (!increaseScreenSize && isVerticalLayout && layout === SnackbarLayout.Horizontal) {\n return SnackbarLayout.Vertical;\n }\n\n /* Увеличиваем размер экрана и если нужно переключиться в вертикальный лейаут */\n if (increaseScreenSize && isVerticalLayout && layout === SnackbarLayout.Horizontal) {\n return SnackbarLayout.Vertical;\n }\n\n /* Кейсы когда уменьшаем или увеличиваем размер экрана и нужно переключиться\n * с вертикального на горизонтальный лейаут скипаем, потому как доступного места для текста\n * меньше и может оказаться что текст будет в 2 строки и надо\n * снова переключаться на вертикальный лейаут. */\n return layout;\n });\n } else {\n setLayout(isVerticalLayout ? SnackbarLayout.Vertical : SnackbarLayout.Horizontal);\n }\n previousMetrics.current = resizableContentRef.current?.getBoundingClientRect();\n }\n }, []);\n\n useLayoutEffect(calculateLayout, [calculateLayout]);\n\n useResize(useDebounce(calculateLayout, 64));\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(() => void (!!actionLabel && snackbarRef.current?.focus?.()), [actionLabel]);\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 // при смене layout может поменяться clientHeight\n }, [align, visible, layout]);\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.opacity = `1`;\n snackbarRef.current.style.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 return (\n <CSSTransition\n appear\n classNames={CLASS_NAMES[transition]}\n in={visible}\n nodeRef={snackbarRef}\n onEntered={onShown}\n onExited={removeImmediately}\n timeout={timeout}\n >\n <Layer layer=\"snackbar\">\n <div\n {...props}\n {...ariaAttributes}\n className={classnames(styles.snackbar, {\n [styles[`snackbar_align-${align}`]]: align,\n [styles.snackbarInBody]: !containerId,\n [styles.snackbarLayoutVertical]: layout === SnackbarLayout.Vertical,\n [styles.snackbarLayoutHorizontal]: layout === SnackbarLayout.Horizontal,\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 >\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 timeout={autohideTime} pause={hasFocus || hasHover} callback={autohideFunc} />\n </div>\n )}\n <div className={styles.snackbarTextAndAction} ref={resizableContentRef}>\n <div className={styles.snackbarText} ref={textRef} id=\"dialog-description\">\n {children}\n </div>\n {!!actionLabel && (\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=\"contrast\"\n >\n {actionLabel}\n </Link>\n )}\n </div>\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' ? ariaLabelClose : undefined\n }\n onClick={closeFunc}\n />\n </div>\n )}\n </div>\n </div>\n </Layer>\n </CSSTransition>\n );\n};\n"],"names":["_jsx","_jsxs"],"mappings":"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"}
|
package/index.css
CHANGED
|
@@ -34,13 +34,13 @@
|
|
|
34
34
|
--magritte-color-component-snackbar-text-state-action-pressed-v21-3-2:#ffffff;
|
|
35
35
|
--magritte-color-component-snackbar-text-state-action-disabled-v21-3-2:#AABBCA;
|
|
36
36
|
}
|
|
37
|
-
.magritte-snackbar-container___SeRql_5-0
|
|
37
|
+
.magritte-snackbar-container___SeRql_5-1-0{
|
|
38
38
|
pointer-events:none;
|
|
39
39
|
position:absolute;
|
|
40
40
|
inset:0;
|
|
41
41
|
}
|
|
42
|
-
.magritte-snackbar-animation-timeout___EQLvG_5-0
|
|
43
|
-
.magritte-snackbar___jgq4H_5-0
|
|
42
|
+
.magritte-snackbar-animation-timeout___EQLvG_5-1-0,
|
|
43
|
+
.magritte-snackbar___jgq4H_5-1-0{
|
|
44
44
|
outline:none;
|
|
45
45
|
--show-animation-duration:var(--magritte-semantic-animation-ease-in-out-tiger-300-duration-v21-3-2);
|
|
46
46
|
--hide-animation-duration:var(--magritte-semantic-animation-ease-in-out-tiger-100-duration-v21-3-2);
|
|
@@ -53,8 +53,8 @@
|
|
|
53
53
|
--magritte-color-component-action-icon-secondary-disabled-override:var(--magritte-color-component-snackbar-text-state-action-disabled-v21-3-2);
|
|
54
54
|
}
|
|
55
55
|
@media (prefers-reduced-motion){
|
|
56
|
-
.magritte-snackbar-animation-timeout___EQLvG_5-0
|
|
57
|
-
.magritte-snackbar___jgq4H_5-0
|
|
56
|
+
.magritte-snackbar-animation-timeout___EQLvG_5-1-0,
|
|
57
|
+
.magritte-snackbar___jgq4H_5-1-0{
|
|
58
58
|
--show-animation-duration:0;
|
|
59
59
|
--hide-animation-duration:0;
|
|
60
60
|
--autohide-animation-duration:0;
|
|
@@ -62,88 +62,88 @@
|
|
|
62
62
|
--removeImmediately-animation-duration:0;
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
|
-
.magritte-snackbar-animation-timeout___EQLvG_5-0
|
|
65
|
+
.magritte-snackbar-animation-timeout___EQLvG_5-1-0{
|
|
66
66
|
display:none;
|
|
67
67
|
}
|
|
68
|
-
.magritte-snackbar___jgq4H_5-0
|
|
68
|
+
.magritte-snackbar___jgq4H_5-1-0{
|
|
69
69
|
background:var(--magritte-color-component-snackbar-background-content-v21-3-2);
|
|
70
70
|
color:var(--magritte-color-component-snackbar-text-content-v21-3-2);
|
|
71
71
|
box-shadow:inset 0 0 0 1px var(--magritte-color-component-snackbar-stroke-content-v21-3-2);
|
|
72
72
|
position:absolute;
|
|
73
73
|
pointer-events:auto;
|
|
74
74
|
}
|
|
75
|
-
.magritte-snackbar_align-top___WWWbk_5-0
|
|
75
|
+
.magritte-snackbar_align-top___WWWbk_5-1-0{
|
|
76
76
|
inset:16px 16px auto;
|
|
77
77
|
}
|
|
78
78
|
@media (min-width: 1020px){
|
|
79
|
-
body.magritte-old-layout .magritte-snackbar_align-top___WWWbk_5-0
|
|
79
|
+
body.magritte-old-layout .magritte-snackbar_align-top___WWWbk_5-1-0{
|
|
80
80
|
inset:0 0 auto;
|
|
81
81
|
}
|
|
82
82
|
}
|
|
83
83
|
@media (min-width: 1024px){
|
|
84
|
-
body:not(.magritte-old-layout) .magritte-snackbar_align-top___WWWbk_5-0
|
|
84
|
+
body:not(.magritte-old-layout) .magritte-snackbar_align-top___WWWbk_5-1-0{
|
|
85
85
|
inset:0 0 auto;
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
|
-
.magritte-snackbar_align-bottom___tCBBP_5-0
|
|
88
|
+
.magritte-snackbar_align-bottom___tCBBP_5-1-0{
|
|
89
89
|
inset:auto 16px 16px;
|
|
90
90
|
}
|
|
91
91
|
@media (min-width: 1020px){
|
|
92
|
-
body.magritte-old-layout .magritte-snackbar_align-bottom___tCBBP_5-0
|
|
92
|
+
body.magritte-old-layout .magritte-snackbar_align-bottom___tCBBP_5-1-0{
|
|
93
93
|
inset:auto 0 0;
|
|
94
94
|
}
|
|
95
95
|
}
|
|
96
96
|
@media (min-width: 1024px){
|
|
97
|
-
body:not(.magritte-old-layout) .magritte-snackbar_align-bottom___tCBBP_5-0
|
|
97
|
+
body:not(.magritte-old-layout) .magritte-snackbar_align-bottom___tCBBP_5-1-0{
|
|
98
98
|
inset:auto 0 0;
|
|
99
99
|
}
|
|
100
100
|
}
|
|
101
|
-
.magritte-snackbar-in-body___Zer4o_5-0
|
|
101
|
+
.magritte-snackbar-in-body___Zer4o_5-1-0{
|
|
102
102
|
position:fixed;
|
|
103
103
|
}
|
|
104
104
|
@media (min-width: 1020px){
|
|
105
|
-
body.magritte-old-layout .magritte-snackbar-in-body___Zer4o_5-0
|
|
105
|
+
body.magritte-old-layout .magritte-snackbar-in-body___Zer4o_5-1-0{
|
|
106
106
|
box-sizing:border-box;
|
|
107
107
|
margin:auto;
|
|
108
108
|
max-width:600px;
|
|
109
109
|
}
|
|
110
110
|
}
|
|
111
111
|
@media (min-width: 1024px){
|
|
112
|
-
body:not(.magritte-old-layout) .magritte-snackbar-in-body___Zer4o_5-0
|
|
112
|
+
body:not(.magritte-old-layout) .magritte-snackbar-in-body___Zer4o_5-1-0{
|
|
113
113
|
box-sizing:border-box;
|
|
114
114
|
margin:auto;
|
|
115
115
|
max-width:600px;
|
|
116
116
|
}
|
|
117
117
|
}
|
|
118
118
|
@media (min-width: 1020px){
|
|
119
|
-
body.magritte-old-layout .magritte-snackbar-in-body___Zer4o_5-0
|
|
119
|
+
body.magritte-old-layout .magritte-snackbar-in-body___Zer4o_5-1-0.magritte-snackbar_align-top___WWWbk_5-1-0{
|
|
120
120
|
inset:48px 16px auto 16px;
|
|
121
121
|
}
|
|
122
122
|
}
|
|
123
123
|
@media (min-width: 1024px){
|
|
124
|
-
body:not(.magritte-old-layout) .magritte-snackbar-in-body___Zer4o_5-0
|
|
124
|
+
body:not(.magritte-old-layout) .magritte-snackbar-in-body___Zer4o_5-1-0.magritte-snackbar_align-top___WWWbk_5-1-0{
|
|
125
125
|
inset:48px 16px auto 16px;
|
|
126
126
|
}
|
|
127
127
|
}
|
|
128
128
|
@media (min-width: 1020px){
|
|
129
|
-
body.magritte-old-layout .magritte-snackbar-in-body___Zer4o_5-0
|
|
129
|
+
body.magritte-old-layout .magritte-snackbar-in-body___Zer4o_5-1-0.magritte-snackbar_align-bottom___tCBBP_5-1-0{
|
|
130
130
|
inset:auto 16px 48px 16px;
|
|
131
131
|
}
|
|
132
132
|
}
|
|
133
133
|
@media (min-width: 1024px){
|
|
134
|
-
body:not(.magritte-old-layout) .magritte-snackbar-in-body___Zer4o_5-0
|
|
134
|
+
body:not(.magritte-old-layout) .magritte-snackbar-in-body___Zer4o_5-1-0.magritte-snackbar_align-bottom___tCBBP_5-1-0{
|
|
135
135
|
inset:auto 16px 48px 16px;
|
|
136
136
|
}
|
|
137
137
|
}
|
|
138
|
-
.magritte-snackbar-content___MlP5J_5-0
|
|
138
|
+
.magritte-snackbar-content___MlP5J_5-1-0{
|
|
139
139
|
display:flex;
|
|
140
140
|
}
|
|
141
|
-
.magritte-snackbar-addon___-eJn7_5-0
|
|
141
|
+
.magritte-snackbar-addon___-eJn7_5-1-0{
|
|
142
142
|
margin-right:12px;
|
|
143
143
|
width:24px;
|
|
144
144
|
height:24px;
|
|
145
145
|
}
|
|
146
|
-
.magritte-snackbar-text___PCxnB_5-0
|
|
146
|
+
.magritte-snackbar-text___PCxnB_5-1-0{
|
|
147
147
|
font-family:var(--magritte-typography-label-2-regular-font-family-v21-3-2);
|
|
148
148
|
font-weight:var(--magritte-typography-label-2-regular-font-weight-v21-3-2);
|
|
149
149
|
line-height:var(--magritte-typography-label-2-regular-line-height-v21-3-2);
|
|
@@ -154,71 +154,71 @@
|
|
|
154
154
|
text-decoration:var(--magritte-typography-label-2-regular-text-decoration-v21-3-2);
|
|
155
155
|
margin-right:auto;
|
|
156
156
|
}
|
|
157
|
-
.magritte-snackbar-text-and-action___weegp_5-0
|
|
157
|
+
.magritte-snackbar-text-and-action___weegp_5-1-0{
|
|
158
158
|
display:flex;
|
|
159
159
|
width:100%;
|
|
160
160
|
}
|
|
161
|
-
.magritte-snackbar-layout-horizontal___WrBPj_5-0
|
|
161
|
+
.magritte-snackbar-layout-horizontal___WrBPj_5-1-0{
|
|
162
162
|
padding:20px 24px;
|
|
163
163
|
border-radius:calc((20px * 2 + calc(var(--magritte-core-line-heights-600-v21-3-2) * 1px)) / 2);
|
|
164
164
|
}
|
|
165
|
-
.magritte-snackbar-layout-horizontal___WrBPj_5-0
|
|
165
|
+
.magritte-snackbar-layout-horizontal___WrBPj_5-1-0 .magritte-snackbar-text___PCxnB_5-1-0{
|
|
166
166
|
line-height:calc(var(--magritte-core-line-heights-600-v21-3-2) * 1px);
|
|
167
167
|
}
|
|
168
|
-
.magritte-snackbar-layout-horizontal___WrBPj_5-0
|
|
168
|
+
.magritte-snackbar-layout-horizontal___WrBPj_5-1-0 .magritte-snackbar-content___MlP5J_5-1-0{
|
|
169
169
|
height:calc(var(--magritte-core-line-heights-600-v21-3-2) * 1px);
|
|
170
170
|
align-items:center;
|
|
171
171
|
}
|
|
172
|
-
.magritte-snackbar-layout-horizontal___WrBPj_5-0
|
|
172
|
+
.magritte-snackbar-layout-horizontal___WrBPj_5-1-0 .magritte-snackbar-text-and-action___weegp_5-1-0{
|
|
173
173
|
align-items:center;
|
|
174
174
|
gap:8px;
|
|
175
175
|
flex-direction:row;
|
|
176
176
|
justify-content:space-between;
|
|
177
177
|
--magritte-ui-link-padding-override:11px;
|
|
178
178
|
}
|
|
179
|
-
.magritte-snackbar-layout-horizontal___WrBPj_5-0
|
|
179
|
+
.magritte-snackbar-layout-horizontal___WrBPj_5-1-0 .magritte-snackbar-close___U8YT5_5-1-0{
|
|
180
180
|
margin-left:4px;
|
|
181
181
|
margin-right:-12px;
|
|
182
182
|
}
|
|
183
|
-
.magritte-snackbar-layout-vertical___aR52S_5-0
|
|
183
|
+
.magritte-snackbar-layout-vertical___aR52S_5-1-0{
|
|
184
184
|
border-radius:var(--magritte-static-border-radius-600-v21-3-2);
|
|
185
185
|
padding:24px;
|
|
186
186
|
}
|
|
187
|
-
.magritte-snackbar-layout-vertical___aR52S_5-0
|
|
187
|
+
.magritte-snackbar-layout-vertical___aR52S_5-1-0 .magritte-snackbar-content___MlP5J_5-1-0{
|
|
188
188
|
height:auto;
|
|
189
189
|
align-items:flex-start;
|
|
190
190
|
}
|
|
191
|
-
.magritte-snackbar-layout-vertical___aR52S_5-0
|
|
191
|
+
.magritte-snackbar-layout-vertical___aR52S_5-1-0 .magritte-snackbar-text-and-action___weegp_5-1-0{
|
|
192
192
|
gap:12px;
|
|
193
193
|
flex-direction:column;
|
|
194
194
|
align-items:flex-start;
|
|
195
195
|
--magritte-ui-link-padding-override:3px;
|
|
196
196
|
}
|
|
197
|
-
.magritte-snackbar-layout-vertical___aR52S_5-0
|
|
197
|
+
.magritte-snackbar-layout-vertical___aR52S_5-1-0 .magritte-snackbar-close___U8YT5_5-1-0{
|
|
198
198
|
margin-top:-13px;
|
|
199
199
|
margin-right:-13px;
|
|
200
200
|
}
|
|
201
|
-
.magritte-appear___aGbJS_5-0
|
|
201
|
+
.magritte-appear___aGbJS_5-1-0{
|
|
202
202
|
opacity:0;
|
|
203
203
|
}
|
|
204
|
-
.magritte-appear-active___Kl7by_5-0
|
|
204
|
+
.magritte-appear-active___Kl7by_5-1-0{
|
|
205
205
|
opacity:1;
|
|
206
206
|
transition:opacity var(--show-animation-duration) var(--magritte-semantic-animation-ease-in-out-tiger-300-timing-function-v21-3-2);
|
|
207
207
|
}
|
|
208
|
-
.magritte-appear-done___3g7bl_5-0
|
|
208
|
+
.magritte-appear-done___3g7bl_5-1-0{
|
|
209
209
|
opacity:1;
|
|
210
210
|
}
|
|
211
|
-
.magritte-exit___MsYCK_5-0
|
|
211
|
+
.magritte-exit___MsYCK_5-1-0{
|
|
212
212
|
opacity:1;
|
|
213
213
|
}
|
|
214
|
-
.magritte-exit-active___I4AYt_5-0
|
|
214
|
+
.magritte-exit-active___I4AYt_5-1-0{
|
|
215
215
|
opacity:0;
|
|
216
216
|
transition:opacity var(--hide-animation-duration) var(--magritte-semantic-animation-ease-in-out-tiger-100-timing-function-v21-3-2);
|
|
217
217
|
}
|
|
218
|
-
.magritte-exit-active_autohide___jvdWc_5-0
|
|
218
|
+
.magritte-exit-active_autohide___jvdWc_5-1-0{
|
|
219
219
|
opacity:0;
|
|
220
220
|
transition:opacity var(--autohide-animation-duration) var(--magritte-semantic-animation-ease-in-out-tiger-500-timing-function-v21-3-2);
|
|
221
221
|
}
|
|
222
|
-
.magritte-exit-done___DK8l2_5-0
|
|
222
|
+
.magritte-exit-done___DK8l2_5-1-0{
|
|
223
223
|
opacity:0;
|
|
224
224
|
}
|
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-
|
|
10
|
+
import './snackbar-BImVoc_6.js';
|
|
11
11
|
import 'react-dom';
|
|
12
12
|
import './SnackbarRenderer.js';
|
|
13
13
|
import 'react-transition-group';
|
|
@@ -17,7 +17,6 @@ import '@hh.ru/magritte-common-keyboard';
|
|
|
17
17
|
import '@hh.ru/magritte-common-resize';
|
|
18
18
|
import '@hh.ru/magritte-common-use-multiple-refs';
|
|
19
19
|
import '@hh.ru/magritte-common-use-swipe';
|
|
20
|
-
import '@hh.ru/magritte-ui-action';
|
|
21
20
|
import '@hh.ru/magritte-ui-icon/icon';
|
|
22
21
|
import '@hh.ru/magritte-ui-layer';
|
|
23
22
|
import '@hh.ru/magritte-ui-link';
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hh.ru/magritte-ui-snackbar",
|
|
3
|
-
"version": "5.0
|
|
3
|
+
"version": "5.1.0",
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"types": "index.d.ts",
|
|
6
6
|
"sideEffects": [
|
|
@@ -27,12 +27,11 @@
|
|
|
27
27
|
"@hh.ru/magritte-common-use-swipe": "3.1.3",
|
|
28
28
|
"@hh.ru/magritte-design-tokens": "21.3.2",
|
|
29
29
|
"@hh.ru/magritte-internal-layer-name": "3.0.0",
|
|
30
|
-
"@hh.ru/magritte-ui-
|
|
31
|
-
"@hh.ru/magritte-ui-icon": "10.1.0",
|
|
30
|
+
"@hh.ru/magritte-ui-icon": "10.2.0",
|
|
32
31
|
"@hh.ru/magritte-ui-layer": "3.0.0",
|
|
33
|
-
"@hh.ru/magritte-ui-link": "5.0.
|
|
32
|
+
"@hh.ru/magritte-ui-link": "5.0.10",
|
|
34
33
|
"@hh.ru/magritte-ui-timer": "1.2.45",
|
|
35
|
-
"@hh.ru/magritte-ui-typography": "3.0.
|
|
34
|
+
"@hh.ru/magritte-ui-typography": "3.0.32"
|
|
36
35
|
},
|
|
37
36
|
"devDependencies": {
|
|
38
37
|
"@hh.ru/magritte-ui-breakpoint": "5.0.0"
|
|
@@ -46,5 +45,5 @@
|
|
|
46
45
|
"publishConfig": {
|
|
47
46
|
"access": "public"
|
|
48
47
|
},
|
|
49
|
-
"gitHead": "
|
|
48
|
+
"gitHead": "d12e0d9910ca5fb5323a5312386cb48255aa5ca6"
|
|
50
49
|
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import './index.css';
|
|
2
|
+
var styles = {"snackbar-container":"magritte-snackbar-container___SeRql_5-1-0","snackbarContainer":"magritte-snackbar-container___SeRql_5-1-0","snackbar-animation-timeout":"magritte-snackbar-animation-timeout___EQLvG_5-1-0","snackbarAnimationTimeout":"magritte-snackbar-animation-timeout___EQLvG_5-1-0","snackbar":"magritte-snackbar___jgq4H_5-1-0","snackbar_align-top":"magritte-snackbar_align-top___WWWbk_5-1-0","snackbarAlignTop":"magritte-snackbar_align-top___WWWbk_5-1-0","snackbar_align-bottom":"magritte-snackbar_align-bottom___tCBBP_5-1-0","snackbarAlignBottom":"magritte-snackbar_align-bottom___tCBBP_5-1-0","snackbar-in-body":"magritte-snackbar-in-body___Zer4o_5-1-0","snackbarInBody":"magritte-snackbar-in-body___Zer4o_5-1-0","snackbar-content":"magritte-snackbar-content___MlP5J_5-1-0","snackbarContent":"magritte-snackbar-content___MlP5J_5-1-0","snackbar-addon":"magritte-snackbar-addon___-eJn7_5-1-0","snackbarAddon":"magritte-snackbar-addon___-eJn7_5-1-0","snackbar-text":"magritte-snackbar-text___PCxnB_5-1-0","snackbarText":"magritte-snackbar-text___PCxnB_5-1-0","snackbar-text-and-action":"magritte-snackbar-text-and-action___weegp_5-1-0","snackbarTextAndAction":"magritte-snackbar-text-and-action___weegp_5-1-0","snackbar-layout-horizontal":"magritte-snackbar-layout-horizontal___WrBPj_5-1-0","snackbarLayoutHorizontal":"magritte-snackbar-layout-horizontal___WrBPj_5-1-0","snackbar-close":"magritte-snackbar-close___U8YT5_5-1-0","snackbarClose":"magritte-snackbar-close___U8YT5_5-1-0","snackbar-layout-vertical":"magritte-snackbar-layout-vertical___aR52S_5-1-0","snackbarLayoutVertical":"magritte-snackbar-layout-vertical___aR52S_5-1-0","appear":"magritte-appear___aGbJS_5-1-0","appear-active":"magritte-appear-active___Kl7by_5-1-0","appearActive":"magritte-appear-active___Kl7by_5-1-0","appear-done":"magritte-appear-done___3g7bl_5-1-0","appearDone":"magritte-appear-done___3g7bl_5-1-0","exit":"magritte-exit___MsYCK_5-1-0","exit-active":"magritte-exit-active___I4AYt_5-1-0","exitActive":"magritte-exit-active___I4AYt_5-1-0","exit-active_autohide":"magritte-exit-active_autohide___jvdWc_5-1-0","exitActiveAutohide":"magritte-exit-active_autohide___jvdWc_5-1-0","exit-done":"magritte-exit-done___DK8l2_5-1-0","exitDone":"magritte-exit-done___DK8l2_5-1-0"};
|
|
3
|
+
|
|
4
|
+
export { styles as s };
|
|
5
|
+
//# sourceMappingURL=snackbar-BImVoc_6.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snackbar-BImVoc_6.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
package/snackbar-5fGIGT4E.js
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import './index.css';
|
|
2
|
-
var styles = {"snackbar-container":"magritte-snackbar-container___SeRql_5-0-7","snackbarContainer":"magritte-snackbar-container___SeRql_5-0-7","snackbar-animation-timeout":"magritte-snackbar-animation-timeout___EQLvG_5-0-7","snackbarAnimationTimeout":"magritte-snackbar-animation-timeout___EQLvG_5-0-7","snackbar":"magritte-snackbar___jgq4H_5-0-7","snackbar_align-top":"magritte-snackbar_align-top___WWWbk_5-0-7","snackbarAlignTop":"magritte-snackbar_align-top___WWWbk_5-0-7","snackbar_align-bottom":"magritte-snackbar_align-bottom___tCBBP_5-0-7","snackbarAlignBottom":"magritte-snackbar_align-bottom___tCBBP_5-0-7","snackbar-in-body":"magritte-snackbar-in-body___Zer4o_5-0-7","snackbarInBody":"magritte-snackbar-in-body___Zer4o_5-0-7","snackbar-content":"magritte-snackbar-content___MlP5J_5-0-7","snackbarContent":"magritte-snackbar-content___MlP5J_5-0-7","snackbar-addon":"magritte-snackbar-addon___-eJn7_5-0-7","snackbarAddon":"magritte-snackbar-addon___-eJn7_5-0-7","snackbar-text":"magritte-snackbar-text___PCxnB_5-0-7","snackbarText":"magritte-snackbar-text___PCxnB_5-0-7","snackbar-text-and-action":"magritte-snackbar-text-and-action___weegp_5-0-7","snackbarTextAndAction":"magritte-snackbar-text-and-action___weegp_5-0-7","snackbar-layout-horizontal":"magritte-snackbar-layout-horizontal___WrBPj_5-0-7","snackbarLayoutHorizontal":"magritte-snackbar-layout-horizontal___WrBPj_5-0-7","snackbar-close":"magritte-snackbar-close___U8YT5_5-0-7","snackbarClose":"magritte-snackbar-close___U8YT5_5-0-7","snackbar-layout-vertical":"magritte-snackbar-layout-vertical___aR52S_5-0-7","snackbarLayoutVertical":"magritte-snackbar-layout-vertical___aR52S_5-0-7","appear":"magritte-appear___aGbJS_5-0-7","appear-active":"magritte-appear-active___Kl7by_5-0-7","appearActive":"magritte-appear-active___Kl7by_5-0-7","appear-done":"magritte-appear-done___3g7bl_5-0-7","appearDone":"magritte-appear-done___3g7bl_5-0-7","exit":"magritte-exit___MsYCK_5-0-7","exit-active":"magritte-exit-active___I4AYt_5-0-7","exitActive":"magritte-exit-active___I4AYt_5-0-7","exit-active_autohide":"magritte-exit-active_autohide___jvdWc_5-0-7","exitActiveAutohide":"magritte-exit-active_autohide___jvdWc_5-0-7","exit-done":"magritte-exit-done___DK8l2_5-0-7","exitDone":"magritte-exit-done___DK8l2_5-0-7"};
|
|
3
|
-
|
|
4
|
-
export { styles as s };
|
|
5
|
-
//# sourceMappingURL=snackbar-5fGIGT4E.js.map
|
package/snackbar-5fGIGT4E.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"snackbar-5fGIGT4E.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|