UNPKG

5.5 kBSource Map (JSON)View Raw
1{"version":3,"file":"Info.js","sources":["../src/components/Info/Info.js"],"sourcesContent":["import React, { useMemo } from 'react'\nimport PropTypes from 'prop-types'\nimport { useTheme } from '../../theme'\nimport { GU, RADIUS, textStyle } from '../../style'\n\nfunction getModeStyles(theme, mode) {\n if (mode === 'warning') {\n return {\n background: theme.warningSurface,\n borderColor: theme.warning,\n color: theme.warningSurfaceContent,\n titleColor: theme.warningSurfaceContent,\n }\n }\n if (mode === 'error') {\n return {\n background: theme.negativeSurface,\n borderColor: theme.negative,\n color: theme.negativeSurfaceContent,\n titleColor: theme.negativeSurfaceContent,\n }\n }\n if (mode === 'description') {\n return {\n background: theme.infoSurface,\n borderColor: theme.info,\n color: theme.surfaceContent,\n titleColor: theme.surfaceContentSecondary,\n }\n }\n return {\n background: theme.infoSurface,\n borderColor: theme.info,\n color: theme.infoSurfaceContent,\n titleColor: theme.infoSurfaceContent,\n }\n}\n\nfunction Info({\n children,\n mode,\n color,\n titleColor,\n background,\n borderColor,\n title,\n ...props\n}) {\n const theme = useTheme()\n\n // Get styles from the current mode\n const modeStyles = useMemo(() => {\n const styles = getModeStyles(theme, mode)\n\n return styles\n }, [mode, theme])\n\n return (\n <section\n css={`\n color: ${color || modeStyles.color};\n background: ${background || modeStyles.background};\n border-left: 2px solid ${borderColor || modeStyles.borderColor};\n padding: ${2 * GU}px;\n border-radius: ${RADIUS}px;\n word-wrap: break-word;\n ${textStyle('body3')};\n `}\n {...props}\n >\n {title && (\n <h1\n css={`\n display: flex;\n align-items: center;\n color: ${titleColor || modeStyles.titleColor};\n ${textStyle('label2')};\n margin-bottom: ${1 * GU}px;\n `}\n >\n {title}\n </h1>\n )}\n {children}\n </section>\n )\n}\n\nInfo.propTypes = {\n children: PropTypes.node,\n title: PropTypes.node,\n mode: PropTypes.oneOf(['info', 'description', 'warning', 'error']),\n color: PropTypes.string,\n titleColor: PropTypes.string,\n background: PropTypes.string,\n borderColor: PropTypes.string,\n}\n\n// Backward compatibility\nfunction Warning(props) {\n return <Info mode=\"warning\" {...props} />\n}\nInfo.Action = Info\nInfo.Permissions = Warning\nInfo.Alert = Warning\n\nexport default Info\n"],"names":["getModeStyles","theme","mode","background","warningSurface","borderColor","warning","color","warningSurfaceContent","titleColor","negativeSurface","negative","negativeSurfaceContent","infoSurface","info","surfaceContent","surfaceContentSecondary","infoSurfaceContent","RADIUS","Info","children","title","props","useTheme","modeStyles","useMemo","styles","React","GU","textStyle","propTypes","PropTypes","node","oneOf","string","Warning","Action","Permissions","Alert"],"mappings":"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"}
\No newline at end of file