UNPKG

5.55 kBSource Map (JSON)View Raw
1{"version":3,"file":"BadgeBase.js","sources":["../src/components/BadgeBase/BadgeBase.js"],"sourcesContent":["import React from 'react'\nimport PropTypes from 'prop-types'\nimport { useInside } from 'use-inside'\nimport { GU, RADIUS, textStyle } from '../../style'\nimport { useTheme } from '../../theme'\nimport ButtonBase from '../ButtonBase/ButtonBase'\n\nconst BadgeBase = React.memo(function BadgeBase({\n badgeRef,\n children,\n className,\n compact,\n disabled,\n href,\n icon,\n label,\n labelStyle,\n onClick,\n style,\n title,\n ...props\n}) {\n const theme = useTheme()\n const [insideDropDownMenu] = useInside('DropDown')\n\n if (insideDropDownMenu) {\n disabled = true\n }\n\n return (\n <React.Fragment>\n <ButtonBase\n ref={badgeRef}\n title={title}\n disabled={disabled}\n element={href || disabled ? 'a' : 'button'}\n onClick={!disabled ? onClick : undefined}\n href={!disabled ? href : undefined}\n focusRingRadius={RADIUS}\n css={`\n display: inline-flex;\n overflow: hidden;\n color: ${theme.badgeContent};\n height: ${3 * GU}px;\n background: ${compact ? 'transparent' : theme.badge};\n ${insideDropDownMenu ? 'cursor: pointer' : ''};\n\n &:active {\n ${!disabled && compact ? `background: ${theme.badgePressed}` : ''};\n }\n `}\n >\n <div\n css={`\n overflow: hidden;\n display: flex;\n align-items: center;\n text-decoration: none;\n ${compact\n ? `\n padding: 0 ${1 * GU}px;\n border-radius: 2px;\n `\n : `\n padding-left: ${(icon ? 0 : 1.5) * GU}px;\n padding-right: ${(icon ? 1 : 1.5) * GU}px;\n border-radius: ${RADIUS}px;\n `};\n `}\n className={className}\n style={style}\n >\n {icon}\n <span\n css={`\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n ${textStyle('body2')}\n ${labelStyle}\n `}\n >\n {label}\n </span>\n </div>\n </ButtonBase>\n {typeof children === 'function'\n ? children(disabled) // whether popover is disabled\n : children}\n </React.Fragment>\n )\n})\n\nBadgeBase.propTypes = {\n badgeRef: PropTypes.any,\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n className: PropTypes.string,\n compact: PropTypes.bool,\n disabled: PropTypes.bool,\n href: PropTypes.string,\n icon: PropTypes.node,\n label: PropTypes.node.isRequired,\n labelStyle: PropTypes.string,\n onClick: PropTypes.func,\n style: PropTypes.object,\n title: PropTypes.string,\n}\n\nexport default BadgeBase\n"],"names":["BadgeBase","React","memo","badgeRef","children","className","compact","disabled","href","icon","label","labelStyle","onClick","style","title","props","theme","useTheme","useInside","insideDropDownMenu","undefined","RADIUS","badgeContent","GU","badge","badgePressed","textStyle","propTypes","PropTypes","any","oneOfType","node","func","string","bool","isRequired","object"],"mappings":"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"}
\No newline at end of file