UNPKG

plotly-icons

Version:
118 lines (102 loc) 2.99 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _ansiHtml = require('ansi-html'); var _ansiHtml2 = _interopRequireDefault(_ansiHtml); var _head = require('./head'); var _head2 = _interopRequireDefault(_head); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } exports.default = function (_ref) { var error = _ref.error, _ref$error = _ref.error, name = _ref$error.name, message = _ref$error.message, module = _ref$error.module; return _react2.default.createElement( 'div', { style: styles.errorDebug }, _react2.default.createElement( _head2.default, null, _react2.default.createElement('meta', { name: 'viewport', content: 'width=device-width, initial-scale=1.0' }) ), module ? _react2.default.createElement( 'h1', { style: styles.heading }, 'Error in ', module.rawRequest ) : null, name === 'ModuleBuildError' ? _react2.default.createElement('pre', { style: styles.stack, dangerouslySetInnerHTML: { __html: (0, _ansiHtml2.default)(encodeHtml(message)) } }) : _react2.default.createElement(StackTrace, { error: error }) ); }; var StackTrace = function StackTrace(_ref2) { var _ref2$error = _ref2.error, name = _ref2$error.name, message = _ref2$error.message, stack = _ref2$error.stack; return _react2.default.createElement( 'div', null, _react2.default.createElement( 'div', { style: styles.heading }, message || name ), _react2.default.createElement( 'pre', { style: styles.stack }, stack ) ); }; var styles = { errorDebug: { background: '#0e0d0d', boxSizing: 'border-box', overflow: 'auto', padding: '24px', position: 'fixed', left: 0, right: 0, top: 0, bottom: 0, zIndex: 9999 }, stack: { fontFamily: '"SF Mono", "Roboto Mono", "Fira Mono", consolas, menlo-regular, monospace', fontSize: '13px', lineHeight: '18px', color: '#b3adac', margin: 0, whiteSpace: 'pre-wrap', wordWrap: 'break-word', marginTop: '16px' }, heading: { fontFamily: '-apple-system, system-ui, BlinkMacSystemFont, Roboto, "Segoe UI", "Fira Sans", Avenir, "Helvetica Neue", "Lucida Grande", sans-serif', fontSize: '20px', fontWeight: '400', lineHeight: '28px', color: '#fff', marginBottom: '0px', marginTop: '0px' } }; var encodeHtml = function encodeHtml(str) { return str.replace(/</g, '&lt;').replace(/>/g, '&gt;'); }; // see color definitions of babel-code-frame: // https://github.com/babel/babel/blob/master/packages/babel-code-frame/src/index.js _ansiHtml2.default.setColors({ reset: ['6F6767', '0e0d0d'], darkgrey: '6F6767', yellow: '6F6767', green: 'ebe7e5', magenta: 'ebe7e5', blue: 'ebe7e5', cyan: 'ebe7e5', red: 'ff001f' });