UNPKG

9.38 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, '__esModule', { value: true });
4
5function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
6
7var slicedToArray = require('./slicedToArray-0711941d.js');
8require('./unsupportedIterableToArray-68db1d3b.js');
9var React = require('react');
10var React__default = _interopDefault(React);
11require('./_commonjsHelpers-72d386ba.js');
12var index = require('./index-b0606964.js');
13require('./defineProperty-0921a47c.js');
14require('./toConsumableArray-d8a4a2c3.js');
15var _styled = require('styled-components');
16var _styled__default = _interopDefault(_styled);
17require('./getPrototypeOf-2a661a20.js');
18require('./color.js');
19require('./components.js');
20require('./contains-component.js');
21require('./css.js');
22require('./dayjs.min-e07657bf.js');
23require('./date.js');
24require('./miscellaneous.js');
25var environment = require('./environment.js');
26require('./font.js');
27require('./math-f4029164.js');
28require('./characters.js');
29require('./format.js');
30require('./keycodes.js');
31require('./url.js');
32var web3 = require('./web3.js');
33var constants = require('./constants.js');
34require('./breakpoints.js');
35require('./springs.js');
36var textStyles = require('./text-styles.js');
37require('./theme-dark.js');
38require('./theme-light.js');
39require('./Theme.js');
40var _extends$1 = require('./extends-40571110.js');
41var objectWithoutProperties = require('./objectWithoutProperties-35db8ab0.js');
42require('./index-ecc57c9f.js');
43require('./isObject-ec755c87.js');
44require('./Viewport-15101437.js');
45require('./Layout.js');
46require('./FocusVisible.js');
47require('./ButtonBase.js');
48require('./IconPropTypes-56de5759.js');
49require('./IconAddUser.js');
50require('./IconAlert.js');
51require('./IconAlignCenter.js');
52require('./IconAlignJustify.js');
53require('./IconAlignLeft.js');
54require('./IconAlignRight.js');
55require('./IconAragon.js');
56require('./IconArrowDown.js');
57require('./IconArrowLeft.js');
58require('./IconArrowRight.js');
59require('./IconArrowUp.js');
60require('./IconAtSign.js');
61require('./IconBlock.js');
62require('./IconBookmark.js');
63require('./IconCalendar.js');
64require('./IconCanvas.js');
65require('./IconCaution.js');
66require('./IconCenter.js');
67require('./IconChart.js');
68require('./IconChat.js');
69require('./IconCheck.js');
70require('./IconChip.js');
71require('./IconCircleCheck.js');
72require('./IconCircleMinus.js');
73require('./IconCirclePlus.js');
74require('./IconClock.js');
75require('./IconCloudDownload.js');
76require('./IconCloudUpload.js');
77require('./IconCoin.js');
78require('./IconConfiguration.js');
79require('./IconConnect.js');
80require('./IconConnection.js');
81require('./IconConsole.js');
82require('./IconCopy.js');
83require('./IconCross.js');
84require('./IconDashedSquare.js');
85require('./IconDown.js');
86require('./IconDownload.js');
87require('./IconEdit.js');
88require('./IconEllipsis.js');
89require('./IconEnter.js');
90require('./IconEthereum.js');
91require('./IconExternal.js');
92require('./IconFile.js');
93require('./IconFilter.js');
94require('./IconFlag.js');
95require('./IconFolder.js');
96require('./IconGraph2.js');
97require('./IconGraph.js');
98require('./IconGrid.js');
99require('./IconGroup.js');
100require('./IconHash.js');
101require('./IconHeart.js');
102require('./IconHide.js');
103require('./IconHome.js');
104require('./IconImage.js');
105require('./IconInfo.js');
106require('./IconLabel.js');
107require('./IconLayers.js');
108require('./IconLeft.js');
109require('./IconLink.js');
110require('./IconLocation.js');
111require('./IconLock.js');
112require('./IconMail.js');
113require('./IconMaximize.js');
114require('./IconMenu.js');
115require('./IconMinimize.js');
116require('./IconMinus.js');
117require('./IconMove.js');
118require('./IconNoPicture.js');
119require('./IconPicture.js');
120require('./IconPlus.js');
121require('./IconPower.js');
122require('./IconPrint.js');
123require('./IconProhibited.js');
124require('./IconQuestion.js');
125require('./IconRefresh.js');
126require('./IconRemoveUser.js');
127require('./IconRight.js');
128require('./IconRotateLeft.js');
129require('./IconRotateRight.js');
130require('./IconSearch.js');
131require('./IconSettings.js');
132require('./IconShare.js');
133require('./IconSquareMinus.js');
134require('./IconSquarePlus.js');
135require('./IconSquare.js');
136require('./IconStarFilled.js');
137require('./IconStar.js');
138require('./IconSwap.js');
139require('./IconTarget.js');
140require('./IconToken.js');
141require('./IconTrash.js');
142require('./IconUnlock.js');
143require('./IconUp.js');
144require('./IconUpload.js');
145require('./IconUser.js');
146require('./IconView.js');
147require('./IconVote.js');
148require('./IconWallet.js');
149require('./IconWarning.js');
150require('./IconWorld.js');
151require('./IconWrite.js');
152require('./IconZoomIn.js');
153require('./IconZoomOut.js');
154require('./objectWithoutPropertiesLoose-1af20ad0.js');
155require('react-dom');
156require('./web-d0294535.js');
157require('./Button.js');
158require('./ButtonIcon.js');
159require('./getDisplayName-7ab6d318.js');
160require('./index-bc84a358.js');
161require('./Link.js');
162require('./TextInput.js');
163require('./ToastHub.js');
164require('./index-0db71dc1.js');
165require('./RootPortal.js');
166require('./TextCopy.js');
167require('./taggedTemplateLiteral-227ed122.js');
168require('./_react_commonjs-external-bf8fc71c.js');
169var EthIdenticon = require('./EthIdenticon.js');
170require('./AddressField.js');
171var BadgeBase = require('./BadgeBase.js');
172var BadgePopoverActionType = require('./BadgePopoverActionType.js');
173require('./Tag.js');
174require('./proptypes-5b34673d.js');
175require('./Popover.js');
176require('./observe.js');
177require('./index-030bfca8.js');
178require('./providers.js');
179require('./BadgePopoverBase.js');
180var IdentityBadgePopover = require('./IdentityBadgePopover.js');
181
182var _StyledDiv = _styled__default("div").withConfig({
183 displayName: "IdentityBadge___StyledDiv",
184 componentId: "q71pax-0"
185})(["display:block;margin-right:", "px;", ";"], function (p) {
186 return p._css;
187}, function (p) {
188 return p._css2;
189});
190
191var IdentityBadge = React__default.memo(function IdentityBadge(_ref) {
192 var badgeOnly = _ref.badgeOnly,
193 compact = _ref.compact,
194 connectedAccount = _ref.connectedAccount,
195 entity = _ref.entity,
196 label = _ref.label,
197 labelStyle = _ref.labelStyle,
198 networkType = _ref.networkType,
199 popoverAction = _ref.popoverAction,
200 popoverTitle = _ref.popoverTitle,
201 shorten = _ref.shorten,
202 customLabel = _ref.customLabel,
203 fontSize = _ref.fontSize,
204 props = objectWithoutProperties._objectWithoutProperties(_ref, ["badgeOnly", "compact", "connectedAccount", "entity", "label", "labelStyle", "networkType", "popoverAction", "popoverTitle", "shorten", "customLabel", "fontSize"]);
205
206 if (customLabel) {
207 environment.warnOnce('IdentityBadge:customLabel', 'The “customLabel” prop is deprecated. Please use “label” instead.');
208 label = label || customLabel;
209 }
210
211 if (fontSize) {
212 environment.warnOnce('IdentityBadge:fontSize', 'The “fontSize” prop is deprecated. Please use “labelStyle” to style the label instead.');
213 }
214
215 var badgeRef = React.useRef(null);
216
217 var _useState = React.useState(false),
218 _useState2 = slicedToArray._slicedToArray(_useState, 2),
219 opened = _useState2[0],
220 setOpened = _useState2[1];
221
222 var handleClose = React.useCallback(function () {
223 return setOpened(false);
224 }, []);
225 var handleOpen = React.useCallback(function () {
226 return setOpened(true);
227 }, []);
228 var address = web3.isAddress(entity) ? entity : null;
229 var displayLabel = label || (address && shorten ? web3.shortenAddress(address) : entity);
230 return /*#__PURE__*/React__default.createElement(BadgeBase.default, _extends$1._extends({
231 badgeRef: badgeRef,
232 compact: compact,
233 disabled: badgeOnly,
234 icon: address && /*#__PURE__*/React__default.createElement(_StyledDiv, {
235 _css: 1 * constants.GU,
236 _css2: compact ? "\n position: relative;\n top: -1px;\n " : ''
237 }, /*#__PURE__*/React__default.createElement(EthIdenticon.default, {
238 scale: compact ? 0.75 : 1,
239 radius: compact ? 2 : 0,
240 address: address
241 })),
242 label: displayLabel,
243 labelStyle: "\n ".concat(!label && address ? textStyles.textStyle('address1') : '', "\n ").concat(labelStyle, "\n "),
244 onClick: address ? handleOpen : undefined,
245 title: address
246 }, props), function (popoverDisabled) {
247 return !popoverDisabled && address && /*#__PURE__*/React__default.createElement(IdentityBadgePopover.default, {
248 address: address,
249 connectedAccount: connectedAccount,
250 networkType: networkType,
251 onClose: handleClose,
252 opener: badgeRef.current,
253 popoverAction: popoverAction,
254 title: popoverTitle,
255 visible: opened
256 });
257 });
258});
259IdentityBadge.propTypes = {
260 badgeOnly: index.PropTypes.bool,
261 compact: index.PropTypes.bool,
262 connectedAccount: index.PropTypes.bool,
263 entity: index.PropTypes.string,
264 label: index.PropTypes.string,
265 labelStyle: index.PropTypes.string,
266 networkType: index.PropTypes.string,
267 popoverAction: BadgePopoverActionType.default,
268 popoverTitle: index.PropTypes.node,
269 shorten: index.PropTypes.bool,
270 // Deprecated
271 customLabel: index.PropTypes.string,
272 fontSize: index.PropTypes.string
273};
274IdentityBadge.defaultProps = {
275 entity: '',
276 networkType: 'main',
277 shorten: true
278};
279
280exports.default = IdentityBadge;
281//# sourceMappingURL=IdentityBadge.js.map