UNPKG

5.98 kBSource Map (JSON)View Raw
1{"version":3,"file":"BadgePopoverBase.js","sources":["../src/components/BadgeBase/BadgePopoverBase.js"],"sourcesContent":["import React, { useCallback } from 'react'\nimport PropTypes from '../../proptypes'\nimport { IconClose } from '../../icons'\nimport { GU, textStyle } from '../../style'\nimport { useTheme } from '../../theme'\nimport { noop } from '../../utils'\nimport Button from '../Button/Button'\nimport ButtonIcon from '../Button/ButtonIcon'\nimport Popover from '../Popover/Popover'\nimport BadgePopoverActionType from './BadgePopoverActionType'\n\nconst BadgePopoverBase = React.memo(function BadgePopoverBase({\n addressField,\n link,\n onClose,\n opener,\n popoverAction,\n title,\n titleTag,\n visible,\n}) {\n const theme = useTheme()\n const handlePopoverActionClick = useCallback(() => {\n onClose()\n if (popoverAction && popoverAction.onClick) {\n popoverAction.onClick()\n }\n }, [onClose, popoverAction])\n\n return (\n <Popover visible={visible} opener={opener} onClose={onClose}>\n <section\n css={`\n position: relative;\n max-width: calc(100vw - 20px);\n min-width: 300px;\n `}\n >\n <ButtonIcon\n label=\"Close\"\n onClick={onClose}\n css={`\n position: absolute;\n top: 0;\n right: 0;\n border-radius: 0;\n color: ${theme.surfaceIcon};\n `}\n >\n <IconClose size=\"small\" />\n </ButtonIcon>\n <header\n css={`\n display: flex;\n align-items: center;\n height: ${4 * GU}px;\n padding-left: ${2 * GU}px;\n border-bottom: 1px solid ${theme.border};\n `}\n >\n <h1\n css={`\n ${textStyle('label2')}\n font-weight: 400;\n color: ${theme.surfaceContentSecondary};\n `}\n >\n {title}\n </h1>\n {titleTag}\n </header>\n <div\n css={`\n padding: ${2 * GU}px;\n `}\n >\n {addressField}\n <div\n css={`\n display: flex;\n margin-top: ${2 * GU}px;\n ${link\n ? `\n flex-direction: row-reverse;\n justify-content: space-between;\n `\n : ''}\n `}\n >\n {link && (\n <p\n css={`\n ${textStyle('body3')};\n `}\n >\n {link}\n </p>\n )}\n {popoverAction && (\n <Button\n size=\"medium\"\n onClick={handlePopoverActionClick}\n css={`\n padding: 0 ${2 * GU}px;\n color: ${theme.surfaceContentSecondary};\n `}\n >\n {popoverAction.label}\n </Button>\n )}\n </div>\n </div>\n </section>\n </Popover>\n )\n})\nBadgePopoverBase.propTypes = {\n addressField: PropTypes.node.isRequired,\n link: PropTypes.node,\n onClose: PropTypes.func,\n opener: PropTypes._element,\n popoverAction: BadgePopoverActionType,\n title: PropTypes.node.isRequired,\n titleTag: PropTypes.node,\n visible: PropTypes.bool,\n}\nBadgePopoverBase.defaultProps = {\n onClose: noop,\n}\n\nexport default BadgePopoverBase\n"],"names":["BadgePopoverBase","React","memo","addressField","link","onClose","opener","popoverAction","title","titleTag","visible","theme","useTheme","handlePopoverActionClick","useCallback","onClick","Popover","surfaceIcon","IconClose","GU","border","textStyle","surfaceContentSecondary","label","propTypes","PropTypes","node","isRequired","func","_element","BadgePopoverActionType","bool","defaultProps","noop"],"mappings":"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"}
\No newline at end of file