@polygon.io/charts
Version:
A set of React components for charting financial market data.
2 lines • 2.04 kB
JavaScript
;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")),_slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")),_styledComponents=require("styled-components"),_d3Array=require("d3-array"),_toMilliseconds=_interopRequireDefault(require("@polygon.io/utils/dist/toMilliseconds")),_usePriceAxis=_interopRequireDefault(require("../../hooks/usePriceAxis"));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,PreviousCloseLine=function(a){var b=a.data,c=a.width,d=a.height,e=a.previousClose,f=(0,_styledComponents.useTheme)(),g=f.color.border.primary,h=(0,_react.useMemo)(function(){var a=(0,_d3Array.extent)(b,function(a){var b=a.t;return b}),c=(0,_slicedToArray2["default"])(a,2),d=c[0],e=c[1];return e-d},[b]),i=(0,_usePriceAxis["default"])(d,b,e),j=(0,_react.useMemo)(function(){return i(e)},[i,e]);// Only show previous close line if the data timespan is within a day
return h>(0,_toMilliseconds["default"])(1,"day")?null:__jsx("line",{x1:0,x2:c,y1:j,y2:j,stroke:g,strokeWidth:.5,strokeDasharray:"4, 4"})};PreviousCloseLine.defaultProps={data:[],previousClose:0};var _default=PreviousCloseLine;exports["default"]=_default;