@polygon.io/charts
Version:
A set of React components for charting financial market data.
1 lines • 2.95 kB
JavaScript
"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault"),_typeof=require("@babel/runtime/helpers/typeof");Object.defineProperty(exports,"__esModule",{value:!0}),exports["default"]=void 0;var _react=_interopRequireWildcard(require("react")),_styledComponents=_interopRequireWildcard(require("styled-components")),_LineDataChart=_interopRequireDefault(require("../LineDataChart")),_InteractiveLayer=_interopRequireDefault(require("../InteractiveLayer")),_CandlestickChart=_interopRequireDefault(require("../CandlestickChart"));function _getRequireWildcardCache(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(_getRequireWildcardCache=function(a){return a?c:b})(a)}function _interopRequireWildcard(a,b){if(!b&&a&&a.__esModule)return a;if(null===a||"object"!==_typeof(a)&&"function"!=typeof a)return{default:a};var c=_getRequireWildcardCache(b);if(c&&c.has(a))return c.get(a);var d={},e=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var f in a)if("default"!=f&&Object.prototype.hasOwnProperty.call(a,f)){var g=e?Object.getOwnPropertyDescriptor(a,f):null;g&&(g.get||g.set)?Object.defineProperty(d,f,g):d[f]=a[f]}return d["default"]=a,c&&c.set(a,d),d}var __jsx=_react["default"].createElement,Overlayed=_styledComponents["default"].div.withConfig({displayName:"AggregatesChart__Overlayed",componentId:"sc-1vdki7p-0"})(["position:absolute;bottom:0;height:","px;width:","px;"],function(a){var b=a.height;return b},function(a){var b=a.width;return b}),ChartContainer=_styledComponents["default"].div.withConfig({displayName:"AggregatesChart__ChartContainer",componentId:"sc-1vdki7p-1"})(["padding-top:",";position:relative;height:","px;width:","px;"],function(a){var b=a.theme;return b.spacing.s4},function(a){var b=a.height;return b},function(a){var b=a.width;return b}),AggregatesChart=function(a){var b=a.className,c=a.aggregates,d=a.previousClose,e=a.width,f=a.height,g=a.onMouseover,h=a.chartType,i=a.liveUpdates,j=a.transitionDuration,k=(0,_styledComponents.useTheme)(),l=(0,_react.useMemo)(function(){var a=["line","line-volume"].includes(h)?_LineDataChart["default"]:_CandlestickChart["default"];return["line","candle"].includes(h)?{base:__jsx(a,{data:c,previousClose:d,width:e,height:f,liveUpdates:i,transitionDuration:j||k.transitionDuration})}:{base:__jsx(a,{data:c,previousClose:d,width:e,height:.75*f,liveUpdates:i,transitionDuration:j||k.transitionDuration})}},[h,c,e,f,j,d,i]);return __jsx(ChartContainer,{className:b,width:e,height:f},l.base&&__jsx(Overlayed,{width:e,height:f},l.base,l.reference),__jsx(Overlayed,{width:e,height:f+20},__jsx(_InteractiveLayer["default"],{data:c,handleMouseover:g,width:e,height:f})))};AggregatesChart.defaultProps={className:void 0,aggregates:[],previousClose:0,width:800,height:200,onMouseover:void 0,transitionDuration:600,chartType:"line-volume",liveUpdates:!1};var _default=AggregatesChart;exports["default"]=_default;