UNPKG

9.04 kBSource Map (JSON)View Raw
1{"version":3,"file":"AppBadge.js","sources":["../src/components/AppBadge/assets/app-default.svg","../src/components/AppBadge/AppBadge.js"],"sourcesContent":["export default \"data:image/svg+xml,%3Csvg%20width%3D%2256%22%20height%3D%2256%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M56%200H0v56h56V0z%22%20fill%3D%22url%28%23paint0_linear%29%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M28.363%2010.74L13.04%2019.56v17.645l15.322%208.821%2015.323-8.821V19.56l-15.322-8.82z%22%20fill%3D%22url%28%23paint1_linear%29%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M28.363%2046.027V10.74l15.323%208.821v17.645l-15.323%208.821z%22%20fill%3D%22%2373F0F8%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M13.041%2019.561l15.322-8.822%2015.323%208.822-15.323%208.426-15.322-8.425z%22%20fill%3D%22url%28%23paint2_linear%29%22%2F%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22paint0_linear%22%20x1%3D%220%22%20y1%3D%220%22%20x2%3D%2256%22%20y2%3D%2253.105%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%3Cstop%20stop-color%3D%22%2333BCE6%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%2348E2E5%22%2F%3E%3C%2FlinearGradient%3E%3ClinearGradient%20id%3D%22paint1_linear%22%20x1%3D%2214.618%22%20y1%3D%2219.282%22%20x2%3D%2231.423%22%20y2%3D%2243.942%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%3Cstop%20stop-color%3D%22%232597B7%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%2339C5E1%22%2F%3E%3C%2FlinearGradient%3E%3ClinearGradient%20id%3D%22paint2_linear%22%20x1%3D%2214.799%22%20y1%3D%2219.363%22%20x2%3D%2243.686%22%20y2%3D%2219.363%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%3Cstop%20stop-color%3D%22%233DCEE5%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%2348E2E6%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3C%2Fsvg%3E\"","import React, { useCallback, useRef, useState } from 'react'\nimport PropTypes from 'prop-types'\nimport { ImageExists } from '../../hooks'\nimport { GU, RADIUS } from '../../style'\nimport { isAddress, warn } from '../../utils'\nimport BadgeBase from '../BadgeBase/BadgeBase'\nimport BadgePopoverActionType from '../BadgeBase/BadgePopoverActionType'\nimport Tag from '../Tag/Tag'\nimport AppBadgePopover from './AppBadgePopover'\nimport iconDefaultSvg from './assets/app-default.svg'\n\nconst AppBadge = React.memo(function AppBadge({\n appAddress,\n badgeOnly,\n compact,\n iconSrc,\n identifier,\n label,\n labelStyle,\n networkType,\n popoverAction,\n popoverTitle,\n ...props\n}) {\n const badgeRef = useRef(null)\n const [opened, setOpened] = useState(false)\n const handleClose = useCallback(() => setOpened(false), [])\n const handleOpen = useCallback(() => setOpened(true), [])\n\n const isValidAddress = isAddress(appAddress)\n if (!badgeOnly && !isValidAddress) {\n warn(`AppBadge: provided invalid app address (${appAddress})`)\n }\n\n popoverTitle = popoverTitle || (\n <div\n css={`\n display: grid;\n align-items: center;\n grid-template-columns: auto 1fr;\n `}\n >\n <span\n css={`\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n `}\n >\n {label}\n </span>\n {identifier && (\n <Tag\n mode=\"identifier\"\n css={`\n margin-left: ${1 * GU}px;\n `}\n >\n {identifier}\n </Tag>\n )}\n </div>\n )\n\n return (\n <BadgeBase\n badgeRef={badgeRef}\n compact={compact}\n disabled={badgeOnly}\n icon={\n <ImageExists src={iconSrc}>\n {({ displayFallback, exists }) => (\n <Icon compact={compact} src={exists ? iconSrc : iconDefaultSvg} />\n )}\n </ImageExists>\n }\n label={label}\n labelStyle={labelStyle}\n onClick={isValidAddress ? handleOpen : undefined}\n title={appAddress}\n >\n {popoverDisabled =>\n !popoverDisabled &&\n appAddress && (\n <AppBadgePopover\n appAddress={appAddress}\n iconFallbackSrc={iconDefaultSvg}\n iconSrc={iconSrc}\n networkType={networkType}\n onClose={handleClose}\n opener={badgeRef.current}\n popoverAction={popoverAction}\n title={popoverTitle}\n visible={opened}\n />\n )\n }\n </BadgeBase>\n )\n})\nAppBadge.propTypes = {\n appAddress: PropTypes.string,\n badgeOnly: PropTypes.bool,\n compact: PropTypes.bool,\n iconSrc: PropTypes.string,\n identifier: PropTypes.string,\n label: PropTypes.string.isRequired,\n labelStyle: PropTypes.string,\n networkType: PropTypes.string,\n popoverAction: BadgePopoverActionType,\n popoverTitle: PropTypes.node,\n}\n\nconst Icon = ({ compact, src, ...props }) => {\n const size = (compact ? 2.25 : 3) * GU\n return (\n <span\n css={`\n flex-shrink: 0;\n width: ${size}px;\n height: ${size}px;\n margin-right: ${1 * GU}px;\n border-radius: ${compact ? `${RADIUS}px` : 0};\n background-size: contain;\n background-position: 50% 50%;\n background-repeat: no-repeat;\n background-image: url(${src});\n `}\n {...props}\n />\n )\n}\nIcon.propTypes = {\n compact: PropTypes.bool,\n src: PropTypes.string.isRequired,\n}\n\nexport default AppBadge\n"],"names":["AppBadge","React","memo","appAddress","badgeOnly","compact","iconSrc","identifier","label","labelStyle","networkType","popoverAction","popoverTitle","props","badgeRef","useRef","useState","opened","setOpened","handleClose","useCallback","handleOpen","isValidAddress","isAddress","warn","GU","BadgeBase","ImageExists","displayFallback","exists","iconDefaultSvg","undefined","popoverDisabled","AppBadgePopover","current","propTypes","PropTypes","string","bool","isRequired","BadgePopoverActionType","node","Icon","src","size","RADIUS"],"mappings":"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"}
\No newline at end of file