UNPKG

flipper-plugin-shopify-react-native-performance

Version:

Flipper desktop plugin with tools for measuring lists performance, TTI, and more.

1,739 lines (1,450 loc) 2.74 MB
var __BUNDLE_START_TIME__=this.nativePerformanceNow?nativePerformanceNow():Date.now(),__DEV__=true,process=this.process||{},__METRO_GLOBAL_PREFIX__='';process.env=process.env||{};process.env.NODE_ENV=process.env.NODE_ENV||"development"; (function (global) { "use strict"; global.__r = metroRequire; global[`${__METRO_GLOBAL_PREFIX__}__d`] = define; global.__c = clear; global.__registerSegment = registerSegment; var modules = clear(); const EMPTY = {}; const { hasOwnProperty } = {}; if (__DEV__) { global.$RefreshReg$ = () => {}; global.$RefreshSig$ = () => type => type; } function clear() { modules = Object.create(null); return modules; } if (__DEV__) { var verboseNamesToModuleIds = Object.create(null); var initializingModuleIds = []; } function define(factory, moduleId, dependencyMap) { if (modules[moduleId] != null) { if (__DEV__) { const inverseDependencies = arguments[4]; if (inverseDependencies) { global.__accept(moduleId, factory, dependencyMap, inverseDependencies); } } return; } const mod = { dependencyMap, factory, hasError: false, importedAll: EMPTY, importedDefault: EMPTY, isInitialized: false, publicModule: { exports: {} } }; modules[moduleId] = mod; if (__DEV__) { mod.hot = createHotReloadingObject(); const verboseName = arguments[3]; if (verboseName) { mod.verboseName = verboseName; verboseNamesToModuleIds[verboseName] = moduleId; } } } function metroRequire(moduleId) { if (__DEV__ && typeof moduleId === "string") { const verboseName = moduleId; moduleId = verboseNamesToModuleIds[verboseName]; if (moduleId == null) { throw new Error(`Unknown named module: "${verboseName}"`); } else { console.warn(`Requiring module "${verboseName}" by name is only supported for ` + "debugging purposes and will BREAK IN PRODUCTION!"); } } const moduleIdReallyIsNumber = moduleId; if (__DEV__) { const initializingIndex = initializingModuleIds.indexOf(moduleIdReallyIsNumber); if (initializingIndex !== -1) { const cycle = initializingModuleIds.slice(initializingIndex).map(id => modules[id] ? modules[id].verboseName : "[unknown]"); cycle.push(cycle[0]); console.warn(`Require cycle: ${cycle.join(" -> ")}\n\n` + "Require cycles are allowed, but can result in uninitialized values. " + "Consider refactoring to remove the need for a cycle."); } } const module = modules[moduleIdReallyIsNumber]; return module && module.isInitialized ? module.publicModule.exports : guardedLoadModule(moduleIdReallyIsNumber, module); } function metroImportDefault(moduleId) { if (__DEV__ && typeof moduleId === "string") { const verboseName = moduleId; moduleId = verboseNamesToModuleIds[verboseName]; } const moduleIdReallyIsNumber = moduleId; if (modules[moduleIdReallyIsNumber] && modules[moduleIdReallyIsNumber].importedDefault !== EMPTY) { return modules[moduleIdReallyIsNumber].importedDefault; } const exports = metroRequire(moduleIdReallyIsNumber); const importedDefault = exports && exports.__esModule ? exports.default : exports; return modules[moduleIdReallyIsNumber].importedDefault = importedDefault; } metroRequire.importDefault = metroImportDefault; function metroImportAll(moduleId) { if (__DEV__ && typeof moduleId === "string") { const verboseName = moduleId; moduleId = verboseNamesToModuleIds[verboseName]; } const moduleIdReallyIsNumber = moduleId; if (modules[moduleIdReallyIsNumber] && modules[moduleIdReallyIsNumber].importedAll !== EMPTY) { return modules[moduleIdReallyIsNumber].importedAll; } const exports = metroRequire(moduleIdReallyIsNumber); let importedAll; if (exports && exports.__esModule) { importedAll = exports; } else { importedAll = {}; if (exports) { for (const key in exports) { if (hasOwnProperty.call(exports, key)) { importedAll[key] = exports[key]; } } } importedAll.default = exports; } return modules[moduleIdReallyIsNumber].importedAll = importedAll; } metroRequire.importAll = metroImportAll; let inGuard = false; function guardedLoadModule(moduleId, module) { if (!inGuard && global.ErrorUtils) { inGuard = true; let returnValue; try { returnValue = loadModuleImplementation(moduleId, module); } catch (e) { global.ErrorUtils.reportFatalError(e); } inGuard = false; return returnValue; } else { return loadModuleImplementation(moduleId, module); } } const ID_MASK_SHIFT = 16; const LOCAL_ID_MASK = ~0 >>> ID_MASK_SHIFT; function unpackModuleId(moduleId) { const segmentId = moduleId >>> ID_MASK_SHIFT; const localId = moduleId & LOCAL_ID_MASK; return { segmentId, localId }; } metroRequire.unpackModuleId = unpackModuleId; function packModuleId(value) { return (value.segmentId << ID_MASK_SHIFT) + value.localId; } metroRequire.packModuleId = packModuleId; const moduleDefinersBySegmentID = []; const definingSegmentByModuleID = new Map(); function registerSegment(segmentId, moduleDefiner, moduleIds) { moduleDefinersBySegmentID[segmentId] = moduleDefiner; if (__DEV__) { if (segmentId === 0 && moduleIds) { throw new Error("registerSegment: Expected moduleIds to be null for main segment"); } if (segmentId !== 0 && !moduleIds) { throw new Error("registerSegment: Expected moduleIds to be passed for segment #" + segmentId); } } if (moduleIds) { moduleIds.forEach(moduleId => { if (!modules[moduleId] && !definingSegmentByModuleID.has(moduleId)) { definingSegmentByModuleID.set(moduleId, segmentId); } }); } } function loadModuleImplementation(moduleId, module) { if (!module && moduleDefinersBySegmentID.length > 0) { var _definingSegmentByMod; const segmentId = (_definingSegmentByMod = definingSegmentByModuleID.get(moduleId)) !== null && _definingSegmentByMod !== void 0 ? _definingSegmentByMod : 0; const definer = moduleDefinersBySegmentID[segmentId]; if (definer != null) { definer(moduleId); module = modules[moduleId]; definingSegmentByModuleID.delete(moduleId); } } const nativeRequire = global.nativeRequire; if (!module && nativeRequire) { const { segmentId, localId } = unpackModuleId(moduleId); nativeRequire(localId, segmentId); module = modules[moduleId]; } if (!module) { throw unknownModuleError(moduleId); } if (module.hasError) { throw moduleThrewError(moduleId, module.error); } if (__DEV__) { var Systrace = requireSystrace(); var Refresh = requireRefresh(); } module.isInitialized = true; const { factory, dependencyMap } = module; if (__DEV__) { initializingModuleIds.push(moduleId); } try { if (__DEV__) { Systrace.beginEvent("JS_require_" + (module.verboseName || moduleId)); } const moduleObject = module.publicModule; if (__DEV__) { moduleObject.hot = module.hot; var prevRefreshReg = global.$RefreshReg$; var prevRefreshSig = global.$RefreshSig$; if (Refresh != null) { const RefreshRuntime = Refresh; global.$RefreshReg$ = (type, id) => { RefreshRuntime.register(type, moduleId + " " + id); }; global.$RefreshSig$ = RefreshRuntime.createSignatureFunctionForTransform; } } moduleObject.id = moduleId; factory(global, metroRequire, metroImportDefault, metroImportAll, moduleObject, moduleObject.exports, dependencyMap); if (!__DEV__) { module.factory = undefined; module.dependencyMap = undefined; } if (__DEV__) { Systrace.endEvent(); if (Refresh != null) { registerExportsForReactRefresh(Refresh, moduleObject.exports, moduleId); } } return moduleObject.exports; } catch (e) { module.hasError = true; module.error = e; module.isInitialized = false; module.publicModule.exports = undefined; throw e; } finally { if (__DEV__) { if (initializingModuleIds.pop() !== moduleId) { throw new Error("initializingModuleIds is corrupt; something is terribly wrong"); } global.$RefreshReg$ = prevRefreshReg; global.$RefreshSig$ = prevRefreshSig; } } } function unknownModuleError(id) { let message = 'Requiring unknown module "' + id + '".'; if (__DEV__) { message += " If you are sure the module exists, try restarting Metro. " + "You may also want to run `yarn` or `npm install`."; } return Error(message); } function moduleThrewError(id, error) { const displayName = __DEV__ && modules[id] && modules[id].verboseName || id; return Error('Requiring module "' + displayName + '", which threw an exception: ' + error); } if (__DEV__) { metroRequire.Systrace = { beginEvent: () => {}, endEvent: () => {} }; metroRequire.getModules = () => { return modules; }; var createHotReloadingObject = function () { const hot = { _acceptCallback: null, _disposeCallback: null, _didAccept: false, accept: callback => { hot._didAccept = true; hot._acceptCallback = callback; }, dispose: callback => { hot._disposeCallback = callback; } }; return hot; }; let reactRefreshTimeout = null; const metroHotUpdateModule = function (id, factory, dependencyMap, inverseDependencies) { const mod = modules[id]; if (!mod) { if (factory) { return; } throw unknownModuleError(id); } if (!mod.hasError && !mod.isInitialized) { mod.factory = factory; mod.dependencyMap = dependencyMap; return; } const Refresh = requireRefresh(); const refreshBoundaryIDs = new Set(); let didBailOut = false; const updatedModuleIDs = topologicalSort([id], pendingID => { const pendingModule = modules[pendingID]; if (pendingModule == null) { return []; } const pendingHot = pendingModule.hot; if (pendingHot == null) { throw new Error("[Refresh] Expected module.hot to always exist in DEV."); } let canAccept = pendingHot._didAccept; if (!canAccept && Refresh != null) { const isBoundary = isReactRefreshBoundary(Refresh, pendingModule.publicModule.exports); if (isBoundary) { canAccept = true; refreshBoundaryIDs.add(pendingID); } } if (canAccept) { return []; } const parentIDs = inverseDependencies[pendingID]; if (parentIDs.length === 0) { performFullRefresh("No root boundary", { source: mod, failed: pendingModule }); didBailOut = true; return []; } return parentIDs; }, () => didBailOut).reverse(); if (didBailOut) { return; } const seenModuleIDs = new Set(); for (let i = 0; i < updatedModuleIDs.length; i++) { const updatedID = updatedModuleIDs[i]; if (seenModuleIDs.has(updatedID)) { continue; } seenModuleIDs.add(updatedID); const updatedMod = modules[updatedID]; if (updatedMod == null) { throw new Error("[Refresh] Expected to find the updated module."); } const prevExports = updatedMod.publicModule.exports; const didError = runUpdatedModule(updatedID, updatedID === id ? factory : undefined, updatedID === id ? dependencyMap : undefined); const nextExports = updatedMod.publicModule.exports; if (didError) { return; } if (refreshBoundaryIDs.has(updatedID)) { const isNoLongerABoundary = !isReactRefreshBoundary(Refresh, nextExports); const didInvalidate = shouldInvalidateReactRefreshBoundary(Refresh, prevExports, nextExports); if (isNoLongerABoundary || didInvalidate) { const parentIDs = inverseDependencies[updatedID]; if (parentIDs.length === 0) { performFullRefresh(isNoLongerABoundary ? "No longer a boundary" : "Invalidated boundary", { source: mod, failed: updatedMod }); return; } for (let j = 0; j < parentIDs.length; j++) { const parentID = parentIDs[j]; const parentMod = modules[parentID]; if (parentMod == null) { throw new Error("[Refresh] Expected to find parent module."); } const canAcceptParent = isReactRefreshBoundary(Refresh, parentMod.publicModule.exports); if (canAcceptParent) { refreshBoundaryIDs.add(parentID); updatedModuleIDs.push(parentID); } else { performFullRefresh("Invalidated boundary", { source: mod, failed: parentMod }); return; } } } } } if (Refresh != null) { if (reactRefreshTimeout == null) { reactRefreshTimeout = setTimeout(() => { reactRefreshTimeout = null; Refresh.performReactRefresh(); }, 30); } } }; const topologicalSort = function (roots, getEdges, earlyStop) { const result = []; const visited = new Set(); function traverseDependentNodes(node) { visited.add(node); const dependentNodes = getEdges(node); if (earlyStop(node)) { return; } dependentNodes.forEach(dependent => { if (visited.has(dependent)) { return; } traverseDependentNodes(dependent); }); result.push(node); } roots.forEach(root => { if (!visited.has(root)) { traverseDependentNodes(root); } }); return result; }; const runUpdatedModule = function (id, factory, dependencyMap) { const mod = modules[id]; if (mod == null) { throw new Error("[Refresh] Expected to find the module."); } const { hot } = mod; if (!hot) { throw new Error("[Refresh] Expected module.hot to always exist in DEV."); } if (hot._disposeCallback) { try { hot._disposeCallback(); } catch (error) { console.error(`Error while calling dispose handler for module ${id}: `, error); } } if (factory) { mod.factory = factory; } if (dependencyMap) { mod.dependencyMap = dependencyMap; } mod.hasError = false; mod.error = undefined; mod.importedAll = EMPTY; mod.importedDefault = EMPTY; mod.isInitialized = false; const prevExports = mod.publicModule.exports; mod.publicModule.exports = {}; hot._didAccept = false; hot._acceptCallback = null; hot._disposeCallback = null; metroRequire(id); if (mod.hasError) { mod.hasError = false; mod.isInitialized = true; mod.error = null; mod.publicModule.exports = prevExports; return true; } if (hot._acceptCallback) { try { hot._acceptCallback(); } catch (error) { console.error(`Error while calling accept handler for module ${id}: `, error); } } return false; }; const performFullRefresh = (reason, modules) => { if (typeof window !== "undefined" && window.location != null && typeof window.location.reload === "function") { window.location.reload(); } else { const Refresh = requireRefresh(); if (Refresh != null) { var _modules$source$verbo, _modules$source, _modules$failed$verbo, _modules$failed; const sourceName = (_modules$source$verbo = (_modules$source = modules.source) === null || _modules$source === void 0 ? void 0 : _modules$source.verboseName) !== null && _modules$source$verbo !== void 0 ? _modules$source$verbo : "unknown"; const failedName = (_modules$failed$verbo = (_modules$failed = modules.failed) === null || _modules$failed === void 0 ? void 0 : _modules$failed.verboseName) !== null && _modules$failed$verbo !== void 0 ? _modules$failed$verbo : "unknown"; Refresh.performFullRefresh(`Fast Refresh - ${reason} <${sourceName}> <${failedName}>`); } else { console.warn("Could not reload the application after an edit."); } } }; var isReactRefreshBoundary = function (Refresh, moduleExports) { if (Refresh.isLikelyComponentType(moduleExports)) { return true; } if (moduleExports == null || typeof moduleExports !== "object") { return false; } let hasExports = false; let areAllExportsComponents = true; for (const key in moduleExports) { hasExports = true; if (key === "__esModule") { continue; } const desc = Object.getOwnPropertyDescriptor(moduleExports, key); if (desc && desc.get) { return false; } const exportValue = moduleExports[key]; if (!Refresh.isLikelyComponentType(exportValue)) { areAllExportsComponents = false; } } return hasExports && areAllExportsComponents; }; var shouldInvalidateReactRefreshBoundary = (Refresh, prevExports, nextExports) => { const prevSignature = getRefreshBoundarySignature(Refresh, prevExports); const nextSignature = getRefreshBoundarySignature(Refresh, nextExports); if (prevSignature.length !== nextSignature.length) { return true; } for (let i = 0; i < nextSignature.length; i++) { if (prevSignature[i] !== nextSignature[i]) { return true; } } return false; }; var getRefreshBoundarySignature = (Refresh, moduleExports) => { const signature = []; signature.push(Refresh.getFamilyByType(moduleExports)); if (moduleExports == null || typeof moduleExports !== "object") { return signature; } for (const key in moduleExports) { if (key === "__esModule") { continue; } const desc = Object.getOwnPropertyDescriptor(moduleExports, key); if (desc && desc.get) { continue; } const exportValue = moduleExports[key]; signature.push(key); signature.push(Refresh.getFamilyByType(exportValue)); } return signature; }; var registerExportsForReactRefresh = (Refresh, moduleExports, moduleID) => { Refresh.register(moduleExports, moduleID + " %exports%"); if (moduleExports == null || typeof moduleExports !== "object") { return; } for (const key in moduleExports) { const desc = Object.getOwnPropertyDescriptor(moduleExports, key); if (desc && desc.get) { continue; } const exportValue = moduleExports[key]; const typeID = moduleID + " %exports% " + key; Refresh.register(exportValue, typeID); } }; global.__accept = metroHotUpdateModule; } if (__DEV__) { var requireSystrace = function requireSystrace() { return global[__METRO_GLOBAL_PREFIX__ + "__SYSTRACE"] || metroRequire.Systrace; }; var requireRefresh = function requireRefresh() { return global[__METRO_GLOBAL_PREFIX__ + "__ReactRefresh"] || metroRequire.Refresh; }; } })(typeof globalThis !== 'undefined' ? globalThis : typeof global !== 'undefined' ? global : typeof window !== 'undefined' ? window : this); __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) { Object.defineProperty(exports, "__esModule", { value: true }); exports.plugin = exports.Component = void 0; var _react = _interopRequireWildcard(global.React); var _flipperPlugin = global.FlipperPlugin; var _antd = global.antd; var _ListTTIChart = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[0], "./ListTTIChart")); var _BlankAreaChart = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[1], "./BlankAreaChart")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } const plugin = client => { const blankData = (0, _flipperPlugin.createState)(new Map(), { persist: 'newBlankData' }); const listTTIData = (0, _flipperPlugin.createState)(new Map(), { persist: 'newListTTIData' }); client.onMessage('newBlankData', newData => { blankData.update(currentData => { var _currentData$get; const currentListData = (_currentData$get = currentData.get(newData.listName)) !== null && _currentData$get !== void 0 ? _currentData$get : []; currentData.set(newData.listName, [...currentListData, newData]); }); }); client.onMessage('newListTTIData', newListTTIData => { listTTIData.update(currentData => { var _currentData$get2; const currentListData = (_currentData$get2 = currentData.get(newListTTIData.listName)) !== null && _currentData$get2 !== void 0 ? _currentData$get2 : []; currentData.set(newListTTIData.listName, [...currentListData, newListTTIData]); }); }); return { blankData, listTTIData }; }; exports.plugin = plugin; const randomColor = () => { let color = '#'; for (let i = 0; i < 6; i++) { const random = Math.random(); const bit = random * 16 | 0; color += bit.toString(16); } return color; }; const Component = () => { const instance = (0, _flipperPlugin.usePlugin)(plugin); const [colors, setColors] = (0, _react.useState)(new Map()); const listTTIData = (0, _flipperPlugin.useValue)(instance.listTTIData); const listNames = Array.from(listTTIData.keys()); listNames.forEach(listNames => { if (colors.has(listNames)) { return; } setColors(colors.set(listNames, randomColor())); }); const blankData = (0, _flipperPlugin.useValue)(instance.blankData); return _react.default.createElement(_react.default.Fragment, null, _react.default.createElement(_flipperPlugin.Layout.ScrollContainer, null, _react.default.createElement(_BlankAreaChart.default, { colors: colors, blankData: blankData }), _react.default.createElement(_ListTTIChart.default, { listColors: colors, listTTIData: listTTIData })), _react.default.createElement("div", { style: { display: 'inline-block', margin: 'auto' } }, _react.default.createElement(_antd.Button, { style: { marginBottom: '10px' }, onClick: () => { instance.blankData.set(new Map()); instance.listTTIData.set(new Map()); } }, "Reset data"))); }; exports.Component = Component; },0,[1,578],"src/index.tsx"); __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) { Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _react = _interopRequireDefault(global.React); var _recharts = _$$_REQUIRE(_dependencyMap[0], "recharts"); var _Header = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[1], "./Header")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const ListTTIChart = ({ listColors, listTTIData }) => { const listNames = Array.from(listTTIData.keys()); const averageData = listNames.map(listName => { var _listTTIData$get; const ttiData = (_listTTIData$get = listTTIData.get(listName)) !== null && _listTTIData$get !== void 0 ? _listTTIData$get : []; const sum = ttiData.reduce((sum, { TTI }) => { return sum + TTI; }, 0); const average = { listName }; average[listName] = sum / ttiData.length; return average; }); const ttiMetricData = Array.from(listTTIData.values()).flat(); return _react.default.createElement(_react.default.Fragment, null, _react.default.createElement(_Header.default, null, "TTI Metric Averages"), _react.default.createElement(_recharts.BarChart, { width: 400, height: 400, data: averageData }, _react.default.createElement(_recharts.XAxis, { dataKey: "listName" }), _react.default.createElement(_recharts.YAxis, { tickFormatter: millis => { return `${millis} ms`; } }), _react.default.createElement(_recharts.Tooltip, null), listNames.map(listName => { return _react.default.createElement(_recharts.Bar, { dataKey: listName, key: listName, stackId: "a", fill: listColors.get(listName) }); })), _react.default.createElement(_Header.default, null, "TTI Metric"), _react.default.createElement(_recharts.BarChart, { width: 400, height: 400, data: ttiMetricData }, _react.default.createElement(_recharts.XAxis, { dataKey: "listName" }), _react.default.createElement(_recharts.YAxis, { tickFormatter: millis => { return `${millis} ms`; } }), _react.default.createElement(_recharts.Tooltip, null), _react.default.createElement(_recharts.Bar, { dataKey: "TTI" }, ttiMetricData.map(data => { return _react.default.createElement(_recharts.Cell, { key: data.listName, fill: listColors.get(data.listName) }); })))); }; var _default = ListTTIChart; exports.default = _default; },1,[2,577],"src/ListTTIChart.tsx"); __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) { Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "Area", { enumerable: true, get: function () { return _Area.Area; } }); Object.defineProperty(exports, "AreaChart", { enumerable: true, get: function () { return _AreaChart.AreaChart; } }); Object.defineProperty(exports, "Bar", { enumerable: true, get: function () { return _Bar.Bar; } }); Object.defineProperty(exports, "BarChart", { enumerable: true, get: function () { return _BarChart.BarChart; } }); Object.defineProperty(exports, "Brush", { enumerable: true, get: function () { return _Brush.Brush; } }); Object.defineProperty(exports, "CartesianAxis", { enumerable: true, get: function () { return _CartesianAxis.CartesianAxis; } }); Object.defineProperty(exports, "CartesianGrid", { enumerable: true, get: function () { return _CartesianGrid.CartesianGrid; } }); Object.defineProperty(exports, "Cell", { enumerable: true, get: function () { return _Cell.Cell; } }); Object.defineProperty(exports, "ComposedChart", { enumerable: true, get: function () { return _ComposedChart.ComposedChart; } }); Object.defineProperty(exports, "Cross", { enumerable: true, get: function () { return _Cross.Cross; } }); Object.defineProperty(exports, "Curve", { enumerable: true, get: function () { return _Curve.Curve; } }); Object.defineProperty(exports, "Customized", { enumerable: true, get: function () { return _Customized.Customized; } }); Object.defineProperty(exports, "Dot", { enumerable: true, get: function () { return _Dot.Dot; } }); Object.defineProperty(exports, "ErrorBar", { enumerable: true, get: function () { return _ErrorBar.ErrorBar; } }); Object.defineProperty(exports, "Funnel", { enumerable: true, get: function () { return _Funnel.Funnel; } }); Object.defineProperty(exports, "FunnelChart", { enumerable: true, get: function () { return _FunnelChart.FunnelChart; } }); Object.defineProperty(exports, "Global", { enumerable: true, get: function () { return _Global.Global; } }); Object.defineProperty(exports, "Label", { enumerable: true, get: function () { return _Label.Label; } }); Object.defineProperty(exports, "LabelList", { enumerable: true, get: function () { return _LabelList.LabelList; } }); Object.defineProperty(exports, "Layer", { enumerable: true, get: function () { return _Layer.Layer; } }); Object.defineProperty(exports, "Legend", { enumerable: true, get: function () { return _Legend.Legend; } }); Object.defineProperty(exports, "Line", { enumerable: true, get: function () { return _Line.Line; } }); Object.defineProperty(exports, "LineChart", { enumerable: true, get: function () { return _LineChart.LineChart; } }); Object.defineProperty(exports, "Pie", { enumerable: true, get: function () { return _Pie.Pie; } }); Object.defineProperty(exports, "PieChart", { enumerable: true, get: function () { return _PieChart.PieChart; } }); Object.defineProperty(exports, "PolarAngleAxis", { enumerable: true, get: function () { return _PolarAngleAxis.PolarAngleAxis; } }); Object.defineProperty(exports, "PolarGrid", { enumerable: true, get: function () { return _PolarGrid.PolarGrid; } }); Object.defineProperty(exports, "PolarRadiusAxis", { enumerable: true, get: function () { return _PolarRadiusAxis.PolarRadiusAxis; } }); Object.defineProperty(exports, "Polygon", { enumerable: true, get: function () { return _Polygon.Polygon; } }); Object.defineProperty(exports, "Radar", { enumerable: true, get: function () { return _Radar.Radar; } }); Object.defineProperty(exports, "RadarChart", { enumerable: true, get: function () { return _RadarChart.RadarChart; } }); Object.defineProperty(exports, "RadialBar", { enumerable: true, get: function () { return _RadialBar.RadialBar; } }); Object.defineProperty(exports, "RadialBarChart", { enumerable: true, get: function () { return _RadialBarChart.RadialBarChart; } }); Object.defineProperty(exports, "Rectangle", { enumerable: true, get: function () { return _Rectangle.Rectangle; } }); Object.defineProperty(exports, "ReferenceArea", { enumerable: true, get: function () { return _ReferenceArea.ReferenceArea; } }); Object.defineProperty(exports, "ReferenceDot", { enumerable: true, get: function () { return _ReferenceDot.ReferenceDot; } }); Object.defineProperty(exports, "ReferenceLine", { enumerable: true, get: function () { return _ReferenceLine.ReferenceLine; } }); Object.defineProperty(exports, "ResponsiveContainer", { enumerable: true, get: function () { return _ResponsiveContainer.ResponsiveContainer; } }); Object.defineProperty(exports, "Sankey", { enumerable: true, get: function () { return _Sankey.Sankey; } }); Object.defineProperty(exports, "Scatter", { enumerable: true, get: function () { return _Scatter.Scatter; } }); Object.defineProperty(exports, "ScatterChart", { enumerable: true, get: function () { return _ScatterChart.ScatterChart; } }); Object.defineProperty(exports, "Sector", { enumerable: true, get: function () { return _Sector.Sector; } }); Object.defineProperty(exports, "Surface", { enumerable: true, get: function () { return _Surface.Surface; } }); Object.defineProperty(exports, "Symbols", { enumerable: true, get: function () { return _Symbols.Symbols; } }); Object.defineProperty(exports, "Text", { enumerable: true, get: function () { return _Text.Text; } }); Object.defineProperty(exports, "Tooltip", { enumerable: true, get: function () { return _Tooltip.Tooltip; } }); Object.defineProperty(exports, "Trapezoid", { enumerable: true, get: function () { return _Trapezoid.Trapezoid; } }); Object.defineProperty(exports, "Treemap", { enumerable: true, get: function () { return _Treemap.Treemap; } }); Object.defineProperty(exports, "XAxis", { enumerable: true, get: function () { return _XAxis.XAxis; } }); Object.defineProperty(exports, "YAxis", { enumerable: true, get: function () { return _YAxis.YAxis; } }); Object.defineProperty(exports, "ZAxis", { enumerable: true, get: function () { return _ZAxis.ZAxis; } }); var _Surface = _$$_REQUIRE(_dependencyMap[0], "./container/Surface"); var _Layer = _$$_REQUIRE(_dependencyMap[1], "./container/Layer"); var _Legend = _$$_REQUIRE(_dependencyMap[2], "./component/Legend"); var _Tooltip = _$$_REQUIRE(_dependencyMap[3], "./component/Tooltip"); var _ResponsiveContainer = _$$_REQUIRE(_dependencyMap[4], "./component/ResponsiveContainer"); var _Cell = _$$_REQUIRE(_dependencyMap[5], "./component/Cell"); var _Text = _$$_REQUIRE(_dependencyMap[6], "./component/Text"); var _Label = _$$_REQUIRE(_dependencyMap[7], "./component/Label"); var _LabelList = _$$_REQUIRE(_dependencyMap[8], "./component/LabelList"); var _Customized = _$$_REQUIRE(_dependencyMap[9], "./component/Customized"); var _Sector = _$$_REQUIRE(_dependencyMap[10], "./shape/Sector"); var _Curve = _$$_REQUIRE(_dependencyMap[11], "./shape/Curve"); var _Rectangle = _$$_REQUIRE(_dependencyMap[12], "./shape/Rectangle"); var _Polygon = _$$_REQUIRE(_dependencyMap[13], "./shape/Polygon"); var _Dot = _$$_REQUIRE(_dependencyMap[14], "./shape/Dot"); var _Cross = _$$_REQUIRE(_dependencyMap[15], "./shape/Cross"); var _Symbols = _$$_REQUIRE(_dependencyMap[16], "./shape/Symbols"); var _PolarGrid = _$$_REQUIRE(_dependencyMap[17], "./polar/PolarGrid"); var _PolarRadiusAxis = _$$_REQUIRE(_dependencyMap[18], "./polar/PolarRadiusAxis"); var _PolarAngleAxis = _$$_REQUIRE(_dependencyMap[19], "./polar/PolarAngleAxis"); var _Pie = _$$_REQUIRE(_dependencyMap[20], "./polar/Pie"); var _Radar = _$$_REQUIRE(_dependencyMap[21], "./polar/Radar"); var _RadialBar = _$$_REQUIRE(_dependencyMap[22], "./polar/RadialBar"); var _Brush = _$$_REQUIRE(_dependencyMap[23], "./cartesian/Brush"); var _ReferenceLine = _$$_REQUIRE(_dependencyMap[24], "./cartesian/ReferenceLine"); var _ReferenceDot = _$$_REQUIRE(_dependencyMap[25], "./cartesian/ReferenceDot"); var _ReferenceArea = _$$_REQUIRE(_dependencyMap[26], "./cartesian/ReferenceArea"); var _CartesianAxis = _$$_REQUIRE(_dependencyMap[27], "./cartesian/CartesianAxis"); var _CartesianGrid = _$$_REQUIRE(_dependencyMap[28], "./cartesian/CartesianGrid"); var _Line = _$$_REQUIRE(_dependencyMap[29], "./cartesian/Line"); var _Area = _$$_REQUIRE(_dependencyMap[30], "./cartesian/Area"); var _Bar = _$$_REQUIRE(_dependencyMap[31], "./cartesian/Bar"); var _Scatter = _$$_REQUIRE(_dependencyMap[32], "./cartesian/Scatter"); var _XAxis = _$$_REQUIRE(_dependencyMap[33], "./cartesian/XAxis"); var _YAxis = _$$_REQUIRE(_dependencyMap[34], "./cartesian/YAxis"); var _ZAxis = _$$_REQUIRE(_dependencyMap[35], "./cartesian/ZAxis"); var _ErrorBar = _$$_REQUIRE(_dependencyMap[36], "./cartesian/ErrorBar"); var _LineChart = _$$_REQUIRE(_dependencyMap[37], "./chart/LineChart"); var _BarChart = _$$_REQUIRE(_dependencyMap[38], "./chart/BarChart"); var _PieChart = _$$_REQUIRE(_dependencyMap[39], "./chart/PieChart"); var _Treemap = _$$_REQUIRE(_dependencyMap[40], "./chart/Treemap"); var _Sankey = _$$_REQUIRE(_dependencyMap[41], "./chart/Sankey"); var _RadarChart = _$$_REQUIRE(_dependencyMap[42], "./chart/RadarChart"); var _ScatterChart = _$$_REQUIRE(_dependencyMap[43], "./chart/ScatterChart"); var _AreaChart = _$$_REQUIRE(_dependencyMap[44], "./chart/AreaChart"); var _RadialBarChart = _$$_REQUIRE(_dependencyMap[45], "./chart/RadialBarChart"); var _ComposedChart = _$$_REQUIRE(_dependencyMap[46], "./chart/ComposedChart"); var _Funnel = _$$_REQUIRE(_dependencyMap[47], "./numberAxis/Funnel"); var _FunnelChart = _$$_REQUIRE(_dependencyMap[48], "./chart/FunnelChart"); var _Trapezoid = _$$_REQUIRE(_dependencyMap[49], "./shape/Trapezoid"); var _Global = _$$_REQUIRE(_dependencyMap[50], "./util/Global"); },2,[3,11,12,205,273,282,283,296,468,470,471,472,473,474,475,476,137,477,478,481,482,485,488,489,495,505,506,507,508,509,511,512,513,515,516,514,510,517,528,529,530,566,569,570,571,572,573,574,576,575,272],"../../node_modules/recharts/es6/index.js"); __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) { Object.defineProperty(exports, "__esModule", { value: true }); exports.Surface = Surface; var _react = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[0], "react")); var _classnames = _interopRequireDefault(_$$_REQUIRE(_dependencyMap[1], "classnames")); var _types = _$$_REQUIRE(_dependencyMap[2], "../util/types"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _extends() { _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; }; return _extends.apply(this, arguments); } function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } function Surface(props) { var children = props.children, width = props.width, height = props.height, viewBox = props.viewBox, className = props.className, style = props.style, others = _objectWithoutProperties(props, ["children", "width", "height", "viewBox", "className", "style"]); var svgView = viewBox || { width: width, height: height, x: 0, y: 0 }; var layerClass = (0, _classnames.default)('recharts-surface', className); return _react.default.createElement("svg", _extends({}, (0, _types.filterProps)(others, true, true), { className: layerClass, width: width, height: height, style: style, viewBox: "".concat(svgView.x, " ").concat(svgView.y, " ").concat(svgView.width, " ").concat(svgView.height), version: "1.1" }), children); } },3,[4,8,9],"../../node_modules/recharts/es6/container/Surface.js"); __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) { 'use strict'; if (process.env.NODE_ENV === 'production') { module.exports = _$$_REQUIRE(_dependencyMap[0], "./cjs/react.production.min.js"); } else { module.exports = _$$_REQUIRE(_dependencyMap[1], "./cjs/react.development.js"); } },4,[5,7],"../../node_modules/react/index.js"); __d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) { /** @license React v17.0.2 * react.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ 'use strict'; var l = _$$_REQUIRE(_dependencyMap[0], "object-assign"), n = 60103, p = 60106; exports.Fragment = 60107; exports.StrictMode = 60108; exports.Profiler = 60114; var q = 60109, r = 60110, t = 60112; exports.Suspense = 60113; var u = 60115, v = 60116; if ("function" === typeof Symbol && Symbol.for) { var w = Symbol.for; n = w("react.element"); p = w("react.portal"); exports.Fragment = w("react.fragment"); exports.StrictMode = w("react.strict_mode"); exports.Profiler = w("react.profiler"); q = w("react.provider"); r = w("react.context"); t = w("react.forward_ref"); exports.Suspense = w("react.suspense"); u = w("react.memo"); v = w("react.lazy"); } var x = "function" === typeof Symbol && Symbol.iterator; function y(a) { if (null === a || "object" !== typeof a) return null; a = x && a[x] || a["@@iterator"]; return "function" === typeof a ? a : null; } function z(a) { for (var b = "https://reactjs.org/docs/error-decoder.html?invariant=" + a, c = 1; c < arguments.length; c++) b += "&args[]=" + encodeURIComponent(arguments[c]); return "Minified React error #" + a + "; visit " + b + " for the full message or use the non-minified dev environment for full errors and additional helpful warnings."; } var A = { isMounted: function () { return !1; }, enqueueForceUpdate: function () {}, enqueueReplaceState: function () {}, enqueueSetState: function () {} }, B = {}; function C(a, b, c) { this.props = a; this.context = b; this.refs = B; this.updater = c || A; } C.prototype.isReactComponent = {}; C.prototype.setState = function (a, b) { if ("object" !== typeof a && "function" !== typeof a && null != a) throw Error(z(85)); this.updater.enqueueSetState(this, a, b, "setState"); }; C.prototype.forceUpdate = function (a) { this.updater.enqueueForceUpdate(this, a, "forceUpdate"); }; function D() {} D.prototype = C.prototype; function E(a, b, c) { this.props = a; this.context = b; this.refs = B; this.updater = c || A; } var F = E.prototype = new D(); F.constructor = E; l(F, C.prototype); F.isPureReactComponent = !0; var G = { current: null }, H = Object.prototype.hasOwnProperty, I = { key: !0, ref: !0, __self: !0, __source: !0 }; function J(a, b, c) { var e, d = {}, k = null, h = null; if (null != b) for (e in void 0 !== b.ref && (h = b.ref), void 0 !== b.key && (k = "" + b.key), b) H.call(b, e) && !I.hasOwnProperty(e) && (d[e] = b[e]); var g = arguments.length - 2; if (1 === g) d.children = c;else if (1 < g) { for (var f = Array(g), m = 0; m < g; m++) f[m] = arguments[m + 2]; d.children = f; } if (a && a.defaultProps) for (e in g = a.defaultProps, g) void 0 === d[e] && (d[e] = g[e]); return { $$typeof: n, type: a, key: k, ref: h, props: d, _owner: G.current }; } function K(a, b) { return { $$typeof: n, type: a.type, key: b, ref: a.ref, props: a.props, _owner: a._owner }; } function L(a) { return "object" === typeof a && null !== a && a.$$typeof === n; } function escape(a) { var b = { "=": "=0", ":": "=2" }; return "$" + a.replace(/[=:]/g, function (a) { return b[a]; }); } var M = /\/+/g; function N(a, b) { return "object" === typeof a && null !== a && null != a.key ? escape("" + a.key) : b.toString(36); } function O(a, b, c, e, d) { var k = typeof a; if ("undefined" === k || "boolean" === k) a = null; var h = !1; if (null === a) h = !0;else switch (k) { case "string": case "number": h = !0; break; case "object": switch (a.$$typeof) { case n: case p: h = !0; } } if (h) return h = a, d = d(h), a = "" === e ? "." + N(h, 0) : e, Array.isArray(d) ? (c = "", null != a && (c = a.replace(M, "$&/") + "/"), O(d, b, c, "", function (a) { return a; })) : null != d && (L(d) && (d = K(d, c + (!d.key || h && h.key === d.key ? "" : ("" + d.key).replace(M, "$&/") + "/") + a)), b.push(d)), 1; h = 0; e = "" === e ? "." : e + ":"; if (Array.isArray(a)) for (var g = 0; g < a.length; g++) { k = a[g]; var f = e + N(k, g); h += O(k, b, c, f, d); } else if (f = y(a), "function" === typeof f) for (a = f.call(a), g = 0; !(k = a.next()).done;) k = k.value, f = e + N(k, g++), h += O(k, b, c, f, d);else if ("object" === k) throw b = "" + a, Error(z(31, "[object Object]" === b ? "object with keys {" + Object.keys(a).join(", ") + "}" : b)); return h; } function P(a, b, c) { if (null == a) return a; var e = [], d = 0; O(a, e, "", "", function (a) { return b.call(c, a, d++); }); return e; } function Q(a) { if (-1 === a._status) { var b = a._result; b = b(); a._status = 0; a._result = b; b.then(function (b) { 0 === a._status && (b = b.default, a._status = 1, a._result = b); }, function (b) { 0 === a._status && (a._status = 2, a._result = b); }); } if (1 === a._status) return a._result; throw a._result; } var R = { current: null }; function S() { var a = R.current; if (null === a) throw Error(z(321)); return a; } var T = { ReactCurrentDispatcher: R, ReactCurrentBatchConfig: { transition: 0 }, ReactCurrentOwner: G, IsSomeRendererActing: { current: !1 }, assign: l }; exports.Children = { map: P, forEach: function (a, b, c) { P(a, function () { b.apply(this, arguments); }, c); }, count: function (a) { var b = 0; P(a, function () { b++; }); return b; }, toArray: function (a) { return P(a, function (a) { return a; }) || []; }, only: function (a) { if (!L(a)) throw Error(z(143)); return a; } }; exports.Component = C; exports.PureComponent = E; exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = T; exports.cloneElement = function (a, b, c) { if (null === a || void 0 === a) throw Error(z(267, a)); var e = l({}, a.props), d = a.key, k = a.ref, h = a._owner; if (null != b) { void 0 !== b.ref && (k = b.ref, h = G.current); void 0 !== b.key && (d = "" + b.key); if (a.type && a.type.defaultProps) var g = a.type.defaultProps; for (f in b) H.call(b, f) && !I.hasOwnProperty(f) && (e[f] = void 0 === b[f] && void 0 !== g ? g[f] : b[f]); } var f = arguments.length - 2; if (1 === f) e.children = c;else if (1 < f) { g = Array(f); for (var m = 0; m < f; m++) g[m] = arguments[m + 2]; e.children = g; } return { $$typeof: n, type: a.type, key: d, ref: k, props: e, _owner: h }; }; exports.createContext = function (a, b) { void 0 === b && (b = null); a = { $$typeof: r, _calculateChangedBits: b, _currentValue: a, _currentValue2: a, _threadCount: 0, Provider: null, Consumer: null }; a.Provider = { $$typeof: q, _context: a }; return a.Consumer = a; }; exports.createElement = J; expo