@razorpay/blade 12.46.0 → 12.46.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/build/lib/web/development/components/Toast/Toast.web.js +2 -1
- package/build/lib/web/development/components/Toast/Toast.web.js.map +1 -1
- package/build/lib/web/production/components/Toast/Toast.web.js +2 -1
- package/build/lib/web/production/components/Toast/Toast.web.js.map +1 -1
- package/package.json +1 -1
|
@@ -69,8 +69,8 @@ var Toast = function Toast(_ref2) {
|
|
|
69
69
|
id = _ref2.id;
|
|
70
70
|
var _useTheme = useTheme(),
|
|
71
71
|
theme = _useTheme.theme;
|
|
72
|
-
var Icon = leading || iconMap[color];
|
|
73
72
|
var isPromotional = type === 'promotional';
|
|
73
|
+
var Icon = isPromotional ? leading : leading || iconMap[color];
|
|
74
74
|
var actionButton = action ? /*#__PURE__*/jsx(Box, {
|
|
75
75
|
children: /*#__PURE__*/jsx(Button, {
|
|
76
76
|
size: "xsmall",
|
|
@@ -112,6 +112,7 @@ var Toast = function Toast(_ref2) {
|
|
|
112
112
|
display: "flex",
|
|
113
113
|
alignItems: "center",
|
|
114
114
|
alignSelf: isPromotional ? 'start' : 'center',
|
|
115
|
+
marginTop: isPromotional ? 'spacing.1' : 'spacing.0',
|
|
115
116
|
children: /*#__PURE__*/jsx(Icon, {
|
|
116
117
|
color: isPromotional ? 'surface.icon.gray.normal' : 'surface.icon.staticWhite.normal'
|
|
117
118
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toast.web.js","sources":["../../../../../../src/components/Toast/Toast.web.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/prefer-nullish-coalescing */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React from 'react';\nimport toast from 'react-hot-toast';\nimport type { FlattenSimpleInterpolation } from 'styled-components';\nimport styled, { css, keyframes } from 'styled-components';\nimport type { ToastProps } from './types';\nimport { Box } from '~components/Box';\nimport { Button } from '~components/Button';\nimport { IconButton } from '~components/Button/IconButton';\nimport {\n AlertOctagonIcon,\n AlertTriangleIcon,\n CheckCircleIcon,\n CloseIcon,\n InfoIcon,\n} from '~components/Icons';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Text } from '~components/Typography';\nimport { castWebType, makeMotionTime, useTheme } from '~utils';\nimport getIn from '~utils/lodashButBetter/get';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { MAKE_ANALYTICS_CONSTANTS } from '~utils/makeAnalyticsAttribute/makeAnalyticsConstants';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\n\nconst iconMap = {\n positive: CheckCircleIcon,\n negative: AlertOctagonIcon,\n information: InfoIcon,\n neutral: InfoIcon,\n notice: AlertTriangleIcon,\n};\n\nconst borderColorMap = {\n positive: 'feedback.border.positive.intense',\n negative: 'feedback.border.negative.intense',\n notice: 'feedback.border.notice.intense',\n information: 'feedback.border.information.intense',\n neutral: 'feedback.border.neutral.intense',\n} as const;\n\nconst slideIn = keyframes`\n from {\n opacity: 0;\n transform: translateY(100%);\n }\n\n to {\n opacity: 1;\n transform: translateY(0);\n }\n`;\n\nconst slideOut = keyframes`\n from {\n opacity: 1;\n transform: translateY(0);\n }\n\n to {\n opacity: 0;\n transform: translateY(100%);\n }\n`;\n\nconst AnimatedFade = styled(BaseBox)<{\n animationType: FlattenSimpleInterpolation | null;\n toastBorderColor: string;\n}>(({ animationType, toastBorderColor }) => {\n return css`\n overflow: hidden;\n border: 1px solid ${toastBorderColor};\n ${animationType}\n `;\n});\n\nconst Toast = ({\n type,\n color = 'neutral',\n leading,\n action,\n content,\n onDismissButtonClick,\n isVisible,\n id,\n}: ToastProps & {\n isVisible?: boolean;\n}): React.ReactElement => {\n const { theme } = useTheme();\n const Icon = leading || iconMap[color];\n const isPromotional = type === 'promotional';\n const actionButton = action ? (\n <Box>\n <Button\n size=\"xsmall\"\n variant={isPromotional ? 'secondary' : 'tertiary'}\n color={isPromotional ? 'primary' : 'white'}\n onClick={(event) => {\n event.stopPropagation();\n action?.onClick?.({ event: event as never, toastId: id! });\n }}\n isLoading={action?.isLoading}\n data-analytics-name={MAKE_ANALYTICS_CONSTANTS.TOAST.ACTION_BUTTON}\n >\n {action?.text}\n </Button>\n </Box>\n ) : null;\n\n const enter = css`\n opacity: 0;\n animation: ${slideIn} ${makeMotionTime(theme.motion.duration.gentle)}\n ${castWebType(theme.motion.easing.entrance)} forwards;\n `;\n\n const exit = css`\n opacity: 1;\n animation: ${slideOut} ${makeMotionTime(theme.motion.duration.moderate)}\n ${castWebType(theme.motion.easing.exit)} forwards;\n `;\n\n return (\n <AnimatedFade\n {...makeAccessible({ role: 'status', liveRegion: 'polite' })}\n {...metaAttribute({ name: MetaConstants.Toast })}\n toastBorderColor={getIn(\n theme.colors,\n isPromotional ? 'surface.border.gray.muted' : borderColorMap[color],\n )}\n animationType={isVisible ? enter : exit}\n width=\"100%\"\n display=\"flex\"\n gap=\"spacing.3\"\n paddingX=\"spacing.4\"\n paddingY={isPromotional ? 'spacing.4' : 'spacing.3'}\n borderRadius=\"medium\"\n alignItems=\"center\"\n backgroundColor={\n isPromotional ? 'surface.background.gray.intense' : `feedback.background.${color}.intense`\n }\n >\n {Icon ? (\n <Box\n flexShrink={0}\n display=\"flex\"\n alignItems=\"center\"\n alignSelf={isPromotional ? 'start' : 'center'}\n >\n <Icon\n color={isPromotional ? 'surface.icon.gray.normal' : 'surface.icon.staticWhite.normal'}\n />\n </Box>\n ) : null}\n <Box display=\"flex\" flexDirection=\"column\" gap=\"spacing.3\">\n {isPromotional ? (\n content\n ) : (\n <Text as=\"span\" size=\"small\" color=\"surface.text.staticWhite.normal\">\n {content}\n </Text>\n )}\n {isPromotional && actionButton}\n </Box>\n <Box alignSelf=\"start\" marginLeft=\"auto\" display=\"flex\" gap=\"spacing.4\">\n {!isPromotional && actionButton}\n <IconButton\n emphasis={isPromotional ? 'intense' : 'subtle'}\n accessibilityLabel=\"Dismiss toast\"\n onClick={(event: React.MouseEvent<HTMLButtonElement>) => {\n event.stopPropagation();\n onDismissButtonClick?.({ event, toastId: id! });\n toast.dismiss(id);\n }}\n icon={CloseIcon}\n />\n </Box>\n </AnimatedFade>\n );\n};\n\nexport { Toast };\n"],"names":["iconMap","positive","CheckCircleIcon","negative","AlertOctagonIcon","information","InfoIcon","neutral","notice","AlertTriangleIcon","borderColorMap","slideIn","keyframes","slideOut","AnimatedFade","styled","BaseBox","withConfig","displayName","componentId","_ref","animationType","toastBorderColor","css","Toast","_ref2","type","_ref2$color","color","leading","action","content","onDismissButtonClick","isVisible","id","_useTheme","useTheme","theme","Icon","isPromotional","actionButton","_jsx","Box","children","Button","size","variant","onClick","event","_action$onClick","stopPropagation","call","toastId","isLoading","MAKE_ANALYTICS_CONSTANTS","TOAST","ACTION_BUTTON","text","enter","makeMotionTime","motion","duration","gentle","castWebType","easing","entrance","exit","moderate","_jsxs","_objectSpread","makeAccessible","role","liveRegion","metaAttribute","name","MetaConstants","getIn","colors","width","display","gap","paddingX","paddingY","borderRadius","alignItems","backgroundColor","concat","flexShrink","alignSelf","flexDirection","Text","as","marginLeft","IconButton","emphasis","accessibilityLabel","toast","dismiss","icon","CloseIcon"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Toast.web.js","sources":["../../../../../../src/components/Toast/Toast.web.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/prefer-nullish-coalescing */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React from 'react';\nimport toast from 'react-hot-toast';\nimport type { FlattenSimpleInterpolation } from 'styled-components';\nimport styled, { css, keyframes } from 'styled-components';\nimport type { ToastProps } from './types';\nimport { Box } from '~components/Box';\nimport { Button } from '~components/Button';\nimport { IconButton } from '~components/Button/IconButton';\nimport {\n AlertOctagonIcon,\n AlertTriangleIcon,\n CheckCircleIcon,\n CloseIcon,\n InfoIcon,\n} from '~components/Icons';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Text } from '~components/Typography';\nimport { castWebType, makeMotionTime, useTheme } from '~utils';\nimport getIn from '~utils/lodashButBetter/get';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { MAKE_ANALYTICS_CONSTANTS } from '~utils/makeAnalyticsAttribute/makeAnalyticsConstants';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\n\nconst iconMap = {\n positive: CheckCircleIcon,\n negative: AlertOctagonIcon,\n information: InfoIcon,\n neutral: InfoIcon,\n notice: AlertTriangleIcon,\n};\n\nconst borderColorMap = {\n positive: 'feedback.border.positive.intense',\n negative: 'feedback.border.negative.intense',\n notice: 'feedback.border.notice.intense',\n information: 'feedback.border.information.intense',\n neutral: 'feedback.border.neutral.intense',\n} as const;\n\nconst slideIn = keyframes`\n from {\n opacity: 0;\n transform: translateY(100%);\n }\n\n to {\n opacity: 1;\n transform: translateY(0);\n }\n`;\n\nconst slideOut = keyframes`\n from {\n opacity: 1;\n transform: translateY(0);\n }\n\n to {\n opacity: 0;\n transform: translateY(100%);\n }\n`;\n\nconst AnimatedFade = styled(BaseBox)<{\n animationType: FlattenSimpleInterpolation | null;\n toastBorderColor: string;\n}>(({ animationType, toastBorderColor }) => {\n return css`\n overflow: hidden;\n border: 1px solid ${toastBorderColor};\n ${animationType}\n `;\n});\n\nconst Toast = ({\n type,\n color = 'neutral',\n leading,\n action,\n content,\n onDismissButtonClick,\n isVisible,\n id,\n}: ToastProps & {\n isVisible?: boolean;\n}): React.ReactElement => {\n const { theme } = useTheme();\n const isPromotional = type === 'promotional';\n const Icon = isPromotional ? leading : leading || iconMap[color];\n\n const actionButton = action ? (\n <Box>\n <Button\n size=\"xsmall\"\n variant={isPromotional ? 'secondary' : 'tertiary'}\n color={isPromotional ? 'primary' : 'white'}\n onClick={(event) => {\n event.stopPropagation();\n action?.onClick?.({ event: event as never, toastId: id! });\n }}\n isLoading={action?.isLoading}\n data-analytics-name={MAKE_ANALYTICS_CONSTANTS.TOAST.ACTION_BUTTON}\n >\n {action?.text}\n </Button>\n </Box>\n ) : null;\n\n const enter = css`\n opacity: 0;\n animation: ${slideIn} ${makeMotionTime(theme.motion.duration.gentle)}\n ${castWebType(theme.motion.easing.entrance)} forwards;\n `;\n\n const exit = css`\n opacity: 1;\n animation: ${slideOut} ${makeMotionTime(theme.motion.duration.moderate)}\n ${castWebType(theme.motion.easing.exit)} forwards;\n `;\n\n return (\n <AnimatedFade\n {...makeAccessible({ role: 'status', liveRegion: 'polite' })}\n {...metaAttribute({ name: MetaConstants.Toast })}\n toastBorderColor={getIn(\n theme.colors,\n isPromotional ? 'surface.border.gray.muted' : borderColorMap[color],\n )}\n animationType={isVisible ? enter : exit}\n width=\"100%\"\n display=\"flex\"\n gap=\"spacing.3\"\n paddingX=\"spacing.4\"\n paddingY={isPromotional ? 'spacing.4' : 'spacing.3'}\n borderRadius=\"medium\"\n alignItems=\"center\"\n backgroundColor={\n isPromotional ? 'surface.background.gray.intense' : `feedback.background.${color}.intense`\n }\n >\n {Icon ? (\n <Box\n flexShrink={0}\n display=\"flex\"\n alignItems=\"center\"\n alignSelf={isPromotional ? 'start' : 'center'}\n marginTop={isPromotional ? 'spacing.1' : 'spacing.0'}\n >\n <Icon\n color={isPromotional ? 'surface.icon.gray.normal' : 'surface.icon.staticWhite.normal'}\n />\n </Box>\n ) : null}\n <Box display=\"flex\" flexDirection=\"column\" gap=\"spacing.3\">\n {isPromotional ? (\n content\n ) : (\n <Text as=\"span\" size=\"small\" color=\"surface.text.staticWhite.normal\">\n {content}\n </Text>\n )}\n {isPromotional && actionButton}\n </Box>\n <Box alignSelf=\"start\" marginLeft=\"auto\" display=\"flex\" gap=\"spacing.4\">\n {!isPromotional && actionButton}\n <IconButton\n emphasis={isPromotional ? 'intense' : 'subtle'}\n accessibilityLabel=\"Dismiss toast\"\n onClick={(event: React.MouseEvent<HTMLButtonElement>) => {\n event.stopPropagation();\n onDismissButtonClick?.({ event, toastId: id! });\n toast.dismiss(id);\n }}\n icon={CloseIcon}\n />\n </Box>\n </AnimatedFade>\n );\n};\n\nexport { Toast };\n"],"names":["iconMap","positive","CheckCircleIcon","negative","AlertOctagonIcon","information","InfoIcon","neutral","notice","AlertTriangleIcon","borderColorMap","slideIn","keyframes","slideOut","AnimatedFade","styled","BaseBox","withConfig","displayName","componentId","_ref","animationType","toastBorderColor","css","Toast","_ref2","type","_ref2$color","color","leading","action","content","onDismissButtonClick","isVisible","id","_useTheme","useTheme","theme","isPromotional","Icon","actionButton","_jsx","Box","children","Button","size","variant","onClick","event","_action$onClick","stopPropagation","call","toastId","isLoading","MAKE_ANALYTICS_CONSTANTS","TOAST","ACTION_BUTTON","text","enter","makeMotionTime","motion","duration","gentle","castWebType","easing","entrance","exit","moderate","_jsxs","_objectSpread","makeAccessible","role","liveRegion","metaAttribute","name","MetaConstants","getIn","colors","width","display","gap","paddingX","paddingY","borderRadius","alignItems","backgroundColor","concat","flexShrink","alignSelf","marginTop","flexDirection","Text","as","marginLeft","IconButton","emphasis","accessibilityLabel","toast","dismiss","icon","CloseIcon"],"mappings":"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"}
|
|
@@ -69,8 +69,8 @@ var Toast = function Toast(_ref2) {
|
|
|
69
69
|
id = _ref2.id;
|
|
70
70
|
var _useTheme = useTheme(),
|
|
71
71
|
theme = _useTheme.theme;
|
|
72
|
-
var Icon = leading || iconMap[color];
|
|
73
72
|
var isPromotional = type === 'promotional';
|
|
73
|
+
var Icon = isPromotional ? leading : leading || iconMap[color];
|
|
74
74
|
var actionButton = action ? /*#__PURE__*/jsx(Box, {
|
|
75
75
|
children: /*#__PURE__*/jsx(Button, {
|
|
76
76
|
size: "xsmall",
|
|
@@ -112,6 +112,7 @@ var Toast = function Toast(_ref2) {
|
|
|
112
112
|
display: "flex",
|
|
113
113
|
alignItems: "center",
|
|
114
114
|
alignSelf: isPromotional ? 'start' : 'center',
|
|
115
|
+
marginTop: isPromotional ? 'spacing.1' : 'spacing.0',
|
|
115
116
|
children: /*#__PURE__*/jsx(Icon, {
|
|
116
117
|
color: isPromotional ? 'surface.icon.gray.normal' : 'surface.icon.staticWhite.normal'
|
|
117
118
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toast.web.js","sources":["../../../../../../src/components/Toast/Toast.web.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/prefer-nullish-coalescing */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React from 'react';\nimport toast from 'react-hot-toast';\nimport type { FlattenSimpleInterpolation } from 'styled-components';\nimport styled, { css, keyframes } from 'styled-components';\nimport type { ToastProps } from './types';\nimport { Box } from '~components/Box';\nimport { Button } from '~components/Button';\nimport { IconButton } from '~components/Button/IconButton';\nimport {\n AlertOctagonIcon,\n AlertTriangleIcon,\n CheckCircleIcon,\n CloseIcon,\n InfoIcon,\n} from '~components/Icons';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Text } from '~components/Typography';\nimport { castWebType, makeMotionTime, useTheme } from '~utils';\nimport getIn from '~utils/lodashButBetter/get';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { MAKE_ANALYTICS_CONSTANTS } from '~utils/makeAnalyticsAttribute/makeAnalyticsConstants';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\n\nconst iconMap = {\n positive: CheckCircleIcon,\n negative: AlertOctagonIcon,\n information: InfoIcon,\n neutral: InfoIcon,\n notice: AlertTriangleIcon,\n};\n\nconst borderColorMap = {\n positive: 'feedback.border.positive.intense',\n negative: 'feedback.border.negative.intense',\n notice: 'feedback.border.notice.intense',\n information: 'feedback.border.information.intense',\n neutral: 'feedback.border.neutral.intense',\n} as const;\n\nconst slideIn = keyframes`\n from {\n opacity: 0;\n transform: translateY(100%);\n }\n\n to {\n opacity: 1;\n transform: translateY(0);\n }\n`;\n\nconst slideOut = keyframes`\n from {\n opacity: 1;\n transform: translateY(0);\n }\n\n to {\n opacity: 0;\n transform: translateY(100%);\n }\n`;\n\nconst AnimatedFade = styled(BaseBox)<{\n animationType: FlattenSimpleInterpolation | null;\n toastBorderColor: string;\n}>(({ animationType, toastBorderColor }) => {\n return css`\n overflow: hidden;\n border: 1px solid ${toastBorderColor};\n ${animationType}\n `;\n});\n\nconst Toast = ({\n type,\n color = 'neutral',\n leading,\n action,\n content,\n onDismissButtonClick,\n isVisible,\n id,\n}: ToastProps & {\n isVisible?: boolean;\n}): React.ReactElement => {\n const { theme } = useTheme();\n const Icon = leading || iconMap[color];\n const isPromotional = type === 'promotional';\n const actionButton = action ? (\n <Box>\n <Button\n size=\"xsmall\"\n variant={isPromotional ? 'secondary' : 'tertiary'}\n color={isPromotional ? 'primary' : 'white'}\n onClick={(event) => {\n event.stopPropagation();\n action?.onClick?.({ event: event as never, toastId: id! });\n }}\n isLoading={action?.isLoading}\n data-analytics-name={MAKE_ANALYTICS_CONSTANTS.TOAST.ACTION_BUTTON}\n >\n {action?.text}\n </Button>\n </Box>\n ) : null;\n\n const enter = css`\n opacity: 0;\n animation: ${slideIn} ${makeMotionTime(theme.motion.duration.gentle)}\n ${castWebType(theme.motion.easing.entrance)} forwards;\n `;\n\n const exit = css`\n opacity: 1;\n animation: ${slideOut} ${makeMotionTime(theme.motion.duration.moderate)}\n ${castWebType(theme.motion.easing.exit)} forwards;\n `;\n\n return (\n <AnimatedFade\n {...makeAccessible({ role: 'status', liveRegion: 'polite' })}\n {...metaAttribute({ name: MetaConstants.Toast })}\n toastBorderColor={getIn(\n theme.colors,\n isPromotional ? 'surface.border.gray.muted' : borderColorMap[color],\n )}\n animationType={isVisible ? enter : exit}\n width=\"100%\"\n display=\"flex\"\n gap=\"spacing.3\"\n paddingX=\"spacing.4\"\n paddingY={isPromotional ? 'spacing.4' : 'spacing.3'}\n borderRadius=\"medium\"\n alignItems=\"center\"\n backgroundColor={\n isPromotional ? 'surface.background.gray.intense' : `feedback.background.${color}.intense`\n }\n >\n {Icon ? (\n <Box\n flexShrink={0}\n display=\"flex\"\n alignItems=\"center\"\n alignSelf={isPromotional ? 'start' : 'center'}\n >\n <Icon\n color={isPromotional ? 'surface.icon.gray.normal' : 'surface.icon.staticWhite.normal'}\n />\n </Box>\n ) : null}\n <Box display=\"flex\" flexDirection=\"column\" gap=\"spacing.3\">\n {isPromotional ? (\n content\n ) : (\n <Text as=\"span\" size=\"small\" color=\"surface.text.staticWhite.normal\">\n {content}\n </Text>\n )}\n {isPromotional && actionButton}\n </Box>\n <Box alignSelf=\"start\" marginLeft=\"auto\" display=\"flex\" gap=\"spacing.4\">\n {!isPromotional && actionButton}\n <IconButton\n emphasis={isPromotional ? 'intense' : 'subtle'}\n accessibilityLabel=\"Dismiss toast\"\n onClick={(event: React.MouseEvent<HTMLButtonElement>) => {\n event.stopPropagation();\n onDismissButtonClick?.({ event, toastId: id! });\n toast.dismiss(id);\n }}\n icon={CloseIcon}\n />\n </Box>\n </AnimatedFade>\n );\n};\n\nexport { Toast };\n"],"names":["iconMap","positive","CheckCircleIcon","negative","AlertOctagonIcon","information","InfoIcon","neutral","notice","AlertTriangleIcon","borderColorMap","slideIn","keyframes","slideOut","AnimatedFade","styled","BaseBox","withConfig","displayName","componentId","_ref","animationType","toastBorderColor","css","Toast","_ref2","type","_ref2$color","color","leading","action","content","onDismissButtonClick","isVisible","id","_useTheme","useTheme","theme","Icon","isPromotional","actionButton","_jsx","Box","children","Button","size","variant","onClick","event","_action$onClick","stopPropagation","call","toastId","isLoading","MAKE_ANALYTICS_CONSTANTS","TOAST","ACTION_BUTTON","text","enter","makeMotionTime","motion","duration","gentle","castWebType","easing","entrance","exit","moderate","_jsxs","_objectSpread","makeAccessible","role","liveRegion","metaAttribute","name","MetaConstants","getIn","colors","width","display","gap","paddingX","paddingY","borderRadius","alignItems","backgroundColor","concat","flexShrink","alignSelf","flexDirection","Text","as","marginLeft","IconButton","emphasis","accessibilityLabel","toast","dismiss","icon","CloseIcon"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Toast.web.js","sources":["../../../../../../src/components/Toast/Toast.web.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/prefer-nullish-coalescing */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React from 'react';\nimport toast from 'react-hot-toast';\nimport type { FlattenSimpleInterpolation } from 'styled-components';\nimport styled, { css, keyframes } from 'styled-components';\nimport type { ToastProps } from './types';\nimport { Box } from '~components/Box';\nimport { Button } from '~components/Button';\nimport { IconButton } from '~components/Button/IconButton';\nimport {\n AlertOctagonIcon,\n AlertTriangleIcon,\n CheckCircleIcon,\n CloseIcon,\n InfoIcon,\n} from '~components/Icons';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Text } from '~components/Typography';\nimport { castWebType, makeMotionTime, useTheme } from '~utils';\nimport getIn from '~utils/lodashButBetter/get';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { MAKE_ANALYTICS_CONSTANTS } from '~utils/makeAnalyticsAttribute/makeAnalyticsConstants';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\n\nconst iconMap = {\n positive: CheckCircleIcon,\n negative: AlertOctagonIcon,\n information: InfoIcon,\n neutral: InfoIcon,\n notice: AlertTriangleIcon,\n};\n\nconst borderColorMap = {\n positive: 'feedback.border.positive.intense',\n negative: 'feedback.border.negative.intense',\n notice: 'feedback.border.notice.intense',\n information: 'feedback.border.information.intense',\n neutral: 'feedback.border.neutral.intense',\n} as const;\n\nconst slideIn = keyframes`\n from {\n opacity: 0;\n transform: translateY(100%);\n }\n\n to {\n opacity: 1;\n transform: translateY(0);\n }\n`;\n\nconst slideOut = keyframes`\n from {\n opacity: 1;\n transform: translateY(0);\n }\n\n to {\n opacity: 0;\n transform: translateY(100%);\n }\n`;\n\nconst AnimatedFade = styled(BaseBox)<{\n animationType: FlattenSimpleInterpolation | null;\n toastBorderColor: string;\n}>(({ animationType, toastBorderColor }) => {\n return css`\n overflow: hidden;\n border: 1px solid ${toastBorderColor};\n ${animationType}\n `;\n});\n\nconst Toast = ({\n type,\n color = 'neutral',\n leading,\n action,\n content,\n onDismissButtonClick,\n isVisible,\n id,\n}: ToastProps & {\n isVisible?: boolean;\n}): React.ReactElement => {\n const { theme } = useTheme();\n const isPromotional = type === 'promotional';\n const Icon = isPromotional ? leading : leading || iconMap[color];\n\n const actionButton = action ? (\n <Box>\n <Button\n size=\"xsmall\"\n variant={isPromotional ? 'secondary' : 'tertiary'}\n color={isPromotional ? 'primary' : 'white'}\n onClick={(event) => {\n event.stopPropagation();\n action?.onClick?.({ event: event as never, toastId: id! });\n }}\n isLoading={action?.isLoading}\n data-analytics-name={MAKE_ANALYTICS_CONSTANTS.TOAST.ACTION_BUTTON}\n >\n {action?.text}\n </Button>\n </Box>\n ) : null;\n\n const enter = css`\n opacity: 0;\n animation: ${slideIn} ${makeMotionTime(theme.motion.duration.gentle)}\n ${castWebType(theme.motion.easing.entrance)} forwards;\n `;\n\n const exit = css`\n opacity: 1;\n animation: ${slideOut} ${makeMotionTime(theme.motion.duration.moderate)}\n ${castWebType(theme.motion.easing.exit)} forwards;\n `;\n\n return (\n <AnimatedFade\n {...makeAccessible({ role: 'status', liveRegion: 'polite' })}\n {...metaAttribute({ name: MetaConstants.Toast })}\n toastBorderColor={getIn(\n theme.colors,\n isPromotional ? 'surface.border.gray.muted' : borderColorMap[color],\n )}\n animationType={isVisible ? enter : exit}\n width=\"100%\"\n display=\"flex\"\n gap=\"spacing.3\"\n paddingX=\"spacing.4\"\n paddingY={isPromotional ? 'spacing.4' : 'spacing.3'}\n borderRadius=\"medium\"\n alignItems=\"center\"\n backgroundColor={\n isPromotional ? 'surface.background.gray.intense' : `feedback.background.${color}.intense`\n }\n >\n {Icon ? (\n <Box\n flexShrink={0}\n display=\"flex\"\n alignItems=\"center\"\n alignSelf={isPromotional ? 'start' : 'center'}\n marginTop={isPromotional ? 'spacing.1' : 'spacing.0'}\n >\n <Icon\n color={isPromotional ? 'surface.icon.gray.normal' : 'surface.icon.staticWhite.normal'}\n />\n </Box>\n ) : null}\n <Box display=\"flex\" flexDirection=\"column\" gap=\"spacing.3\">\n {isPromotional ? (\n content\n ) : (\n <Text as=\"span\" size=\"small\" color=\"surface.text.staticWhite.normal\">\n {content}\n </Text>\n )}\n {isPromotional && actionButton}\n </Box>\n <Box alignSelf=\"start\" marginLeft=\"auto\" display=\"flex\" gap=\"spacing.4\">\n {!isPromotional && actionButton}\n <IconButton\n emphasis={isPromotional ? 'intense' : 'subtle'}\n accessibilityLabel=\"Dismiss toast\"\n onClick={(event: React.MouseEvent<HTMLButtonElement>) => {\n event.stopPropagation();\n onDismissButtonClick?.({ event, toastId: id! });\n toast.dismiss(id);\n }}\n icon={CloseIcon}\n />\n </Box>\n </AnimatedFade>\n );\n};\n\nexport { Toast };\n"],"names":["iconMap","positive","CheckCircleIcon","negative","AlertOctagonIcon","information","InfoIcon","neutral","notice","AlertTriangleIcon","borderColorMap","slideIn","keyframes","slideOut","AnimatedFade","styled","BaseBox","withConfig","displayName","componentId","_ref","animationType","toastBorderColor","css","Toast","_ref2","type","_ref2$color","color","leading","action","content","onDismissButtonClick","isVisible","id","_useTheme","useTheme","theme","isPromotional","Icon","actionButton","_jsx","Box","children","Button","size","variant","onClick","event","_action$onClick","stopPropagation","call","toastId","isLoading","MAKE_ANALYTICS_CONSTANTS","TOAST","ACTION_BUTTON","text","enter","makeMotionTime","motion","duration","gentle","castWebType","easing","entrance","exit","moderate","_jsxs","_objectSpread","makeAccessible","role","liveRegion","metaAttribute","name","MetaConstants","getIn","colors","width","display","gap","paddingX","paddingY","borderRadius","alignItems","backgroundColor","concat","flexShrink","alignSelf","marginTop","flexDirection","Text","as","marginLeft","IconButton","emphasis","accessibilityLabel","toast","dismiss","icon","CloseIcon"],"mappings":"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"}
|