Files
neo 932ec3ac8f KPI cards: Bloomberg stock ticker style
- Redesign KPI cards to look like stock tickers
- Add ticker ID (e.g. ВЫРУЧК:KPI, AOV:KPI)
- Arrow up/down SVG indicators for change direction
- Mini trend-line (50px) inside each card
- Change color: green (#16a34a) for up, red (#e21d1d) for down
- Remove sparkline background area, keep only line
- Fix duplicate arrowUp variable naming (bArrowUp/bArrowDown/bArrowNeutral)
2026-06-21 18:14:08 +05:00

1 line
25 KiB
JavaScript

(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8433],{12065:function(e,t,n){"use strict";n.d(t,{x:function(){return s}});var a=n(67294),r=n(25434),i=n(37018),o=n(77536);n(61386);var l={text:"media-ui-Text_text-ry--cPm8x-A-",body_sm:"media-ui-Text_body_sm-BlWsbRhBM2w-",h1:"media-ui-Text_h1-AtMj5YoqNyw-",h2:"media-ui-Text_h2-TpvE5o6vddE-",h3:"media-ui-Text_h3-PiHPhzTFa-A-",h4:"media-ui-Text_h4-xyIFQD-kn3s-",h5:"media-ui-Text_h5-jwgrzXd5u10-",h6:"media-ui-Text_h6-Nnxc4AywUG0-",p:"media-ui-Text_p--hmGok-yY3I-",div:"media-ui-Text_div-zig7aYcHmSE-",span:"media-ui-Text_span-DIpFyILvKkM-",figcaption:"media-ui-Text_figcaption-2nPXkddKodk-",serif:"media-ui-Text_serif-9d74nBhFfa8-","sans-serif":"media-ui-Text_sans-serif-w6-tXZRlwpM-",monospace:"media-ui-Text_monospace-DUpcNu4-xC0-",sans___serif:"media-ui-Text_sans-serif-w6-tXZRlwpM-"};let c=["p","span","h1","h2","h3","h4","h5","h6","figcaption","div","section"],s=a.forwardRef(function(e,t){let{children:n,fontFamily:s,as:u="p",className:m="",name:d="text"}=e,h=typeof n,[p]=(0,r.f)(d);if("section"!==u&&"div"!==u&&"object"===h)throw Error("JSX passed as children to Text component. The Text component only allows string children. If you must use JSX children, please stringify.");let f=(0,o.Sh)([l.text,l[u],m,{...s&&{[l[s]]:!0},...!s&&"p"===u&&{[l.serif]:!0},...!s&&"p"!==u&&{[l["sans-serif"]]:!0}}],e);return"object"===h?a.createElement(i.o,{className:f,allowedTags:c,"data-component":p,as:u,ref:t},n):a.createElement(i.o,{className:f,allowedTags:c,"data-component":p,as:u,dangerouslySetInnerHTML:{__html:n},ref:t})})},44449:function(e,t,n){"use strict";n.d(t,{o:function(){return u}});var a=n(67294),r=n(25434),i=n(77536),o=n(1746),l=n(36251);n(84589);var c={chartContainer:"media-ui-TickerChartContainer_chartContainer-GzowhsDnfuk-",noData:"media-ui-TickerChartContainer_noData-dbG9VRflEF0-",message:"media-ui-TickerChartContainer_message-hZc417ub2Xo-"};let s={top:20,right:80,bottom:30,left:0},u=a.forwardRef(function(e,t){let{chartId:n,children:u,className:m,width:d=618,height:h=312,enableHoverInteraction:p=!0,enableDragInteraction:f=!1,nonSVGContent:v,pricePrecision:g=2,renderMode:x="price",showGradient:k=!0,showPreviousPrice:E=!0,tickerSnapshots:S,xAxisInterval:C,yAxisPlacement:y="right",yAxisTickSize:T=6,xAxisTickSize:b=7,handleChartHoverInteraction:w,handleChartDragInteraction:D,name:M="TickerChartContainer",formatXAxisLabel:P=l.CX,formatYAxisLabel:_=l.ez}=e,A=n||(0,l.DO)(M),I=(0,r.f)(M),L=(0,a.useRef)(null),[N,R]=(0,a.useState)(s),[F,X]=(0,a.useState)(10),[Y,z]=(0,a.useState)(0),[U,H]=(0,a.useState)(1),[G,J]=(0,a.useState)(1),[V,B]=(0,a.useState)(),[Z,W]=(0,a.useState)(!1),[O,j]=(0,a.useState)(void 0),[K,Q]=(0,a.useState)(void 0),[q,$]=(0,a.useState)(!1),[ee,et]=(0,a.useState)(void 0),[en,ea]=(0,a.useState)(void 0),[er,ei]=(0,a.useState)(void 0),[eo,el]=(0,a.useState)(void 0),ec=(0,a.useMemo)(()=>(0,l.P8)(S,x),[S,x]),es=(0,a.useMemo)(()=>(0,l.Kq)(S,ec),[S,ec]),eu=(0,a.useMemo)(()=>(0,l.tH)(S,ec,E),[S,ec,E]),em=(0,a.useMemo)(()=>(0,l.RX)(es,[N.left,d-N.right]),[es,N,d]),ed=(0,a.useMemo)(()=>(0,l._S)(eu,[h-N.bottom,N.top]),[eu,N,h]),eh=e=>{if(!L.current)return -1;let t=L.current,n=t.createSVGPoint();n.x=e.clientX||e.touches[0].clientX,n.y=e.clientY||e.touches[0].clientY;let a=t.getScreenCTM();if(!a)return -1;let{x:r}=n.matrixTransform(a.inverse());return r},ep=(0,a.useCallback)(e=>(0,l.Y)(e,d,es,N,ec),[ec,N,d,es]);(0,a.useEffect)(()=>{if(er){Q(void 0);return}if(!O){let e=p?ec[ec.length-1]:void 0;Q(e),e&&(null==w||w(e));return}let e=ep(O);e&&(Q(e),null==w||w(e))},[p,O,er,N,es,d]),(0,a.useEffect)(()=>{X(10*U)},[U]),(0,a.useEffect)(()=>{R(e=>"right"===y?{...e,left:0,right:1.2*Y}:{...e,right:0,left:1.2*Y})},[Y,y]),(0,a.useEffect)(()=>{if(!ee||!en||ee===en){ei(void 0),el(void 0),null==D||D(void 0,void 0);return}let e=ep(Math.min(ee,en)),t=ep(Math.max(ee,en));ei(e),el(t),null==D||D(e,t)},[q,ee,en]),(0,a.useEffect)(()=>{$(!1),et(void 0),ea(void 0)},[f]);let ef=(0,a.useCallback)(e=>{e.preventDefault(),W(!(q||eo))},[W,q,eo]),ev=(0,a.useCallback)(()=>{W(!1),$(!1)},[]),eg=e=>{if(!p||!Z||e<0){j(void 0);return}j(e)},ex=(0,a.useCallback)(e=>{if(e.preventDefault(),q){$(!1);return}$(!0);let t=eh(e);if(t<0){et(void 0),ea(void 0);return}et(t),ea(t)},[]),ek=(0,a.useCallback)(()=>{$(!1),W(p)},[]),eE=e=>{f&&q&&!(e<0)&&ea(e)},eS=e=>{e.preventDefault();let t=eh(e);eE(t),eg(t)};if((0,a.useEffect)(()=>{let e;if(!L.current)return;let t=null==L?void 0:L.current;return t&&(e=new ResizeObserver(e=>{for(let t of e){let e=t.contentBoxSize[0].inlineSize||t.contentRect.width||d,n=Math.max(1,d/e);H(n),J(e/d),X(10*n),B(t.contentRect)}})).observe(t),()=>{e&&t&&e.unobserve(t)}},[L,d]),0===ec.length||0===S.length)return a.createElement("div",{ref:t,"data-component":I,className:(0,i.Sh)([I,m,c.chartContainer,c.noData])},a.createElement("div",{className:c.message},"No pricing data is available"));let eC={...p&&{onMouseOver:ef,onMouseLeave:ev,onMouseMove:eS,onTouchStart:ef,onTouchMove:eS,onTouchEnd:ev},...f&&{onMouseOver:ef,onMouseDown:ex,onMouseMove:eS,onMouseLeave:ev,onMouseUp:ek}};return a.createElement("div",{ref:t,"data-component":I,className:(0,i.Sh)([I,m,c.chartContainer])},a.createElement(o.U.Provider,{value:{componentId:A,chartRectangle:V,fontRescaler:U,dataPoints:ec,hoveredDataPoint:K,dragSelectionStartDataPoint:er,dragSelectionEndDataPoint:eo,isDragActive:q,enableDragInteraction:f,isHoverActive:Z,enableHoverInteraction:p,labelFontSize:F,margin:N,pixelRescaler:G,pricePrecision:g,renderMode:x,showGradient:k,showPreviousPrice:E,tickerSnapshots:S,updateYAxisLabelWidth:z,xAxisInterval:C,xDomain:es,xScale:em,yAxisLabelWidth:Y,xAxisTickSize:b,yAxisPlacement:y,yAxisTickSize:T,yDomain:eu,yScale:ed,formatXAxisLabel:P,formatYAxisLabel:_,handleChartHoverInteraction:w,handleChartDragInteraction:D,height:h,width:d}},v,a.createElement("svg",{ref:L,viewBox:"0 0 ".concat(d," ").concat(h),preserveAspectRatio:"xMidYMid meet",...eC},u)))})},1746:function(e,t,n){"use strict";n.d(t,{J:function(){return i},U:function(){return r}});var a=n(67294);let r=(0,a.createContext)(void 0),i=()=>{let e=(0,a.useContext)(r);if(!e)throw Error("useTickerChart must be used within a TickerChartContext.Provider");return e}},4442:function(e,t,n){"use strict";n.d(t,{A:function(){return i}});var a=n(67294),r=n(1746);function i(){let{componentId:e,height:t,hoveredDataPoint:n,margin:i,tickerSnapshots:o,xScale:l,yScale:c}=(0,r.J)(),[s,u]=(0,a.useState)(0);return(0,a.useEffect)(()=>{if(!n){u(0);return}u(l(n.timestamp))},[n,i]),n&&n.timestamp?a.createElement("g",{"data-component":"hover-highlight"},a.createElement("g",{"data-component":"hover-line-x-axis"},a.createElement("line",{x1:s,x2:s,y1:0,y2:t-i.bottom,stroke:"black",strokeWidth:1,strokeDasharray:"2,2"})),a.createElement("g",{"data-component":"hover-point",transform:"translate(".concat(s,", 0)")},o.map((t,r)=>a.createElement("circle",{key:"".concat(e,"_point-highlight-").concat(t.id,"-").concat(r),cy:c(n[t.id]),r:"4",fill:t.color||"black"})))):null}},81234:function(e,t,n){"use strict";n.d(t,{i:function(){return s}});var a=n(67294),r=n(77536),i=n(1746);n(74427);var o={line:"media-ui-TickerChartPricePath_line-8APo5XUFt8M-",neutral:"media-ui-TickerChartPricePath_neutral-1AGcYC24nv0-",gradient:"media-ui-TickerChartPricePath_gradient-2WAzz91c70Y-",positive:"media-ui-TickerChartPricePath_positive-O2XAKFvb1mY-",negative:"media-ui-TickerChartPricePath_negative-tIVLGXCVyuQ-",dragInteractionActive:"media-ui-TickerChartPricePath_dragInteractionActive-kMwf5IMC7IM-"};let l=function(e,t,n,a){let r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:-1;if(!e.length)return"";let[i]=e,o="M ".concat(n(null==i?void 0:i.timestamp)," ").concat(a(null==i?void 0:i[t]));if(e.forEach((e,r)=>{if(0===r)return;let i=n(e.timestamp),l=a(e[t]);o+=" L ".concat(i,",").concat(l)}),r<0)return o;let l=e[e.length-1],c=n(null==l?void 0:l.timestamp);return o+=" L ".concat(c,",").concat(r)+" L ".concat(n(null==i?void 0:i.timestamp),",").concat(r)+"Z"},c=function(e,t,n,i,c,s,u){var m,d,h;let p=arguments.length>7&&void 0!==arguments[7]&&arguments[7],f=arguments.length>8&&void 0!==arguments[8]&&arguments[8];if(!e.length)return null;let v=f?null===(m=e[0])||void 0===m?void 0:m[t.id]:t.previousPrice||(null===(d=e[0])||void 0===d?void 0:d[t.id]),g=null===(h=e[e.length-1])||void 0===h?void 0:h[t.id],x=(0,r.Mg)(g-v),k=c?l(e,t.id,n,i,s):"",E=l(e,t.id,n,i),S="".concat(t.id,"-").concat(u),C="".concat(t.id,"-").concat(u,"-background");return a.createElement("g",{"data-component":"price-path","data-ticker":t.id},c&&!p&&a.createElement(a.Fragment,null,a.createElement("defs",null,a.createElement("filter",{x:"0",y:"0",width:"1",height:"1",id:C},a.createElement("feFlood",{floodColor:"white"}),a.createElement("feComposite",{in:"SourceGraphic",operator:"over"})),a.createElement("linearGradient",{id:S,x1:0,y1:0,x2:0,y2:1,className:(0,r.RD)([o.gradient,x&&o[x]])},a.createElement("stop",{key:"0.3",offset:"0%",stopColor:"currentColor",stopOpacity:"0.3"}),a.createElement("stop",{key:"0",offset:"74.24%",stopColor:"currentColor",stopOpacity:"0"}))),a.createElement("path",{key:"gradient-".concat(t.id),d:k,fill:"url(#".concat(S,")"),stroke:"none"})),a.createElement("path",{key:"price-".concat(t.id),d:E,fill:"none",stroke:c||p?"currentColor":t.color||"currentColor",strokeWidth:2,className:(0,r.RD)([o.line,x&&o[x],p&&o.dragInteractionActive])}))};function s(){let{componentId:e,dataPoints:t,tickerSnapshots:n,xScale:r,yScale:o,dragSelectionStartDataPoint:l,dragSelectionEndDataPoint:s,showGradient:u,height:m,margin:d}=(0,i.J)();if(!t.length)return null;let h=[];return l&&s&&(h=t.filter(e=>e.timestamp>=l.timestamp&&e.timestamp<=s.timestamp)),a.createElement(a.Fragment,null,a.createElement("g",{"data-component":"tickers-price-path"},n.map(n=>a.createElement(a.Fragment,{key:n.id},c(t,n,r,o,u,m-d.bottom,e,h.length>0)))),h.length>0&&a.createElement("g",{"data-component":"tickers-drag-price-path"},n.map(t=>a.createElement(a.Fragment,{key:"drag-".concat(t.id)},c(h,t,r,o,u,m-d.bottom,e,!1,!0)))))}},88527:function(e,t,n){"use strict";n.d(t,{p:function(){return h}});var a=n(67294),r=n(30310),i=n(98279),o=n(1746);n(79781);var l={tooltipContainer:"media-ui-TickerChartTooltips_tooltipContainer-hUZgEjXItFs-",hoverContainer:"media-ui-TickerChartTooltips_hoverContainer-xSmWCbkmZIg-",hoverTimestamp:"media-ui-TickerChartTooltips_hoverTimestamp-Rf2hjDDBu0I-",hoverValue:"media-ui-TickerChartTooltips_hoverValue-tQXjwwUYU5s-",prevCloseContainer:"media-ui-TickerChartTooltips_prevCloseContainer-ISAYEXa-gXY-",previousCloseLabel:"media-ui-TickerChartTooltips_previousCloseLabel-Xz3XPZSmmlE-",previousCloseValue:"media-ui-TickerChartTooltips_previousCloseValue--g6qB73BU6Y-",dragContainer:"media-ui-TickerChartTooltips_dragContainer-1aTITVFAGCY-",dataLabel:"media-ui-TickerChartTooltips_dataLabel-JRXyQqiseuI-",tickerLegendRow:"media-ui-TickerChartTooltips_tickerLegendRow-4JLS3zLR7mo-",tickerLegend:"media-ui-TickerChartTooltips_tickerLegend-FDTMBXY4vBw-",tickerLabel:"media-ui-TickerChartTooltips_tickerLabel-DUBQnPIJOoo-",dataRow:"media-ui-TickerChartTooltips_dataRow-pYc1tXji2oA-"};function c(){var e,t;let[n,c]=(0,a.useState)("0px"),[s,u]=(0,a.useState)([]),{xScale:m,xAxisInterval:d,pixelRescaler:h,pricePrecision:p,renderMode:f,tickerSnapshots:v,dragSelectionStartDataPoint:g,dragSelectionEndDataPoint:x,formatXAxisLabel:k,formatYAxisLabel:E}=(0,o.J)();return(0,a.useEffect)(()=>{if(!g||!x){c("0px");return}u(v.map(e=>{let t="percentage"===f?"".concat(e.id,"_$price"):e.id;return{id:e.id,name:e.name||e.id,color:e.color||"black",...function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:2,a=t-e,r=0;return 0!==e&&(r=a/Math.abs(e)*100),{priceChange:parseFloat(a.toFixed(n)),percentChange:parseFloat(r.toFixed(n))}}(g[t],x[t],p)}}));let e=m(g.timestamp)*h;c("".concat(e,"px"))},[g,x,v]),g&&x?a.createElement("div",{"data-component":"tickerchart-drag-tooltip",className:l.dragContainer,style:{left:"min(".concat(n,", calc(100% - 150px))")}},s.map(e=>a.createElement("div",{key:e.id,"data-component":"tickerchart-drag-tooltip-change",className:l.dataRow},s.length>1&&a.createElement("div",{className:l.tickerLegendRow},a.createElement("span",{className:l.tickerLegend,style:{backgroundColor:e.color}}),a.createElement("span",{className:l.tickerLabel},e.name||e.id)),a.createElement(r.R,{variant:i.$e.refresh2024,size:"small",percentChange:e.percentChange,priceChange:e.priceChange,precision:p}))),a.createElement("div",{"data-component":"tickerchart-drag-tooltip-timestamp",className:l.dataRow},a.createElement("span",{className:l.hoverTimestamp},k(g.timestamp,d,!0)),a.createElement("span",null,"<>"),a.createElement("span",{className:l.hoverTimestamp},k(x.timestamp,d,!0))),1===s.length&&a.createElement("div",{"data-component":"tickerchart-drag-tooltip-price",className:l.dataRow},a.createElement("span",{className:l.dataLabel},"Price:"),a.createElement("span",{className:l.hoverTimestamp},E(g[null===(e=s[0])||void 0===e?void 0:e.id],p,f,!0)),a.createElement("span",null,"<>"),a.createElement("span",{className:l.hoverTimestamp},E(x[null===(t=s[0])||void 0===t?void 0:t.id],p,f,!0)))):null}function s(){let{hoveredDataPoint:e,enableHoverInteraction:t,pixelRescaler:n,pricePrecision:r,renderMode:i,tickerSnapshots:c,xAxisInterval:s,xScale:u,yScale:m,formatXAxisLabel:d,formatYAxisLabel:h}=(0,o.J)(),[p,f]=(0,a.useState)(null),[v,g]=(0,a.useState)("0px");return(0,a.useEffect)(()=>{if((null==c?void 0:c.length)!==1){f(null);return}let[e]=c;e&&f(e)},[c,m,n]),(0,a.useEffect)(()=>{if(!e){g("0px");return}let t=u(e.timestamp)*n;g("".concat(t,"px"))},[e,u,n]),t&&e?a.createElement("div",{"data-component":"tickerchart-hover-tooltip",className:l.hoverContainer,style:{left:v}},p&&a.createElement("span",{className:l.hoverValue},h(e[p.id],r,i,!0)),a.createElement("span",{className:l.hoverTimestamp},d(e.timestamp,s,!0))):null}var u=n(18005),m=n(36251);function d(){let{pixelRescaler:e,pricePrecision:t,renderMode:n,showPreviousPrice:r,tickerSnapshots:i,yScale:c,yAxisPlacement:s}=(0,o.J)(),[d,h]=(0,a.useState)(null),[p,f]=(0,a.useState)("0px"),v=(0,u.Q)()({id:"media-ui-markets-prev-close",defaultMessage:"Prev. close"});return(0,a.useEffect)(()=>{if((null==i?void 0:i.length)!==1){h(null);return}let[t]=i;if(t){if(null==t?void 0:t.previousPrice){let n=c(t.previousPrice)*e;f("".concat(n,"px"))}else f("0px");h(t)}},[i,c,e]),r&&(null==d?void 0:d.previousPrice)?a.createElement("div",{"data-component":"tickerchart-previousPrice-tooltip",className:l.prevCloseContainer,style:{..."right"===s?{left:-1}:{right:-1},top:p}},a.createElement("span",{className:l.previousCloseLabel},v),a.createElement("span",{className:l.previousCloseValue},(0,m.ez)(d.previousPrice,t,n)," ",d.issuedCurrency?d.issuedCurrency:d.issuedUnits)):null}function h(){return a.createElement("div",{"data-component":"tickerchart-tooltips",className:l.tooltipContainer},a.createElement(s,null),a.createElement(c,null),a.createElement(d,null))}},72412:function(e,t,n){"use strict";n.d(t,{v:function(){return o}});var a=n(67294),r=n(1746),i=n(36251);function o(){let{componentId:e,dataPoints:t,labelFontSize:n,height:o,margin:l,width:c,xAxisInterval:s,xScale:u,xDomain:m,xAxisTickSize:d,yAxisPlacement:h,formatXAxisLabel:p}=(0,r.J)(),[f,v]=(0,a.useState)(0),[g,x]=(0,a.useState)(0),[k,E]=(0,a.useState)(1);(0,a.useEffect)(()=>{let[e,t]=m;x(e),E(t)},[m]),(0,a.useEffect)(()=>{v(o-l.bottom)},[o,l.bottom]);let[S,C]=(0,a.useMemo)(()=>[new Date(g),new Date(k)],[g,k]),y=(0,a.useMemo)(()=>(0,i.b_)(S,C,d,h),[S,C,d,h]);return(null==t?void 0:t.length)&&0!==g&&0!==k?a.createElement("g",{"data-component":"x-axis"},a.createElement("line",{x1:0,x2:c,y1:f,y2:f,stroke:"black"}),y.map((t,r)=>{let i=u(t),o=p(t,s),l=f+Math.min(10,n/2),c=f+Math.min(35,1.5*n);return a.createElement("g",{key:"".concat(e,"_x-axis_").concat(t,"-").concat(r),transform:"translate(".concat(i,", 0)")},a.createElement("line",{y1:f,y2:l,stroke:"black"}),a.createElement("text",{x:0,y:c,textAnchor:"middle",fontSize:n,fill:"#545454"},o))})):null}},90212:function(e,t,n){"use strict";n.d(t,{w:function(){return o}});var a=n(67294),r=n(1746),i=n(36251);function o(){let{componentId:e,dataPoints:t,labelFontSize:n,pricePrecision:o,renderMode:l,width:c,yAxisPlacement:s,yAxisTickSize:u,yScale:m,yDomain:d,updateYAxisLabelWidth:h,formatYAxisLabel:p}=(0,r.J)(),f=(0,a.useRef)(null),[v,g]=(0,a.useState)(10),[x,k]=(0,a.useState)(0),[E,S]=(0,a.useState)(1),[C,y]=(0,a.useState)({});(0,a.useEffect)(()=>{let[e,t]=d;k(e),S(t)},[d]);let T=(0,a.useMemo)(()=>(0,i.ND)(x,E,u),[x,E,u]),b=(0,a.useMemo)(()=>T.map(e=>p(e,o,l,!1)),[o,l,T]),w=(0,a.useMemo)(()=>b.reduce((e,t)=>{if(t.length===e.length){let n=t.replace("-",""),a=e.replace("-","");return n.length>=a.length?t:e}return t.length>e.length?t:e},""),[b]),D=()=>{if(f.current){var e,t;let n=null===(e=(t=f.current).getComputedTextLength)||void 0===e?void 0:e.call(t);g(n),h(n)}};return(0,a.useEffect)(()=>{if("left"===s){y({x1:v+5,x2:c,x:0});return}y({x1:0,x2:c-v-5,x:c})},[s,v,c]),(0,a.useEffect)(D,[w,n]),(0,a.useEffect)(()=>{if(!f.current)return;let e=new ResizeObserver(D);return e.observe(f.current),()=>{e.disconnect()}},[]),(null==t?void 0:t.length)?a.createElement("g",{"data-component":"y-axis"},a.createElement("text",{ref:f,dy:".32em",x:c,textAnchor:"end",fontSize:n,style:{position:"absolute",visibility:"hidden"}},w),T.map((t,r)=>{let i=m(t);return a.createElement("g",{key:"".concat(e,"_y-axis_").concat(t,"-").concat(r),transform:"translate(0, ".concat(i,")")},a.createElement("line",{x1:C.x1,x2:C.x2,stroke:"#CCCCCC",width:2,strokeDasharray:"2,2"}),a.createElement("text",{x:C.x,dominantBaseline:"middle",textAnchor:"left"===s?"":"end",fontSize:n,fill:"#545454"},b[r]))})):null}},57354:function(e,t,n){"use strict";n.d(t,{p:function(){return i}});var a=n(67294),r=n(1746);function i(){let{fontRescaler:e,labelFontSize:t,yAxisPlacement:n,yScale:i,yAxisLabelWidth:o,showPreviousPrice:l,tickerSnapshots:c,width:s}=(0,r.J)(),[u,m]=(0,a.useState)(null),[d,h]=(0,a.useState)({});return(0,a.useEffect)(()=>{let[e]=c||[];e&&m(e)},[c]),(0,a.useEffect)(()=>{if(!u||!u.previousPrice)return;let e=i(u.previousPrice),t=2*o,a="right"===n?s-o-5:s;h({x:"right"===n?0:a-t,y:e,x1:"right"===n?0:o+5,x2:a})},[u,e,t,i,n,o]),l&&u&&u.previousPrice?a.createElement("g",{"data-component":"previous-price-y-axis"},a.createElement("line",{x1:d.x1,y1:d.y,x2:d.x2,y2:d.y,stroke:"black",strokeDasharray:2})):null}},64190:function(e,t,n){"use strict";n.d(t,{U:function(){return f}});var a=n(67294),r=n(25434),i=n(77536),o=n(44449),l=n(1746);function c(){let[e,t]=(0,a.useState)(0),[n,r]=(0,a.useState)(0),{componentId:i,height:o,margin:c,xScale:s,dragSelectionStartDataPoint:u,dragSelectionEndDataPoint:m,tickerSnapshots:d,yScale:h}=(0,l.J)();return(0,a.useEffect)(()=>{if(!u||!m){t(0),r(0);return}t(s(u.timestamp)),r(s(m.timestamp))},[u,m]),(e>0||n>0)&&u&&m?a.createElement("g",{"data-component":"drag-highlight"},a.createElement("g",{"data-component":"drag-x-axis-start"},a.createElement("line",{x1:e,x2:e,y1:0,y2:o-c.bottom,stroke:"black",strokeWidth:1,strokeDasharray:"2,2"})),a.createElement("rect",{x:e,y:0,width:n-e,height:o-c.bottom,fill:"transparent"}),a.createElement("g",{"data-component":"drag-x-axis-end"},a.createElement("line",{x1:n,x2:n,y1:0,y2:o-c.bottom,stroke:"black",strokeWidth:1,strokeDasharray:"2,2"})),a.createElement("g",{"data-component":"drag-hover-point-start",transform:"translate(".concat(e,", 0)")},d.map((e,t)=>a.createElement("circle",{key:"".concat(i,"_point-highlight-").concat(e.id,"-").concat(t),cy:h(u[e.id]),r:"4",fill:e.color||"black"}))),a.createElement("g",{"data-component":"drag-hover-point-end",transform:"translate(".concat(n,", 0)")},d.map((e,t)=>a.createElement("circle",{key:"".concat(i,"_point-highlight-").concat(e.id,"-").concat(t),cy:h(m[e.id]),r:"4",fill:e.color||"black"})))):null}var s=n(4442),u=n(81234),m=n(88527),d=n(72412),h=n(90212),p=n(57354);let f=a.forwardRef(function(e,t){let{children:n,name:l="TickerChart",className:f}=e,v=(0,r.f)(l),g={...e,nonSVGContent:a.createElement(a.Fragment,null,a.createElement(m.p,null),e.nonSVGContent)};return a.createElement("div",{ref:t,"data-component":v,className:(0,i.RD)([f,v,"w-full"])},a.createElement(o.o,{...g},a.createElement(d.v,null),a.createElement(h.w,null),a.createElement(u.i,null),a.createElement(p.p,null),a.createElement(s.A,null),a.createElement(c,null),n))})},36251:function(e,t,n){"use strict";n.d(t,{CX:function(){return D},DO:function(){return a},HL:function(){return _},Kq:function(){return E},ND:function(){return s},P8:function(){return o},RX:function(){return S},Y:function(){return A},_S:function(){return u},aw:function(){return P},b_:function(){return M},ez:function(){return d},tH:function(){return c}});let a=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"xyx-axb-ybax",n=new Date().getTime(),a=0;return e+t.replace(/[abxy]/g,e=>{let t=16*Math.random();return n>0?(t=(n+t)%16|0,n=Math.floor(n/16)):(t=(a+t)%16|0,a=Math.floor(a/16)),("x"===e?t:3&t|8).toString(16)})},r=e=>{let t=[];for(let n of e){let e=[];for(let t of n.priceMovements)e.push({timestamp:new Date(t.dateTime).getTime(),value:t.value});t.push({tickerId:n.id,series:e})}return t},i=(e,t,n)=>{var a;if(0===t.length)return[];let r=new Set;for(let e of t)for(let t of e.series)r.add(t.timestamp);let i=Array.from(r).sort((e,t)=>e-t),o={};if("percentage"===n)for(let t of e)t.previousPrice?o[t.id]=t.previousPrice:t.priceMovements.length?o[t.id]=(null===(a=t.priceMovements[0])||void 0===a?void 0:a.value)||1:o[t.id]=1;return i.map(e=>{let a={timestamp:e};for(let r of t){let t;let i=r.series.find(t=>t.timestamp===e);if(i)t=i.value;else{let n=[...r.series].reverse().find(t=>t.timestamp<=e);t=n?n.value:r.series.length&&r.series[0]?r.series[0].value:0}a[r.tickerId]="price"===n?t:(t-(o[r.tickerId]||0))/(o[r.tickerId]||0)*100,"percentage"===n&&(a["".concat(r.tickerId,"_$price")]=t)}return a})},o=(e,t)=>{if(!(null==e?void 0:e.length))return[];let n=r(e);return i(e,n,t)},l=function(e,t){let n,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:.15,r=t-e;return n=0===r?0===e?1:Math.abs(e)*a:r*a,[e-n,t+2*n]},c=(e,t,n)=>{var a;if((null==t?void 0:t.length)<2)return[0,1];let r=1/0,i=-1/0;for(let n of t)for(let t of e){let e=n[t.id];r=Math.min(r,e),i=Math.max(i,e)}return n&&1===e.length&&(null===(a=e[0])||void 0===a?void 0:a.previousPrice)&&(r=Math.min(r,e[0].previousPrice),i=Math.max(i,e[0].previousPrice)),(r===1/0||i===-1/0)&&(r=-1,i=1),l(r,i)},s=(e,t,n)=>{if(n<=1)return[e,t];let a=(t-e)/(n-1),r=[];for(let t=1;t<n;t++)r.push(e+a*t);return r},u=(e,t)=>{let[n,a]=e,[r,i]=t,o=a-n,l=i-r;return e=>0===o?r:r+(e-n)/o*l},m="en-US",d=(e,t,n)=>{let a=Math.abs(e),r="percentage"===n?"%":"",i={minimumFractionDigits:t,maximumFractionDigits:t},o="";return e<0?o="-":e>0&&(o="+"),a>=1e9?"".concat(o).concat((a/1e9).toLocaleString(m,i),"B").concat(r):a>=1e6?"".concat(o).concat((a/1e6).toLocaleString(m,i),"M").concat(r):a>=1e3?"".concat(o).concat((a/1e3).toLocaleString(m,i),"K").concat(r):"".concat(o).concat(a.toLocaleString(m,i)).concat(r)},h=e=>{let t=new Date(e),n=t.getMinutes();return t.setMinutes(30*Math.floor(n/30),0,0),t},p=e=>{let t=new Date(e),n=t.getMinutes();return t.setMinutes(n+(n%30==0?0:30-n%30),0,0),t},f=e=>{let t=new Date(e);return t.setMinutes(0,0,0),t},v=e=>{let t=new Date(e);return t.setHours(t.getHours()+1,0,0,0),t},g=e=>{let t=new Date(e);return t.setHours(0,0,0,0),t},x=e=>{let t=new Date(e);return t.setDate(t.getDate()+1),t.setHours(t.getHours()+1,0,0,0),t},k=(e,t)=>{let n,a;let r=new Date(e),i=new Date(t),o=(t-e)/36e5;return o<=8?(n=h(r),a=p(i)):o<=24?(n=f(r),a=v(i)):(n=g(r),a=x(i)),[n,a]},E=(e,t)=>{var n,a;if((null==t?void 0:t.length)<2)return[0,1];let[r,i]=k((null===(n=t[0])||void 0===n?void 0:n.timestamp)||0,Math.max((null===(a=t[t.length-1])||void 0===a?void 0:a.timestamp)||1,...e.flat().map(e=>{let{tradingDayClose:t}=e;return t?new Date(t).getTime():0})));return[r.getTime(),i.getTime()]},S=(e,t)=>{let[n,a]=e,[r,i]=t;return e=>r+(e-n)/(a-n)*(i-r)},C=new Intl.DateTimeFormat("en-US",{month:"2-digit",day:"2-digit",timeZone:"America/New_York"}),y=new Intl.DateTimeFormat("en-US",{month:"short",day:"2-digit",timeZone:"America/New_York"}),T=new Intl.DateTimeFormat("en-US",{hour:"2-digit",minute:"2-digit",hour12:!1,timeZone:"America/New_York"}),b=new Intl.DateTimeFormat("en-US",{year:"numeric",month:"2-digit",timeZone:"America/New_York"}),w=new Intl.DateTimeFormat("en-US",{year:"numeric",month:"short",day:"2-digit",timeZone:"America/New_York"}),D=function(e,t){let n,a=arguments.length>2&&void 0!==arguments[2]&&arguments[2];switch(t){case"hour":n=T.format(new Date(e));break;case"month":n=a?w.format(new Date(e)):b.format(new Date(e));break;default:n=a?y.format(new Date(e)):C.format(new Date(e))}return n},M=(e,t,n,a)=>{let r=[],i=e.getTime(),o=t.getTime();if(n<=1)return[i,o];let l=new Date(e.getTime()),c=(o-i)/n/6e4;"right"===a&&l.setMinutes(l.getMinutes()+c);for(let e=0;e<n;e++)r.push(l.getTime()),l.setMinutes(l.getMinutes()+c);return r},P=(e,t,n)=>{let[a,r]=t,[i,o]=n;return a+(e-i)/(o-i)*(r-a)},_=(e,t)=>{if(!(null==e?void 0:e.length))return;let[n]=e;if(!n)return;let a=Math.abs(t-n.timestamp);for(let r of e){let e=Math.abs(t-r.timestamp);if(e<=a){a=e,n=r;continue}if(a>=e)break}return n},A=(e,t,n,a,r)=>_(r,P(e,n,[a.left,t-a.right]))},61386:function(){},84589:function(){},74427:function(){},79781:function(){}}]);