UNPKG

21.8 kBSource Map (JSON)View Raw
1{"version":3,"file":"EthIdenticon.js","sources":["../node_modules/react-blockies/dist/main.js","../src/components/EthIdenticon/EthIdenticon.js"],"sourcesContent":["'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Identicon = function (_Component) {\n _inherits(Identicon, _Component);\n\n function Identicon(props) {\n _classCallCheck(this, Identicon);\n\n var _this = _possibleConstructorReturn(this, (Identicon.__proto__ || Object.getPrototypeOf(Identicon)).call(this, props));\n\n _this.generateIdenticon = _this.generateIdenticon.bind(_this);\n return _this;\n }\n\n _createClass(Identicon, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n this.generateIdenticon(_extends({}, this.props));\n }\n }, {\n key: 'componentWillUpdate',\n value: function componentWillUpdate(nextProps) {\n if (!this.isEquivalent(this.props, nextProps)) this.generateIdenticon(_extends({}, nextProps));\n }\n }, {\n key: 'isEquivalent',\n value: function isEquivalent(prevProps, nextProps) {\n var aProps = Object.getOwnPropertyNames(prevProps);\n var bProps = Object.getOwnPropertyNames(nextProps);\n\n if (aProps.length != bProps.length) {\n return false;\n }\n\n for (var i = 0; i < aProps.length; i++) {\n var propName = aProps[i];\n\n if (prevProps[propName] !== nextProps[propName]) {\n return false;\n }\n }\n\n return true;\n }\n }, {\n key: 'generateIdenticon',\n value: function generateIdenticon(options) {\n // NOTE -- Majority of this code is referenced from: https://github.com/alexvandesande/blockies\n // Mostly to ensure congruence to Ethereum Mist's Identicons\n\n // The random number is a js implementation of the Xorshift PRNG\n var randseed = new Array(4); // Xorshift: [x, y, z, w] 32 bit values\n\n function seedrand(seed) {\n for (var i = 0; i < randseed.length; i++) {\n randseed[i] = 0;\n }\n for (var _i = 0; _i < seed.length; _i++) {\n randseed[_i % 4] = (randseed[_i % 4] << 5) - randseed[_i % 4] + seed.charCodeAt(_i);\n }\n }\n\n function rand() {\n // based on Java's String.hashCode(), expanded to 4 32bit values\n var t = randseed[0] ^ randseed[0] << 11;\n\n randseed[0] = randseed[1];\n randseed[1] = randseed[2];\n randseed[2] = randseed[3];\n randseed[3] = randseed[3] ^ randseed[3] >> 19 ^ t ^ t >> 8;\n\n return (randseed[3] >>> 0) / (1 << 31 >>> 0);\n }\n\n function createColor() {\n // saturation is the whole color spectrum\n var h = Math.floor(rand() * 360);\n // saturation goes from 40 to 100, it avoids greyish colors\n var s = rand() * 60 + 40 + '%';\n // lightness can be anything from 0 to 100, but probabilities are a bell curve around 50%\n var l = (rand() + rand() + rand() + rand()) * 25 + '%';\n\n var color = 'hsl(' + h + ',' + s + ',' + l + ')';\n return color;\n }\n\n function createImageData(size) {\n var width = size; // Only support square icons for now\n var height = size;\n\n var dataWidth = Math.ceil(width / 2);\n var mirrorWidth = width - dataWidth;\n\n var data = [];\n for (var y = 0; y < height; y++) {\n var row = [];\n for (var x = 0; x < dataWidth; x++) {\n // this makes foreground and background color to have a 43% (1/2.3) probability\n // spot color has 13% chance\n row[x] = Math.floor(rand() * 2.3);\n }\n var r = row.slice(0, mirrorWidth);\n r.reverse();\n row = row.concat(r);\n\n for (var i = 0; i < row.length; i++) {\n data.push(row[i]);\n }\n }\n\n return data;\n }\n\n function setCanvas(identicon, imageData, color, scale, bgcolor, spotcolor) {\n var width = Math.sqrt(imageData.length);\n var size = width * scale;\n\n identicon.width = size;\n identicon.style.width = size + 'px';\n\n identicon.height = size;\n identicon.style.height = size + 'px';\n\n var cc = identicon.getContext('2d');\n cc.fillStyle = bgcolor;\n cc.fillRect(0, 0, identicon.width, identicon.height);\n cc.fillStyle = color;\n\n for (var i = 0; i < imageData.length; i++) {\n // if data is 2, choose spot color, if 1 choose foreground\n cc.fillStyle = imageData[i] === 1 ? color : spotcolor;\n\n // if data is 0, leave the background\n if (imageData[i]) {\n var row = Math.floor(i / width);\n var col = i % width;\n\n cc.fillRect(col * scale, row * scale, scale, scale);\n }\n }\n }\n\n var opts = options || {};\n var size = opts.size || 8;\n var scale = opts.scale || 4;\n var seed = opts.seed || Math.floor(Math.random() * Math.pow(10, 16)).toString(16);\n\n seedrand(seed);\n\n var color = opts.color || createColor();\n var bgcolor = opts.bgColor || createColor();\n var spotcolor = opts.spotColor || createColor();\n var imageData = createImageData(size);\n var canvas = setCanvas(this.identicon, imageData, color, scale, bgcolor, spotcolor);\n\n return canvas;\n }\n }, {\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n return _react2.default.createElement('canvas', {\n ref: function ref(identicon) {\n _this2.identicon = identicon;\n },\n className: this.props.className\n });\n }\n }]);\n\n return Identicon;\n}(_react.Component);\n\nexports.default = Identicon;\n\n\nIdenticon.defaultProps = {\n className: 'identicon'\n};\n\nIdenticon.propTypes = {\n seed: _propTypes2.default.string.isRequired,\n size: _propTypes2.default.number,\n scale: _propTypes2.default.number,\n color: _propTypes2.default.string,\n bgColor: _propTypes2.default.string,\n spotColor: _propTypes2.default.string\n};\n\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport styled from 'styled-components'\nimport Blockies from 'react-blockies'\nimport { stylingProps, isAddress } from '../../utils'\n\nconst PX_RATIO = typeof devicePixelRatio === 'undefined' ? 2 : devicePixelRatio\nconst BLOCKIES_SQUARES = 8 // commonly used to represent Ethereum addresses\nconst BASE_SCALE = 3\n\nclass EthIdenticon extends React.Component {\n static propTypes = {\n address: PropTypes.string.isRequired,\n scale: PropTypes.number,\n radius: PropTypes.number,\n soften: PropTypes.number,\n }\n static defaultProps = {\n scale: 1,\n radius: 0,\n soften: 0.3,\n }\n render() {\n const { address, scale, radius, soften } = this.props\n const blockiesScale = scale * BASE_SCALE\n return isAddress(address) ? (\n <Main\n size={BLOCKIES_SQUARES * blockiesScale}\n radius={radius}\n {...stylingProps(this)}\n >\n <BlockiesScaling size={BLOCKIES_SQUARES * blockiesScale * PX_RATIO}>\n <BlockiesOpacity soften={soften}>\n <Blockies\n seed={address.toLowerCase()}\n size={BLOCKIES_SQUARES}\n scale={blockiesScale * PX_RATIO}\n />\n </BlockiesOpacity>\n </BlockiesScaling>\n </Main>\n ) : null\n }\n}\n\n/*\n * `vertical-align` prevents the inline parent to have an incorrect height.\n *\n * See\n * - https://bugzilla.mozilla.org/show_bug.cgi?id=491549#c9\n * - https://bugzilla.mozilla.org/show_bug.cgi?id=737757#c1\n */\nconst Main = styled.div`\n display: inline-flex;\n vertical-align: middle;\n overflow: hidden;\n width: ${p => p.size}px;\n height: ${p => p.size}px;\n border-radius: ${p => p.radius}px;\n\n // Fix an issue where the border-radius wasn’t visible on Blink browsers.\n // See https://gist.github.com/ayamflow/b602ab436ac9f05660d9c15190f4fd7b\n mask-image: linear-gradient(red, red);\n`\n\nconst BlockiesOpacity = styled.div`\n opacity: ${p => 1 - p.soften};\n`\n\nconst BlockiesScaling = styled.div`\n /* display:flex to remove the display:inline on the child without using a\n * selector (Blockies doesn’t allow the style prop to be passed). */\n display: flex;\n width: ${p => p.size}px;\n height: ${p => p.size}px;\n background: #fff;\n\n /* add high-res screens support to Blockies */\n transform: scale(${1 / PX_RATIO}, ${1 / PX_RATIO});\n transform-origin: 0 0;\n`\n\nexport default EthIdenticon\n"],"names":["_react","_propTypes","PX_RATIO","devicePixelRatio","BLOCKIES_SQUARES","BASE_SCALE","EthIdenticon","props","address","scale","radius","soften","blockiesScale","isAddress","React","stylingProps","toLowerCase","Component","PropTypes","string","isRequired","number","Main","styled","div","p","size","BlockiesOpacity","BlockiesScaling"],"mappings":"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"}
\No newline at end of file