Files
ai/charting_library/bundles/471.d85533b184c8b5243a47.js

5 lines
14 KiB
JavaScript

(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[471],{42391:(e,t,n)=>{"use strict";n.d(t,{CustomBehaviourContext:()=>s});const s=(0,n(79474).createContext)({enableActiveStateStyles:!0});s.displayName="CustomBehaviourContext"},93645:(e,t,n)=>{"use strict";var s;n.d(t,{LogoSize:()=>s,getLogoUrlResolver:()=>a}),function(e){e[e.Medium=0]="Medium",e[e.Large=1]="Large"}(s||(s={}));class i{getSymbolLogoUrl(e){return e}collectSymbolLogoUrls(e,t){return[]}getCountryFlagUrl(){return""}getCryptoLogoUrl(e){return e}getProviderLogoUrl(e){return e}getSourceLogoUrl(e){return e}getBlockchainContractLogoUrl(e){return e}}let r;function a(){return r||(r=new i),r}},57069:(e,t,n)=>{"use strict";n.d(t,{useWatchedValueReadonly:()=>r});var s=n(79474),i=n(69947);const r=(e,t=!1,n=[])=>{const r="watchedValue"in e?e.watchedValue:void 0,a="defaultValue"in e?e.defaultValue:e.watchedValue.value(),[o,l]=(0,s.useState)(r?r.value():a);return(t?i.useIsomorphicLayoutEffect:s.useEffect)((()=>{if(r){l(r.value());const e=e=>l(e);return r.subscribe(e),()=>r.unsubscribe(e)}return()=>{}}),[r,...n]),o}},43400:e=>{e.exports={wrapper:"wrapper-hPiAkrn3",timezone:"timezone-hPiAkrn3",largePadding:"largePadding-hPiAkrn3",sessionDayWrapper:"sessionDayWrapper-hPiAkrn3",nowWrapper:"nowWrapper-hPiAkrn3",now:"now-hPiAkrn3",sessionDay:"sessionDay-hPiAkrn3",weekDay:"weekDay-hPiAkrn3",sessionDaySegments:"sessionDaySegments-hPiAkrn3",timeMarkWrapper:"timeMarkWrapper-hPiAkrn3",timeMarkSegment:"timeMarkSegment-hPiAkrn3",timeMark:"timeMark-hPiAkrn3",timeMarkSegmentAlignByEnds:"timeMarkSegmentAlignByEnds-hPiAkrn3",segment:"segment-hPiAkrn3",small:"small-hPiAkrn3",start:"start-hPiAkrn3",end:"end-hPiAkrn3",active:"active-hPiAkrn3",green:"green-hPiAkrn3",orange:"orange-hPiAkrn3",blue:"blue-hPiAkrn3",gray:"gray-hPiAkrn3",tooltip:"tooltip-hPiAkrn3",time:"time-hPiAkrn3"}},45327:(e,t,n)=>{"use strict";n.d(t,{FullSessionScheduleRenderer:()=>A});var s=n(79474),i=n(14487),r=n(85842),a=n(91599),o=n(57069),l=n(47166),u=n(43400);const d=new WeakMap;function c(e){return d.has(e)||d.set(e,(0,l.randomHash)()),(0,r.ensureDefined)(d.get(e))}const m=new Map([[0,u.green],[1,u.orange],[2,u.blue],[3,u.gray]]),v=new Map([[0,a.t(null,void 0,n(91830))],[1,a.t(null,void 0,n(28809))],[2,a.t(null,void 0,n(14890))],[3,a.t(null,void 0,n(82983))]]),y=a.t(null,void 0,n(84083));var f;function h(e){const{segment:t,forceStart:n,forceEnd:r}=e,a=t.end.value-t.start.value,o=a<.03,l={left:100*t.start.value+"%",width:`calc(${100*a}% + ${o?2:0}px)`},d=i(u.segment,m.get(t.type),(n||t.start.isFirstOrLastPoint)&&u.start,(r||t.end.isFirstOrLastPoint)&&u.end,o&&u.small,"common-tooltip-html","apply-common-tooltip"),c=function(e,t){return`<div class="${u.tooltip}">\n\t\t<span class="${m.get(t)}">${v.get(t)}</span>\n\t\t<span class="${u.time}">${e}</span>\n\t</div>`}(t.tooltip,t.type);return s.createElement("div",{className:d,style:l,"data-tooltip":c})}function D(e){const{sessionDay:t}=e,n=t.entries.map(((e,n)=>s.createElement(h,{key:`${c(e)}Segment`,segment:e,forceStart:0===n&&3===e.type,
forceEnd:n===t.entries.length-1&&3===e.type}))),r=i(u.sessionDay,t.isActive&&u.active);return s.createElement("div",{className:r},s.createElement("div",{className:u.weekDay},t.title),s.createElement("div",{className:u.sessionDaySegments},n))}function g(e){const{sessionDays:t,currentTimeMark:n}=e,r=[],a=parseInt(Object.keys(t).filter((e=>t[parseInt(e)].isActive))[0]),o=t[a].entries.filter((e=>e.start.value<=n&&e.end.value>=n))[0];if((o.start.isFirstOrLastPoint||3===o.type)&&r.push(o.start),(o.end.isFirstOrLastPoint||3===o.type)&&r.push(o.end),0===r.length)return null;r.sort(((e,t)=>e.value-t.value));const l=r.map((e=>s.createElement("div",{key:c(e),className:u.timeMark},e.title))),d=100*(2===r.length?r[1].value-r[0].value:0),m=i(d>12&&u.timeMarkSegmentAlignByEnds,u.timeMarkSegment);return s.createElement("div",{className:u.sessionDay},s.createElement("div",{className:u.weekDay}),s.createElement("div",{className:u.timeMarkWrapper},s.createElement("div",{className:m,style:{left:100*r[0].value+"%",width:`${d}%`}},l)))}function A(e){const{className:t,timezone:n,showAllDays:r,timeZoneClassName:a}=e,l=(0,o.useWatchedValueReadonly)({watchedValue:e.sessionDays}),d=(0,o.useWatchedValueReadonly)({watchedValue:e.now}),c=Object.values(l).filter((e=>e.isActive))[0],m=i(t,u.wrapper);return s.createElement("div",{className:m},s.createElement("div",{className:u.sessionDayWrapper},r?s.createElement(s.Fragment,null,Object.values(l).map(((e,t)=>s.createElement(D,{key:t,sessionDay:e})))):s.createElement(D,{sessionDay:c}),s.createElement("div",{className:u.nowWrapper},s.createElement("div",{className:u.now,style:{left:100*d+"%"}}))),s.createElement(g,{sessionDays:l,currentTimeMark:d}),s.createElement("div",{className:i(u.timezone,a,r&&u.largePadding)},`${y}: ${n}`))}!function(e){e[e.MinSegmentWidth=12]="MinSegmentWidth",e[e.SmallWidth=.03]="SmallWidth"}(f||(f={}))},81323:(e,t,n)=>{"use strict";n.d(t,{FullSessionScheduleViewModel:()=>j});var s=n(78589),i=n(7321),r=n(52192),a=n(89659),o=n(37032);function l(e){return e/r.minutesPerDay}function u(e){return Math.round(e*r.minutesPerDay)}var d,c,m=n(85842),v=n(29142);!function(e){e[e.SUNDAY=1]="SUNDAY",e[e.MONDAY=2]="MONDAY",e[e.TUESDAY=3]="TUESDAY",e[e.WEDNESDAY=4]="WEDNESDAY",e[e.THURSDAY=5]="THURSDAY",e[e.FRIDAY=6]="FRIDAY",e[e.SATURDAY=7]="SATURDAY"}(d||(d={})),function(e){e[e.JANUARY=0]="JANUARY",e[e.FEBRUARY=1]="FEBRUARY",e[e.MARCH=2]="MARCH",e[e.APRIL=3]="APRIL",e[e.MAY=4]="MAY",e[e.JUNE=5]="JUNE",e[e.JULY=6]="JULY",e[e.AUGUST=7]="AUGUST",e[e.SEPTEMBER=8]="SEPTEMBER",e[e.OCTOBER=9]="OCTOBER",e[e.NOVEMBER=10]="NOVEMBER",e[e.DECEMBER=11]="DECEMBER"}(c||(c={}));const y=[d.SUNDAY,d.MONDAY,d.TUESDAY,d.WEDNESDAY,d.THURSDAY,d.FRIDAY,d.SATURDAY];function f(e){return t=>function(e,t){return(e+t+6)%7+1}(t,e)}const h=f(-1),D=f(1);var g=n(80141),A=n(48663),p=n(91599);c.JANUARY,p.t(null,void 0,n(44784)),c.FEBRUARY,p.t(null,void 0,n(33630)),c.MARCH,p.t(null,void 0,n(35643)),c.APRIL,p.t(null,void 0,n(55852)),c.MAY,p.t(null,void 0,n(49973)),c.JUNE,p.t(null,void 0,n(2482)),c.JULY,
p.t(null,void 0,n(24689)),c.AUGUST,p.t(null,void 0,n(59772)),c.SEPTEMBER,p.t(null,void 0,n(15261)),c.OCTOBER,p.t(null,void 0,n(14501)),c.NOVEMBER,p.t(null,void 0,n(71561)),c.DECEMBER,p.t(null,void 0,n(9666)),c.JANUARY,p.t(null,void 0,n(57374)),c.FEBRUARY,p.t(null,void 0,n(17341)),c.MARCH,p.t(null,void 0,n(3305)),c.APRIL,p.t(null,void 0,n(26785)),c.MAY,p.t(null,{context:"short"},n(34750)),c.JUNE,p.t(null,void 0,n(87745)),c.JULY,p.t(null,void 0,n(83959)),c.AUGUST,p.t(null,void 0,n(93762)),c.SEPTEMBER,p.t(null,void 0,n(78469)),c.OCTOBER,p.t(null,void 0,n(28337)),c.NOVEMBER,p.t(null,void 0,n(46545)),c.DECEMBER,p.t(null,void 0,n(69036)),d.SUNDAY,p.t(null,void 0,n(9304)),d.MONDAY,p.t(null,void 0,n(89394)),d.TUESDAY,p.t(null,void 0,n(56334)),d.WEDNESDAY,p.t(null,void 0,n(72765)),d.THURSDAY,p.t(null,void 0,n(34671)),d.FRIDAY,p.t(null,void 0,n(18525)),d.SATURDAY,p.t(null,void 0,n(38795));const E={[d.SUNDAY]:p.t(null,void 0,n(7458)),[d.MONDAY]:p.t(null,void 0,n(47936)),[d.TUESDAY]:p.t(null,void 0,n(47493)),[d.WEDNESDAY]:p.t(null,void 0,n(70480)),[d.THURSDAY]:p.t(null,void 0,n(1489)),[d.FRIDAY]:p.t(null,void 0,n(29991)),[d.SATURDAY]:p.t(null,void 0,n(91418))};d.SUNDAY,p.t(null,{context:"day_of_week"},n(69199)),d.MONDAY,p.t(null,{context:"day_of_week"},n(65535)),d.TUESDAY,p.t(null,{context:"day_of_week"},n(39329)),d.WEDNESDAY,p.t(null,{context:"day_of_week"},n(51271)),d.THURSDAY,p.t(null,{context:"day_of_week"},n(28582)),d.FRIDAY,p.t(null,{context:"day_of_week"},n(98459)),d.SATURDAY,p.t(null,{context:"day_of_week"},n(60496));var S=n(45347);function w(e){for((0,m.assert)(Number.isInteger(e),"timeMinutes expected to be integer number");e>r.minutesPerDay;)e-=r.minutesPerDay;const t=e%60,n=(e-t)/60;return(0,S.numberToStringWithLeadingZero)(n,2)+":"+(0,S.numberToStringWithLeadingZero)(t,2)}function k(e,t){return`${e}${t}`}function _(e,t){return`${E[e]} ${w(t)}`}function R(e,t,n,s){(0,m.assert)(t!==r.minutesPerDay,"Start time expected to be normalized (24:00 as range start is not allowed)"),(0,m.assert)(0!==s,"End time expected to be normalized (00:00 as range end is not allowed)");const i=function(e,t,n,s){const i=e*r.minutesPerDay+t;let a=n*r.minutesPerDay+s;return a<i&&(a+=7*r.minutesPerDay),a-i}(e,t,n,s);return i<r.minutesPerDay||i===r.minutesPerDay&&0===t?function(e,t){return k(w(e),w(t))}(t,s):function(e,t,n,s){return k(_(e,t),_(n,s))}(e,t,n,s)}function T(e,t){return{value:e,title:w(u(e)),isFirstOrLastPoint:t}}function U(e){return 3!==e.type}function Y(e,t){return{dayIndex:e,entries:t.filter(U)}}function M(e,t,n,s=t){const i=n(t),r=e[i];return i!==s&&0===r.entries.length?M(e,i,n,s):Y(i,e[i].entries)}function P(e){return(t,n)=>M(t,n,e)}const N=P(h),x=P(D);function I(e,t,n,s){return(i,r,a)=>void 0===i?[s,a]:i===e?[t,n(r)]:[i,r]}const b=I(1,0,D,0),W=I(0,1,h,1);function B(e,t,n,s,i){const[r,a]=b(e,t,i),[o,l]=W(n,s,i);(0,m.assert)(t!==n||r<o,`Days are same (${t}) but prev entry time (${r}) >= next entry time (${o})`);const d=u(r),c=u(o);return v=T(a!==i?0:r,a===i),y=T(l!==i?1:o,l===i),f=3,h=R(a,d,l,c),{start:v,end:y,type:f,
tooltip:h};var v,y,f,h}function C(e,t,n,s,i){return B(e?.end?.value,t,n?.start?.value,s,i)}function O(e){const t=[...e.entries];for(let n=1;n<e.entries.length;n++){const s=e.entries[n-1],i=e.entries[n];if(i.start.value!==s.end.value){const n=C(s,e.dayIndex,i,e.dayIndex,e.dayIndex);t.push(n)}}return t.sort(((e,t)=>e.start.value-t.start.value)),t}function L(e,t){const n=(0,A.default)(t.entries),s=t.dayIndex,i=(0,m.ensureDefined)((0,g.default)(e.entries));return 0===i.start.value?[]:[C(n,s,i,e.dayIndex,e.dayIndex)]}function V(e,t){const n=(0,g.default)(t.entries),s=t.dayIndex,i=(0,m.ensureDefined)((0,A.default)(e.entries));return 1===i.end.value?[]:[C(i,e.dayIndex,n,s,e.dayIndex)]}function F(e,t){const n={thisDay:Y(e,t[e].entries),prevDay:N(t,e),nextDay:x(t,e)};return function({thisDay:e,prevDay:t,nextDay:n}){if(0===e.entries.length)return[C((0,A.default)(t.entries),t.dayIndex,(0,g.default)(n.entries),n.dayIndex,e.dayIndex)]}(n)??function({thisDay:e,prevDay:t,nextDay:n}){const s=e.dayIndex;if(t.dayIndex!==s||n.dayIndex!==s)return;const r=e.entries,a=(0,m.ensureDefined)((0,g.default)(r)),o=(0,m.ensureDefined)((0,A.default)(r));return[0!==a.start.value?B(0,s,a.start.value,s,s):void 0,...O(e),1!==o.end.value?B(o.end.value,s,1,s,s):void 0].filter(i.isExistent)}(n)??function(e){return[...L(e.thisDay,e.prevDay),...O(e.thisDay),...V(e.thisDay,e.nextDay)]}(n)}var $=n(23532);const z=(0,n(69454).default)(y.map((e=>[e,{title:E[e],isActive:!1,entries:[]}])));function H(e,t,n){const s=e[n].entries;s.push(t),s.sort(((e,t)=>e.start.value-t.start.value))}function J(e,t){const n=function(e){if(null===e)return new Map;if(void 0===e.subsessions)return new Map([[0,new $.SessionsSpec(e.timezone,e.session_display??e.session,e.session_holidays,e.corrections)]]);const t="regular",n="premarket",s="postmarket",i=[t,n,s],r=new Map;for(const a of i){let i=null;switch(a){case t:i=0;break;case n:i=1;break;case s:i=2}if(null!==i){const t=e.subsessions.find((e=>e.id===a));void 0!==t&&r.set(i,new $.SessionsSpec(e.timezone,t["session-display"]||t.session,e.session_holidays,t["session-correction"]))}}return r}(e),s=t??(0,r.utc_to_cal)((0,r.get_timezone)(e?.timezone??"Etc/UTC"),Date.now()),i=(t?.getUTCDay()??(new Date).getDay())%7+1;const a=(0,v.deepCopy)(z);a[i].isActive=!0;for(const e of Array.from(n.keys())){const t=(0,m.ensureDefined)(n.get(e)),i=(0,r.get_day_of_week)(s),o=(0,r.clone)(s);(0,r.add_date)(o,-i),(0,r.set_hms)(o,0,0,0,0);const u=(0,r.clone)(o);(0,r.add_date)(u,7);let d=t.alignToNearestSessionStart(o,t.inSession(o)?-1:1);for(;d.getTime()<u.getTime();){const n=t.alignToNearestSessionEnd(d,1),s=(0,r.get_day_of_week)(d),i=(0,r.get_day_of_week)(n),c=(0,r.get_minutes_from_midnight)(d),m=(0,r.get_minutes_from_midnight)(n)+1,v=l(c),y=l(m),f=R(s,c,i,m);s===i?H(a,{start:T(v,!0),end:T(y,!0),type:e,tooltip:f},s):(d.getTime()>o.getTime()&&H(a,{start:T(v,!0),end:T(1,!1),type:e,tooltip:f},s),n.getTime()<u.getTime()&&H(a,{start:T(0,!1),end:T(y,!0),type:e,tooltip:f},i)),(0,r.add_minutes)(n,1),d=t.alignToNearestSessionStart(n,1)}}return function(e){
const t=new Map;for(const n of y)t.set(n,F(n,e));for(const n of y)e[n].entries=(0,m.ensureDefined)(t.get(n))}(a),{newSessionsDays:a,newTodaySession:a[i]}}var Z;function G(e){return(0,r.get_cal_from_unix_timestamp_ms)((0,r.get_timezone)(e.timezone),window.ChartApiInstance.serverTime()-1e3*(0,o.getSymbolDelaySeconds)(e))}!function(e){e[e.Regular=0]="Regular",e[e.Pre=1]="Pre",e[e.Post=2]="Post",e[e.Close=3]="Close"}(Z||(Z={}));class j{constructor(e){this.sessionsDays=new a.WatchedValue((0,i.clone)(z)),this.todaySession=new a.WatchedValue((0,i.clone)({entries:[]})),this._currentTime=new a.WatchedValue(-1),this._symbolInfo=e.symbolInfo().spawn(),this._symbolInfo.subscribe(this._updateEntriesBySubSessions.bind(this),{callWithLast:!0}),this._timeIntervalId=setInterval(this._updateTodayWithOffsets.bind(this),6e4)}destroy(){this._symbolInfo.destroy(),clearInterval(this._timeIntervalId)}currentTimeValue(){return this._currentTime.readonly()}timezone(){const e=this._symbolInfo.value();return null===e?"":(0,s.timezoneTitle)(e.timezone)}_updateEntriesBySubSessions(e){this._updateTodayWithOffsets();const{newSessionsDays:t,newTodaySession:n}=J(e,null===e?null:G(e));this.sessionsDays.setValue(t),this.todaySession.setValue(n)}_updateTodayWithOffsets(){const e=this._symbolInfo.value();if(null===e)return void this._currentTime.setValue(-1);const t=this._currentTime.value(),n=l((0,r.get_minutes_from_midnight)(G(e)));this._currentTime.setValue(n),n<t&&this._updateEntriesBySubSessions(e)}}},43616:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18" width="18" height="18"><path fill="currentColor" d="M3.92 7.83 9 12.29l5.08-4.46-1-1.13L9 10.29l-4.09-3.6-.99 1.14Z"/></svg>'},30708:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18" width="18" height="18"><path fill="currentColor" d="M9 14A5 5 0 1 0 9 4a5 5 0 0 0 0 10Zm3-4H6V8h6v2Z"/></svg>'}}]);