Fixes tradingview/charting_library#4522 Fixes tradingview/charting_library#5348 Fixes tradingview/charting_library#5573 Fixes tradingview/charting_library#5726 Fixes tradingview/charting_library#6039 Fixes tradingview/charting_library#6215 Fixes tradingview/charting_library#6500 Fixes tradingview/charting_library#6550 Fixes tradingview/charting_library#6559 Fixes tradingview/charting_library#6572 Fixes tradingview/charting_library#6617 Fixes tradingview/charting_library#6659 Fixes tradingview/charting_library#6678 Fixes tradingview/charting_library#6695 Fixes tradingview/charting_library#6713 Fixes tradingview/charting_library#6714 Fixes tradingview/charting_library#6737 Fixes tradingview/charting_library#6767 Fixes tradingview/charting_library#6783 Fixes tradingview/charting_library#6800 Fixes tradingview/charting_library#6825
58 lines
165 KiB
JavaScript
58 lines
165 KiB
JavaScript
(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[5093],{14684:e=>{e.exports={"animation-minimize-corner-left-top":"animation-minimize-corner-left-top-WclZ64zB","animation-minimize-corner-right-top":"animation-minimize-corner-right-top-WclZ64zB","animation-minimize-corner-right-bottom":"animation-minimize-corner-right-bottom-WclZ64zB","animation-minimize-corner-left-bottom":"animation-minimize-corner-left-bottom-WclZ64zB","animation-maximize-corner-left-top":"animation-maximize-corner-left-top-WclZ64zB","animation-maximize-corner-right-top":"animation-maximize-corner-right-top-WclZ64zB","animation-maximize-corner-right-bottom":"animation-maximize-corner-right-bottom-WclZ64zB","animation-maximize-corner-left-bottom":"animation-maximize-corner-left-bottom-WclZ64zB"}},34451:e=>{e.exports={wrapper:"wrapper-mKjO2NIu",timezone:"timezone-mKjO2NIu",sessionDayWrapper:"sessionDayWrapper-mKjO2NIu",nowWrapper:"nowWrapper-mKjO2NIu",now:"now-mKjO2NIu",sessionDay:"sessionDay-mKjO2NIu",weekDay:"weekDay-mKjO2NIu",sessionDaySegments:"sessionDaySegments-mKjO2NIu",timeMarkWrapper:"timeMarkWrapper-mKjO2NIu",timeMarkSegment:"timeMarkSegment-mKjO2NIu",timeMark:"timeMark-mKjO2NIu",timeMarkSegmentAlignByEnds:"timeMarkSegmentAlignByEnds-mKjO2NIu",segment:"segment-mKjO2NIu",small:"small-mKjO2NIu",start:"start-mKjO2NIu",end:"end-mKjO2NIu",active:"active-mKjO2NIu",green:"green-mKjO2NIu",orange:"orange-mKjO2NIu",blue:"blue-mKjO2NIu",gray:"gray-mKjO2NIu",tooltip:"tooltip-mKjO2NIu",time:"time-mKjO2NIu"}},10401:e=>{e.exports={marginlegendhoriz:"4px",legend:"legend-OYqjX7Sg",item:"item-OYqjX7Sg",withAction:"withAction-OYqjX7Sg",selected:"selected-OYqjX7Sg",last:"last-OYqjX7Sg",text:"text-OYqjX7Sg",noWrapWrapper:"noWrapWrapper-OYqjX7Sg",noWrap:"noWrap-OYqjX7Sg",series:"series-OYqjX7Sg",valuesAdditionalWrapper:"valuesAdditionalWrapper-OYqjX7Sg",valueItem:"valueItem-OYqjX7Sg",valueTitle:"valueTitle-OYqjX7Sg",valueValue:"valueValue-OYqjX7Sg",hideUniportantValueItems:"hideUniportantValueItems-OYqjX7Sg",unimportant:"unimportant-OYqjX7Sg",valuesWrapper:"valuesWrapper-OYqjX7Sg",wrappable:"wrappable-OYqjX7Sg",directionColumn:"directionColumn-OYqjX7Sg",titleWrapper:"titleWrapper-OYqjX7Sg",button:"button-OYqjX7Sg",statusesWrapper:"statusesWrapper-OYqjX7Sg",buttonsWrapper:"buttonsWrapper-OYqjX7Sg",buttons:"buttons-OYqjX7Sg",noActions:"noActions-OYqjX7Sg",title:"title-OYqjX7Sg",intervalTitle:"intervalTitle-OYqjX7Sg",disabled:"disabled-OYqjX7Sg",disabledOnInterval:"disabledOnInterval-OYqjX7Sg",withCustomTextColor:"withCustomTextColor-OYqjX7Sg",study:"study-OYqjX7Sg",mainTitle:"mainTitle-OYqjX7Sg",descTitle:"descTitle-OYqjX7Sg",hideValues:"hideValues-OYqjX7Sg",has5Buttons:"has5Buttons-OYqjX7Sg",stayInHoveredMode:"stayInHoveredMode-OYqjX7Sg",withTail:"withTail-OYqjX7Sg",loading:"loading-OYqjX7Sg",loader:"loader-OYqjX7Sg",withDot:"withDot-OYqjX7Sg",providerTitle:"providerTitle-OYqjX7Sg",exchangeTitle:"exchangeTitle-OYqjX7Sg",styleTitle:"styleTitle-OYqjX7Sg",brandTitle:"brandTitle-OYqjX7Sg",minHideIntervalTitle:"minHideIntervalTitle-OYqjX7Sg",
|
||
microHideIntervalTitle:"microHideIntervalTitle-OYqjX7Sg",hideExchangeProviderTitles:"hideExchangeProviderTitles-OYqjX7Sg",hideBrandingTitle:"hideBrandingTitle-OYqjX7Sg",flagged:"flagged-OYqjX7Sg",medium:"medium-OYqjX7Sg",minimized:"minimized-OYqjX7Sg",micro:"micro-OYqjX7Sg",onlyOneButtonCanBeStick:"onlyOneButtonCanBeStick-OYqjX7Sg",touchMode:"touchMode-OYqjX7Sg",buttonIcon:"buttonIcon-OYqjX7Sg",flag:"flag-OYqjX7Sg",invisibleHover:"invisibleHover-OYqjX7Sg",eye:"eye-OYqjX7Sg",eyeLoading:"eyeLoading-OYqjX7Sg","eye-animation":"eye-animation-OYqjX7Sg",intervalEye:"intervalEye-OYqjX7Sg",markerContainer:"markerContainer-OYqjX7Sg",flagWrapper:"flagWrapper-OYqjX7Sg",sourcesWrapper:"sourcesWrapper-OYqjX7Sg",legendMainSourceWrapper:"legendMainSourceWrapper-OYqjX7Sg",sources:"sources-OYqjX7Sg",toggler:"toggler-OYqjX7Sg pane-button-cdtqi65y",onlyOneSourceShown:"onlyOneSourceShown-OYqjX7Sg",counter:"counter-OYqjX7Sg",iconArrow:"iconArrow-OYqjX7Sg",objectTree:"objectTree-OYqjX7Sg",closed:"closed-OYqjX7Sg",objectsTreeCanBeShown:"objectsTreeCanBeShown-OYqjX7Sg"}},40541:e=>{e.exports={loader:"loader-nO79xRI2",loaderItem:"loaderItem-nO79xRI2","loader-animation":"loader-animation-nO79xRI2",touchMode:"touchMode-nO79xRI2"}},27514:e=>{e.exports={"css-value-pane-controls-padding-left":"1px","css-value-pane-controls-padding-right":"5px",css_value_pane_controls_margin_top:"6",css_value_pane_controls_button_size:"19",css_value_pane_controls_button_touch_size:"19",paneControls:"paneControls-xhmpRg2i",hidden:"hidden-xhmpRg2i",forceHidden:"forceHidden-xhmpRg2i",button:"button-xhmpRg2i pane-button-cdtqi65y",buttonIcon:"buttonIcon-xhmpRg2i",minimize:"minimize-xhmpRg2i",restore:"restore-xhmpRg2i",newButton:"newButton-xhmpRg2i",touchMode:"touchMode-xhmpRg2i",maximize:"maximize-xhmpRg2i",collapse:"collapse-xhmpRg2i","maximize-animation-up-bracket":"maximize-animation-up-bracket-xhmpRg2i","maximize-animation-down-bracket":"maximize-animation-down-bracket-xhmpRg2i","minimize-animation-up-bracket":"minimize-animation-up-bracket-xhmpRg2i","minimize-animation-down-bracket":"minimize-animation-down-bracket-xhmpRg2i",up:"up-xhmpRg2i","up-animation":"up-animation-xhmpRg2i",down:"down-xhmpRg2i","down-animation":"down-animation-xhmpRg2i",buttonsWrapper:"buttonsWrapper-xhmpRg2i"}},6968:e=>{e.exports={blockHidden:"blockHidden-cdtqi65y","pane-button":"pane-button-cdtqi65y"}},5752:e=>{e.exports={"css-value-small-size":"18px","css-value-medium-size":"22px","css-value-large-size":"28px","css-value-border-radius-small-size":"9px","css-value-border-radius-medium-size":"11px","css-value-border-radius-large-size":"8px",statuses:"statuses-OPHVUfI4",statusItem:"statusItem-OPHVUfI4",small:"small-OPHVUfI4",medium:"medium-OPHVUfI4",large:"large-OPHVUfI4",blinking:"blinking-OPHVUfI4",oneWidgetsVisible:"oneWidgetsVisible-OPHVUfI4",twoWidgetsVisible:"twoWidgetsVisible-OPHVUfI4",threeWidgetsVisible:"threeWidgetsVisible-OPHVUfI4","blinking-animation":"blinking-animation-OPHVUfI4",marketStatusOpen:"marketStatusOpen-OPHVUfI4",marketStatusClose:"marketStatusClose-OPHVUfI4",
|
||
marketStatusPre:"marketStatusPre-OPHVUfI4",marketStatusPost:"marketStatusPost-OPHVUfI4",marketStatusHoliday:"marketStatusHoliday-OPHVUfI4",invalidSymbol:"invalidSymbol-OPHVUfI4",replayMode:"replayMode-OPHVUfI4",notAccurate:"notAccurate-OPHVUfI4",delay:"delay-OPHVUfI4",eod:"eod-OPHVUfI4",dataProblemHigh:"dataProblemHigh-OPHVUfI4",dataProblemLow:"dataProblemLow-OPHVUfI4"}},62101:(e,t,s)=>{"use strict";s.r(t),s.d(t,{ControlBarNavigation:()=>q});var i=s(88537),l=s(28353),o=s(32563),a=s(67337),n=s(95707),r=s(62820),d=s(62046),h=s(61814),u=s(49483),c=s(68335),_=(s(51768),s(58498)),p=s(30782),m=s(90760),g=s(31084),b=s(65112),v=s(28859),w=s(52356),S=s(34028),y=s(82436),M=s(93144),f=s(29675),C=s(85808);s(14684);const E=(0,c.humanReadableModifiers)(c.Modifiers.Alt,!1),k=(0,c.humanReadableModifiers)(c.Modifiers.Shift,!1),V=(0,c.humanReadableModifiers)(c.Modifiers.Mod,!1),x=(0,h.hotKeySerialize)({keys:[E,"R"],text:"{0} + {1}"}),T=(0,h.hotKeySerialize)({keys:[E,"Click",E,"Enter"],text:"{0} + {1}, {2} + {3}"}),W=(0,h.hotKeySerialize)({keys:[w],text:"{0}"}),L=(0,h.hotKeySerialize)({keys:[S],text:"{0}"}),A=(0,h.hotKeySerialize)({keys:[V,y],text:"{0} + {1}"}),H=(0,h.hotKeySerialize)({keys:[V,M],text:"{0} + {1}"}),B=(0,h.hotKeySerialize)({keys:[E,k,S],text:"{0} + {1} + {2}"}),D=(0,l.t)("Zoom Out"),P=(0,l.t)("Zoom In"),O=(0,l.t)("Maximize chart"),I=(0,l.t)("Restore chart"),z=(0,l.t)("Scroll to the Left"),N=(0,l.t)("Scroll to the Right"),R=(0,l.t)("Reset Chart"),j=(0,
|
||
l.t)("Scroll to the Most Recent Bar"),F=`<div class="control-bar-wrapper">\n\t<div class="control-bar control-bar--hidden">\n\t\t<div class="control-bar__group js-btn-group js-btn-group-zoom">\n\t\t\t<div class="control-bar__btn control-bar__btn--zoom-out apply-common-tooltip" title="${D}" data-tooltip-hotkey="${H}">\n\t\t\t\t${p}\n\t\t\t</div>\n\t\t\t<div class="control-bar__btn control-bar__btn--zoom-in apply-common-tooltip" title="${P}" data-tooltip-hotkey="${A}">\n\t\t\t\t${g}\n\t\t\t</div>\n\t\t</div>\n\t\t<div class="control-bar__group js-btn-group js-btn-group-maximize">\n\t\t\t<div class="control-bar__btn control-bar__btn--maximize apply-common-tooltip" title="${O}" data-tooltip-hotkey="${T}">\n\t\t\t\t${f}\n\t\t\t</div>\n\t\t\t<div class="control-bar__btn control-bar__btn--minimize js-hidden apply-common-tooltip" title="${I}" data-tooltip-hotkey="${T}">\n\t\t\t\t${C}\n\t\t\t</div>\n\t\t</div>\n\t\t<div class="control-bar__group js-btn-group js-btn-group-scroll">\n\t\t\t<div class="control-bar__btn control-bar__btn--move-left apply-common-tooltip" title="${z}" data-tooltip-hotkey="${W}">\n\t\t\t\t${_}\n\t\t\t</div>\n\t\t\t<div class="control-bar__btn control-bar__btn--move-right apply-common-tooltip" title="${N}" data-tooltip-hotkey="${L}">\n\t\t\t\t${b}\n\t\t\t</div>\n\t\t</div>\n\t\t<div class="control-bar__group js-btn-group js-btn-group-reset-scale">\n\t\t\t<div class="control-bar__btn control-bar__btn--turn-button control-bar__btn--btn-hidden apply-common-tooltip js-btn-reset" title="${R}" data-tooltip-hotkey="${x}">\n\t\t\t\t${m}\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>`,Y=`<div class="control-bar control-bar__btn control-bar__btn--back-present control-bar__btn--btn-hidden apply-common-tooltip" title="${j}" data-tooltip-hotkey="${B}">\n\t${v}\n</div>`,U=u.CheckMobile.any(),X={zoomInOut:!0,maximize:!0,scrollLeftRight:!0,resetScale:!0,goToRealtime:!0};class q{constructor(e,t,s){this._widget=(0,i.ensureNotNull)((0,d.parseHtml)(F).querySelector(".control-bar-wrapper")),this._controlBar=(0,i.ensureNotNull)(this._widget.querySelector(".control-bar")),this._back=(0,i.ensureNotNull)((0,d.parseHtml)(Y).querySelector(".control-bar__btn--back-present")),this._btnGroups=Array.from(this._controlBar.querySelectorAll(".js-btn-group")),this._backButtonVisible=!1,this._boundMouseHandler=null,this._chartModel=null,this._checkIntervalId=0,this._controlBarVisible=!1,this._priceAxisChanged=null,this._resetAvailabilityChanged=null,this._priceAxisName="right",this._rafId=0,this._visibilityTypeProperty=null,this._boundUpdateMaximizeButtonsVisibility=this._updateMaximizeButtonsVisibility.bind(this),this._boundToggleFullscreenButtons=this._toggleFullscreenButtons.bind(this),this._paneWidth=0,this._leftPriceScaleWidth=0,this._rightPriceScaleWidth=0,this._chart=e,this._parent=t,this._options=Object.assign({},X,s),this._visibilityPrioritizedGroups=this._initGroupDescriptions(),this._init(),this._initHandlers(),this.updatePosition()}destroy(){
|
||
if(null!==this._visibilityTypeProperty&&(this._visibilityTypeProperty.unsubscribe(this,this._onVisibilityTypeChange),this._visibilityTypeProperty=null),null!==this._boundMouseHandler&&(this._parent.removeEventListener("mousemove",this._boundMouseHandler,!1),this._parent.removeEventListener("mouseleave",this._boundMouseHandler,!1),this._boundMouseHandler=null),null!==this._priceAxisChanged&&(this._priceAxisChanged.unsubscribe(this,this._updateBackBtnPosition),this._priceAxisChanged=null),clearInterval(this._checkIntervalId),null!==this._resetAvailabilityChanged){this._resetAvailabilityChanged.unsubscribe(this,this._updateResetScalesButtonVisibility);const e=this._chart.getResizerDetacher();e.fullscreenable.unsubscribe(this._boundUpdateMaximizeButtonsVisibility),e.fullscreen.unsubscribe(this._boundToggleFullscreenButtons),this._resetAvailabilityChanged=null}this._chart=null}updatePosition(){const e=this._chart.paneWidgets();if(0===e.length)return;this._paneWidth=e[0].width(),this._leftPriceScaleWidth=this._chart.getPriceAxisMaxWidthByName("left"),this._rightPriceScaleWidth=this._chart.getPriceAxisMaxWidthByName("right");const t=this._chart.timeAxisHeight()+this._bottomMargin();this._widget.style.bottom=t+"px",this._back.style.bottom=t+"px",this._updateBtnGroupVisibility()}_bottomMargin(){var e;const t=this._chart.paneWidgets();return(null!==(e=this._chart.maximizedPaneWidget())&&void 0!==e?e:t[t.length-1]).containsMainSeries()?32:5}_init(){if(u.CheckMobile.any())for(const e of this._btnGroups)e.classList.add("js-hidden");this._buttons={zoomIn:this._widget.querySelector(".control-bar__btn--zoom-in"),zoomOut:this._widget.querySelector(".control-bar__btn--zoom-out"),moveLeft:this._widget.querySelector(".control-bar__btn--move-left"),moveRight:this._widget.querySelector(".control-bar__btn--move-right"),turn:this._widget.querySelector(".control-bar__btn--turn-button"),maximize:this._widget.querySelector(".control-bar__btn--maximize"),minimize:this._widget.querySelector(".control-bar__btn--minimize")},this._initVisibility(),this._parent.appendChild(this._widget),this._parent.appendChild(this._back),this._backButtonVisible=!1,this._priceAxisName=(0,r.isRtl)()?"left":"right",this._chart.withModel(this,()=>{this._chartModel=this._chart.model(),this._priceAxisChanged=this._chart.getPriceAxisWidthChangedByName(this._priceAxisName),this._resetAvailabilityChanged=this._chartModel.model().isScalesResetAvailableChanged(),this._priceAxisChanged.subscribe(this,this._updateBackBtnPosition),this._resetAvailabilityChanged.subscribe(this,this._updateResetScalesButtonVisibility);const e=this._chart.getResizerDetacher();e.fullscreenable.subscribe(this._boundUpdateMaximizeButtonsVisibility),e.fullscreen.subscribe(this._boundToggleFullscreenButtons),this._updateMaximizeButtonsVisibility(),this._updateBackBtnPosition(),this._back.addEventListener("click",()=>{null!==this._chartModel&&this._chartModel.timeScale().scrollToRealtime(!0)}),this._checkIntervalId=setInterval(()=>this._check(),1e3)})}_initHandlers(){
|
||
const e=o.mobiletouch?"touchstart":"mousedown",t=o.mobiletouch?["touchend"]:["mouseup","mouseout"];this._buttons.moveLeft.addEventListener(e,e=>{e.preventDefault(),this._chart.scrollHelper().moveByBar(1),this._trackEvent("Move Left")}),this._buttons.moveRight.addEventListener(e,e=>{e.preventDefault(),this._chart.scrollHelper().moveByBar(-1),this._trackEvent("Move Right")});for(const e of t)this._buttons.moveLeft.addEventListener(e,()=>this._chart.scrollHelper().stopMoveByBar()),this._buttons.moveRight.addEventListener(e,()=>this._chart.scrollHelper().stopMoveByBar());this._buttons.turn.addEventListener("click",e=>{e.preventDefault(),this._chart.GUIResetScales(),this._trackEvent("Reset to Default Settings")}),this._buttons.zoomOut.addEventListener("click",e=>{e.preventDefault(),null!==this._chartModel&&this._chartModel.zoomOut(),this._trackEvent("Zoom Out")}),this._buttons.zoomIn.addEventListener("click",e=>{e.preventDefault(),null!==this._chartModel&&this._chartModel.zoomIn(),this._trackEvent("Zoom In")}),this._buttons.maximize.addEventListener("click",e=>{e.preventDefault(),this._chart.setActive(!0),this._chart.getResizerDetacher().requestFullscreen(),this._trackEvent(" Maximize Chart")}),this._buttons.minimize.addEventListener("click",e=>{e.preventDefault(),this._chart.getResizerDetacher().exitFullscreen(),this._trackEvent(" Restore Chart")});const s=e=>e.addEventListener("contextmenu",e=>e.preventDefault());s(this._buttons.moveLeft),s(this._buttons.moveRight),s(this._buttons.turn),s(this._buttons.zoomOut),s(this._buttons.zoomIn),s(this._buttons.minimize),s(this._buttons.maximize)}_initGroupDescriptions(){return[{shouldBeHiddenOnMobile:!1,available:this._isMaximizeButtonAvailable.bind(this),className:"js-btn-group-maximize",element:this._getBtnGroup("js-btn-group-maximize"),totalWidth:50},{shouldBeHiddenOnMobile:!1,available:()=>this._options.resetScale,className:"js-btn-group-reset-scale",element:this._getBtnGroup("js-btn-group-reset-scale"),totalWidth:50},{shouldBeHiddenOnMobile:!a.enabled("show_zoom_and_move_buttons_on_touch"),available:()=>this._options.zoomInOut,className:"js-btn-group-zoom",element:this._getBtnGroup("js-btn-group-zoom"),totalWidth:86},{shouldBeHiddenOnMobile:!a.enabled("show_zoom_and_move_buttons_on_touch"),available:()=>this._options.scrollLeftRight,className:"js-btn-group-scroll",element:this._getBtnGroup("js-btn-group-scroll"),totalWidth:86}]}_check(){if(null===this._chartModel||!this._options.goToRealtime)return;const e=this._chartModel.timeScale().rightOffset()<0;e!==this._backButtonVisible&&(this._backButtonVisible=e,this._back.classList.toggle("control-bar__btn--btn-hidden",!this._backButtonVisible))}_initVisibility(){this._visibilityTypeProperty=(0,n.actualBehavior)(),this._visibilityTypeProperty.subscribe(this,this._onVisibilityTypeChange),this._onVisibilityTypeChange()}_onVisibilityTypeChange(){if(null===this._visibilityTypeProperty)return;const e=this._visibilityTypeProperty.value();"alwaysOn"===e||"alwaysOff"===e?(this._controlBarVisible="alwaysOn"===e,
|
||
null!==this._boundMouseHandler&&(this._parent.removeEventListener("mousemove",this._boundMouseHandler,!1),this._parent.removeEventListener("mouseleave",this._boundMouseHandler,!1),this._boundMouseHandler=null)):(this._controlBarVisible=!1,this._boundMouseHandler||(this._boundMouseHandler=this._visibilityMouseHandler.bind(this),this._parent.addEventListener("mousemove",this._boundMouseHandler),this._parent.addEventListener("mouseleave",this._boundMouseHandler))),this._updateControlBarVisibility()}_visibilityMouseHandler(e){if(e.buttons)return;if(null!==this._chartModel&&this._chartModel.lineBeingCreated())return;let t="mouseleave"!==e.type;if("mousemove"===e.type){const s=this._widget.getBoundingClientRect(),i=100-this._bottomMargin();t=e.clientX>=s.left-100&&e.clientX<=s.right+100&&e.clientY>=s.top-i&&e.clientY<=s.bottom+100}this._controlBarVisible!==t&&(this._controlBarVisible=t,null===this._rafId&&(this._rafId=this._controlBar.ownerDocument.defaultView.requestAnimationFrame(this._updateControlBarVisibility.bind(this))))}_updateControlBarVisibility(){this._rafId=null,this._controlBar.classList.toggle("control-bar--hidden",!this._controlBarVisible)}_updateBackBtnPosition(){if("left"===this._priceAxisName||"right"===this._priceAxisName){const e=this._chart.getPriceAxisMaxWidthByName(this._priceAxisName)+14;e&&(this._back.style.marginRight=e+"px")}}_updateBtnGroupVisibility(){const e=this._leftPriceScaleWidth+this._paneWidth,t=(e+this._rightPriceScaleWidth)/2;let s=2*Math.min(e-t,t-this._leftPriceScaleWidth)-50-50,i=!1;for(const e of this._visibilityPrioritizedGroups){e.enoughSpaceForGroup=!1;e.available()&&(!U||!e.shouldBeHiddenOnMobile)&&(s-=e.totalWidth,e.enoughSpaceForGroup=s>=0&&!i,i=i||!e.enoughSpaceForGroup),!e.enoughSpaceForGroup!==e.element.classList.contains("js-hidden")&&e.element.classList.toggle("js-hidden",!e.enoughSpaceForGroup)}this._updateControlBarPosition()}_getBtnGroup(e){return(0,i.ensureDefined)(this._btnGroups.find(t=>t.classList.contains(e)))}_updateControlBarPosition(){const e=this._visibilityPrioritizedGroups.reduce((e,t)=>e+(t.enoughSpaceForGroup?t.totalWidth:0),0),t=(this._paneWidth+this._leftPriceScaleWidth+this._rightPriceScaleWidth)/2-Math.ceil(e/2);this._widget.style.left=t+"px"}_updateResetScalesButtonVisibility(){if(null===this._chartModel)return;const e=this._chartModel.model().isScalesResetAvailable();this._buttons.turn.classList.toggle("control-bar__btn--btn-hidden",!e)}_updateMaximizeButtonsVisibility(){this._updateBtnGroupVisibility()}_toggleFullscreenButtons(){const e=this._chart.getResizerDetacher().fullscreen.value();this._buttons.maximize.classList.toggle("js-hidden",e),this._buttons.minimize.classList.toggle("js-hidden",!e)}_isMaximizeButtonAvailable(){return this._options.maximize,!1}_trackEvent(e){0}}},74335:(e,t,s)=>{"use strict";s.r(t),s.d(t,{LegendWidget:()=>Gi});var i=s(88537),l=s(52714),o=s.n(l),a=s(80643),n=s(93435),r=s(24377),d=s(67337),h=s(49483),u=s(85197),c=s(59255),_=s(18166),p=s(54386),m=s(80007),g=s(6968);var b=s(40541);class v extends class{
|
||
constructor(e,t={}){this._loadingEl=document.createElement("span"),this._renderLoading(t),this.toggleVisibility(!1),e.appendChild(this._loadingEl)}toggleVisibility(e){this._loadingEl.classList.toggle(g.blockHidden,!e)}_renderLoading(e){const{className:t}=e;t&&this._loadingEl.classList.add(t)}}{_renderLoading(e){super._renderLoading(e),this._loadingEl.innerHTML=`\n\t\t\t<span class="${b.loaderItem}"></span>\n\t\t\t<span class="${b.loaderItem}"></span>\n\t\t\t<span class="${b.loaderItem}"></span>\n\t\t`,this._loadingEl.classList.add(b.loader)}}function w(e,t){null===e.firstChild?e.textContent=t:e.firstChild.nodeValue=t}var S=s(10401);const y=h.CheckMobile.any();class M{constructor(e,t,s){this._el=null,this._firstBlockWrapper=null,this._titleParentEl=null,this._titleElements=[],this._valuesParentEl=null,this._valuesAdditionalWrapperEl=null,this._valuesElements=[],this._actionsParentEl=null,this._actionAdditionalWrapperEl=null,this._stayInHoveredMode=!1,this._mode=4,this._statusesWrapper=null,this._resizeObserver=null,this._hideInvisibleHover=null,this._hideValues=null,this._allButtonsWidth=null,this._lastStatusesWrapperWidth=null,this._lastActionsWrapperWidth=null,this._showActionsHandler=null,this._hideActionsHandler=null,this._selectedSourceHandler=null,this._mouseEventHandlers=[],this._disableTimeout=null,this._loader=null,this._updateDisabledState=(e=this._disabled.value())=>{null!==this._el&&(this._el.classList.toggle(S.disabled,e),this._updateLoadingState(),this._updateStatusWidgetVisibility(e),this._updateTitleMaxWidth())},this._updateLoadingState=(e=this._loading.value())=>{if(null!==this._el){const t=this._el.classList;t.toggle(S.eyeLoading,e&&!this._disabled.value()),t.toggle(S.loading,e)}null!==this._loader&&this._loader.toggleVisibility(e)},this._model=e,this._parentEl=t,this._disabled=this._model.disabled().spawn(),this._disabled.subscribe(this._updateDisabledState),this._disabledOnInterval=this._model.disabledOnInterval().spawn(),this._disabledOnInterval.subscribe(this._updateDisabledOnIntervalState.bind(this)),this._selected=this._model.selected().spawn(),this._selected.subscribe(this._updateSelectedState.bind(this)),this._loading=this._model.loading().spawn(),this._loading.subscribe(function(e,t){let s=0;return i=>{clearTimeout(s),i?e():s=setTimeout(e,t)}}(this._updateLoadingState,700)),this._isTitleHidden=this._model.isTitleHidden().spawn(),this._isValuesHidden=this._model.isValuesHidden().spawn(),this._isRowHidden=this._model.isRowHidden().spawn(),this._isTitleHidden.subscribe(this._updateShowTitles.bind(this)),this._isValuesHidden.subscribe(this._updateShowValues.bind(this)),this._isRowHidden.subscribe(this._updateShowLine.bind(this)),this._createTitlesSpawns();for(let e=0;e<this._titlesSpawns.length;e++)this._titlesSpawns[e].title.subscribe(this._updateTitlesHandler.bind(this,e));this._values=this._model.values().spawn(),this._values.subscribe(this._updateValues.bind(this)),this._createValuesSpawns(),this._addValuesSpawnsSubscriptions(),this._actionsSpawnArray=this._model.actions().map(e=>({
|
||
visible:e.visible.spawn(),title:void 0===e.title?null:e.title.spawn()}));for(let e=0;e<this._actionsSpawnArray.length;e++){this._actionsSpawnArray[e].visible.subscribe(this._updateActionVisibilities.bind(this,e));const t=this._actionsSpawnArray[e].title;null!==t&&t.subscribe(this._updateActionTitle.bind(this,e))}this._withActions=s.withActions,this._render(),this._updateStates(),this._updateShowTitles(),this._updateShowValues(),this._updateShowLine(),null!==this._valuesParentEl&&(this._loader=new v(this._valuesParentEl,{className:S.loader})),this._customTextColor=s.customTextColor.spawn(),this._customTextColor.subscribe(this._updateCustomTextColor.bind(this)),this._updateCustomTextColor(),this._withActions&&(this._showActionsHandler=(0,m.wrapHandlerWithPreventEvent)(this._showActions.bind(this)),this._hideActionsHandler=(0,m.wrapHandlerWithPreventEvent)(this._hideActions.bind(this)),this._selectedSourceHandler=(0,m.wrapHandlerWithPreventEvent)(this._model.setSourceSelected.bind(this._model)),null!==this._titleParentEl&&(this._titleParentEl.addEventListener("touchend",this._selectedSourceHandler),this._titleParentEl.addEventListener("mousedown",this._selectedSourceHandler),y||(this._titleParentEl.addEventListener("mouseenter",this._showActionsHandler),this._titleParentEl.addEventListener("mouseleave",this._hideActionsHandler)),this._mouseEventHandlers.push(new p.MouseEventHandler(this._titleParentEl,{mouseDoubleClickEvent:this._model.onShowSettings.bind(this._model),doubleTapEvent:this._model.onShowSettings.bind(this._model)}))),null===this._actionAdditionalWrapperEl||null===this._actionsParentEl||y||(this._actionAdditionalWrapperEl.addEventListener("mouseenter",this._showActionsHandler),this._actionAdditionalWrapperEl.addEventListener("mouseleave",this._hideActionsHandler),this._actionsParentEl.addEventListener("contextmenu",e=>{e.preventDefault(),e.stopPropagation()})))}destroy(){var e,t;this._disabled.destroy(),this._disabledOnInterval.destroy(),this._selected.destroy(),this._loading.destroy(),this._isTitleHidden.destroy(),this._isValuesHidden.destroy(),this._isRowHidden.destroy(),this._customTextColor.destroy(),null!==this._disableTimeout&&clearTimeout(this._disableTimeout);for(const e of this._titlesSpawns)e.title.destroy();if(null!==this._titleParentEl){for(const e of this._mouseEventHandlers)e.destroy();this._titleElements=[],this._withActions&&null!==this._selectedSourceHandler&&null!==this._showActionsHandler&&null!==this._hideActionsHandler&&(this._titleParentEl.removeEventListener("touchend",this._selectedSourceHandler),this._titleParentEl.removeEventListener("mousedown",this._selectedSourceHandler),y||(this._titleParentEl.removeEventListener("mouseenter",this._showActionsHandler),this._titleParentEl.removeEventListener("mouseleave",this._hideActionsHandler))),this._titleParentEl=null}for(const e of this._actionsSpawnArray){e.visible.destroy();const t=e.title;null!==t&&t.destroy()}
|
||
if(null!==this._actionAdditionalWrapperEl&&(this._withActions&&null!==this._showActionsHandler&&null!==this._hideActionsHandler&&!y&&(this._actionAdditionalWrapperEl.removeEventListener("mouseenter",this._showActionsHandler),this._actionAdditionalWrapperEl.removeEventListener("mouseleave",this._hideActionsHandler)),this._actionAdditionalWrapperEl=null),this._actionsParentEl=null,this._removeValuesSpawnsSubscriptions(),this._values.destroy(),null!==this._valuesParentEl&&(this._valuesElements=[],this._valuesParentEl=null),null===(e=this._hideInvisibleHover)||void 0===e||e.destroy(),null===(t=this._hideValues)||void 0===t||t.destroy(),null!==this._resizeObserver&&(this._resizeObserver.disconnect(),this._resizeObserver=null),null!==this._el){(0,i.ensureNotNull)(this._el.parentNode).removeChild(this._el),this._el=null}}getHeight(){return null===this._el?null:24}updateMode(e){this._mode===e&&null!==this._allButtonsWidth||(this._mode=e,this._updateAllButtonsWidth())}_render(){this._renderTitle(),this._renderActions(),this._renderValues(),this._el=document.createElement("div"),this._firstBlockWrapper=document.createElement("div"),this._firstBlockWrapper.classList.add(S.noWrapWrapper),this._firstBlockWrapper.appendChild((0,i.ensureNotNull)(this._titleParentEl)),null!==this._actionsParentEl&&this._firstBlockWrapper.appendChild(this._actionsParentEl),this._el.appendChild(this._firstBlockWrapper),this._el.appendChild((0,i.ensureNotNull)(this._valuesParentEl)),this._parentEl.append(this._el)}_renderTitle(){null===this._titleParentEl&&(this._titleParentEl=document.createElement("div"),this._titleParentEl.classList.add(S.titleWrapper));const e=this._titleParentEl;for(let t=0;t<this._titlesSpawns.length;t++){const s=this._titlesSpawns[t].title.value(),i=this._titlesSpawns[t].class,l=document.createElement("div");l.classList.add(S.title,i,"apply-overflow-tooltip"),l.dataset.name="legend-source-title",s.length>0?(l.appendChild(document.createTextNode(s)),l.classList.add(S.withDot)):l.classList.add(g.blockHidden),e.appendChild(l),this._titleElements.push(l)}}_renderActions(){if(!this._withActions)return;null===this._actionsParentEl&&(this._actionsParentEl=document.createElement("div"),this._actionsParentEl.classList.add(S.buttonsWrapper),this._parentEl.append(this._actionsParentEl),this._actionAdditionalWrapperEl=document.createElement("div"),this._actionAdditionalWrapperEl.classList.add(S.buttons),this._actionsParentEl.appendChild(this._actionAdditionalWrapperEl));const e=(0,i.ensureNotNull)(this._actionAdditionalWrapperEl),t=u.trackingModeIsAvailable?"large":"small";for(const s of this._model.actions()){const i=(0,_.createActionElement)(s,S.button,S.buttonIcon,g.blockHidden,t);e.appendChild(i)}}_isWidthButtonsMode(){return null!==this._el&&(this._el.classList.contains(S.withAction)||this._disabled.value()||this._selected.value()||this._stayInHoveredMode)}_updateTitlesHandler(e,t){const s=(0,i.ensureNotNull)(this._titleElements[e]),l=0===t.length;s.classList.toggle(g.blockHidden,l),s.classList.toggle(S.withDot,!l),w(s,t)}
|
||
_updateStates(e){this._updateDisabledState(),this._updateDisabledOnIntervalState(),this._updateSelectedState(),this._updateLoadingState(),e&&this._clearDisableState()}_updateValuesHTMLElHandler(e,t){w((0,i.ensure)(this._valuesElements[e].value),t),this._updateShowValues()}_updateValueColorHandler(e,t=""){(0,i.ensure)(this._valuesElements[e].value).style.color=t}_updateValueVisibleHandler(e,t){const s=(0,i.ensure)(this._valuesElements[e].value).closest("."+S.valueItem);null!==s&&s.classList.toggle(g.blockHidden,!t)}_updateShowLine(){null!==this._el&&this._el.classList.toggle(g.blockHidden,this._isRowHidden.value())}_createValuesSpawns(){this._valuesSpawnArray=this._values.value().map(e=>({value:e.value.spawn(),color:e.color.spawn(),visible:e.visible.spawn(),title:e.title.spawn()}))}_removeValuesSpawnsSubscriptions(){for(const e of this._valuesSpawnArray)e.value.destroy(),e.color.destroy(),e.visible.destroy(),e.title.destroy();this._valuesSpawnArray=[]}_addValuesSpawnsSubscriptions(){for(let e=0;e<this._valuesSpawnArray.length;e++){const t=this._valuesSpawnArray[e];t.value.subscribe(this._updateValuesHTMLElHandler.bind(this,e)),t.color.subscribe(this._updateValueColorHandler.bind(this,e)),t.visible.subscribe(this._updateValueVisibleHandler.bind(this,e)),t.title.subscribe(this._updateValuesTitleHTMLElHandler.bind(this,e))}}_updateShowValues(){null!==this._valuesAdditionalWrapperEl&&this._valuesAdditionalWrapperEl.classList.toggle(g.blockHidden,this._isValuesShouldBeHidden())}_isValuesShouldBeHidden(){return!this._valuesSpawnArray.some(e=>e.value.value().length>0)}_addStatusesWidget(e,t,s){this._statusesWrapper=document.createElement("div"),this._statusesWrapper.classList.add(S.statusesWrapper),this._statusesWrapper.appendChild(e),(0,i.ensureNotNull)(this._firstBlockWrapper).appendChild(this._statusesWrapper),this._hideInvisibleHover=t.spawn(),this._hideInvisibleHover.subscribe(this._updateInvisibleHoverMode.bind(this),{callWithLast:!0}),this._hideValues=s.spawn(),this._hideValues.subscribe(this._updateHideValuesMode.bind(this),{callWithLast:!0}),this._updateStatusWidgetVisibility(this._disabled.value()),this._resizeObserver=new c.default(this._handlerRestrictTitleWidth.bind(this)),null!==this._actionsParentEl&&this._resizeObserver.observe(this._actionsParentEl),this._resizeObserver.observe(this._statusesWrapper)}_updateTitleMaxWidth(){if(null===this._firstBlockWrapper)return;const e=this._allButtonsWidth||0,t=(this._lastActionsWrapperWidth||0)+(this._lastStatusesWrapperWidth||0);this._isWidthButtonsMode()?this._firstBlockWrapper.style.maxWidth=`calc(100% - ${Math.max(e,t)}px)`:this._firstBlockWrapper.style.maxWidth=t>0?`calc(100% - ${t}px)`:""}_updateAllButtonsWidth(){this._allButtonsWidth=this._getButtonsCount()*N+1,this._updateTitleMaxWidth()}_updateInvisibleHoverMode(e){null!==this._el&&this._el.classList.toggle(S.invisibleHover,!e)}_updateHideValuesMode(e){null!==this._el&&this._el.classList.toggle(S.hideValues,e)}_showActions(){if(null===this._el||!this._withActions)return;this._el.classList.add(S.withAction)
|
||
;const e=null!==this._valuesParentEl&&null!==this._titleParentEl&&this._valuesParentEl.offsetTop===this._titleParentEl.offsetTop;this._el.classList.toggle(S.withTail,e),this._updateTitleMaxWidth()}_hideActions(){null!==this._el&&this._withActions&&!this._stayInHoveredMode&&(this._el.classList.remove(S.withAction),null!==this._valuesParentEl&&this._valuesParentEl.classList.remove(S.withTail),this._updateTitleMaxWidth())}_handlerRestrictTitleWidth(e){if(null===this._actionsParentEl||null===this._firstBlockWrapper)return;let t=null,s=null;for(const i of e)i.target===this._statusesWrapper&&(t=i.contentRect.width),i.target===this._actionsParentEl&&(s=i.contentRect.width);t===this._lastStatusesWrapperWidth&&s===this._lastActionsWrapperWidth||(null!==t&&(this._lastStatusesWrapperWidth=t),null!==s&&(this._lastActionsWrapperWidth=s),this._updateTitleMaxWidth())}_clearDisableState(){null!==this._el&&(this._el.classList.remove(S.eyeLoading),this._el.classList.remove(S.disabled),this._updateStatusWidgetVisibility(this._disabled.value()),this._updateTitleMaxWidth())}_updateDisabledOnIntervalState(){var e;null===(e=this._el)||void 0===e||e.classList.toggle(S.disabledOnInterval,this._disabledOnInterval.value())}_updateSelectedState(){null!==this._el&&this._withActions&&this._el.classList.toggle(S.selected,this._selected.value())}_updateShowTitles(){null!==this._titleParentEl&&(this._titleParentEl.classList.toggle(g.blockHidden,this._isTitleHidden.value()),null!==this._actionsParentEl&&this._actionsParentEl.classList.toggle(g.blockHidden,this._isTitleHidden.value()))}_updateValues(){this._removeValuesSpawnsSubscriptions(),this._createValuesSpawns(),null!==this._valuesParentEl&&null!==this._valuesAdditionalWrapperEl&&(this._valuesElements=[],this._valuesAdditionalWrapperEl.innerHTML=""),this._renderValues(),this._addValuesSpawnsSubscriptions(),this._updateShowValues()}_updateActionVisibilities(e){null!==this._actionsParentEl&&this._actionsParentEl.querySelectorAll("."+S.button)[e].classList.toggle(g.blockHidden,!this._actionsSpawnArray[e].visible.value())}_updateActionTitle(e){const t=this._actionsSpawnArray[e].title;null!==this._actionsParentEl&&null!==t&&this._actionsParentEl.querySelectorAll("."+S.button)[e].setAttribute("title",t.value())}_updateCustomTextColor(){const e=this._customTextColor.value()||"";for(const t of this._titleElements)null!==t&&(t.style.color=e);const t=(0,i.ensureNotNull)(this._valuesParentEl).querySelectorAll("."+S.valueTitle);for(let s=0;s<t.length;s++)t[s].style.color=e;(0,i.ensureNotNull)(this._el).classList.toggle(S.withCustomTextColor,Boolean(e))}_updateStatusWidgetVisibility(e){null!==this._statusesWrapper&&this._statusesWrapper.classList.toggle(g.blockHidden,e)}}class f extends M{constructor(e,t,s){super(e,t,s),this._clientHeight=null,this._flagged=this._model.flagged().spawn(),this._flagged.subscribe(this._updateFlaggedState.bind(this)),this._updateStates(),s.statusWidgetEl&&this._addStatusesWidget(s.statusWidgetEl,s.hideInvisibleHover,s.hideValues),
|
||
this._selected.subscribe(this._updateTitleMaxWidth.bind(this))}destroy(){super.destroy(),void 0!==this._flagged&&this._flagged.destroy()}getHeight(){return null===this._el?null:(null===this._clientHeight&&(this._clientHeight=this._el.clientHeight,0===this._clientHeight&&(this._clientHeight=null)),this._clientHeight)}_getButtonsCount(){return 1===this._mode?1:3}_render(){super._render();const e=(0,i.ensureNotNull)(this._el);e.classList.add(S.item,S.series),e.classList.toggle(S.onlyOneButtonCanBeStick,this._model.isOneButtonCanBeStick()),e.dataset.name="legend-series-item"}_updateStates(){super._updateStates(),this._updateFlaggedState()}_renderValues(){null===this._valuesParentEl&&(this._valuesParentEl=document.createElement("div"),this._valuesParentEl.classList.add(S.valuesWrapper),this._valuesAdditionalWrapperEl=document.createElement("div"),this._valuesAdditionalWrapperEl.classList.add(S.valuesAdditionalWrapper),this._valuesParentEl.appendChild(this._valuesAdditionalWrapperEl));const e=(0,i.ensureNotNull)(this._valuesAdditionalWrapperEl),t=this._values.value();for(const s of t){const t=document.createElement("div");t.classList.add(S.valueItem),t.classList.toggle(g.blockHidden,!s.visible.value()),t.classList.toggle(S.unimportant,s.unimportant.value());const i=document.createElement("div"),l=s.title.value()||"";i.classList.add(S.valueTitle),i.classList.toggle(g.blockHidden,0===l.length),i.appendChild(document.createTextNode(l)),t.appendChild(i);const o=document.createElement("div");o.classList.add(S.valueValue),o.style.color=s.color.value()||"",o.appendChild(document.createTextNode(s.value.value())),t.appendChild(o),this._valuesElements.push({title:i,value:o}),e.appendChild(t)}}_createTitlesSpawns(){const e=this._model.titles();this._titlesSpawns=[{title:e.title.spawn(),class:S.mainTitle},{title:e.description.spawn(),class:S.descTitle},{title:e.interval.spawn(),class:S.intervalTitle},{title:e.provider.spawn(),class:S.providerTitle},{title:e.exchange.spawn(),class:S.exchangeTitle},{title:e.chartStyle.spawn(),class:S.styleTitle},{title:e.branding.spawn(),class:S.brandTitle}]}_isValuesShouldBeHidden(){return!this._valuesSpawnArray.some(e=>e.value.value().length>0||(e.title.value()||"").length>0)}_updateValuesTitleHTMLElHandler(e,t=""){const s=(0,i.ensure)(this._valuesElements[e].title);w(s,t),s.classList.toggle(g.blockHidden,0===t.length),this._updateShowValues()}_isWidthButtonsMode(){return null!==this._el&&(void 0!==this._flagged&&Boolean(this._flagged.value())||super._isWidthButtonsMode())}_updateFlaggedState(){if(void 0===this._flagged)return;(0,i.ensureNotNull)(this._el).classList.toggle(S.flagged,Boolean(this._flagged.value())),this._updateTitleMaxWidth()}}const C=h.isSafari?"click":"auxclick";class E extends M{constructor(e,t,s){super(e,t,s),this._wheelClickHandler=null,this._canUpdateRowVisibility=!0,this._globalRowVisibility=this._model.globalVisibility().spawn(),this._globalRowVisibility.subscribe(this._updateShowLine.bind(this),{callWithLast:!0}),this._has5Buttons=this._model.isPineScriptDataSource().spawn(),
|
||
this._has5Buttons.subscribe(this._update5ButtonsStyles.bind(this)),this._updateStates(!this._disabled.value()),s.statusWidgetEl&&this._addStatusesWidget(s.statusWidgetEl,s.hideInvisibleHover,s.hideValues),this._selected.subscribe(this._updateTitleMaxWidth.bind(this)),s.withActions&&(this._wheelClickHandler=this._onWheelClicked.bind(this),null!==this._titleParentEl&&this._titleParentEl.addEventListener(C,this._wheelClickHandler))}destroy(){super.destroy(),this._has5Buttons.destroy(),this._globalRowVisibility&&this._globalRowVisibility.destroy(),null!==this._wheelClickHandler&&null!==this._titleParentEl&&this._titleParentEl.removeEventListener(C,this._wheelClickHandler)}_updateShowLine(){if(null===this._el||!this._canUpdateRowVisibility)return;const e=!this._globalRowVisibility.value();e?this._el.classList.toggle(g.blockHidden,e):super._updateShowLine()}_getButtonsCount(){switch(this._mode){case 4:return this._has5Buttons.value()?5:4;case 3:return 3;default:return 2}}_render(){super._render();const e=(0,i.ensureNotNull)(this._el);e.classList.add(S.item,S.study),e.dataset.name="legend-source-item"}_createTitlesSpawns(){const e=this._model.titles();this._titlesSpawns=[{title:e.title.spawn(),class:S.mainTitle},{title:e.args.spawn(),class:S.descTitle}]}_renderValues(){null===this._valuesParentEl&&(this._valuesParentEl=document.createElement("div"),this._valuesParentEl.classList.add(S.valuesWrapper),this._valuesAdditionalWrapperEl=document.createElement("div"),this._valuesAdditionalWrapperEl.classList.add(S.valuesAdditionalWrapper),this._valuesParentEl.appendChild(this._valuesAdditionalWrapperEl));const e=(0,i.ensureNotNull)(this._valuesAdditionalWrapperEl),t=this._values.value();for(const s of t){const t=document.createElement("div");t.classList.add(S.valueItem),t.classList.toggle(g.blockHidden,!s.visible.value());const i=document.createElement("div");i.classList.add(S.valueValue),i.style.color=s.color.value()||"",i.appendChild(document.createTextNode(s.value.value()));const l=s.title.value();void 0!==l&&(i.classList.add("apply-common-tooltip"),i.title=l),t.appendChild(i),this._valuesElements.push({value:i}),e.appendChild(t)}}_updateValuesTitleHTMLElHandler(e,t=""){const s=(0,i.ensure)(this._valuesElements[e].value);s.classList.toggle("apply-common-tooltip",0!==t.length),s.title=t}_update5ButtonsStyles(e){null!==this._el&&(this._el.classList.toggle(S.has5Buttons,e),this._updateAllButtonsWidth())}_onWheelClicked(e){1===e.button&&this._model.onRemoveSource()}}var k=s(28353),V=s(51768);function x(e){(0,V.trackEvent)("GUI","Legend action",e)}var T=s(84834),W=s(26339),L=s(97142),A=s(44509);const H=(0,k.t)("Hide Indicator Legend"),B=(0,k.t)("Show Indicator Legend"),D=(0,k.t)("Show Object Tree");class P{constructor(e,t,s){this._el=null,this._counterEl=null,this._arrowIconEL=null,this._objectTreeEl=null,this._mode=0,this._parentEl=e,this._themedColor=t.spawn(),this._themedColor.subscribe(this._updateThemedColor.bind(this)),this._sourceCount=s.visibleDataSourceCount.spawn(),
|
||
this._sourceCount.subscribe(this._updateSourceCount.bind(this)),this._isStateOpen=s.isDataSourcesCollapsed.spawn(),this._isStateOpen.subscribe(this._updateState.bind(this)),this._showObjectsTree=s.showObjectsTree.spawn(),this._showObjectsTree.subscribe(this._updateObjectTreeVisibility.bind(this)),this._render(),this._updateState(),this._updateThemedColor(this._themedColor.value()),this._updateObjectTreeVisibility(this._showObjectsTree.value()),this._toggleStateHandler=(0,m.wrapHandlerWithPreventEvent)(s.onCollapseDataSources),this._showObjectTreeHandler=(0,m.wrapHandlerWithPreventEvent)(s.onShowObjectsTreeDialog),null!==this._el&&(this._el.addEventListener("touchend",this._toggleStateHandler),this._el.addEventListener("click",this._toggleStateHandler),this._el.addEventListener("contextmenu",e=>{e.preventDefault(),e.stopPropagation()})),null!==this._objectTreeEl&&(this._objectTreeEl.addEventListener("touchend",this._showObjectTreeHandler),this._objectTreeEl.addEventListener("click",this._showObjectTreeHandler))}destroy(){this._sourceCount.destroy(),this._isStateOpen.destroy(),null!==this._objectTreeEl&&(this._objectTreeEl.removeEventListener("touchend",this._showObjectTreeHandler),this._objectTreeEl.removeEventListener("click",this._showObjectTreeHandler),this._objectTreeEl=null),this._arrowIconEL=null,this._counterEl=null,null!==this._el&&(this._el.removeEventListener("touchend",this._toggleStateHandler),this._el.removeEventListener("click",this._toggleStateHandler),this._el.innerHTML="",this._el=null)}setMode(e){this._mode=e?1:0,this._updateTooltip()}_render(){this._el=document.createElement("div"),this._el.className=S.toggler+" apply-common-tooltip",this._arrowIconEL=document.createElement("div"),this._arrowIconEL.classList.add(S.iconArrow),this._arrowIconEL.innerHTML=u.trackingModeIsAvailable?W:T,this._el.appendChild(this._arrowIconEL),this._objectTreeEl=document.createElement("div"),this._objectTreeEl.classList.add(S.objectTree),this._objectTreeEl.innerHTML=u.trackingModeIsAvailable?A:L,this._el.appendChild(this._objectTreeEl),this._counterEl=document.createElement("div"),this._counterEl.classList.add(S.counter),this._counterEl.appendChild(document.createTextNode(String(this._sourceCount.value()))),this._el.appendChild(this._counterEl),this._parentEl.appendChild(this._el)}_updateThemedColor(e){if(null!==this._el)if(e.length>0){const[t,s,i]=(0,r.parseRgb)(e);this._el.style.backgroundColor=(0,r.rgbaToString)([t,s,i,(0,r.normalizeAlphaComponent)(.8)])}else this._el.style.removeProperty("background-color")}_updateSourceCount(e){w((0,i.ensureNotNull)(this._counterEl),String(e));const t=(0,i.ensureNotNull)(this._el),s=e<1;t.classList.toggle(g.blockHidden,s);const l=1===e;t.classList.toggle(S.onlyOneSourceShown,l)}_updateState(){const e=!this._isStateOpen.value();this._parentEl.classList.toggle(S.closed,e),this._updateTooltip(),x((e?"Hide":"Show")+" not main sources")}_tooltip(){return 1===this._mode?D:this._isStateOpen.value()?H:B}_updateTooltip(){null!==this._el&&this._el.setAttribute("title",this._tooltip())}
|
||
_updateObjectTreeVisibility(e){(0,i.ensureNotNull)(this._el).classList.toggle(S.objectsTreeCanBeShown,e)}}var O=s(38780),I=s(39640);function z(e,t){const s=new(o())(t(e.value()));e.subscribe(e=>{s.setValue(t(e))});return s.readonly().spawn(()=>e.unsubscribe())}const N=u.trackingModeIsAvailable?44:28,R=d.enabled("object_tree_legend_mode");class j{constructor(e,t){this._renderToggler=null,this._mainDataSourceRenderer=null,this._dataSourceRenderers=[],this._parentEl=document.createElement("div"),this._mainDataSourceEl=null,this._dataSourcesEl=null,this._dataSourcesAdditionalWrapperEl=null,this._collapsedDataSourcesWrapperEl=null,this._collapsedDataSourcesEl=null,this._outsideEventForCollapsedTooltip=null,this._options=e,this._togglerOptions=t,this._isStudiesLegendHidden=e.isStudiesLegendHidden.spawn(),this._isStudiesLegendHidden.subscribe(this._updateLegendVisibility.bind(this)),this._isAllLegendHidden=e.isAllLegendHidden.spawn(),this._isAllLegendHidden.subscribe(this._updateLegendVisibility.bind(this)),this._updateLegendVisibility(),this._hideAllExceptFirstLine=e.hideAllExceptFirstLine.spawn(),this._hideAllExceptFirstLine.subscribe(this._updateAllHiddenExeptFirstLine.bind(this)),this._themedColor=e.themedColor.spawn(),this._themedColor.subscribe(this._setCustomBg.bind(this)),this._showBackground=e.showBackground.spawn(),this._showBackground.subscribe(this._setCustomBg.bind(this)),this._backgroundTransparency=e.backgroundTransparency.spawn(),this._backgroundTransparency.subscribe(this._setCustomBg.bind(this)),this._collapsedDataSourcesCountSpawn=e.collapsedDataSourcesCount.spawn(),this._collapsedDataSourcesCountSpawn.subscribe(this._updateCollapsedSourcesCount.bind(this)),this._showCollapsedDataSourcesTooltipHandler=this._showCollapsedDataSourcesTooltip.bind(this),this._parentEl.classList.add(S.legend),this._parentEl.classList.toggle(S.noWrap,!u.trackingModeIsAvailable),this._parentEl.classList.toggle(S.noActions,!this._options.withActions),this._parentEl.classList.toggle(S.touchMode,u.trackingModeIsAvailable),this._parentEl.classList.toggle(S.wrappable,!this._hideAllExceptFirstLine.value()),this._parentEl.dataset.name="legend",this._parentEl.style.setProperty("--legend-source-item-button-width",N+"px");const s=t=>{t.preventDefault(),e.showLegendWidgetContextMenu(t)};this._mouseEventHandler=new p.MouseEventHandler(this._parentEl,{contextMenuEvent:s,touchContextMenuEvent:s})}destroy(){if(this._isStudiesLegendHidden.destroy(),this._isAllLegendHidden.destroy(),this._hideAllExceptFirstLine.destroy(),this._themedColor.destroy(),this._showBackground.destroy(),this._backgroundTransparency.destroy(),this._collapsedDataSourcesCountSpawn.destroy(),u.trackingModeIsAvailable&&null!==this._collapsedDataSourcesWrapperEl&&this._collapsedDataSourcesWrapperEl.removeEventListener("touchend",this._showCollapsedDataSourcesTooltipHandler),this._outsideEventForCollapsedTooltip&&this._outsideEventForCollapsedTooltip(),null!==this._dataSourcesAdditionalWrapperEl&&(this._dataSourcesAdditionalWrapperEl.innerHTML="",
|
||
this._dataSourcesAdditionalWrapperEl=null),null!==this._dataSourcesEl&&(this._dataSourcesEl.innerHTML="",this._dataSourcesEl=null),null!==this._renderToggler&&(this._renderToggler.destroy(),this._renderToggler=null),null!==this._mainDataSourceRenderer&&(this._mainDataSourceRenderer.destroy(),this._mainDataSourceRenderer=null),0!==this._dataSourceRenderers.length){for(const e of this._dataSourceRenderers)e.destroy();this._dataSourceRenderers=[]}this._mouseEventHandler.destroy(),this._parentEl.innerHTML="",delete this._parentEl}addMainDataSource(e,t){this._renderMainDataSourceEl(),this._mainDataSourceRenderer=new f(e,(0,i.ensureNotNull)(this._mainDataSourceEl),{withActions:this._options.withActions,customTextColor:this._options.customTextColor,statusWidgetEl:t.getElement(),hideInvisibleHover:z(t.visibleWidgetsCount,e=>Boolean(e)),hideValues:t.errorWidgetIsShown}),this._updateLegendVisibility(),e.onDestroy().subscribe(this,()=>{null!==this._mainDataSourceRenderer&&(this._mainDataSourceRenderer.destroy(),this._mainDataSourceRenderer=null)},!0)}addDataSources(e,t){this._renderDataSourcesEl();const s=(0,i.ensureNotNull)(this._dataSourcesAdditionalWrapperEl);for(let i=0;i<e.length;i++){const l=e[i],o=new E(l,s,{withActions:this._options.withActions,customTextColor:this._options.customTextColor,statusWidgetEl:t[i].getElement(),hideInvisibleHover:z(t[i].visibleWidgetsCount,e=>Boolean(e)),hideValues:t[i].errorWidgetIsShown});this._dataSourceRenderers.push(o),this._updateLegendVisibility(),l.onDestroy().subscribe(this,()=>{const e=this._dataSourceRenderers.indexOf(o);-1!==e&&(this._dataSourceRenderers[e].destroy(),this._dataSourceRenderers.splice(e,1))},!0)}}addCustomWidget(e,t){if(0===t.block){this._renderMainDataSourceEl();const s=(0,i.ensureNotNull)(this._mainDataSourceEl);1===t.position&&e.renderTo(s,s.firstChild),0===t.position&&e.renderTo(s)}if(1===t.block){this._renderDataSourcesEl();const s=(0,i.ensureNotNull)(this._dataSourcesAdditionalWrapperEl);1===t.position&&e.renderTo(s,s.firstChild),0===t.position&&e.renderTo(s)}}firstTitle(){return this._parentEl.firstElementChild}getElement(){return this._parentEl}updateMode(e){const t=R&&e<133?1:e<205?2:e<222?3:4;null!==this._mainDataSourceRenderer&&this._mainDataSourceRenderer.updateMode(t);for(const e of this._dataSourceRenderers)e.updateMode(t);this._parentEl.classList.toggle(S.medium,3===t),this._parentEl.classList.toggle(S.minimized,2===t),this._parentEl.classList.toggle(S.micro,1===t),null!==this._renderToggler&&this._renderToggler.setMode(1===t);const s=!this._hideAllExceptFirstLine.value()&&(u.trackingModeIsAvailable||e<542);this._parentEl.classList.toggle(S.directionColumn,s),this._parentEl.classList.toggle(S.hideUniportantValueItems,!h.CheckMobile.any()&&e<=272)}getMainSourceHeight(){return null===this._mainDataSourceRenderer?0:this._mainDataSourceRenderer.getHeight()}getDataSourceHeight(){return 0===this._dataSourceRenderers.length?0:this._dataSourceRenderers[0].getHeight()}_renderMainDataSourceEl(){
|
||
null===this._mainDataSourceEl&&(this._mainDataSourceEl=document.createElement("div"),this._mainDataSourceEl.classList.add(S.legendMainSourceWrapper),this._parentEl.insertBefore(this._mainDataSourceEl,this._dataSourcesEl))}_renderDataSourcesEl(){null===this._dataSourcesEl&&(this._dataSourcesEl=document.createElement("div"),this._dataSourcesEl.classList.add(S.sourcesWrapper),this._renderToggle(this._dataSourcesEl),this._dataSourcesAdditionalWrapperEl=document.createElement("div"),this._dataSourcesAdditionalWrapperEl.classList.add(S.sources),this._dataSourcesEl.appendChild(this._dataSourcesAdditionalWrapperEl),this._renderCollapsedCounter(this._dataSourcesAdditionalWrapperEl),this._parentEl.appendChild(this._dataSourcesEl))}_renderToggle(e){this._options.showToggleButton&&(this._renderToggler=new P(e,this._options.themedColor,this._togglerOptions))}_renderCollapsedCounter(e){this._collapsedDataSourcesWrapperEl=document.createElement("div"),this._collapsedDataSourcesWrapperEl.className=`${S.item} ${S.last}`,this._collapsedDataSourcesEl=document.createElement("span"),this._collapsedDataSourcesEl.className=S.text+" apply-common-tooltip",this._collapsedDataSourcesWrapperEl.append(this._collapsedDataSourcesEl),e.append(this._collapsedDataSourcesWrapperEl),u.trackingModeIsAvailable&&this._collapsedDataSourcesWrapperEl.addEventListener("touchend",this._showCollapsedDataSourcesTooltipHandler),this._updateCollapsedSourcesCount(this._collapsedDataSourcesCountSpawn.value())}_showCollapsedDataSourcesTooltip(){(0,O.showOnElement)(this._collapsedDataSourcesEl,{text:this._options.collapsedDataSourcesTitle.value()}),this._addOutsideEventForHideTooltip()}_addOutsideEventForHideTooltip(){null!==this._outsideEventForCollapsedTooltip&&this._outsideEventForCollapsedTooltip(),this._outsideEventForCollapsedTooltip=(0,I.addOutsideEventListener)(new CustomEvent("timestamp").timeStamp,this._collapsedDataSourcesWrapperEl,()=>{null!==this._outsideEventForCollapsedTooltip&&this._outsideEventForCollapsedTooltip(),(0,O.hide)()},window.document,{touchEnd:!0})}_updateCollapsedSourcesCount(e){if(null===this._collapsedDataSourcesWrapperEl||null===this._collapsedDataSourcesEl)return;const t=0===e;this._collapsedDataSourcesWrapperEl.classList.toggle(g.blockHidden,t),t||(w(this._collapsedDataSourcesEl,"+"+e),this._collapsedDataSourcesEl.setAttribute("title",this._options.collapsedDataSourcesTitle.value()))}_updateLegendVisibility(){this._parentEl.classList.toggle(g.blockHidden,this._isAllLegendHidden.value()),null!==this._dataSourcesEl&&this._dataSourcesEl.classList.toggle(g.blockHidden,this._isStudiesLegendHidden.value())}_updateAllHiddenExeptFirstLine(){this._parentEl.classList.toggle(S.wrappable,!this._hideAllExceptFirstLine.value())}_setCustomBg(){const e=this._showBackground.value(),t=this._themedColor.value(),s=this._backgroundTransparency.value();let i="";if(e){const[e,l,o]=(0,r.parseRgb)(t);i=(0,r.rgbaToString)([e,l,o,(0,r.normalizeAlphaComponent)(1-s/100)])}this._parentEl.style.color=i}}
|
||
var F=s(11372),Y=s(81465),U=s(68906),X=s(24980),q=s(2872),G=s.n(q),$=s(62820),K=s(54089);function Z(e){return void 0!==e?U.resetTransparency(e):e}const J=new X.TranslatedString("show {title}",(0,k.t)("show {title}")),Q=new X.TranslatedString("hide {title}",(0,k.t)("hide {title}")),ee=(0,k.t)("Show"),te=(0,k.t)("Hide");class se{constructor(e,t,s,i,l){this._values=new(o())([]),this._actions=[],this._onDestroy=new(G()),this._loading=new(o())(!1),this._moreActionCM=null,this._updateLoadingStatus=()=>{this._loading.setValue(this._source.isLoading())},this._model=e,this._source=t,this._options=s,this._callbacks=i,this._contextMenuOptions=l,this._disabled=new(o())(this._getDisabledState()),this._disabledOnInterval=new(o())(this._getDisabledOnIntervalState()),this._selected=new(o())(!1),this._isTitleHidden=new(o())(this._getTitleHiddenValue()),this._isValuesHidden=new(o())(this._getValuesHiddenValue()),this._isRowHidden=new(o())(this._getRowHiddenValue()),(0,K.combine)(()=>({}),this._isTitleHidden,this._isValuesHidden,this._disabled).subscribe(this._updateRowVisibilities.bind(this)),this._values.subscribe(()=>{this._isValuesHidden.setValue(this._getValuesHiddenValue())})}destroy(){}onDestroy(){return this._onDestroy}titles(){return this._titles}values(){return this._values.readonly()}actions(){return this._actions}disabled(){return this._disabled.readonly()}disabledOnInterval(){return this._disabledOnInterval.readonly()}selected(){return this._selected.readonly()}loading(){return this._loading.readonly()}isTitleHidden(){return this._isTitleHidden.readonly()}isValuesHidden(){return this._isValuesHidden.readonly()}isRowHidden(){return this._isRowHidden.readonly()}update(){this._updateTitles(),this._updateValues(),this._updateStates()}updateSource(e){this._source!==e&&(this._source=e,this.update(),this._isTitleHidden.setValue(this._getTitleHiddenValue()),this._isValuesHidden.setValue(this._getValuesHiddenValue()))}onToggleDisabled(){const e=this._source.properties().childs().visible,t=!e.value();this._model.setProperty(e,t,(t?J:Q).format({title:new X.TranslatedString(this._source.name(),this._source.title())})),x((t?"Show":"Hide")+" source")}onShowSettings(e){this._source.userEditEnabled()&&(this.setSourceSelected(),this._callbacks.showChartPropertiesForSource(this._source,e),x("Settings for source"))}onShowMoreActions(e){return this._options.readOnlyMode?Promise.resolve(null):(this._callbacks.updateActions(),x("Show source context menu"),this._callbacks.showContextMenuForSources([this._source],this._calcNewPosition(e),this._contextMenuOptions))}setSourceSelected(){this._model.selectionMacro(e=>{e.clearSelection(),e.addSourceToSelection(this._source)})}_moreActionHandler(e){e.preventDefault(),null!==this._moreActionCM&&this._moreActionCM.isShown()?this._moreActionCM=null:(this.setSourceSelected(),this.onShowMoreActions(e).then(e=>{this._moreActionCM=e}))}_updateStates(){this._disabled.setValue(this._getDisabledState()),this._disabledOnInterval.setValue(this._getDisabledOnIntervalState()),
|
||
this._selected.setValue(this._model.selection().isSelected(this._source)),this._updateLoadingStatus()}_hasValues(){return this._values.value().length>0}_getEyeTitle(){return this._disabled.value()?ee:te}_getDisabledState(){return!this._source.properties().visible.value()}_updateRowVisibilities(){this._isRowHidden.setValue(this._getRowHiddenValue())}_getRowHiddenValue(){return this._options.readOnlyMode&&this._disabled.value()||this._isTitleHidden.value()&&(this._isValuesHidden.value()||this._disabled.value())}_calcNewPosition(e){let t={};if(e.hasOwnProperty("touches")&&e.touches.length>0)t={clientX:e.touches[0].clientX,clientY:e.touches[0].clientY};else if(null!==e.target){const s=e.target.getBoundingClientRect();t={clientX:(0,$.isRtl)()?s.right:s.left,clientY:s.top+s.height+3}}else{const s=e;t={clientX:s.clientX,clientY:s.clientY}}return t}}var ie=s(73591),le=s(35671),oe=s(35067),ae=s(13719),ne=s(96095);const re=(0,k.t)("More"),de=(0,k.t)("Flag Symbol"),he=(0,k.t)("Unflag Symbol"),ue=d.enabled("show_hide_button_in_legend"),ce=d.enabled("hide_resolution_in_legend");class _e extends se{constructor(e,t,s,i,l){super(e,t,s,i,l),this._titles={title:new(o())(""),description:new(o())(""),interval:new(o())(""),provider:new(o())(""),exchange:new(o())(""),chartStyle:new(o())(""),branding:new(o())("")},this._symbolMarker=null,this._symbolMarkerIcon=null,this._flagged=new(o())(null),this._symbolAction=null,this._symbol=null,this._isOneButtonCanBeStick=!1,this._createActions(),this._updateSymbolMarker();const a=this._model.model().properties().childs().paneProperties.childs().legendProperties.childs();a.showSeriesTitle.subscribe(this,()=>{this._isTitleHidden.setValue(this._getTitleHiddenValue())}),this._valuesVisibleProperty=(0,Y.combineProperty)((e,t,s)=>e||t||s,a.showSeriesOHLC,a.showBarChange,a.showVolume),this._valuesVisibleProperty.subscribe(null,()=>{this._isValuesHidden.setValue(this._getValuesHiddenValue())}),this.update(),this._source.onStatusChanged().subscribe(this,this._updateLoadingStatus)}destroy(){super.destroy(),this._model.model().properties().childs().paneProperties.childs().legendProperties.childs().showSeriesTitle.unsubscribeAll(this),this._source.onStatusChanged().unsubscribeAll(this),this._valuesVisibleProperty.destroy(),this._onDestroy.fire()}flagged(){return this._flagged.readonly()}onShowSettings(){this._source.userEditEnabled()&&this._callbacks.showGeneralChartProperties(ie.TabNames.symbol)}isOneButtonCanBeStick(){return this._isOneButtonCanBeStick}_updateTitles(){var e;const t=(0,i.ensureNotNull)(this._source.statusView()).getSplitTitle();this._titles.title.setValue((0,F.clean)(t.title,!0)),this._titles.description.setValue((0,F.clean)(t.description,!0)),ce||this._titles.interval.setValue((0,F.clean)(t.interval,!0)),this._titles.provider.setValue((0,F.clean)(t.provider,!0)),this._titles.exchange.setValue((0,F.clean)(t.exchange,!0)),this._titles.chartStyle.setValue((0,F.clean)(t.chartStyle,!0)),this._titles.branding.setValue((0,F.clean)(null!==(e=t.branding)&&void 0!==e?e:"",!0))}_updateValues(){
|
||
const e=this._source.legendView(),t=this._values.value(),s=e.marketTitle(),i=e.marketTitle().length>0;if(0===t.length){const t={value:new(o())(""),color:new(o())(""),visible:new(o())(i),title:new(o())(s),unimportant:new(o())(!1)},l=e.items().map(e=>({value:new(o())(e.value()),color:new(o())(Z(e.color())),visible:new(o())(e.visible()),title:new(o())(e.title()),unimportant:new(o())(e.unimportant())}));this._values.setValue([t].concat(l))}else{t[0].title.setValue(s),t[0].visible.setValue(i);const l=e.items();for(let e=0;e<l.length;e++){const s=l[e];t[e+1].value.setValue(s.value()),t[e+1].color.setValue(Z(s.color())),t[e+1].visible.setValue(s.visible()),t[e+1].title.setValue(s.title())}}}_updateStates(){super._updateStates(),this._updateSymbolMarker()}_getDisabledOnIntervalState(){return!1}_getTitleHiddenValue(){return!this._model.model().properties().childs().paneProperties.childs().legendProperties.childs().showSeriesTitle.value()}_getValuesHiddenValue(){return!this._hasValues()||!this._valuesVisibleProperty.value()}_createActions(){if(ue){const e={iconMap:new Map([["large",oe],["small",le]]),action:(0,m.wrapHandlerWithPreventEvent)(this.onToggleDisabled.bind(this)),visible:new(o())(!0),className:S.eye,title:new(o())(this._getEyeTitle()),dataset:{name:"legend-show-hide-action"}};this._actions.push(e),this._disabled.subscribe(()=>{e.title.setValue(this._getEyeTitle())})}this._actions.push({iconMap:new Map([["large",ne],["small",ae]]),action:this._moreActionHandler.bind(this),visible:new(o())(!0),title:new(o())(re),dataset:{name:"legend-more-action"}})}_getMarkerTitle(){return null!==this._symbolMarker?this._symbolMarker.isMarked()?he:de:""}_symbolActionHandler(){null!==this._symbolMarker&&(this._updateSymbolMarker(),x("Change flag state"))}_updateSymbolMarker(){this._isOneButtonCanBeStick=!0}}var pe=s(81851),me=s(3615);var ge=s(56756),be=s(98125),ve=s(38197),we=s(51855),Se=s(42125),ye=s(53448),Me=s(9771),fe=s(55153);(0,be.getLogger)("Chart.LegendWidget");const Ce=(0,k.t)("Settings"),Ee=(0,k.t)("Source code"),ke=(0,k.t)("Remove"),Ve=(0,k.t)("More"),xe=((0,k.t)("Error"),(0,k.t)("Could not get Pine source code."),(0,k.t)("Show interval settings")),Te=(d.enabled("study_buttons_in_legend"),d.enabled("show_hide_button_in_legend")),We=d.enabled("property_pages"),Le=d.enabled("format_button_in_legend"),Ae=d.enabled("delete_button_in_legend");class He extends se{constructor(e,t,s,i,l){super(e,t,s,i,l),this._titles={title:new(o())(""),args:new(o())("")},this._error=new(o())(!1),this._isPineScriptDataSource=new(o())(!1),this._pineAction=null,this._globalVisibility=new(o())(!0),this._createActions();const a=this._model.model().properties().childs().paneProperties.childs().legendProperties.childs(),n=[a.showSeriesTitle,a.showStudyTitles];for(const e of n)e.subscribe(this,()=>{this._isTitleHidden.setValue(this._getTitleHiddenValue())});const r=[a.showSeriesOHLC,a.showBarChange,a.showStudyValues];for(const e of r)e.subscribe(this,()=>{this._isValuesHidden.setValue(this._getValuesHiddenValue())});this.update()}destroy(){super.destroy()
|
||
;const e=this._model.model().properties().childs().paneProperties.childs().legendProperties.childs();e.showSeriesTitle.unsubscribeAll(this),e.showStudyTitles.unsubscribeAll(this),e.showSeriesOHLC.unsubscribeAll(this),e.showBarChange.unsubscribeAll(this),e.showStudyValues.unsubscribeAll(this),this._onDestroy.fire()}error(){return this._error.readonly()}isPineScriptDataSource(){return this._isPineScriptDataSource.readonly()}updateSource(e){this._source!==e&&(this._values.setValue([]),super.updateSource(e),this._updateAbleShowSourceCode())}onRemoveSource(){var e;this._source.isUserDeletable()&&(this._source.hasChildren()?(e=this._model.removeSource.bind(this._model,this._source,!1),(0,me.showConfirm)({title:(0,k.t)("Confirm Remove Study Tree"),text:(0,k.t)("Do you really want to delete study and all of it's children?"),onConfirm:({dialogClose:t})=>{e(),t()}})):this._model.removeSource(this._source,!1),x("Remove sources"))}onShowSourceCode(){0}setGlobalVisibility(e){this._globalVisibility.setValue(e)}globalVisibility(){return this._globalVisibility.readonly()}getFullTitle(){return[this._titles.title,this._titles.args].map(e=>e.value()).join(" ")}_updateTitles(){const e=(0,i.ensureNotNull)(this._source.statusView()).getSplitTitle();this._titles.title.setValue((0,F.clean)(e[0],!0));const t=Array.isArray(e[1])?e[1].join(" "):e[1]||"";this._titles.args.setValue((0,F.clean)(t,!0))}_updateValues(){const e=this._source.legendView();if(null===e)return;if(0===e.items().length)return;const t=this._values.value();if(0===t.length){const t=e.items().map(e=>({value:new(o())(e.value()),color:new(o())(Z(e.color())),visible:new(o())(e.visible()),unimportant:new(o())(e.unimportant()),title:new(o())(e.title())}));this._values.setValue(t)}else{const s=e.items();for(let e=0;e<s.length;e++){const i=t[e],l=s[e];i.value.setValue(l.value()),i.color.setValue(Z(l.color())),i.visible.setValue(l.visible()),i.title.setValue(l.title())}}}_updateStates(){super._updateStates(),void 0!==this._error&&this._error.setValue(Boolean(this._source.isFailed()))}_getTitleHiddenValue(){const e=this._model.model().properties().childs().paneProperties.childs().legendProperties.childs();return this._isSymbolLikeStudy()?!e.showSeriesTitle.value():!e.showStudyTitles.value()}_getDisabledOnIntervalState(){return!(!(0,pe.isStudy)(this._source)&&!(0,pe.isStudyStub)(this._source))&&!this._source.isActualInterval()}_getValuesHiddenValue(){if(!this._hasValues())return!0;const e=this._model.model().properties().childs().paneProperties.childs().legendProperties.childs();return this._isSymbolLikeStudy()?!e.showSeriesOHLC.value()&&!e.showBarChange.value():!e.showStudyValues.value()}_isSymbolLikeStudy(){return this._source instanceof Me.study_Overlay||this._source instanceof fe.StudyCompare}_updateAbleShowSourceCode(){0}_updateVisibilityPineAction(e){null!==this._pineAction&&(this._pineAction.visible.setValue(e),this._isPineScriptDataSource.setValue(e))}_createActions(){if(!this._options.readOnlyMode){if(this._pineAction={iconMap:new Map([["large",we],["small",we]]),action:(0,
|
||
m.wrapHandlerWithPreventEvent)(this.onShowSourceCode.bind(this)),visible:new(o())(!1),title:new(o())(Ee),dataset:{name:"legend-pine-action"}},Te){const e={iconMap:new Map([["large",oe],["small",le]]),action:(0,m.wrapHandlerWithPreventEvent)(this.onToggleDisabled.bind(this)),visible:new(o())(!this._getDisabledOnIntervalState()),className:S.eye,title:new(o())(this._getEyeTitle()),dataset:{name:"legend-show-hide-action"}};this._actions.push(e),this._disabled.subscribe(()=>{e.title.setValue(this._getEyeTitle())});const t={iconMap:new Map([["large",oe],["small",le]]),action:(0,m.wrapHandlerWithPreventEvent)(this.onShowSettings.bind(this,ie.TabNames.visibility)),visible:new(o())(this._getDisabledOnIntervalState()),className:S.intervalEye,title:new(o())(xe),dataset:{name:"legend-interval-show-hide-action"}};this._actions.push(t),this._disabledOnInterval.subscribe(s=>{t.visible.setValue(s),e.visible.setValue(!s)})}We&&Le&&(!(0,pe.isStudy)(this._source)||new ge.MetaInfoHelper(this._source.metaInfo()).hasUserEditableOptions())&&this._actions.push({iconMap:new Map([["large",ve],["small",ve]]),action:(0,m.wrapHandlerWithPreventEvent)(this.onShowSettings.bind(this)),visible:new(o())(!0),title:new(o())(Ce),dataset:{name:"legend-settings-action"}}),Ae&&this._actions.push({iconMap:new Map([["large",ye],["small",Se]]),action:(0,m.wrapHandlerWithPreventEvent)(this.onRemoveSource.bind(this)),visible:new(o())(!0),title:new(o())(ke),dataset:{name:"legend-delete-action"}}),this._actions.push({iconMap:new Map([["large",ne],["small",ae]]),action:this._moreActionHandler.bind(this),visible:new(o())(!0),title:new(o())(Ve),dataset:{name:"legend-more-action"}})}}}var Be=s(28296),De=s(97056),Pe=s(13647),Oe=s(82724),Ie=s(79680),ze=s(44368);function Ne(e,t,s){e.setProperty(t,!t.value(),s)}const Re=new X.TranslatedString("change symbol description visibility",(0,k.t)("change symbol description visibility")),je=new X.TranslatedString("change open market status visibility",(0,k.t)("change open market status visibility")),Fe=new X.TranslatedString("change OHLC values visibility",(0,k.t)("change OHLC values visibility")),Ye=new X.TranslatedString("change bar change visibility",(0,k.t)("change bar change visibility")),Ue=new X.TranslatedString("change indicator titles visibility",(0,k.t)("change indicator titles visibility")),Xe=new X.TranslatedString("change indicator arguments visibility",(0,k.t)("change indicator arguments visibility")),qe=new X.TranslatedString("change indicator values visibility",(0,k.t)("change indicator values visibility")),Ge=new X.TranslatedString("change volume values visibility",(0,k.t)("change volume values visibility")),$e=(0,k.t)("Symbol"),Ke=(0,k.t)("Open market status"),Ze=(0,k.t)("OHLC values"),Je=(0,k.t)("Bar change values"),Qe=(0,k.t)("Volume"),et=(0,k.t)("Indicator titles"),tt=(0,k.t)("Indicator arguments"),st=(0,k.t)("Indicator values"),it=(0,Oe.appendEllipsis)((0,k.t)("Settings"));var lt=s(55257),ot=s(39277),at=s(97098),nt=s(967),rt=s(84917),dt=s(10480),ht=s(90388);function ut(e){
|
||
return e===rt.WeekDays.SUNDAY?rt.WeekDays.SATURDAY:e-1}function ct(e){return e===rt.WeekDays.SATURDAY?rt.WeekDays.SUNDAY:e+1}function _t(e,t){const s=ut(t);return 0===e[s].entries.length?_t(e,s):{dayIndex:s,entries:e[s].entries}}function pt(e,t){const s=ct(t);return 0===e[s].entries.length?pt(e,s):{dayIndex:s,entries:e[s].entries}}function mt(e){for(;e>dt.minutesPerDay;)e-=dt.minutesPerDay;const t=e%60,s=(e-t)/60;return(0,at.numberToStringWithLeadingZero)(s,2)+":"+(0,at.numberToStringWithLeadingZero)(t,2)}const gt={[rt.WeekDays.MONDAY]:{title:nt.weekDaysShortNames[rt.WeekDays.MONDAY],isActive:!1,entries:[]},[rt.WeekDays.TUESDAY]:{title:nt.weekDaysShortNames[rt.WeekDays.TUESDAY],isActive:!1,entries:[]},[rt.WeekDays.WEDNESDAY]:{title:nt.weekDaysShortNames[rt.WeekDays.WEDNESDAY],isActive:!1,entries:[]},[rt.WeekDays.THURSDAY]:{title:nt.weekDaysShortNames[rt.WeekDays.THURSDAY],isActive:!1,entries:[]},[rt.WeekDays.FRIDAY]:{title:nt.weekDaysShortNames[rt.WeekDays.FRIDAY],isActive:!1,entries:[]},[rt.WeekDays.SATURDAY]:{title:nt.weekDaysShortNames[rt.WeekDays.SATURDAY],isActive:!1,entries:[]},[rt.WeekDays.SUNDAY]:{title:nt.weekDaysShortNames[rt.WeekDays.SUNDAY],isActive:!1,entries:[]}};function bt(e,t){return e.start.value===t.start.value&&e.end.value===t.end.value}function vt(e,t){return bt(e[0],t[0])}function wt(e){const t=e.start(),s=e.length(),i=e.sessionStartDayOfWeek(),l=e.sessionEndDayOfWeek(),o=mt(t),a=mt(t+s);return s>dt.minutesPerDay?`${nt.weekDaysShortNames[i]} ${o} — ${nt.weekDaysShortNames[l]} ${a}`:`${o} — ${a}`}function St(e,t,s,i){return Math.abs(i-s)>1?`${nt.weekDaysShortNames[s]} ${e.title} — ${nt.weekDaysShortNames[i]} ${t.title}`:`${e.title} — ${t.title}`}function yt(e,t,s){for(const i of t){let t=i.sessionStartDayOfWeek();const l=i.start(),o=i.length(),a=l+o,n=[];if(a<=dt.minutesPerDay)n.push([l,a]);else{const e=Math.min(dt.minutesPerDay-l,o);n.push([l,l+e]),n.push([0,o-e])}for(let l=0;l<n.length;l++){const o=n[l],[a,r]=o,d=a/dt.minutesPerDay,h=(0,lt.lowerbound)(e[t].entries,d,(e,t)=>e.start.value<t),u={start:{value:d,title:mt(a),isFirstOrLastPoint:a===i.start()},end:{value:r/dt.minutesPerDay,title:mt(r),isFirstOrLastPoint:n.length-1===l},type:s,tooltip:wt(i),showStartForLastEntry:!1,showEndForFirstEntry:!1};e[t].entries.splice(h,0,u),t=ct(t)}}}class Mt{constructor(e){this.sessionsDays=new(o())((0,a.clone)(gt)),this.todaySession=new(o())((0,a.clone)({entries:[]})),this._todayInExchangeTime=null,this._symbolInfo=e.symbolInfo().spawn(),this._symbolInfo.subscribe(this._updateEntriesBySubSessions.bind(this),{callWithLast:!0})}destroy(){this._symbolInfo.destroy()}currentTimeValue(){return null===this._todayInExchangeTime?-1:dt.get_minutes_from_midnight(this._todayInExchangeTime)/dt.minutesPerDay}timezone(){const e=this._symbolInfo.value();return null===e?"":(0,ot.timezoneTitle)(e.timezone)}_updateEntriesBySubSessions(e){var t;this._updateTodayWithOffsets(e)
|
||
;const s=this._createSubSessionSpecs(e),l=(o=(null===(t=this._todayInExchangeTime)||void 0===t?void 0:t.getUTCDay())||(new Date).getDay())<rt.WeekDays.SATURDAY?o+1:rt.WeekDays.SUNDAY;var o;const n=(0,a.clone)(gt);n[l].isActive=!0;for(const e of Array.from(s.keys())){yt(n,(0,i.ensureDefined)(s.get(e)).getEntriesForWeekByCalendar((0,i.ensureNotNull)(this._todayInExchangeTime)),e)}!function(e){const t=mt(0),s=mt(dt.minutesPerDay),l=(0,a.clone)(e);for(const o of Object.keys(e)){const a=parseInt(o),n=e[a].entries;if(0===n.length){n.push({start:{value:0,title:t,isFirstOrLastPoint:!0},end:{value:1,title:s,isFirstOrLastPoint:!0},type:3,tooltip:`${t} — ${s}`,showStartForLastEntry:!1,showEndForFirstEntry:!1});continue}const r=ut(a),d=ct(a),h=l[r].entries,u=l[d].entries,c=_t(l,a),_=pt(l,a),p=n.length;let m=0;for(let e=0;e<p;e++){const s=n[e],l=e>0?n[e-1]:null,o=0===e;if(0===s.start.value||0===s.start.value&&1===s.end.value||null!==l&&s.start.value===l.end.value){m++;continue}const r=o?c.entries[c.entries.length-1]:(0,i.ensureNotNull)(l),d={start:{value:o?0:n[e-1].end.value,title:o?t:n[e-1].end.title,isFirstOrLastPoint:!(o&&h.length>0)||1===h[h.length-1].end.value},end:{value:s.start.value,title:s.start.title,isFirstOrLastPoint:!0},type:3,tooltip:St(r.end,s.start,c.dayIndex,a),showStartForLastEntry:!1,showEndForFirstEntry:!1};n.splice(m,0,d),m=e+2}const g=n[n.length-1];1!==g.end.value&&n.push({start:{value:g.end.value,title:g.end.title,isFirstOrLastPoint:!0},end:{value:1,title:mt(dt.minutesPerDay),isFirstOrLastPoint:!(u.length>0)||0===u[0].start.value},type:3,tooltip:St(g.end,_.entries[0].start,a,_.dayIndex),showStartForLastEntry:!1,showEndForFirstEntry:!1})}}(n),function(e){for(const i of Object.keys(e)){const l=parseInt(i),o=e[l].entries;if(1===o.length)continue;const a=ut(l),n=ct(l),r=o[0],d=o[o.length-1];r.start.isFirstOrLastPoint||(r.showStartForLastEntry=(t=o,s=e[a].entries,bt(t[t.length-1],s[s.length-1]))),d.end.isFirstOrLastPoint||(d.showEndForFirstEntry=vt(o,e[n].entries))}var t,s}(n),this.sessionsDays.setValue(n),this.todaySession.setValue(n[l])}_createSubSessionSpecs(e){if(null===e)return new Map;if(void 0===e.subsessions)return new Map([[0,new ht.SessionSpec(e.timezone,e.session,e.session_holidays,e.corrections)]]);const t=["regular","premarket","postmarket"],s=new Map;for(const i of t){let t=null;switch(i){case"regular":t=0;break;case"premarket":t=1;break;case"postmarket":t=2}if(null!==t){const l=e.subsessions.find(e=>e.id===i);void 0!==l&&s.set(t,new ht.SessionSpec(e.timezone,l["session-display"]||l.session,e.session_holidays,l["session-correction"]))}}return s}_updateTodayWithOffsets(e){if(null===e)return void(this._todayInExchangeTime=null);const t=1e3*window.ChartApiInstance.serverTimeOffset();this._todayInExchangeTime=dt.get_cal_from_unix_timestamp_ms(dt.get_timezone(e.timezone),Date.now()+t)}}var ft=s(59496),Ct=s(97754),Et=s(77975),kt=s(9423),Vt=s(34451);const xt=new WeakMap;function Tt(e){return xt.has(e)||xt.set(e,(0,kt.randomHash)()),(0,i.ensureDefined)(xt.get(e))}
|
||
const Wt=new Map([[0,Vt.green],[1,Vt.orange],[2,Vt.blue],[3,Vt.gray]]),Lt=new Map([[0,(0,k.t)("Market open")],[1,(0,k.t)("Pre-market")],[2,(0,k.t)("Post-market")],[3,(0,k.t)("Market closed")]]),At=(0,k.t)("Exchange timezone");function Ht(e){const{segment:t,forceStart:s,forceEnd:i}=e,l=t.end.value-t.start.value,o=l<.03,a={left:100*t.start.value+"%",width:`calc(${100*l}% + ${o?2:0}px)`},n=Ct(Vt.segment,Wt.get(t.type),(s||t.start.isFirstOrLastPoint)&&Vt.start,(i||t.end.isFirstOrLastPoint)&&Vt.end,o&&Vt.small,"common-tooltip-html","apply-common-tooltip"),r=function(e,t){return`<div class="${Vt.tooltip}">\n\t\t<span class="${Wt.get(t)}">${Lt.get(t)}</span>\n\t\t<span class="${Vt.time}">${e}</span>\n\t</div>`}(t.tooltip,t.type);return ft.createElement("div",{className:n,style:a,"data-tooltip":r})}function Bt(e){const{sessionDay:t}=e,s=t.entries.map((e,s)=>ft.createElement(Ht,{key:Tt(e)+"Segment",segment:e,forceStart:0===s&&3===e.type,forceEnd:s===t.entries.length-1&&3===e.type})),i=Ct(Vt.sessionDay,t.isActive&&Vt.active);return ft.createElement("div",{className:i},ft.createElement("div",{className:Vt.weekDay},t.title),ft.createElement("div",{className:Vt.sessionDaySegments},s))}function Dt(e){const{sessionDays:t,currentTimeMark:s}=e,i=[],l=parseInt(Object.keys(t).filter(e=>t[parseInt(e)].isActive)[0]),o=t[l],a=o.entries.filter(e=>e.start.value<=s&&e.end.value>=s)[0];!a.start.isFirstOrLastPoint&&a.showStartForLastEntry?i.push(o.entries[o.entries.length-1].start):i.push(a.start);const n=!a.end.isFirstOrLastPoint&&a.showEndForFirstEntry?o.entries[0].end:a.end;if(i[0].value!==n.value&&i.push(n),0===i.length)return null;i.sort((e,t)=>e.value-t.value);const r=i.map(e=>ft.createElement("div",{key:Tt(e),className:Vt.timeMark},e.title)),d=100*(2===i.length?i[1].value-i[0].value:0),h=Ct(d>12&&Vt.timeMarkSegmentAlignByEnds,Vt.timeMarkSegment);return ft.createElement("div",{className:Vt.sessionDay},ft.createElement("div",{className:Vt.weekDay}),ft.createElement("div",{className:Vt.timeMarkWrapper},ft.createElement("div",{className:h,style:{left:100*i[0].value+"%",width:d+"%"}},r)))}class Pt{constructor(e){this._fullSessionScheduleViewModel=new Mt(e)}destroy(){this._fullSessionScheduleViewModel.destroy()}renderer(e,t){return function(e){const{key:t,className:s,now:i,timezone:l}=e,o=(0,Et.useWatchedValueReadonly)({watchedValue:e.sessionDays}),a=Object.values(o).filter(e=>e.isActive)[0],n=Ct(s,Vt.wrapper);return ft.createElement("div",{key:t,className:n},ft.createElement("div",{className:Vt.sessionDayWrapper},ft.createElement(Bt,{sessionDay:a}),ft.createElement("div",{className:Vt.nowWrapper},ft.createElement("div",{className:Vt.now,style:{left:100*i+"%"}}))),ft.createElement(Dt,{sessionDays:o,currentTimeMark:i}),ft.createElement("div",{className:Vt.timezone},`${At}: ${l}`))}({key:e,className:t,sessionDays:this._fullSessionScheduleViewModel.sessionsDays,now:this._fullSessionScheduleViewModel.currentTimeValue(),timezone:this._fullSessionScheduleViewModel.timezone()})}updateSource(e){}}var Ot=s(45112),It=s(80054),zt=s(5752);class Nt{
|
||
constructor(e){this.isBlinkingMode=new(o())(!1),this._status=new(o())(null),this._fullTooltip=new(o())(null),this._iconClassNames=new(o())(null),this._visible=new(o())(!1),this._tooltip=new(o())(null),this._icon=new(o())(null),this._className=new(o())(null),this._infoMaps=e,this._size=e.size||"small",this._status.subscribe(this._updateByStatus.bind(this),{callWithLast:!0}),this._className.subscribe(this._updateIconClassName.bind(this))}turnOffBlinkingMode(){}status(){return this._status}tooltip(){return this._tooltip}icon(){return this._icon}className(){return this._className}visible(){return this._visible}size(){return this._size}fullInfo(){return this._fullTooltip}_getTooltip(e){var t,s;return null!==(s=null===(t=this._infoMaps.tooltipMap)||void 0===t?void 0:t.get(e))&&void 0!==s?s:null}_getIcon(e){let t;const s=this._infoMaps.iconMap.get(e);return void 0!==s&&(t=s.get(this._size)),t||null}_getClassName(e){return this._infoMaps.classNameMap.get(e)||null}_getTitle(e){var t,s;return null!==(s=null===(t=this._infoMaps.titleMap)||void 0===t?void 0:t.get(e))&&void 0!==s?s:null}_getTitleColor(e){var t,s;return null!==(s=null===(t=this._infoMaps.titleColorMap)||void 0===t?void 0:t.get(e))&&void 0!==s?s:null}async _getHtml(e){var t,s,i;return null!==(i=null===(s=null===(t=this._infoMaps.htmlMap)||void 0===t?void 0:t.get(e))||void 0===s?void 0:s.map(It.htmlEscape))&&void 0!==i?i:null}_getAction(e){var t,s;return null!==(s=null===(t=this._infoMaps.actionMap)||void 0===t?void 0:t.get(e))&&void 0!==s?s:null}async _updateFullTooltipByStatus(e){const t=await this._getHtml(e);this._status.value()===e&&this._fullTooltip.setValue([{icon:this._icon.value(),iconClassName:this._iconClassNames.value(),title:this._getTitle(e),titleColor:this._getTitleColor(e),html:t,size:this._size,action:this._getAction(e)}])}_updateByStatus(e){if(null===e||this._shouldBeHiddenByStatus(e))return this._icon.setValue(null),this._tooltip.setValue(null),void this._visible.setValue(!1);this._icon.setValue(this._getIcon(e)),this._className.setValue(this._getClassName(e)),this._tooltip.setValue(this._getTooltip(e)),this._visible.setValue(!0),this._updateFullTooltipByStatus(e)}_shouldBeHiddenByStatus(e){return!1}_updateIconClassName(e){null!==e?this._iconClassNames.setValue([zt.statusItem,e]):this._iconClassNames.setValue(null)}}var Rt=s(56840);const jt=[];function Ft(){return Rt.getJSON("tv.alreadyBlinkedStatuses",jt)}const Yt=new(o())(Ft());function Ut(e){const t=Rt.getJSON("tv.alreadyBlinkedStatuses",jt);t.includes(e)||(t.push(e),Rt.setJSON("tv.alreadyBlinkedStatuses",t),Yt.setValue(Ft()))}Rt.onSync.subscribe(null,()=>Yt.setValue(Ft()));const Xt=Yt;var qt=s(88461),Gt=s(60226),$t=s(7804),Kt=s(91353),Zt=s(4540),Jt=s(15147),Qt=s(19101);const es=(0,
|
||
be.getLogger)("Chart.LegendWidget"),ts=["TFEXDelayForGuest","MOEXDelayForGuest","CHIXAuDelayForGuest","LSEDelayForGuest","NGMDelayForGuest","DEForGuest","ICESGDelayForGuest"],ss=new Map([["DelayToRealtime",new Map([["small",Gt],["medium",$t],["large",$t]])],["DelayNoRealtime",new Map([["small",Gt],["medium",$t],["large",$t]])],["TFEXDelayForGuest",new Map([["small",Gt],["medium",$t],["large",$t]])],["MOEXDelayForGuest",new Map([["small",Gt],["medium",$t],["large",$t]])],["CHIXAuDelayForGuest",new Map([["small",Gt],["medium",$t],["large",$t]])],["LSEDelayForGuest",new Map([["small",Gt],["medium",$t],["large",$t]])],["NGMDelayForGuest",new Map([["small",Gt],["medium",$t],["large",$t]])],["ICESGDelayForGuest",new Map([["small",Gt],["medium",$t],["large",$t]])],["DEForGuest",new Map([["small",Gt],["medium",$t],["large",$t]])],["EOD",new Map([["small",Kt],["medium",Zt],["large",Zt]])],["TickByTick",new Map([["small",Jt],["medium",Qt],["large",Qt]])],["BATSToRealtime",new Map([["small",Jt],["medium",Qt],["large",Qt]])],["DelayWithoutMarketAgreement",new Map([["small",Gt],["medium",$t],["large",$t]])]]),is=new Map([["DelayToRealtime",zt.delay],["DelayNoRealtime",zt.delay],["TFEXDelayForGuest",zt.delay],["MOEXDelayForGuest",zt.delay],["CHIXAuDelayForGuest",zt.delay],["LSEDelayForGuest",zt.delay],["NGMDelayForGuest",zt.delay],["ICESGDelayForGuest",zt.delay],["DEForGuest",zt.delay],["EOD",zt.eod],["TickByTick",zt.notAccurate],["BATSToRealtime",zt.notAccurate],["DelayWithoutMarketAgreement",zt.delay]]),ls=new Map([["DelayToRealtime",Ot.colorsPalette["color-delay-mode"]],["DelayNoRealtime",Ot.colorsPalette["color-delay-mode"]],["TFEXDelayForGuest",Ot.colorsPalette["color-delay-mode"]],["MOEXDelayForGuest",Ot.colorsPalette["color-delay-mode"]],["CHIXAuDelayForGuest",Ot.colorsPalette["color-delay-mode"]],["LSEDelayForGuest",Ot.colorsPalette["color-delay-mode"]],["NGMDelayForGuest",Ot.colorsPalette["color-delay-mode"]],["ICESGDelayForGuest",Ot.colorsPalette["color-delay-mode"]],["DEForGuest",Ot.colorsPalette["color-delay-mode"]],["EOD",Ot.colorsPalette["color-eod-mode"]],["TickByTick",Ot.colorsPalette["color-notaccurate-mode"]],["BATSToRealtime",Ot.colorsPalette["color-notaccurate-mode"]],["DelayWithoutMarketAgreement",Ot.colorsPalette["color-delay-mode"]]]),os=(0,k.t)("Data is delayed"),as=(0,k.t)("End of day data"),ns=(0,k.t)("One update per second"),rs=(0,k.t)("Cboe BZX"),ds=(0,k.t)("{exchange} by {originalExchange}"),hs=(0,It.htmlEscape)((0,k.t)("{symbolName} data is delayed by {time} minutes.")),us=(0,It.htmlEscape)((0,k.t)("{listedExchange} real-time data is available for free to registered users.")),cs=(0,It.htmlEscape)((0,k.t)("To get real-time data for {description}, please buy the real-time data package.")),_s=(0,It.htmlEscape)((0,k.t)("Real-time data for {description} is not supported right now. We may support it in the future.")),ps=(0,It.htmlEscape)((0,k.t)("Data is updated once a day.")),ms=(0,It.htmlEscape)((0,
|
||
k.t)("Data on our Basic plan is updated once per second, even if there are more updates on the market.")),gs=(0,It.htmlEscape)((0,k.t)("Data is updated once per second, even if there are more updates on the market.")),bs=(0,It.htmlEscape)((0,k.t)("Paid plans feature faster data updates.")),vs=(0,It.htmlEscape)((0,k.t)("Real-time data for {symbolName} is provided by {exchange} exchange.")),ws=(0,It.htmlEscape)((0,k.t)("This data is real-time, but it’s slightly different to its official counterpart coming from primary exchanges.")),Ss=(0,It.htmlEscape)((0,k.t)("This data is real-time, but it’s slightly different to its official counterpart coming from {exchange}.")),ys=(0,It.htmlEscape)((0,k.t)("If you'd like {listedExchange} real-time data you'll need to complete an Exchange Agreement. Don't worry, it only takes a few clicks"));(0,k.t)("Create a free account"),(0,k.t)("Learn more"),(0,It.htmlEscape)((0,k.t)("Fill out Exchange Agreements"));class Ms extends Nt{constructor(e,t,s){super({iconMap:ss,classNameMap:is,titleColorMap:ls,size:t}),this._dataUpdatedMode=new(o())(null).spawn(),this._options=s,this._model=e,this._dataModeBlinkingStatuses=Xt.spawn(),this._dataModeBlinkingStatuses.subscribe(this._updateBlinkingMode.bind(this)),this.turnOffBlinkingMode=this._turnOffBlinking.bind(this),this.setModel(e)}destroy(){this._dataUpdatedMode.destroy(),this._dataModeBlinkingStatuses.destroy()}setModel(e){if(this._dataUpdatedMode.destroy(),null===e)return this._model=e,void(this._dataUpdatedMode=new(o())(null).spawn());this._dataUpdatedMode=e.status().spawn(),this._dataUpdatedMode.subscribe(this._updateStatus.bind(this),{callWithLast:!0})}_getTooltip(){const e=this._getShortTexts();return null===e?null:Object.values(e).join(" · ")}async _updateFullTooltipByStatus(){const e=this._dataUpdatedMode.value();if(null===e)return void this._fullTooltip.setValue(null);const t=this._getShortTexts(),s=await this._getHtmls(),i=await this._getActions();if(e!==this._dataUpdatedMode.value())return;const l=[];for(const o of e)l.push({icon:this._getIcon(o),iconClassName:this._iconClassNames.value(),title:t&&t[o],titleColor:this._getTitleColor(o),html:s&&s[o],size:this._size,action:i&&i[o]});this._fullTooltip.setValue(l)}_updateStatus(e){const t=null!==e?e[0]:null;super._updateByStatus(t),this._updateBlinkingMode()}async _getHtmls(){const e=this._dataUpdatedMode.value();if(null===e||null===this._model)return Promise.resolve(null);const t={},s=this._model.symbolName();let i=null,l=null;try{i=await this._model.description(),l=this._model.exchange()}catch(e){es.logError("Can't get exchange description, reason: "+(0,qt.errorToString)(e))}for(const o of e)if(t[o]=[],["DelayToRealtime","DelayNoRealtime","DelayWithoutMarketAgreement",...ts].includes(o)&&(t[o].push(hs.format({symbolName:s,time:this._model.time().toString()})),this._options.subscriptionFullInfo&&null!==i&&"DelayToRealtime"===o&&t[o].push(cs.format({description:`<b>${i}</b>`})),null!==i&&"DelayNoRealtime"===o&&t[o].push(_s.format({description:`<b>${i}</b>`})),
|
||
"DelayWithoutMarketAgreement"===o&&t[o].push(ys.format({listedExchange:this._model.listedExchange()})),this._options.subscriptionFullInfo&&ts.includes(o)&&t[o].push(us.format({listedExchange:this._model.listedExchange()}))),"EOD"===o&&(t[o]=[ps]),"TickByTick"===o&&(t[o].push(this._options.subscriptionFullInfo?ms:gs),this._options.subscriptionFullInfo&&t[o].push(bs)),null!==l&&"BATSToRealtime"===o){let e=this._model.listedExchange();0,t[o].push(vs.format({symbolName:s,exchange:l}),""!==e?Ss.format({exchange:e}):ws)}return Object.keys(t).length>0?t:null}async _getActions(){if(null===this._dataUpdatedMode.value()||null===this._model)return null;const e={};return Object.keys(e).length>0?e:null}_getShortTexts(){var e;const t=this._dataUpdatedMode.value();if(null===t||null===this._model)return null;const s={};for(const i of t)if(["DelayToRealtime","DelayNoRealtime",...ts,"DelayWithoutMarketAgreement"].includes(i)&&(s[i]=os),"EOD"===i&&(s[i]=as),"TickByTick"===i&&(s[i]=ns),"BATSToRealtime"===i){let t=null!==(e=this._model.firstReplacedByBatsExchange())&&void 0!==e?e:"";0,s[i]=""!==t?ds.format({exchange:t,originalExchange:rs}):rs}return Object.keys(s).length>0?s:null}_updateBlinkingMode(){const e=this._dataUpdatedMode.value();if(null===e)return;const t=this._dataModeBlinkingStatuses.value();for(const s of e)if(!t.includes(s))return void this.isBlinkingMode.setValue(!0);this.isBlinkingMode.setValue(!1)}_turnOffBlinking(){const e=this._dataUpdatedMode.value();if(null!==e)for(const t of e)Ut(t)}}var fs=s(12782),Cs=s(78447);const Es=(0,k.t)("Study Error"),ks=new Map([[!0,new Map([["small",fs],["medium",Cs],["large",Cs]])],[!1,new Map([["small",""],["medium",""],["large",""]])]]),Vs=new Map([[!0,zt.dataProblemLow],[!1,null]]),xs=new Map([[!0,Es],[!1,null]]),Ts=new Map([[!0,Es],[!1,null]]),Ws=new Map([[!0,Ot.colorsPalette["color-data-problem"]],[!1,null]]);class Ls extends Nt{constructor(e,t,s){super({iconMap:ks,classNameMap:Vs,tooltipMap:xs,titleMap:Ts,titleColorMap:Ws,size:t}),this._dataSourceErrorStatus=new(o())(null).spawn(),this._lastError=null,this._options=s,this.setSource(e)}destroy(){this._dataSourceErrorStatus.destroy()}setSource(e){this._dataSourceErrorStatus.destroy(),this._dataSourceErrorStatus=e.errorStatus().spawn(),this._dataSourceErrorStatus.subscribe(this._updateStatus.bind(this),{callWithLast:!0})}_getTooltip(e){const t=this._dataSourceErrorStatus.value();if(e&&null!==t){const e=t.title;if(void 0!==e)return e}return super._getTooltip(e)}_getTitle(e){const t=this._dataSourceErrorStatus.value();if(e&&null!==t){const e=t.title;if(void 0!==e)return e}return super._getTitle(e)}async _getHtml(e){const t=this._dataSourceErrorStatus.value();return null!==t?[(0,It.htmlEscape)(t.error)]:null}_getAction(e){this._dataSourceErrorStatus.value();return null}_updateStatus(e){const t=this._status.value();null!==e?(this._status.setValue(!0),t&&this._lastError!==e.error&&this._updateByStatus(!0),this._lastError=e.error):(this._status.setValue(null),this._lastError=null)}}const As=(0,
|
||
k.t)("Data error"),Hs=new Map([["high",new Map([["small",fs],["medium",Cs],["large",Cs]])],["low",new Map([["small",fs],["medium",Cs],["large",Cs]])]]),Bs=new Map([["high",zt.dataProblemHigh],["low",zt.dataProblemLow]]),Ds=new Map([["high",As],["low",As]]),Ps=new Map([["high",Ot.colorsPalette["color-data-problem"]],["low",Ot.colorsPalette["color-data-problem"]]]);class Os extends Nt{constructor(e,t){super({tooltipMap:Ds,iconMap:Hs,classNameMap:Bs,titleMap:Ds,titleColorMap:Ps,size:t}),this._dataProblem=new(o())(null).spawn(),this._isDataProblemCritical=new(o())(!1),this.setModel(e)}destroy(){this._dataProblem.destroy()}isDataProblemCritical(){return this._isDataProblemCritical}setModel(e){this._dataProblem.destroy(),null!==e?(this._dataProblem=e.status().spawn(),this._dataProblem.subscribe(this._updateStatus.bind(this),{callWithLast:!0})):this._dataProblem=new(o())(null).spawn()}async _getHtml(e){const t=this._dataProblem.value();return null===t?null:[(0,It.htmlEscape)(t.text)]}_updateStatus(e){var t;const s=null!==(t=null==e?void 0:e.severity)&&void 0!==t?t:null;this._status.setValue(s),this._isDataProblemCritical.setValue(function(e){return"high"===e}(s))}}class Is extends Nt{constructor(e,t){super(t),this._booleanStatus=new(o())(!1).spawn(),this.updateStatus(e)}destroy(){this._booleanStatus.destroy()}updateStatus(e){this._booleanStatus.destroy(),this._booleanStatus=e.spawn(),this._booleanStatus.subscribe(this._updateStatus.bind(this),{callWithLast:!0})}_updateStatus(e){e?this._status.setValue(!0):this._status.setValue(null)}}var zs=s(95935),Ns=s(89396);const Rs=(0,k.t)("Invalid Symbol"),js=(0,k.t)("This symbol doesn't exist, please pick another one."),Fs=new Map([[!0,new Map([["small",zs],["medium",Ns],["large",Ns]])],[!1,new Map([["small",""],["medium",""],["large",""]])]]),Ys=new Map([[!0,zt.invalidSymbol],[!1,null]]),Us=new Map([[!0,Rs],[!1,null]]),Xs=new Map([[!0,Rs],[!1,null]]),qs=new Map([[!0,Ot.colorsPalette["color-invalid-symbol"]],[!1,null]]),Gs=new Map([[!0,[js]],[!1,null]]),$s=new Map([[!0,null],[!1,null]]);class Ks{constructor(e){this._el=document.createElement("div"),this._prevCustomClass=null,this._icon=e.icon.spawn(),this._icon.subscribe(this._updateIcon.bind(this),{callWithLast:!0}),this._className=e.className.spawn(),this._className.subscribe(this._updateClassName.bind(this),{callWithLast:!0}),this._visible=e.visible.spawn(),this._visible.subscribe(this._updateVisibility.bind(this),{callWithLast:!0}),this._size=e.size||"small",this._render(e.parentEl),e.isBlinking&&(this._isBlinking=e.isBlinking.spawn(),this._isBlinking.subscribe(this._updateBlinkingMode.bind(this),{callWithLast:!0}),this._turnOffBlinking=e.turnOffBlinking)}destroy(){this._visible.destroy(),this._icon.destroy(),this._isBlinking&&this._isBlinking.destroy(),this._el.remove()}onClick(){this._turnOffBlinking&&this._turnOffBlinking()}visible(){return this._visible}_render(e){this._el.classList.add(zt.statusItem,zt[this._size]),e.appendChild(this._el)}_updateVisibility(e){this._el.classList.toggle("js-hidden",!e)}_updateIcon(e){
|
||
this._el.innerHTML=e||""}_updateClassName(e){this._prevCustomClass!==e&&(null!==this._prevCustomClass&&this._el.classList.remove(this._prevCustomClass),null!==e&&this._el.classList.add(e),this._prevCustomClass=e)}_updateBlinkingMode(e){this._el.classList.toggle(zt.blinking,e)}}class Zs{constructor(e,t,s,i){this.element=document.createElement("div"),this._blinkingSpawns=[],this._iconsRenderers=[];const l=[zt.statuses,"apply-common-tooltip","common-tooltip-wide"];u.trackingModeIsAvailable&&l.push(zt.touchMode),this.element.classList.add(...l,zt[e]),this._visibleWidgetsCount=t.spawn(),this._visibleWidgetsCount.subscribe(this._updateSpecialClassAndTooltip.bind(this)),this._tooltips=s.spawn(),this._tooltips.subscribe(this._updateTooltip.bind(this)),this._onClickCallback=i.onClick,this._onClickHandler=this._onClick.bind(this),this.element.addEventListener("click",this._onClickHandler)}destroy(){for(const e of this._iconsRenderers)e.destroy();for(const e of this._blinkingSpawns)e.destroy();this._visibleWidgetsCount.destroy(),this._tooltips.destroy(),this.element.removeEventListener("click",this._onClickHandler),this.element.remove()}addStatusModel(e){this._iconsRenderers.push(new Ks({visible:e.visible,icon:e.model.icon(),className:e.model.className(),size:e.model.size(),parentEl:this.element,isBlinking:e.model.isBlinkingMode,turnOffBlinking:e.model.turnOffBlinkingMode}));const t=e.model.isBlinkingMode.spawn();t.subscribe(this._updateBlinkingMode.bind(this)),this._blinkingSpawns.push(t),this._updateBlinkingMode()}_onClick(e){e.preventDefault();const t=this._iconsRenderers.filter(e=>e.visible().value());for(const e of t)e.onClick();let s=14;t.length>1&&(s-=2);const i=this.element.getBoundingClientRect(),l={x:i.left-s,y:i.bottom+4};this._onClickCallback(l)}_updateTooltip(){this.element.setAttribute("title",this._tooltips.value().join(" · "))}_updateSpecialClassAndTooltip(){const e=this._visibleWidgetsCount.value();this.element.classList.toggle(zt.oneWidgetsVisible,1===e),this.element.classList.toggle(zt.twoWidgetsVisible,2===e),this.element.classList.toggle(zt.threeWidgetsVisible,3===e),this._updateTooltip()}_updateBlinkingMode(){const e=this._blinkingSpawns.some(e=>e.value());this.element.classList.toggle(zt.blinking,e)}}var Js=s(38356),Qs=s(42520),ei=s(41338),ti=s(27221),si=s(91691),ii=s(1044),li=s(41769),oi=s(48216);const ai=(0,k.t)("Market open"),ni=(0,k.t)("Pre-market"),ri=(0,k.t)("Post-market"),di=(0,k.t)("Market closed"),hi=(0,k.t)("Holiday"),ui=(0,k.t)("All's well — Market is open."),ci=(0,k.t)("Morning. Market is open for pre-market trading."),_i=(0,k.t)("Evening. Market is open for post-market trading."),pi=(0,k.t)("Time for a walk — this market is closed."),mi=(0,k.t)("Market is currently on holiday. Lucky them."),gi=(0,k.t)("less than 1 minute"),bi=(0,k.t)("{days} and {hours}"),vi=(0,k.t)("{hours} and {minutes}"),wi=(0,k.t)("Market opens in {remainingTime}."),Si=(0,k.t)("Market closes in {remainingTime}."),yi=(0,k.t)("It'll go to post-market trading in {remainingTime}."),Mi=(0,
|
||
k.t)("It'll open for pre-market trading in {remainingTime}."),fi=new Map([["market",new Map([["small",Qs],["medium",ei],["large",ei]])],["pre_market",new Map([["small",li],["medium",oi],["large",oi]])],["post_market",new Map([["small",si],["medium",ii],["large",ii]])],["out_of_session",new Map([["small",Js],["medium",Js],["large",Js]])],["holiday",new Map([["small",ti],["medium",ti],["large",ti]])]]),Ci=new Map([["market",zt.marketStatusOpen],["pre_market",zt.marketStatusPre],["post_market",zt.marketStatusPost],["out_of_session",zt.marketStatusClose],["holiday",zt.marketStatusHoliday]]),Ei=new Map([["market",ai],["pre_market",ni],["post_market",ri],["out_of_session",di],["holiday",hi]]),ki=new Map([["market",ai],["pre_market",ni],["post_market",ri],["out_of_session",di],["holiday",hi]]),Vi=new Map([["market",Ot.colorsPalette["color-market-open"]],["pre_market",Ot.colorsPalette["color-pre-market"]],["post_market",Ot.colorsPalette["color-post-market"]],["out_of_session",Ot.colorsPalette["color-market-closed"]],["holiday",Ot.colorsPalette["color-market-holiday"]]]),xi={market:ui,pre_market:ci,post_market:_i,out_of_session:pi,holiday:mi};function Ti(e){return(0,k.t)("{number} minute",{plural:"{number} minutes",count:e}).format({number:e.toString()})}function Wi(e){return(0,k.t)("{number} hour",{plural:"{number} hours",count:e}).format({number:e.toString()})}function Li(e){const t=Math.floor(e/86400),s=Math.floor((e-86400*t)/3600),i=Math.floor((e-86400*t-3600*s)/60);return 0===t&&0===s&&0===i?gi:t>0?bi.format({days:(l=t,(0,k.t)("{number} day",{plural:"{number} days",count:l}).format({number:l.toString()})),hours:Wi(s)}):s>0?vi.format({hours:Wi(s),minutes:Ti(i)}):Ti(i);var l}const Ai={market:e=>("post_market"===e.status?yi:Si).format({remainingTime:Li(e.remainingSeconds)}),pre_market:e=>wi.format({remainingTime:Li(e.remainingSeconds)}),post_market:e=>Si.format({remainingTime:Li(e.remainingSeconds)}),out_of_session:e=>("pre_market"===e.status?Mi:wi).format({remainingTime:Li(e.remainingSeconds)}),holiday:e=>("pre_market"===e.status?Mi:wi).format({remainingTime:Li(e.remainingSeconds)})},Hi=new Map([["market",null],["pre_market",null],["post_market",null],["out_of_session",null],["holiday",null]]);class Bi extends Nt{constructor(e,t){super({tooltipMap:Ei,iconMap:fi,classNameMap:Ci,titleMap:ki,titleColorMap:Vi,actionMap:Hi,size:t}),this._model=null,this._marketStatus=new(o())(null).spawn(),this._sessionEdge=new(o())(null).spawn(),this._updateTooltip=()=>{const e=this._status.value();null!==e&&this._updateFullTooltipByStatus(e)},this.setModel(e),Pe.showMarketOpenStatusProperty.subscribe(this,this._showMarketOpenStatusPropertyChanged)}destroy(){this._marketStatus.destroy(),this._sessionEdge.destroy(),this._model=null,Pe.showMarketOpenStatusProperty.unsubscribeAll(this)}setModel(e){if(this._marketStatus.destroy(),this._sessionEdge.destroy(),null===e)return this._marketStatus=new(o())(null).spawn(),void(this._sessionEdge=new(o())(null).spawn());this._model=e,this._marketStatus=e.status().spawn(),
|
||
this._marketStatus.subscribe(this._updateStatus.bind(this),{callWithLast:!0}),this._sessionEdge=e.nextSessionEdge().spawn(),this._sessionEdge.subscribe(this._updateTooltip),this._updateTooltip()}async _getHtml(e){const t=[(0,It.htmlEscape)(xi[e])],s=this._marketStatus.value();if(null!==this._model&&null!==s){const s=this._model.nextSessionEdge().value();null!==s&&t.push({text:Ai[e](s),bold:!0})}return t}_shouldBeHiddenByStatus(e){return!Pe.showMarketOpenStatusProperty.value()&&"market"===e}_updateStatus(e){this._status.setValue(e)}_showMarketOpenStatusPropertyChanged(){this._updateByStatus(this._status.value())}}class Di{constructor(e,t){var s,i;this.visibleWidgetsCount=new(o())(0),this.errorWidgetIsShown=new(o())(!1),this._size=u.trackingModeIsAvailable?"medium":"small",this._tooltips=new(o())([]),this._visibilitySpawns=[],this._tooltipSpawns=[],this._statusWidgetInfos=[],this._renderer=new Zs(this._size,this.visibleWidgetsCount,this._tooltips,{onClick:this._handleToggleDropdown.bind(this)}),this._symbolInvalidViewModel=null,this._dataSourceErrorStatusViewModel=null,this._marketStatusViewModel=null,this._dataUpdatedModeViewModel=null,this._dataProblemViewModel=null,this._sessionWidget=null,this._dataSourceHasErrorVisible=null,this._dataSourceErrorCanBeShown=new(o())(!1),this._marketStatusCanBeShown=new(o())(!1),this._dataUpdatedModeCanBeShown=new(o())(!1),this._dataProblemCanBeShown=new(o())(!1),this._isDataProblemCritical=null,this._container=document.createElement("div"),this._menuOpened=!1,this._menuPosition=null,this._handleDropdownMenuClose=()=>{var e;this._menuOpened=!1,null===(e=this._source.symbol())||void 0===e||e.unsubscribe(this._handleDropdownMenuClose),this._updateDropdownMenu()},this._source=e,this._symbol=null!==(i=null===(s=e.symbol())||void 0===s?void 0:s.spawn())&&void 0!==i?i:null,this._options=t,this._recreateWidgets(),this._addSubscriptionForSymbolInvalid(),null!==this._dataSourceHasErrorVisible&&(this._dataSourceHasErrorVisible.subscribe(this._updateStatusWidgetsVisibilities.bind(this)),this._dataSourceHasErrorVisible.subscribe(this._updateErrorWidgetIsShown.bind(this))),this._options.dataProblemEnabled&&null!==this._isDataProblemCritical&&this._isDataProblemCritical.subscribe(this._updateStatusWidgetsVisibilities.bind(this));for(const e of this._tooltipSpawns)e.subscribe(this._updateTooltips.bind(this));for(const e of this._visibilitySpawns)e.subscribe(this._updateVisibleWidgetsCount.bind(this)),e.subscribe(this._updateTooltips.bind(this));this._updateErrorWidgetIsShown(),this._updateStatusWidgetsVisibilities(),this._updateVisibleWidgetsCount(),this._updateTooltips()}destroy(){var e,t;this._source.destroy(),null===(e=this._symbol)||void 0===e||e.destroy(),null===(t=this._isDataProblemCritical)||void 0===t||t.destroy();for(const e of this._tooltipSpawns)e.destroy();for(const e of this._visibilitySpawns)e.destroy();this.visibleWidgetsCount.unsubscribe();for(const e of this._statusWidgetInfos)e.model.destroy();this._renderer.destroy()}getElement(){return this._renderer.element}updateSource(e){
|
||
var t,s,i;this._source!==e&&(null===(t=this._symbol)||void 0===t||t.destroy(),this._source.destroy(),this._source=e,this._symbol=null!==(i=null===(s=e.symbol())||void 0===s?void 0:s.spawn())&&void 0!==i?i:null,this._recreateWidgets(),this._updateStatusWidgetsVisibilities(),this._updateErrorWidgetIsShown(),this._updateVisibleWidgetsCount(),this._updateTooltips())}_updateStatusWidgetsVisibilities(){const e=this._isForceStatusActive();this._dataSourceErrorCanBeShown.setValue(!e),this._marketStatusCanBeShown.setValue(!e),this._dataUpdatedModeCanBeShown.setValue(!e),this._dataProblemCanBeShown.setValue(!this._isPrimaryWidgetShown())}_isPrimaryWidgetShown(){var e,t;return null!==(t=null===(e=this._source.isSymbolInvalid())||void 0===e?void 0:e.value())&&void 0!==t&&t}_isForceStatusActive(){var e,t;return this._isPrimaryWidgetShown()||null!==(t=null===(e=this._isDataProblemCritical)||void 0===e?void 0:e.value())&&void 0!==t&&t}_updateVisibleWidgetsCount(){const e=this._statusWidgetInfos.filter(e=>e.visible.value());this.visibleWidgetsCount.setValue(e.length)}_updateTooltips(){const e=[];for(let t=0;t<this._tooltipSpawns.length;t++){if(!this._visibilitySpawns[t].value())continue;const s=this._tooltipSpawns[t].value();null!==s&&s.length>0&&e.push(s)}this._tooltips.setValue(e)}_recreateWidgets(){var e;if(this._options.sourceStatusesEnabled){const e=this._source.isSymbolInvalid();if(null!==e)if(null===this._symbolInvalidViewModel){this._symbolInvalidViewModel=new Is(e,{tooltipMap:Us,iconMap:Fs,classNameMap:Ys,titleMap:Xs,titleColorMap:qs,htmlMap:Gs,actionMap:$s,size:this._size});const t=this._symbolInvalidViewModel.visible().spawn();this._visibilitySpawns.push(t),this._tooltipSpawns.push(this._symbolInvalidViewModel.tooltip().spawn());const s={visible:t,model:this._symbolInvalidViewModel};this._statusWidgetInfos.push(s),this._renderer.addStatusModel(s)}else this._symbolInvalidViewModel.updateStatus(e),this._addSubscriptionForSymbolInvalid();if(null===this._dataSourceErrorStatusViewModel){this._dataSourceErrorStatusViewModel=new Ls(this._source,this._size,this._options.sourceStatuses),this._dataSourceHasErrorVisible=(0,K.combine)(()=>this._dataSourceErrorCanBeShown.value()&&(0,i.ensureNotNull)(this._dataSourceErrorStatusViewModel).visible().value(),this._dataSourceErrorCanBeShown,this._dataSourceErrorStatusViewModel.visible()),this._visibilitySpawns.push(this._dataSourceHasErrorVisible),this._tooltipSpawns.push(this._dataSourceErrorStatusViewModel.tooltip().spawn());const e={visible:this._dataSourceHasErrorVisible,model:this._dataSourceErrorStatusViewModel};this._statusWidgetInfos.push(e),this._renderer.addStatusModel(e)}else this._dataSourceErrorStatusViewModel.setSource(this._source)}if(this._options.marketStatusEnabled){const t=this._source.marketStatusModel();if(null===this._marketStatusViewModel){this._marketStatusViewModel=new Bi(t,this._size);const e=(0,K.combine)(()=>this._marketStatusCanBeShown.value()&&(0,
|
||
i.ensureNotNull)(this._marketStatusViewModel).visible().value(),this._marketStatusCanBeShown,this._marketStatusViewModel.visible());this._visibilitySpawns.push(e),this._tooltipSpawns.push(this._marketStatusViewModel.tooltip().spawn());const s={visible:e,model:this._marketStatusViewModel};null!==t&&(this._sessionWidget=new Pt(this._source),s.additionalWidgets=[this._sessionWidget]),this._statusWidgetInfos.push(s),this._renderer.addStatusModel(s)}else this._marketStatusViewModel.setModel(t),null===(e=this._sessionWidget)||void 0===e||e.updateSource(this._source)}if(this._options.dataUpdateModeEnabled){const e=this._source.dataUpdatedModeModel();if(null===this._dataUpdatedModeViewModel){this._dataUpdatedModeViewModel=new Ms(e,this._size,this._options.dataUpdateMode);const t=(0,K.combine)(()=>this._dataUpdatedModeCanBeShown.value()&&(0,i.ensureNotNull)(this._dataUpdatedModeViewModel).visible().value(),this._dataUpdatedModeCanBeShown,this._dataUpdatedModeViewModel.visible());this._visibilitySpawns.push(t),this._tooltipSpawns.push(this._dataUpdatedModeViewModel.tooltip().spawn());const s={visible:t,model:this._dataUpdatedModeViewModel};this._statusWidgetInfos.push(s),this._renderer.addStatusModel(s)}else this._dataUpdatedModeViewModel.setModel(e)}if(this._options.dataProblemEnabled){const e=this._source.dataProblemModel();if(null===this._dataProblemViewModel){this._dataProblemViewModel=new Os(e,this._size),this._isDataProblemCritical=this._dataProblemViewModel.isDataProblemCritical().spawn();const t=(0,K.combine)(()=>this._dataProblemCanBeShown.value()&&(0,i.ensureNotNull)(this._dataProblemViewModel).visible().value(),this._dataProblemCanBeShown,this._dataProblemViewModel.visible());this._visibilitySpawns.push(t),this._tooltipSpawns.push(this._dataProblemViewModel.tooltip().spawn());const s={visible:t,model:this._dataProblemViewModel};this._statusWidgetInfos.push(s),this._renderer.addStatusModel(s)}else this._dataProblemViewModel.setModel(e)}}_addSubscriptionForSymbolInvalid(){const e=this._source.isSymbolInvalid();this._options.sourceStatusesEnabled&&null!==e&&(e.subscribe(this._updateStatusWidgetsVisibilities.bind(this)),e.subscribe(this._updateErrorWidgetIsShown.bind(this),{callWithLast:!0}))}_updateErrorWidgetIsShown(){var e,t,s,i;const l=null!==(t=null===(e=this._source.isSymbolInvalid())||void 0===e?void 0:e.value())&&void 0!==t&&t,o=null!==(i=null===(s=this._dataSourceHasErrorVisible)||void 0===s?void 0:s.value())&&void 0!==i&&i;this.errorWidgetIsShown.setValue(l||o)}_handleToggleDropdown(e){var t,s;this._menuPosition=e,this._menuOpened=!this._menuOpened,this._menuOpened&&(null===(t=this._source.symbol())||void 0===t||t.subscribe(this._handleDropdownMenuClose),s="Open full tooltip for statuses: "+this._tooltips.value().join(", "),(0,V.trackEvent)("GUI","Statuses widget's action",s)),this._updateDropdownMenu()}_updateDropdownMenu(){Promise.all([s.e(5514),s.e(2e3),s.e(3466),s.e(4102),s.e(1075),s.e(8643)]).then(s.bind(s,4872)).then(e=>{
|
||
e.render(this._menuOpened,this._container,this._renderer.element,this._statusWidgetInfos,this._handleDropdownMenuClose,(0,i.ensureNotNull)(this._menuPosition))})}}s(38021);var Pi=s(3763);class Oi{constructor(e,t){this._symbol=null,this._symbolInfo=new(o())(null).spawn(),this._source=e,e.properties().hasChild("symbol")&&(this._symbol=(0,Y.createWVFromGetterAndSubscription)(()=>e.properties().symbol.value(),e.properties().symbol.listeners()));const s=[];if((0,pe.isStudy)(e)||(0,pe.isStudyStub)(e))this._isSymbolInvalid=(0,Pi.createWVFromGetterAndSubscriptions)(()=>e.isSymbolInvalid()&&e.isActualInterval(),s),s.push(e.onStatusChanged(),e.onIsActualIntervalChange());else{(0,i.assert)(e===t.mainSeries());const l=t.mainSeries();this._isSymbolInvalid=(0,Y.createWVFromGetterAndSubscription)(()=>l.isSymbolInvalid(),l.onStatusChanged()),s.push(l.onStatusChanged()),this._symbolInfo=(0,Y.createWVFromGetterAndSubscription)(l.symbolInfo.bind(l),l.dataEvents().symbolResolved())}this._dataSourceErrorStatus=(0,Pi.createWVFromGetterAndSubscriptions)(()=>this._source.statusProvider({}).errorStatus(),s)}destroy(){var e,t;null===(e=this._symbol)||void 0===e||e.destroy(),null===(t=this._isSymbolInvalid)||void 0===t||t.destroy(),this._dataSourceErrorStatus.destroy(),this._symbolInfo.destroy()}symbol(){return this._symbol}isSymbolInvalid(){return this._isSymbolInvalid}errorStatus(){return this._dataSourceErrorStatus}symbolInfo(){return this._symbolInfo}marketStatusModel(){return this._source.marketStatusModel()}dataProblemModel(){return this._source.dataProblemModel()}dataUpdatedModeModel(){return this._source.dataUpdatedModeModel()}}var Ii=s(14799);const zi=(0,k.t)("Replay mode"),Ni=(0,k.t)("You're in Replay mode. You're in Replay mode. You're in Replay mode.");new Map([[!0,new Map([["small",Ii],["medium",Ii],["large",Ii]])],[!1,new Map([["small",""],["medium",""],["large",""]])]]),new Map([[!0,zt.replayMode],[!1,null]]),new Map([[!0,zi],[!1,null]]),new Map([[!0,zi],[!1,null]]),new Map([[!0,Ot.colorsPalette["color-replay-mode"]],[!1,null]]),new Map([[!0,[Ni]],[!1,null]]),new Map([[!0,null],[!1,null]]);class Ri extends Di{constructor(e,t,s){super(new Oi(e,t),s),this._isInReplay=new(o())(!1).readonly().spawn(),this._isInReplayCanBeShown=null,this._inited=!1}destroy(){super.destroy()}_updateStatusWidgetsVisibilities(){super._updateStatusWidgetsVisibilities()}_isPrimaryWidgetShown(){var e,t;return super._isPrimaryWidgetShown()||null!==(t=null===(e=this._isInReplay)||void 0===e?void 0:e.value())&&void 0!==t&&t}}var ji=s(6087),Fi=s(43370);const Yi={readOnlyMode:!1,contextMenu:{settings:!0,mainSeries:!0,studies:!0,showOpenMarketStatus:!1},symbolMarkerEnabled:!1,showToggleButton:!0,canShowSourceCode:!1,statusesWidgets:{sourceStatusesEnabled:!1,sourceStatuses:{errorSolution:!0},marketStatusEnabled:!1,marketStatus:{preMarketSolution:!0,postMarketSolution:!0},dataUpdateModeEnabled:!1,dataUpdateMode:{subscriptionFullInfo:!0},dataProblemEnabled:!1}},Ui=(d.enabled("hide_legend_by_default"),
|
||
d.enabled("fundamental_widget")),Xi=d.enabled("legend_context_menu"),qi=2*parseInt(S.marginlegendhoriz);class Gi{constructor(e,t,s,i,l,n,r,d){this._mainSeriesViewModel=null,this._dataSourceViewModels=[],this._visibleDataSourceCount=new(o())(0),this._themedColor=new(o())(""),this._mainSeriesRowHidden=null,this._dataSourceRowsHidden=[],this._customWidgetsVisibilities=[],this._allLegendHidden=new(o())(!1),this._studiesLegendHidden=new(o())(!1),this._customWidgetsHeights=[],this._onLegendVisibilityToggled=null,this._availableHeight=0,this._collapsedDataSourcesCount=new(o())(0),this._collapsedDataSourcesTitle=new(o())(""),this._mainSeriesStatusWidget=null,this._dataSourcesStatusesWidgets=[],this._size=null,this._customLegendWidgetsFactoriesMap=new Map,this._customLegendWidgetsMap=new Map,this._margin=0,this._model=e,this._paneWidget=t,this._options=(0,a.merge)((0,a.clone)(Yi),r),this._callbacks=d,this._mainSeriesViewModelsOptions={readOnlyMode:this._options.readOnlyMode,symbolMarkerEnabled:this._options.symbolMarkerEnabled},this._dataSourceViewModelsOptions={...this._mainSeriesViewModelsOptions,canShowSourceCode:this._options.canShowSourceCode},this._backgroundThemeName=s;const h=this._showLegendCalculatedProperty();this._isDataSourcesCollapsed=new(o())(h.value()),h.subscribe(this,()=>{this._isDataSourcesCollapsed.setValue(h.value())});const u=new(o())(this._getCustomTextColorValue()),c=this._model.model().properties().childs();c.scalesProperties.childs().textColor.subscribe(this,()=>{u.setValue(this._getCustomTextColorValue())});const _=c.paneProperties.childs().legendProperties.childs().showBackground,p=new(o())(_.value());_.subscribe(this,()=>{p.setValue(_.value())});const m=c.paneProperties.childs().legendProperties.childs().backgroundTransparency,g=new(o())(m.value());m.subscribe(this,()=>{g.setValue(m.value())}),this._hideNotMainSources=i,this._hideNotMainSources.subscribe(this._updateLegendVisibilities.bind(this)),this._hideAllExceptFirstLine=l,this._hideAllExceptFirstLine.subscribe(this._updateCollapsedSourcesMode.bind(this)),this._hideWholeLegend=n,this._hideWholeLegend.subscribe(this._updateLegendVisibilities.bind(this)),this._isPaneMain=new(o())(this._getIsPaneMainValue()),this._updateCollapsedSourcesModeThrottle=(0,Fi.default)(this._updateCollapsedSourcesMode.bind(this),100),this._renderer=new j({withActions:!this._options.readOnlyMode,showToggleButton:this._options.showToggleButton,isStudiesLegendHidden:this._studiesLegendHidden.readonly(),isAllLegendHidden:this._allLegendHidden.readonly(),customTextColor:u.readonly(),themedColor:this._themedColor.readonly(),showBackground:p.readonly(),backgroundTransparency:g.readonly(),collapsedDataSourcesCount:this._collapsedDataSourcesCount.readonly(),collapsedDataSourcesTitle:this._collapsedDataSourcesTitle.readonly(),showLegendWidgetContextMenu:this.onShowLegendWidgetContextMenu.bind(this),hideAllExceptFirstLine:this._hideAllExceptFirstLine},{visibleDataSourceCount:this._visibleDataSourceCount.readonly(),isDataSourcesCollapsed:this._isDataSourcesCollapsed.readonly(),
|
||
showObjectsTree:this._isPaneMain.readonly(),onCollapseDataSources:this.onCollapseDataSources.bind(this),onShowObjectsTreeDialog:this._callbacks.showObjectsTreeDialog})}destroy(){this._backgroundThemeName.destroy(),this._hideNotMainSources.destroy(),this._hideAllExceptFirstLine.destroy(),this._hideWholeLegend.destroy(),null!==this._mainSeriesViewModel&&this._destroyMainDataSource();for(const e of this._dataSourceViewModels)e.destroy();for(const e of this._dataSourcesStatusesWidgets)e.destroy();this._clearSubscriptions();for(const e of Array.from(this._customLegendWidgetsMap.keys()))this._destroyCustomWidgetFromLayerBlock(e);this._customLegendWidgetsMap.clear(),this._renderer.destroy(),delete this._renderer,this._showLegendCalculatedProperty().unsubscribeAll(this),this._showLegendOriginalProperty().unsubscribeAll(this);const e=this._model.model().properties().childs();e.scalesProperties.childs().textColor.unsubscribeAll(this),e.paneProperties.childs().legendProperties.childs().showBackground.unsubscribeAll(this),e.paneProperties.childs().legendProperties.childs().backgroundTransparency.unsubscribeAll(this)}addCustomWidgetToLegend(e,t){const s=this._customLegendWidgetsFactoriesMap.get(t.block)||new Map,i=s.get(t.position)||[];i.push(e),s.set(t.position,i),this._customLegendWidgetsFactoriesMap.set(t.block,s),this.updateLayout(),this._updateCustomWidgetModeBySize()}onShowLegendWidgetContextMenu(e,t){if(this._options.readOnlyMode||!Xi)return Promise.resolve();x("Show legend context menu");const s=new Map;for(const e of Array.from(this._customLegendWidgetsMap.keys())){const t=(0,i.ensureDefined)(this._customLegendWidgetsMap.get(e)),l=new Map;for(const e of Array.from(t.keys())){const s=(0,i.ensureDefined)(t.get(e)),o=l.get(e)||[];for(const e of s)o.push(...e.contextMenuActions());l.set(e,o)}s.set(e,l)}return function(e,t,s,i,l,o){const a=[],n=i.get(0);if(void 0!==n){const e=n.get(1);void 0!==e&&e.length>0&&(a.push(...e),a.push(new Be.Separator))}const r=e.model().properties().childs().paneProperties.childs().legendProperties.childs();if(a.push(new Be.Action({actionId:"Chart.Legend.ToggleSymbolVisibility",checkable:!0,checked:r.showSeriesTitle.value(),label:$e,statName:"Show Symbol",onExecute:()=>Ne(e,r.showSeriesTitle,Re)})),t.showOpenMarketStatus&&"market"===e.mainSeries().marketStatusModel().status().value()&&a.push(new Be.Action({actionId:"Chart.Legend.ToggleOpenMarketStatusVisibility",checkable:!0,checked:Pe.showMarketOpenStatusProperty.value(),label:Ke,statName:"Show Open market status",onExecute:()=>Ne(e,Pe.showMarketOpenStatusProperty,je)})),a.push(new Be.Action({actionId:"Chart.Legend.ToggleOhlcValuesVisibility",checkable:!0,checked:r.showSeriesOHLC.value(),label:Ze,statName:"Show OHLC Values",onExecute:()=>Ne(e,r.showSeriesOHLC,Fe)})),a.push(new Be.Action({actionId:"Chart.Legend.ToggleBarChangeValuesVisibility",checkable:!0,checked:r.showBarChange.value(),label:Je,statName:"Show Bar Change Values",onExecute:()=>Ne(e,r.showBarChange,Ye)})),a.push(new Be.Action({actionId:"Chart.Legend.ToggleVolumeVisibility",
|
||
checkable:!0,checked:r.showVolume.value(),label:Qe,statName:"Show Volume",onExecute:()=>Ne(e,r.showVolume,Ge)})),a.push(new Be.Separator),void 0!==n){const e=n.get(0);void 0!==e&&e.length>0&&(a.push(...e),a.push(new Be.Separator))}const d=i.get(1);if(void 0!==d){const e=d.get(1);void 0!==e&&e.length>0&&(a.push(...e),a.push(new Be.Separator))}if(e.model().priceDataSources().some(e=>!(0,Ie.isActingAsSymbolSource)(e)&&e.showInObjectTree())&&(a.push(new Be.Action({actionId:"Chart.Legend.ToggleIndicatorTitlesVisibility",checkable:!0,checked:r.showStudyTitles.value(),label:et,statName:"Show Indicator Titles",onExecute:()=>Ne(e,r.showStudyTitles,Ue)})),a.push(new Be.Action({actionId:"Chart.Legend.ToggleIndicatorArgumentsVisibility",checkable:!0,checked:r.showStudyArguments.value(),label:tt,statName:"Show Indicator Arguments",onExecute:()=>Ne(e,r.showStudyArguments,Xe)})),a.push(new Be.Action({actionId:"Chart.Legend.ToggleIndicatorValuesVisibility",checkable:!0,checked:r.showStudyValues.value(),label:st,statName:"Show Indicator Values",onExecute:()=>Ne(e,r.showStudyValues,qe)}))),void 0!==d){const e=d.get(0);void 0!==e&&e.length>0&&(a.push(...e),a.push(new Be.Separator))}return t.settings&&(a[a.length-1]instanceof Be.Separator||a.push(new Be.Separator),a.push(new Be.Action({actionId:"Chart.Dialogs.ShowGeneralSettings.LegendTab",label:it,icon:ze,statName:"Settings...",onExecute:()=>s(ie.TabNames.legend)}))),De.ContextMenuManager.showMenu(a,l,void 0,{menuName:"LegendPropertiesContextMenu"},o)}(this._model,this._options.contextMenu,this._callbacks.showGeneralChartProperties,s,e,t)}onCollapseDataSources(){const e=this._showLegendOriginalProperty();e.setValue(!e.value())}updateLayout(){const e=this._paneWidget.state().sourcesByGroup().priceSources().filter(e=>null!==e.statusView());if(0===e.length)return;const t=this._model.mainSeries(),s=e.indexOf(t);s>-1?(e.splice(s,1),Ui||null!==this._mainSeriesViewModel||(this._mainSeriesViewModel=new _e(this._model,t,this._mainSeriesViewModelsOptions,this._callbacks,this._options.contextMenu),this._mainSeriesStatusWidget=new Ri(t,this._model.model(),this._options.statusesWidgets),this._renderer.addMainDataSource(this._mainSeriesViewModel,this._mainSeriesStatusWidget)),this._addCustomWidgetForLayerBlock(0)):null!==this._mainSeriesViewModel&&(this._destroyMainDataSource(),this._destroyCustomWidgetFromLayerBlock(0));const l=[],o=[],a=this._dataSourceViewModels.length;if(0===a)for(let t=e.length-1;t>=0;t--)l.push(new He(this._model,e[t],this._dataSourceViewModelsOptions,this._callbacks,this._options.contextMenu)),o.push(new Di(new Oi(e[t],this._model.model()),this._options.statusesWidgets));else{let t=0;for(let s=e.length-1;s>=0;s--)this._dataSourceViewModels[t]?(this._dataSourceViewModels[t].updateSource(e[s]),this._dataSourcesStatusesWidgets[t].updateSource(new Oi(e[s],this._model.model()))):(l.push(new He(this._model,e[s],this._dataSourceViewModelsOptions,this._callbacks,this._options.contextMenu)),o.push(new Di(new Oi(e[s],this._model.model()),this._options.statusesWidgets))),t++
|
||
;for(;this._dataSourceViewModels.length>t;)(0,i.ensureDefined)(this._dataSourceViewModels.pop()).destroy();for(;this._dataSourcesStatusesWidgets.length>t;)(0,i.ensureDefined)(this._dataSourcesStatusesWidgets.pop()).destroy()}0!==l.length&&(this._renderer.addDataSources(l,o),this._dataSourceViewModels.push(...l),this._dataSourcesStatusesWidgets.push(...o)),a!==this._dataSourceViewModels.length&&this._updateCollapsedSourcesMode(),this._dataSourceViewModels.length>0?this._addCustomWidgetForLayerBlock(1):this._destroyCustomWidgetFromLayerBlock(1),this._recreateSubscriptions(),this._isPaneMain.setValue(this._getIsPaneMainValue()),this.update(),this._updateWidgetModeByWidth()}update(){null!==this._mainSeriesViewModel&&this._mainSeriesViewModel.update();for(const e of this._dataSourceViewModels)e.update()}updateThemedColors(e){null===e&&(e=(0,ji.getStdThemedValue)("chartProperties.paneProperties.background",this._backgroundThemeName.value())),this._themedColor.setValue(e||"")}firstTitle(){return this._renderer.firstTitle()}getElement(){return this._renderer.getElement()}addMargin(e){if(this._margin===e)return;this._margin=e;this._renderer.getElement().style.maxWidth=0===this._margin?"":`calc(100% - ${this._margin+qi}px)`,this._updateWidgetModeBySize()}updateWidgetModeBySize(e){this._size=e,this._updateWidgetModeBySize()}_updateWidgetModeBySize(){this._updateWidgetModeByWidth(),this._updateWidgetModeByHeight(),this._updateCustomWidgetModeBySize()}_updateWidgetModeByWidth(){if(null===this._size)return;const e=this._availableWidth();this._renderer.updateMode(e),this._paneWidget.hasState()&&this._paneWidget.state().containsMainSeries()&&this._model.mainSeries().setTextSourceIsAlwaysTickerRestrictionEnabled(e<=132)}_updateWidgetModeByHeight(){null!==this._size&&(this._availableHeight=.8*this._size.h,this._updateCollapsedSourcesModeThrottle())}_updateCustomWidgetModeBySize(){if(null===this._size)return;const e=new n.Size(this._availableWidth(),this._size.h);for(const t of Array.from(this._customLegendWidgetsMap.values()))for(const s of Array.from(t.values()))for(const t of s)t.updateWidgetModeBySize(e)}_destroyMainDataSource(){(0,i.ensureNotNull)(this._mainSeriesStatusWidget).destroy(),this._mainSeriesStatusWidget=null,(0,i.ensureNotNull)(this._mainSeriesViewModel).destroy(),this._mainSeriesViewModel=null}_updateCollapsedSourcesMode(){const e=this._dataSourceViewModels.length,t=this._hideAllExceptFirstLine.value();if(this._availableHeight>0&&e>2){const s=Number(this._renderer.getMainSourceHeight()),i=this._renderer.getDataSourceHeight(),l=this._getCustomWidgetsHeight();if(null!==i){const o=Math.floor((this._availableHeight-s-l)/i),a=Math.max(o,2)-1;if(e>a+1){let s="";for(let i=0;i<e;i++){const e=i<a;this._dataSourceViewModels[i].setGlobalVisibility(e&&(!t||0===i)),e||(s+=`${0===s.length?"":", "}${this._dataSourceViewModels[i].getFullTitle()}`)}return this._collapsedDataSourcesTitle.setValue(s),void this._collapsedDataSourcesCount.setValue(e-a)}}}
|
||
for(let e=0;e<this._dataSourceViewModels.length;++e)this._dataSourceViewModels[e].setGlobalVisibility(!t||0===e);this._collapsedDataSourcesCount.setValue(0),this._collapsedDataSourcesTitle.setValue("")}_getCustomWidgetsHeight(){let e=0;for(const t of Array.from(this._customLegendWidgetsMap.values()))for(const s of Array.from(t.values()))for(const t of s)e+=t.height().value();return e}_getCustomTextColorValue(){const e=this._model.model().properties().childs().scalesProperties.childs().textColor.value();return(0,ji.isStdThemedDefaultValue)("chartProperties.scalesProperties.textColor",e,(0,ji.getCurrentTheme)().name)?null:e}_clearSubscriptions(){null!==this._mainSeriesRowHidden&&(this._mainSeriesRowHidden.destroy(),this._mainSeriesRowHidden=null);for(const e of this._dataSourceRowsHidden)e.destroy();this._dataSourceRowsHidden=[];for(const e of this._customWidgetsVisibilities)e.destroy();this._customWidgetsVisibilities=[];for(const e of this._customWidgetsHeights)e.destroy();this._customWidgetsHeights=[]}_recreateSubscriptions(){this._clearSubscriptions(),null!==this._mainSeriesViewModel&&(this._mainSeriesRowHidden=this._mainSeriesViewModel.isRowHidden().spawn(),this._mainSeriesRowHidden.subscribe(this._updateLegendVisibilities.bind(this)));for(const e of this._dataSourceViewModels){const t=e.isRowHidden().spawn();this._dataSourceRowsHidden.push(t),t.subscribe(this._updateVisibleDataSourceCount.bind(this)),t.subscribe(this._updateLegendVisibilities.bind(this))}for(const e of Array.from(this._customLegendWidgetsMap.values()))for(const t of Array.from(e.values()))for(const e of t){const t=e.visibility().spawn();this._customWidgetsVisibilities.push(t),t.subscribe(this._updateLegendVisibilities.bind(this));const s=e.height().spawn();this._customWidgetsHeights.push(s),s.subscribe(this._updateCollapsedSourcesMode.bind(this))}this._updateVisibleDataSourceCount(),this._updateLegendVisibilities()}_updateLegendVisibilities(){if(this._hideWholeLegend.value())return void this._allLegendHidden.setValue(!0);const e=this._dataSourceRowsHidden.every(e=>e.value()),t=this._hideNotMainSources.value()||e;this._studiesLegendHidden.setValue(t);const s=null===this._mainSeriesRowHidden||this._mainSeriesRowHidden.value(),i=this._customWidgetsVisibilities.some(e=>e.value());this._allLegendHidden.setValue(e&&s&&!i)}_updateVisibleDataSourceCount(){const e=this._dataSourceRowsHidden.filter(e=>!e.value()).length;this._visibleDataSourceCount.setValue(e)}_setLegendVisibilityToggled(){0}_getIsPaneMainValue(){return this._paneWidget.containsMainSeries()}_showLegendCalculatedProperty(){return this._model.model().showLegend()}_showLegendOriginalProperty(){return this._model.model().properties().childs().paneProperties.childs().legendProperties.childs().showLegend}_addCustomWidgetForLayerBlock(e){const t=this._customLegendWidgetsFactoriesMap.get(e);if(void 0===t)return;const s=this._customLegendWidgetsMap.get(e)||new Map;let i=!1;for(const l of Array.from(t.keys())){const o=s.get(l)||[],a=t.get(l)||[];for(let t=o.length;t<a.length;t++){
|
||
const s=a[t](this._model.model(),this._backgroundThemeName);0===e&&0===l&&s.setGlobalVisibility((0,K.combine)((e,t)=>!e&&!t,this._hideNotMainSources,this._hideAllExceptFirstLine)),o.push(s),this._renderer.addCustomWidget(s,{block:e,position:l}),i=!0}i&&s.set(l,o)}i&&this._customLegendWidgetsMap.set(e,s)}_destroyCustomWidgetFromLayerBlock(e){const t=this._customLegendWidgetsMap.get(e);if(void 0!==t){for(const e of Array.from(t.values()))for(const t of e)t.destroy();t.clear(),this._customLegendWidgetsMap.delete(e)}}_availableWidth(){return null===this._size?0:this._size.w-this._margin-qi}}},20648:(e,t,s)=>{"use strict";s.r(t),s.d(t,{PaneControlsWidget:()=>K});var i=s(32563),l=s(28353),o=s(68335),a=s(62428),n=s(81851),r=s(88537),d=s(24377),h=s(85197),u=s(18166),c=s(27514),_=s(6968);class p{constructor(e,t,s){this._parentEl=document.createElement("div"),this._listActionsWrapperEl=null,this._listActionsElements={},this._actionsSpawns={},this._onMouseEnterLeaveEventHandler=null,this._mouseOverWidget=!1,this._width=null,this._wrapEl=e,this._onMouseEnterLeaveEventHandler=this._onMouseEnterLeaveEvent.bind(this),this._wrapEl.addEventListener("mouseenter",this._onMouseEnterLeaveEventHandler),this._wrapEl.addEventListener("mouseleave",this._onMouseEnterLeaveEventHandler),this._actions=t,this._globalVisibility=s.globalVisibility.spawn(),this._globalVisibility.subscribe(this._updatePaneControlsWidgetVisibility.bind(this)),this._visibilityType=s.visibilityType.spawn(),this._visibilityType.subscribe(this._updatePaneControlsWidgetVisibility.bind(this)),this._doNotSwitchToContextMenuMode=s.doNotSwitchToContextMenuMode,this._forceContextMenuMode=s.forceContextMenuMode.spawn(),this._forceContextMenuMode.subscribe(this._updateWidgetMode.bind(this)),this._themedColor=s.themedColor.spawn(),this._themedColor.subscribe(this._updateThemedColor.bind(this));for(const[e,t]of Object.entries(this._actions)){const s=e;this._actionsSpawns[s]={visible:t.visible.spawn(),title:void 0===t.title?null:t.title.spawn()},this._actionsSpawns[s].visible.subscribe(this._updateActionVisibilities.bind(this,s));const i=this._actionsSpawns[s].title;null!==i&&i.subscribe(this._updateActionTitle.bind(this,s))}this._render(),this._updatePaneControlsWidgetVisibility(),this._updateThemedColor(this._themedColor.value()),this._parentEl.classList.toggle(c.touchMode,h.trackingModeIsAvailable),this._parentEl.addEventListener("contextmenu",e=>e.preventDefault())}destroy(){this._visibilityType.destroy(),this._forceContextMenuMode.destroy(),this._themedColor.destroy();for(const e of Object.keys(this._actionsSpawns)){const t=e;this._actionsSpawns[t].visible.destroy();const s=this._actionsSpawns[t].title;null!==s&&s.destroy()}null!==this._onMouseEnterLeaveEventHandler&&(this._wrapEl.removeEventListener("mouseenter",this._onMouseEnterLeaveEventHandler),this._wrapEl.removeEventListener("mouseleave",this._onMouseEnterLeaveEventHandler),this._onMouseEnterLeaveEventHandler=null),this._parentEl.innerHTML="",delete this._parentEl}getElement(){return this._parentEl}bottomWithMargin(){
|
||
const e=this._parentEl.classList.contains(c.touchMode)?Number(c.css_value_pane_controls_button_touch_size):Number(c.css_value_pane_controls_button_size);return 2*Number(c.css_value_pane_controls_margin_top)+e}updateWidgetModeByWidth(e){this._width=e,this._updateWidgetMode()}_updateWidgetMode(){if(null===this._width)return;const e=!this._doNotSwitchToContextMenuMode.value()&&this._width<356,t=!this._doNotSwitchToContextMenuMode.value()&&(this._forceContextMenuMode.value()||this._width<666.65),s=(0,r.ensureNotNull)(this._listActionsWrapperEl),i=(0,r.ensureNotNull)(this._listActionsElements.more);s.classList.toggle(_.blockHidden,e||t),i.classList.toggle(_.blockHidden,e||!t||!this._actions.more.visible.value())}_render(){this._renderActions(),this._parentEl.classList.add(c.paneControls),this._wrapEl.append(this._parentEl)}_renderActions(){null===this._listActionsWrapperEl&&(this._listActionsWrapperEl=document.createElement("div"),this._listActionsWrapperEl.classList.add(c.buttonsWrapper),this._parentEl.append(this._listActionsWrapperEl));const e=h.trackingModeIsAvailable?"large":"small";this._listActionsElements.up=(0,u.createActionElement)(this._actions.up,c.button,c.buttonIcon,_.blockHidden,e),this._listActionsElements.down=(0,u.createActionElement)(this._actions.down,c.button,c.buttonIcon,_.blockHidden,e),this._listActionsElements.collapse=(0,u.createActionElement)(this._actions.collapse,c.button,c.buttonIcon,_.blockHidden,e),this._listActionsElements.restore=(0,u.createActionElement)(this._actions.restore,c.button,c.buttonIcon,_.blockHidden,e),this._listActionsElements.close=(0,u.createActionElement)(this._actions.close,c.button,c.buttonIcon,_.blockHidden,e),this._listActionsElements.maximize=(0,u.createActionElement)(this._actions.maximize,c.button,c.buttonIcon,_.blockHidden,e),this._listActionsElements.minimize=(0,u.createActionElement)(this._actions.minimize,c.button,c.buttonIcon,_.blockHidden,e),this._listActionsWrapperEl.append(this._listActionsElements.up,this._listActionsElements.down,this._listActionsElements.close,this._listActionsElements.collapse,this._listActionsElements.restore,this._listActionsElements.maximize,this._listActionsElements.minimize),this._listActionsElements.more=(0,u.createActionElement)(this._actions.more,c.button,c.buttonIcon,_.blockHidden,e);for(const e of Object.keys(this._listActionsElements))(0,r.ensureNotNull)(this._listActionsElements[e]).classList.add(c.newButton);this._parentEl.append(this._listActionsElements.more)}_updateActionVisibilities(e,t){(0,r.ensureNotNull)(this._listActionsElements[e]).classList.toggle(_.blockHidden,!t)}_updateActionTitle(e,t){(0,r.ensureNotNull)(this._listActionsElements[e]).setAttribute("title",t)}_onMouseEnterLeaveEvent(e){this._mouseOverWidget="mouseenter"===e.type,"visibleOnMouseOver"===this._visibilityType.value()&&this._updatePaneControlsWidgetVisibility()}_updatePaneControlsWidgetVisibility(){let e,t=!1;switch(this._visibilityType.value()){case"alwaysOff":e=!1,t=!0;break;case"alwaysOn":e=this._globalVisibility.value();break
|
||
;case"visibleOnMouseOver":e=this._globalVisibility.value()&&this._mouseOverWidget}this._parentEl.classList.toggle(c.hidden,!e),this._parentEl.classList.toggle(c.forceHidden,!this._globalVisibility.value()||t)}_updateThemedColor(e){if(e.length>0){const[t,s,i]=(0,d.parseRgb)(e);this._parentEl.style.color=(0,d.rgbaToString)([t,s,i,(0,d.normalizeAlphaComponent)(.8)])}else this._parentEl.style.removeProperty("color")}}var m=s(28296),g=s(97056),b=s(5123),v=s(48225),w=s(82313),S=s(54817),y=s(22184),M=s(92185);const f=(0,l.t)("Double click"),C=f,E=(0,o.humanReadableModifiers)(o.Modifiers.Mod)+f;var k=s(52714),V=s.n(k),x=s(6087),T=s(61814),W=s(35505),L=s(64716),A=s(73864),H=s(80610),B=s(7892),D=s(41174),P=s(37179),O=s(49941),I=s(54330);const z=i.mobiletouch,N=(0,l.t)("Delete pane"),R=(0,l.t)("Move pane up"),j=(0,l.t)("Move pane down"),F=(0,l.t)("Maximize pane"),Y=(0,l.t)("Restore pane"),U=(0,l.t)("Collapse pane"),X=(0,l.t)("Manage panes"),q=(0,l.t)("Double click"),G=(0,T.hotKeySerialize)({keys:[""],text:q}),$=(0,T.hotKeySerialize)({keys:[(0,o.humanReadableModifiers)(o.Modifiers.Mod,!1)],text:"{0} + "+q});class K{constructor(e,t,s,i,l){this._actions={},this._moreCMShown=!1,this._themedColor=new(V())(""),this._connectedToBroker=new(V())(!1),this._isDestroyed=!1,this._model=e,this._paneWidget=t,this._callbacks=i,this._closeButtonVisibility=new(V())(this._getCloseButtonVisibility()),this._upButtonVisibility=new(V())(this._getUpButtonVisibility()),this._downButtonVisibility=new(V())(this._getDownButtonVisibility()),this._maximizeButtonVisibility=new(V())(this._getMaximizeButtonVisibility()),this._minimizeButtonVisibility=new(V())(this._getMinimizeButtonVisibility()),this._collapseButtonVisibility=new(V())(this._getCollapseButtonVisibility()),this._restoreButtonVisibility=new(V())(this._getRestoreButtonVisibility()),this._createActions(),this._visibilityTypeProperty=(0,a.actualBehavior)(),this._visibilityTypeProperty.subscribe(this,e=>{this._visibilityType.setValue(e.value())}),this._visibilityType=new(V())(this._visibilityTypeProperty.value()),this._isPaneMaximize=new(V())(this._getIsPaneMaximizeValue()),this._isWidgetShow=new(V())(this._getIsWidgetShow()),this._backgroundThemeName=s.backgroundThemeName,this._renderer=new p(l,this._actions,{visibilityType:this._visibilityType.readonly(),globalVisibility:this._isWidgetShow.readonly(),doNotSwitchToContextMenuMode:this._isPaneMaximize.readonly(),forceContextMenuMode:this._connectedToBroker.readonly(),themedColor:this._themedColor.readonly()})}destroy(){this._visibilityTypeProperty.unsubscribeAll(this),this._renderer.destroy(),this._isDestroyed=!0}getElement(){return this._renderer.getElement()}bottomWithMargin(){return this._renderer.bottomWithMargin()}action(){return this._actions}update(){this._updateButtonsVisibility(),this._isPaneMaximize.setValue(this._getIsPaneMaximizeValue()),this._isWidgetShow.setValue(this._getIsWidgetShow())}updateWidgetModeByWidth(e){this._renderer.updateWidgetModeByWidth(e)}updateThemedColors(e){null===e&&(e=(0,
|
||
x.getStdThemedValue)("chartProperties.paneProperties.background",this._backgroundThemeName.value())),this._themedColor.setValue(e||"")}async _subscribeOnConnectedToBroker(){const e=await waitTradingService();this._isDestroyed||(e.onConnectionStatusChange.subscribe(this,this._updateConnectedToBroker.bind(this)),this._updateConnectedToBroker(e.connectStatus()))}_updateConnectedToBroker(e){this._connectedToBroker.setValue(1===e)}_updateButtonsVisibility(){this._closeButtonVisibility.setValue(this._getCloseButtonVisibility()),this._upButtonVisibility.setValue(this._getUpButtonVisibility()),this._downButtonVisibility.setValue(this._getDownButtonVisibility()),this._maximizeButtonVisibility.setValue(this._getMaximizeButtonVisibility()),this._minimizeButtonVisibility.setValue(this._getMinimizeButtonVisibility()),this._collapseButtonVisibility.setValue(this._getCollapseButtonVisibility()),this._restoreButtonVisibility.setValue(this._getRestoreButtonVisibility())}_createActions(){this._actions.up={iconMap:new Map([["large",L],["small",L]]),action:this._onUpDownButton.bind(this,"up"),visible:this._upButtonVisibility,title:new(V())(R),className:c.up,dataset:{name:"pane-button-up"}},this._actions.down={iconMap:new Map([["large",A],["small",A]]),action:this._onUpDownButton.bind(this,"down"),visible:this._downButtonVisibility,title:new(V())(j),className:c.down,dataset:{name:"pane-button-down"}},this._actions.close={iconMap:new Map([["large",W],["small",W]]),action:this._onCloseButton.bind(this),visible:this._closeButtonVisibility,title:new(V())(N),dataset:{name:"pane-button-close"}},this._actions.maximize={iconMap:new Map([["large",D],["small",H]]),action:this._onToggleMaximizeButton.bind(this),visible:this._maximizeButtonVisibility,title:new(V())(F),hotKeyTitle:G,className:c.maximize,dataset:{name:"pane-button-maximize"}},this._actions.minimize={iconMap:new Map([["large",D],["small",H]]),action:this._onToggleMaximizeButton.bind(this),visible:this._minimizeButtonVisibility,title:new(V())(Y),hotKeyTitle:G,className:c.minimize,dataset:{name:"pane-button-minimize"}},this._actions.collapse={iconMap:new Map([["large",O],["small",O]]),action:this._onToggleCollapseButton.bind(this),visible:this._collapseButtonVisibility,title:new(V())(U),hotKeyTitle:$,className:c.collapse,dataset:{name:"pane-button-collapse"}},this._actions.restore={iconMap:new Map([["large",I],["small",I]]),action:this._onToggleCollapseButton.bind(this),visible:this._restoreButtonVisibility,title:new(V())(Y),hotKeyTitle:$,className:c.restore,dataset:{name:"pane-button-restore"}},this._actions.more={iconMap:new Map([["large",P],["small",B]]),action:this._showButtonsInContextMenu.bind(this),visible:new(V())(!z),title:new(V())(X),dataset:{name:"pane-button-more"}}}_getCloseButtonVisibility(){const e=this._paneWidget.state();let t=!1;return e.containsMainSeries()||e.maximized().value()||z||(t=e.dataSources().some(e=>(0,n.isStudy)(e))),t}_onCloseButton(){const e=this._model.model().panes().indexOf(this._paneWidget.state());this._model.removePane(e)}_getUpButtonVisibility(){
|
||
const e=this._paneWidget.state();return this._model.model().panes().indexOf(e)>0&&!e.maximized().value()&&!z}_getDownButtonVisibility(){const e=this._paneWidget.state(),t=this._model.model().panes();return t.indexOf(e)<t.length-1&&!e.maximized().value()&&!z}_onUpDownButton(e){const t=this._model.model().panes().indexOf(this._paneWidget.state());this._model.rearrangePanes(t,e)}_getMaximizeButtonVisibility(){const e=this._paneWidget.state();return this._model.model().panes().length>1&&!e.maximized().value()&&!z}_getMinimizeButtonVisibility(){const e=this._paneWidget.state();return this._model.model().panes().length>1&&e.maximized().value()}_getCollapseButtonVisibility(){if(z)return!1;const e=this._paneWidget.state();return!e.maximized().value()&&!e.collapsed().value()&&this._model.model().paneCollapsingAvailable().value()}_getRestoreButtonVisibility(){const e=this._paneWidget.state();return!e.maximized().value()&&e.collapsed().value()}_onToggleMaximizeButton(){this._callbacks.toggleMaximizePane(this._paneWidget)}_onToggleCollapseButton(){this._callbacks.toggleCollapsedPane(this._paneWidget)}_showButtonsInContextMenu(e){e.preventDefault(),this._moreCMShown||function(e,t,s){const i=[];if(e.maximize.visible.value()){const t=(0,r.ensure)(e.maximize.title),s=(0,r.ensureNotNull)(e.maximize.action);i.push(new m.Action({actionId:"Chart.PaneControls.MaximizePane",icon:S,label:t.value(),statName:"Maximize Pane",shortcutHint:C,onExecute:()=>s()}))}else if(e.minimize.visible.value()){const t=(0,r.ensure)(e.minimize.title),s=(0,r.ensureNotNull)(e.minimize.action);i.push(new m.Action({actionId:"Chart.PaneControls.MinimizePane",icon:S,label:t.value(),statName:"Minimize Pane",shortcutHint:C,onExecute:()=>s()}))}if(e.collapse.visible.value()){const t=(0,r.ensure)(e.collapse.title),s=(0,r.ensureNotNull)(e.collapse.action);i.push(new m.Action({actionId:"Chart.PaneControls.CollapsePane",icon:y,label:t.value(),statName:"Collapse pane",shortcutHint:E,onExecute:()=>s()}))}if(e.restore.visible.value()){const t=(0,r.ensure)(e.restore.title),s=(0,r.ensureNotNull)(e.restore.action);i.push(new m.Action({actionId:"Chart.PaneControls.RestorePane",icon:M,label:t.value(),statName:"Restore pane",shortcutHint:E,onExecute:()=>s()}))}if(e.up.visible.value()){const t=(0,r.ensure)(e.up.title),s=(0,r.ensureNotNull)(e.up.action);i.push(new m.Action({actionId:"Chart.PaneControls.MovePaneUp",icon:v,label:t.value(),statName:"Move pane up",onExecute:()=>s()}))}if(e.down.visible.value()){const t=(0,r.ensure)(e.down.title),s=(0,r.ensureNotNull)(e.down.action);i.push(new m.Action({actionId:"Chart.PaneControls.MovePaneDown",icon:w,label:t.value(),statName:"Move pane down",onExecute:()=>s()}))}if(e.close.visible.value()){const t=(0,r.ensure)(e.close.title),s=(0,r.ensureNotNull)(e.close.action);i.push(new m.Action({actionId:"Chart.PaneControls.DeletePane",icon:b,label:t.value(),statName:"Delete pane",onExecute:()=>s()}))}const l=(0,r.ensureNotNull)(t.target).getBoundingClientRect();return g.ContextMenuManager.showMenu(i,{clientX:l.right,clientY:l.top+l.height+3,
|
||
attachToXBy:"right"},void 0,void 0,s)}(this._actions,e,()=>{this._moreCMShown=!1}).then(()=>{this._moreCMShown=!0})}_getIsPaneMaximizeValue(){return this._paneWidget.state().maximized().value()}_getIsWidgetShow(){return this._model.model().panes().length>1}}},18166:(e,t,s)=>{"use strict";s.d(t,{createActionElement:()=>l});var i=s(80643);function l(e,t,s,l,o){const a=document.createElement("div");a.className=t,a.classList.toggle(l,!e.visible.value()),Object.assign(a.dataset,e.dataset),void 0!==e.className&&a.classList.add(e.className),void 0!==e.title&&(a.classList.add("apply-common-tooltip"),a.setAttribute("title",e.title.value()),void 0!==e.hotKeyTitle&&(a.dataset.tooltipHotkey=e.hotKeyTitle)),a.addEventListener("touchend",e.action),a.addEventListener("mousedown",t=>{0===t.button&&e.action(t)});const n=document.createElement("div");n.classList.add(s);const r=e.iconMap.get(o)||"";return(0,i.isString)(r)?n.innerHTML=r:n.appendChild(r),a.appendChild(n),a}},85197:(e,t,s)=>{"use strict";s.d(t,{trackingModeIsAvailable:()=>i});const i=s(49483).CheckMobile.any()},39640:(e,t,s)=>{"use strict";function i(e,t,s,i,l){function o(l){if(e>l.timeStamp)return;const o=l.target;void 0!==s&&null!==t&&null!==o&&o.ownerDocument===i&&(t.contains(o)||s(l))}return l.click&&i.addEventListener("click",o,!1),l.mouseDown&&i.addEventListener("mousedown",o,!1),l.touchEnd&&i.addEventListener("touchend",o,!1),l.touchStart&&i.addEventListener("touchstart",o,!1),()=>{i.removeEventListener("click",o,!1),i.removeEventListener("mousedown",o,!1),i.removeEventListener("touchend",o,!1),i.removeEventListener("touchstart",o,!1)}}s.d(t,{addOutsideEventListener:()=>i})},967:(e,t,s)=>{"use strict";s.d(t,{weekDaysShortNames:()=>o,weekDaysMiniNames:()=>a});var i=s(28353),l=s(84917);l.Months.JANUARY,(0,i.t)("January"),l.Months.FEBRUARY,(0,i.t)("February"),l.Months.MARCH,(0,i.t)("March"),l.Months.APRIL,(0,i.t)("April"),l.Months.MAY,(0,i.t)("May"),l.Months.JUNE,(0,i.t)("June"),l.Months.JULY,(0,i.t)("July"),l.Months.AUGUST,(0,i.t)("August"),l.Months.SEPTEMBER,(0,i.t)("September"),l.Months.OCTOBER,(0,i.t)("October"),l.Months.NOVEMBER,(0,i.t)("November"),l.Months.DECEMBER,(0,i.t)("December"),l.Months.JANUARY,(0,i.t)("Jan"),l.Months.FEBRUARY,(0,i.t)("Feb"),l.Months.MARCH,(0,i.t)("Mar"),l.Months.APRIL,(0,i.t)("Apr"),l.Months.MAY,(0,i.t)("May",{context:"short"}),l.Months.JUNE,(0,i.t)("Jun"),l.Months.JULY,(0,i.t)("Jul"),l.Months.AUGUST,(0,i.t)("Aug"),l.Months.SEPTEMBER,(0,i.t)("Sep"),l.Months.OCTOBER,(0,i.t)("Oct"),l.Months.NOVEMBER,(0,i.t)("Nov"),l.Months.DECEMBER,(0,i.t)("Dec"),l.WeekDays.SUNDAY,(0,i.t)("Sunday"),l.WeekDays.MONDAY,(0,i.t)("Monday"),l.WeekDays.TUESDAY,(0,i.t)("Tuesday"),l.WeekDays.WEDNESDAY,(0,i.t)("Wednesday"),l.WeekDays.THURSDAY,(0,i.t)("Thursday"),l.WeekDays.FRIDAY,(0,i.t)("Friday"),l.WeekDays.SATURDAY,(0,i.t)("Saturday");const o={[l.WeekDays.SUNDAY]:(0,i.t)("Sun"),[l.WeekDays.MONDAY]:(0,i.t)("Mon"),[l.WeekDays.TUESDAY]:(0,i.t)("Tue"),[l.WeekDays.WEDNESDAY]:(0,i.t)("Wed"),[l.WeekDays.THURSDAY]:(0,i.t)("Thu"),[l.WeekDays.FRIDAY]:(0,i.t)("Fri"),
|
||
[l.WeekDays.SATURDAY]:(0,i.t)("Sat")},a={[l.WeekDays.SUNDAY]:(0,i.t)("Su",{context:"day_of_week"}),[l.WeekDays.MONDAY]:(0,i.t)("Mo",{context:"day_of_week"}),[l.WeekDays.TUESDAY]:(0,i.t)("Tu",{context:"day_of_week"}),[l.WeekDays.WEDNESDAY]:(0,i.t)("We",{context:"day_of_week"}),[l.WeekDays.THURSDAY]:(0,i.t)("Th",{context:"day_of_week"}),[l.WeekDays.FRIDAY]:(0,i.t)("Fr",{context:"day_of_week"}),[l.WeekDays.SATURDAY]:(0,i.t)("Sa",{context:"day_of_week"})}},77975:(e,t,s)=>{"use strict";s.d(t,{useWatchedValueReadonly:()=>l});var i=s(59496);const l=(e,t=!1)=>{const s="watchedValue"in e?e.watchedValue:void 0,l="defaultValue"in e?e.defaultValue:e.watchedValue.value(),[o,a]=(0,i.useState)(s?s.value():l);return(t?i.useLayoutEffect:i.useEffect)(()=>{if(s){a(s.value());const e=e=>a(e);return s.subscribe(e),()=>s.unsubscribe(e)}return()=>{}},[s]),o}},53448:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 2 30 24" width="30" height="24" fill="none"><path fill="currentColor" fill-rule="evenodd" clip-rule="evenodd" d="M15.82 14l5.36-5.36-.82-.82L15 13.18 9.64 7.82l-.82.82L14.18 14l-5.36 5.36.82.82L15 14.82l5.36 5.36.82-.82L15.82 14z"/></svg>'},42125:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 22" width="24" height="22" fill="none"><path fill="currentColor" fill-rule="evenodd" clip-rule="evenodd" d="M17.35 6.35l-10 10-.7-.7 10-10 .7.7z"/><path fill="currentColor" fill-rule="evenodd" clip-rule="evenodd" d="M6.65 6.35l10 10 .7-.7-10-10-.7.7z"/></svg>'},35067:e=>{
|
||
e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 22" width="30" height="24" fill="none"><g fill="currentColor" fill-rule="evenodd" clip-rule="evenodd" class="normal-eye"><path d="M18 7.91C16.7 6.5 14.7 5 12 5S7.3 6.49 6 7.91C6 7.91 4 10 4 11s2 3.09 2 3.09C7.3 15.5 9.3 17 12 17s4.7-1.49 6-2.91c0 0 2-2.09 2-3.09s-2-3.09-2-3.09zm-11.26 5.5C7.94 14.74 9.7 16 12 16s4.05-1.26 5.25-2.59c0 0 1.75-1.91 1.75-2.41 0-.5-1.75-2.41-1.75-2.41C16.05 7.26 14.3 6 12 6S7.95 7.26 6.74 8.59C6.74 8.59 5 10.5 5 11c0 .5 1.74 2.41 1.74 2.41z"/><path d="M12 13a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm0 1a3 3 0 1 0 0-6 3 3 0 0 0 0 6z"/></g><g fill="currentColor" fill-rule="evenodd" clip-rule="evenodd" class="crossed-eye"><path d="M8.85 16.27c.92.44 1.97.73 3.15.73 2.7 0 4.7-1.49 6-2.91 0 0 2-2.09 2-3.09s-2-3.09-2-3.09l-.39-.4-.7.7.34.38S19 10.5 19 11c0 .5-1.75 2.41-1.75 2.41C16.05 14.74 14.3 16 12 16c-.88 0-1.68-.18-2.4-.48l-.75.75zM7.1 13.78l-.36-.37S5 11.5 5 11c0-.5 1.74-2.41 1.74-2.41C7.94 7.26 9.7 6 12 6c.88 0 1.68.18 2.4.48l.75-.75A7.17 7.17 0 0 0 12 5C9.3 5 7.3 6.49 6 7.91 6 7.91 4 10 4 11s2 3.09 2 3.09l.39.4.7-.7z"/><path d="M11.22 13.9a3 3 0 0 0 3.68-3.68l-.9.9A2 2 0 0 1 12.13 13l-.9.9zm.66-4.9A2 2 0 0 0 10 10.88l-.9.9a3 3 0 0 1 3.68-3.68l-.9.9zM5.65 16.65l12-12 .7.7-12 12-.7-.7z"/></g><g class="loading-eye"><path fill="currentColor" fill-rule="evenodd" clip-rule="evenodd" d="M18 7.91C16.7 6.5 14.7 5 12 5S7.3 6.49 6 7.91C6 7.91 4 10 4 11s2 3.09 2 3.09C7.3 15.5 9.3 17 12 17s4.7-1.49 6-2.91c0 0 2-2.09 2-3.09s-2-3.09-2-3.09zm-11.26 5.5C7.94 14.74 9.7 16 12 16s4.05-1.26 5.25-2.59c0 0 1.75-1.91 1.75-2.41 0-.5-1.75-2.41-1.75-2.41C16.05 7.26 14.3 6 12 6S7.95 7.26 6.74 8.59C6.74 8.59 5 10.5 5 11c0 .5 1.74 2.41 1.74 2.41z"/></g><g class="animated-loading-eye"><path stroke="currentColor" stroke-linecap="round" d="M14.5 11a2.5 2.5 0 1 0-2.5 2.5"/></g></svg>'},35671:e=>{
|
||
e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 22" width="24" height="22" fill="none"><g class="normal-eye"><path fill="currentColor" fill-rule="evenodd" clip-rule="evenodd" d="M17.9948 7.91366C16.6965 6.48549 14.6975 5 11.9999 5C9.30225 5 7.30322 6.48549 6.00488 7.91366C6.00488 7.91366 4 10 4 11C4 12 6.00488 14.0863 6.00488 14.0863C7.30322 15.5145 9.30225 17 11.9999 17C14.6975 17 16.6965 15.5145 17.9948 14.0863C17.9948 14.0863 20 12 20 11C20 10 17.9948 7.91366 17.9948 7.91366ZM6.74482 13.4137C7.94648 14.7355 9.69746 16 11.9999 16C14.3022 16 16.0532 14.7355 17.2549 13.4137C17.2549 13.4137 19 11.5 19 11C19 10.5 17.2549 8.58634 17.2549 8.58634C16.0532 7.26451 14.3022 6 11.9999 6C9.69746 6 7.94648 7.26451 6.74482 8.58634C6.74482 8.58634 5 10.5 5 11C5 11.5 6.74482 13.4137 6.74482 13.4137Z"/><path fill="currentColor" fill-rule="evenodd" clip-rule="evenodd" d="M12 13C13.1046 13 14 12.1046 14 11C14 9.89543 13.1046 9 12 9C10.8954 9 10 9.89543 10 11C10 12.1046 10.8954 13 12 13ZM12 14C13.6569 14 15 12.6569 15 11C15 9.34315 13.6569 8 12 8C10.3431 8 9 9.34315 9 11C9 12.6569 10.3431 14 12 14Z"/></g><g class="crossed-eye"><path fill="currentColor" fill-rule="evenodd" clip-rule="evenodd" d="M8.8503 16.2712C9.76531 16.7135 10.8152 17 11.9999 17C14.6975 17 16.6965 15.5145 17.9948 14.0863C17.9948 14.0863 20 12 20 11C20 10 17.9948 7.91366 17.9948 7.91366C17.8729 7.77954 17.7448 7.64491 17.6105 7.51105L16.9035 8.2181C17.0254 8.33968 17.1425 8.46276 17.2549 8.58634C17.2549 8.58634 19 10.5 19 11C19 11.5 17.2549 13.4137 17.2549 13.4137C16.0532 14.7355 14.3022 16 11.9999 16C11.1218 16 10.324 15.8161 9.60627 15.5153L8.8503 16.2712ZM7.09663 13.7823C6.97455 13.6606 6.85728 13.5374 6.74482 13.4137C6.74482 13.4137 5 11.5 5 11C5 10.5 6.74482 8.58634 6.74482 8.58634C7.94648 7.26451 9.69746 6 11.9999 6C12.8781 6 13.6761 6.18398 14.394 6.48495L15.1499 5.729C14.2348 5.28657 13.1847 5 11.9999 5C9.30225 5 7.30322 6.48549 6.00488 7.91366C6.00488 7.91366 4 10 4 11C4 12 6.00488 14.0863 6.00488 14.0863C6.12693 14.2206 6.25516 14.3553 6.38959 14.4893L7.09663 13.7823Z"/><path fill="currentColor" fill-rule="evenodd" clip-rule="evenodd" d="M11.2231 13.8984C11.4709 13.9647 11.7313 14 12 14C13.6569 14 15 12.6569 15 11C15 10.7313 14.9647 10.4709 14.8984 10.2231L13.9961 11.1254C13.934 12.1301 13.1301 12.934 12.1254 12.9961L11.2231 13.8984ZM11.8751 9.00384C10.87 9.06578 10.0658 9.87001 10.0038 10.8751L9.10166 11.7772C9.03535 11.5294 9 11.2688 9 11C9 9.34315 10.3431 8 12 8C12.2688 8 12.5294 8.03535 12.7772 8.10166L11.8751 9.00384Z"/><path fill="currentColor" fill-rule="evenodd" clip-rule="evenodd" d="M5.64648 16.6465L17.6465 4.64648L18.3536 5.35359L6.35359 17.3536L5.64648 16.6465Z"/></g><g class="loading-eye"><path fill="currentColor" fill-rule="evenodd" clip-rule="evenodd" d="M17.9948 7.91366C16.6965 6.48549 14.6975 5 11.9999 5C9.30225 5 7.30322 6.48549 6.00488 7.91366C6.00488 7.91366 4 10 4 11C4 12 6.00488 14.0863 6.00488 14.0863C7.30322 15.5145 9.30225 17 11.9999 17C14.6975 17 16.6965 15.5145 17.9948 14.0863C17.9948 14.0863 20 12 20 11C20 10 17.9948 7.91366 17.9948 7.91366ZM6.74482 13.4137C7.94648 14.7355 9.69746 16 11.9999 16C14.3022 16 16.0532 14.7355 17.2549 13.4137C17.2549 13.4137 19 11.5 19 11C19 10.5 17.2549 8.58634 17.2549 8.58634C16.0532 7.26451 14.3022 6 11.9999 6C9.69746 6 7.94648 7.26451 6.74482 8.58634C6.74482 8.58634 5 10.5 5 11C5 11.5 6.74482 13.4137 6.74482 13.4137Z"/></g><g class="animated-loading-eye"><path stroke="currentColor" stroke-linecap="round" d="M14.5 11C14.5 9.61929 13.3807 8.5 12 8.5C10.6193 8.5 9.5 9.61929 9.5 11C9.5 12.3807 10.6193 13.5 12 13.5"/></g></svg>'
|
||
},96095:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 2 30 24" width="30" height="24" fill="none"><circle stroke="currentColor" stroke-width="1.15" cx="8.08" cy="14" r="1.73"/><circle stroke="currentColor" stroke-width="1.15" cx="15" cy="14" r="1.73"/><circle stroke="currentColor" stroke-width="1.15" cx="21.92" cy="14" r="1.73"/></svg>'},13719:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 4" width="16" height="4" fill="none"><circle stroke="currentColor" cx="2" cy="2" r="1.5"/><circle stroke="currentColor" cx="8" cy="2" r="1.5"/><circle stroke="currentColor" cx="14" cy="2" r="1.5"/></svg>'},44509:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18" width="18" height="18"><path fill="currentColor" d="M8.54.84a.8.8 0 0 1 .92 0l7.5 5.25a.8.8 0 0 1 0 1.32l-7.5 5.25a.8.8 0 0 1-.92 0L1.04 7.4a.8.8 0 0 1 0-1.32L8.54.84zM2.9 6.75L9 11.02l6.1-4.27L9 2.48 2.9 6.75z"/><path fill="currentColor" d="M.84 10.8a.8.8 0 0 1 1.12-.2L9 15.51l7.04-4.93a.8.8 0 0 1 .92 1.32l-7.5 5.25a.8.8 0 0 1-.92 0l-7.5-5.25a.8.8 0 0 1-.2-1.12z"/></svg>'},97142:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15" width="15" height="15"><path fill="currentColor" d="M7.23 2.58a.5.5 0 0 1 .54 0l5.5 3.5a.5.5 0 0 1 0 .84l-5.5 3.5a.5.5 0 0 1-.54 0l-5.5-3.5a.5.5 0 0 1 0-.84l5.5-3.5zM2.93 6.5L7.5 9.4l4.57-2.9L7.5 3.6 2.93 6.5z"/><path fill="currentColor" d="M1.58 9.23a.5.5 0 0 1 .69-.15L7.5 12.4l5.23-3.33a.5.5 0 0 1 .54.84l-5.5 3.5a.5.5 0 0 1-.54 0l-5.5-3.5a.5.5 0 0 1-.15-.69z"/></svg>'},51855:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 22" width="24" height="22" fill="none"><path fill="currentColor" fill-rule="evenodd" clip-rule="evenodd" d="M6 6.5A2.5 2.5 0 0 1 8.5 4H10v1H8.5C7.67 5 7 5.67 7 6.5v1.15a3.5 3.5 0 0 1-1.93 3.13l-.45.22.45.22A3.5 3.5 0 0 1 7 14.35v1.15c0 .83.67 1.5 1.5 1.5H10v1H8.5A2.5 2.5 0 0 1 6 15.5v-1.15a2.5 2.5 0 0 0-1.38-2.23l-1.34-.67a.5.5 0 0 1 0-.9l1.34-.67A2.5 2.5 0 0 0 6 7.65V6.5zM15.5 5H14V4h1.5A2.5 2.5 0 0 1 18 6.5v1.15c0 .94.54 1.8 1.38 2.23l1.34.67a.5.5 0 0 1 0 .9l-1.34.67A2.5 2.5 0 0 0 18 14.35v1.15a2.5 2.5 0 0 1-2.5 2.5H14v-1h1.5c.83 0 1.5-.67 1.5-1.5v-1.15a3.5 3.5 0 0 1 1.93-3.13l.45-.22-.45-.22A3.5 3.5 0 0 1 17 7.65V6.5c0-.83-.67-1.5-1.5-1.5z"/></svg>'},38197:e=>{
|
||
e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14" width="14" height="14" fill="none"><path fill="currentColor" fill-rule="evenodd" d="M8.63 1.08a2.04 2.04 0 0 1-3.26 0c-.51.14-1 .35-1.45.6l.01.2A2.05 2.05 0 0 1 1.7 3.93a6.1 6.1 0 0 0-.6 1.45 2.04 2.04 0 0 1 0 3.26c.13.51.34 1 .6 1.45l.2-.01a2.05 2.05 0 0 1 2.03 2.24c.45.26.94.47 1.45.6a2.04 2.04 0 0 1 3.26 0c.51-.13 1-.34 1.45-.6l-.01-.2a2.05 2.05 0 0 1 2.24-2.03c.26-.45.47-.94.6-1.45a2.04 2.04 0 0 1 0-3.26 6.1 6.1 0 0 0-.6-1.45 2.05 2.05 0 0 1-2.23-2.23 6.1 6.1 0 0 0-1.45-.6zM7.84.42c.17-.24.43-.47.72-.4.84.18 1.62.5 2.32.96.23.15.26.48.22.76a1.03 1.03 0 0 0 1.16 1.16c.28-.04.6-.01.76.22.45.7.78 1.48.97 2.32.06.29-.17.55-.41.72a1.02 1.02 0 0 0 0 1.68c.24.17.47.43.4.72a7.12 7.12 0 0 1-.96 2.32c-.15.23-.48.26-.76.22a1.03 1.03 0 0 0-1.17 1.01l.01.15c.04.28.01.6-.22.76-.7.45-1.48.78-2.32.97-.29.06-.55-.17-.72-.41a1.02 1.02 0 0 0-1.68 0c-.17.24-.43.47-.72.4a7.12 7.12 0 0 1-2.32-.96c-.23-.15-.26-.48-.22-.76v-.15a1.02 1.02 0 0 0-1.16-1c-.28.03-.6 0-.76-.23A7.12 7.12 0 0 1 0 8.56c-.06-.29.17-.55.41-.72a1.02 1.02 0 0 0 0-1.68c-.24-.17-.47-.43-.4-.72.18-.84.5-1.62.96-2.32.15-.23.48-.26.76-.22h.15a1.02 1.02 0 0 0 1-1.16c-.03-.28 0-.6.23-.76C3.82.53 4.6.2 5.44 0c.29-.06.55.17.72.41a1.02 1.02 0 0 0 1.68 0zM9 7a2 2 0 1 1-4 0 2 2 0 0 1 4 0zm1 0a3 3 0 1 1-6 0 3 3 0 0 1 6 0z"/></svg>'},35505:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15" width="15" height="15"><path fill="currentColor" d="M11.65 12.35l-9-9 .7-.7 9 9-.7.7z"/><path fill="currentColor" d="M2.65 11.65l9-9 .7.7-9 9-.7-.7z"/></svg>'},49941:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15" width="15" height="15" fill="none"><path stroke="currentColor" d="M11 2 7.5 5 4 2" class="bracket-up"/><path stroke="currentColor" d="M4 13l3.5-3 3.5 3" class="bracket-down"/></svg>'},5123:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28 28" width="28" height="28"><path fill="currentColor" d="M7.65 8.35l.7-.7 6.15 6.14 6.15-6.14.7.7-6.14 6.15 6.14 6.15-.7.7-6.15-6.14-6.15 6.14-.7-.7 6.14-6.15-6.14-6.15z"/></svg>'},22184:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28 28" width="28" height="28" fill="none"><path stroke="currentColor" d="M20.53 3.73 14 9.33 7.47 3.73M7.47 24.27l6.53 -5.60 6.53 5.60"/></svg>'},82313:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28 28" width="28" height="28"><path fill="currentColor" d="M14 7v12.93l5.18-4.31.64.76-6.32 5.27-6.32-5.27.64-.76L13 19.93V7h1z"/></svg>'},54817:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28 28" width="28" height="28"><path fill="currentColor" d="M19.32 6H8.68A2.68 2.68 0 0 0 6 8.68V11h1V8.68C7 7.75 7.75 7 8.68 7h10.64c.93 0 1.68.75 1.68 1.68V11h1V8.68C22 7.2 20.8 6 19.32 6zM7 19.32c0 .93.75 1.68 1.68 1.68h10.64c.93 0 1.68-.75 1.68-1.68V17h1v2.32C22 20.8 20.8 22 19.32 22H8.68A2.68 2.68 0 0 1 6 19.32V17h1v2.32z"/></svg>'},92185:e=>{
|
||
e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28 28" width="28" height="28" fill="none"><path stroke="currentColor" d="m7.47 9.33 6.53 -5.60L20.53 9.33M20.53 18.67l-6.53 5.60L7.47 18.67"/></svg>'},48225:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28 28" width="28" height="28"><path fill="currentColor" d="M13.5 6.35l6.32 5.27-.64.76L14 8.07V21h-1V8.07l-5.18 4.31-.64-.76 6.32-5.27z"/></svg>'},37179:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18" width="18" height="18"><circle fill="currentColor" cx="15" cy="9" r="1.5"/><circle fill="currentColor" cx="9" cy="9" r="1.5"/><circle fill="currentColor" cx="3" cy="9" r="1.5"/></svg>'},7892:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15" width="15" height="15"><circle fill="currentColor" cx="12.75" cy="7.5" r="1.25"/><circle fill="currentColor" cx="7.5" cy="7.5" r="1.25"/><circle fill="currentColor" cx="2.25" cy="7.5" r="1.25"/></svg>'},73864:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15" width="15" height="15"><path fill="currentColor" d="M11.83 8.88l-.66-.76L8 10.9V3H7v7.9L3.83 8.12l-.66.76 4.33 3.78 4.33-3.78z"/></svg>'},41174: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.5 2.8a.7.7 0 0 0-.7.7V6H1.2V3.5a2.3 2.3 0 0 1 2.3-2.3h11a2.3 2.3 0 0 1 2.3 2.3V6h-1.6V3.5a.7.7 0 0 0-.7-.7h-11z" class="bracket-up"/><path fill="currentColor" d="M3.5 15.2a.7.7 0 0 1-.7-.7V12H1.2v2.5a2.3 2.3 0 0 0 2.3 2.3h11a2.3 2.3 0 0 0 2.3-2.3V12h-1.6v2.5a.7.7 0 0 1-.7.7h-11z" class="bracket-down"/></svg>'},80610:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15" width="15" height="15" fill="none"><path fill="currentColor" d="M4.5 12A1.5 1.5 0 0 1 3 10.5V9H2v1.5A2.5 2.5 0 0 0 4.5 13h6a2.5 2.5 0 0 0 2.5-2.5V9h-1v1.5c0 .83-.67 1.5-1.5 1.5h-6z" class="bracket-up"/><path fill="currentColor" d="M4.5 3C3.67 3 3 3.67 3 4.5V6H2V4.5A2.5 2.5 0 0 1 4.5 2h6A2.5 2.5 0 0 1 13 4.5V6h-1V4.5c0-.83-.67-1.5-1.5-1.5h-6z" class="bracket-down"/></svg>'},54330:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15" width="15" height="15" fill="none"><path stroke="currentColor" d="m4 5 3.5-3L11 5" class="bracket-up"/><path stroke="currentColor" d="M11 10l-3.5 3L4 10" class="bracket-down"/></svg>'},64716:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15" width="15" height="15"><path fill="currentColor" d="M11.83 6.12l-.66.76L8 4.1V12H7V4.1L3.83 6.88l-.66-.76L7.5 2.34l4.33 3.78z"/></svg>'},78447:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18" width="18" height="18"><path fill="currentColor" fill-rule="evenodd" clip-rule="evenodd" d="M9 2.5c-1.06 0-1.88.93-1.75 1.98l.63 5.03a1.13 1.13 0 0 0 2.25 0l.62-5.03A1.77 1.77 0 0 0 9 2.5zm0 10a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3z"/></svg>'},12782:e=>{
|
||
e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18" width="18" height="18"><path fill="currentColor" fill-rule="evenodd" clip-rule="evenodd" d="M9 4c-.79 0-1.38.7-1.25 1.48l.67 4.03a.59.59 0 0 0 1.16 0l.67-4.03A1.27 1.27 0 0 0 9 4zm0 8a1 1 0 1 0 0 2 1 1 0 0 0 0-2z"/></svg>'},89396:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18" width="18" height="18"><path stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M13.5 4.5l-9 9M4.5 4.5l9 9"/></svg>'},95935:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18" width="18" height="18"><path stroke="currentColor" stroke-linecap="round" stroke-width="1.7" d="M12.5 5.5l-7 7m0-7l7 7"/></svg>'},7804:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18" width="18" height="18"><path fill="currentColor" d="M7.57 14.8H5.03V3.36c1.62-.05 2.64-.08 3.06-.08 1.66 0 2.98.49 3.96 1.47a5.23 5.23 0 0 1 1.47 3.88c0 4.11-1.99 6.17-5.95 6.17zm-.5-9.66v7.8c.32.04.67.06 1.05.06 1.03 0 1.83-.38 2.41-1.12.58-.75.88-1.79.88-3.13 0-2.44-1.14-3.67-3.42-3.67-.22 0-.53.02-.93.06z"/></svg>'},60226:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18" width="18" height="18"><path fill="currentColor" d="M7.84 13.7H5.78V4.4l2.48-.06c1.35 0 2.42.4 3.22 1.2.8.78 1.19 1.83 1.19 3.15 0 3.34-1.61 5.01-4.83 5.01zm-.41-7.85v6.35c.26.02.55.03.86.03.83 0 1.48-.3 1.95-.9.48-.6.72-1.46.72-2.54 0-2-.93-2.99-2.78-2.99-.18 0-.43.02-.75.05z"/></svg>'},4540:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18" width="18" height="18"><path fill="currentColor" d="M7.65 5.16v2.68h3.78v1.73H7.65V13h5.19v1.8H5.62V3.35h7.3v1.8H7.65z"/></svg>'},91353:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18" width="18" height="18"><path fill="currentColor" d="M7.9 5.87v2.17h3.07v1.4H7.9v2.8h4.22v1.46H6.25V4.4h5.94v1.47H7.9z"/></svg>'},38356:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18" width="18" height="18"><rect width="10" height="4" fill="currentColor" rx="2" x="4" y="7"/></svg>'},41338:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18" width="18" height="18"><circle fill="currentColor" cx="9" cy="9" r="5"/></svg>'},42520:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18" width="18" height="18" fill="none"><circle fill="currentColor" cx="9" cy="9" r="4"/></svg>'},27221: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.3 9l.9-4.53a1.23 1.23 0 1 0-2.4 0L8.7 9l-.9 4.53a1.23 1.23 0 1 0 2.4 0L9.3 9z"/><path fill="currentColor" d="M9.15 9.26l4.38-1.48a1.23 1.23 0 1 0-1.21-2.09L8.85 8.74l-4.38 1.48a1.23 1.23 0 1 0 1.21 2.09l3.47-3.05z"/><path fill="currentColor" d="M9.15 8.74L5.68 5.69a1.23 1.23 0 1 0-1.2 2.09l4.37 1.48 3.47 3.05a1.23 1.23 0 1 0 1.2-2.09L9.16 8.74z"/></svg>'},1044:e=>{
|
||
e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18" width="18" height="18"><path fill="currentColor" fill-rule="evenodd" clip-rule="evenodd" d="M13.29 4.8h-.09a4.2 4.2 0 1 0 .09 8.4 6 6 0 1 1 0-8.4z"/></svg>'},91691:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18" width="18" height="18"><path fill="currentColor" d="M12.57 5.5h-.07a3.5 3.5 0 1 0 .07 7A4.98 4.98 0 0 1 4 9a5 5 0 0 1 8.57-3.5z"/></svg>'},48216:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18" width="18" height="18"><path fill="currentColor" d="M12.58 12.1A3.86 3.86 0 0 0 9 6.75a3.87 3.87 0 0 0-3.58 5.33 7.74 7.74 0 0 1 7.16 0zM3.64 9.93l-2.3-.62.37-1.38 2.3.62-.37 1.38zM6.1 6.07L5.07 3.92l1.3-.6 1 2.15-1.29.6zM10.62 5.47l1-2.16 1.3.6-1.01 2.16-1.3-.6zM13.99 8.55l2.3-.62.36 1.38-2.3.62L14 8.55z"/></svg>'},41769:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18" width="18" height="18"><path fill="currentColor" d="M12.22 11.78A3.47 3.47 0 0 0 9 6.98a3.48 3.48 0 0 0-3.22 4.8 6.97 6.97 0 0 1 6.44 0zM4.18 9.83L2.1 9.28l.33-1.24 2.07.55-.33 1.24zM6.38 6.36l-.9-1.94 1.16-.54.9 1.94-1.16.54zM10.46 5.82l.9-1.94 1.16.54-.9 1.94-1.16-.54zM13.49 8.6l2.07-.56.33 1.24-2.07.55-.33-1.24z"/></svg>'},19101:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18" width="18" height="18"><path fill="currentColor" d="M14.48 5.1c-.52 2.03-1.46 3.04-2.82 3.04-.64 0-1.55-.19-2.74-.56-1.17-.38-1.99-.57-2.46-.57-.69 0-1.22.37-1.58 1.13H3.55A4.3 4.3 0 0 1 4.5 6c.5-.6 1.08-.9 1.74-.9.7 0 1.65.2 2.84.58 1.2.37 2.04.55 2.52.55.8 0 1.32-.37 1.59-1.13h1.29zm0 4.84c-.52 2.02-1.46 3.03-2.82 3.03-.64 0-1.55-.19-2.74-.56-1.17-.38-1.99-.57-2.46-.57-.69 0-1.22.38-1.58 1.13H3.55a4.3 4.3 0 0 1 .95-2.14c.5-.6 1.08-.9 1.74-.9.7 0 1.65.2 2.84.58 1.2.37 2.04.56 2.52.56.8 0 1.32-.38 1.59-1.13h1.29z"/></svg>'},15147:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18" width="18" height="18"><path fill="currentColor" d="M13.4 5.9c-.41 1.62-1.16 2.43-2.25 2.43-.52 0-1.25-.15-2.2-.45-.93-.3-1.58-.45-1.96-.45-.55 0-.98.3-1.27.9H4.66c.1-.67.36-1.24.76-1.71.4-.48.86-.72 1.4-.72.56 0 1.31.16 2.27.46.95.3 1.62.45 2.01.45.64 0 1.06-.3 1.27-.9h1.03zm0 3.87c-.41 1.62-1.16 2.43-2.25 2.43-.52 0-1.25-.15-2.2-.45-.93-.3-1.58-.46-1.96-.46-.55 0-.98.3-1.27.9H4.66c.1-.67.36-1.24.76-1.7.4-.48.86-.72 1.4-.72.56 0 1.31.15 2.27.46.95.3 1.62.44 2.01.44.64 0 1.06-.3 1.27-.9h1.03z"/></svg>'},14799:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18" width="18" height="18"><path fill="currentColor" d="M13 12.78V5.22a.3.3 0 0 0-.51-.2L8.7 8.78a.3.3 0 0 0 0 .42L12.5 13a.3.3 0 0 0 .51-.21zM8 12.78V5.22a.3.3 0 0 0-.51-.2L3.7 8.78a.3.3 0 0 0 0 .42L7.5 13a.3.3 0 0 0 .51-.21z"/></svg>'},26339:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path fill="currentColor" d="M2.4 5.46a.8.8 0 0 1 1.14-.05L8 9.42l4.46-4.01a.8.8 0 0 1 1.08 1.18L8 11.58 2.47 6.59a.8.8 0 0 1-.06-1.13z"/></svg>'},84834:e=>{
|
||
e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15" width="15" height="15"><path fill="currentColor" d="M3.5 5.58c.24-.28.65-.3.92-.07L7.5 8.14l3.08-2.63a.65.65 0 1 1 .84.98L7.5 9.86 3.58 6.49a.65.65 0 0 1-.07-.91z"/></svg>'},93144:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 7 7" width="7" height="7"><path fill="currentColor" d="M3.5 7L7 4H4V0H3V4H0L3.5 7Z"/></svg>'},52356:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 9 7" width="9" height="7"><path fill="currentColor" d="M.5 3.5L4 0v3h5v1H4v3z"/></svg>'},58498:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14" width="14" height="14"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M8.5 1.5L3.5 7l5 5.5"/></svg>'},29675:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28 28" width="28" height="28"><g class="corner-left-top"><path fill="currentColor" d="M6 9C6 7.89543 6.89543 7 8 7H10C10.5523 7 11 7.44772 11 8C11 8.55228 10.5523 9 10 9H8V11C8 11.5523 7.55228 12 7 12C6.44772 12 6 11.5523 6 11V9Z"/></g><g class="corner-right-top"><path fill="currentColor" d="M17 8C17 7.44772 17.4477 7 18 7H20C21.1046 7 22 7.89543 22 9V11C22 11.5523 21.5523 12 21 12C20.4477 12 20 11.5523 20 11V9H18C17.4477 9 17 8.55228 17 8Z"/></g><g class="corner-right-bottom"><path fill="currentColor" d="M21 16C21.5523 16 22 16.4477 22 17V19C22 20.1046 21.1046 21 20 21H18C17.4477 21 17 20.5523 17 20C17 19.4477 17.4477 19 18 19H20V17C20 16.4477 20.4477 16 21 16Z"/></g><g class="corner-left-bottom"><path fill="currentColor" d="M7 16C7.55228 16 8 16.4477 8 17V19H10C10.5523 19 11 19.4477 11 20C11 20.5523 10.5523 21 10 21H8C6.89543 21 6 20.1046 6 19V17C6 16.4477 6.44772 16 7 16Z"/></g></svg>'},85808:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28 28" width="28" height="28"><g class="corner-left-top"><path fill="currentColor" d="M10 7C10.5523 7 11 7.44772 11 8V10C11 11.1046 10.1046 12 9 12H7C6.44772 12 6 11.5523 6 11C6 10.4477 6.44772 10 7 10H9V8C9 7.44772 9.44772 7 10 7Z"/></g><g class="corner-right-top"><path fill="currentColor" d="M18 7C18.5523 7 19 7.44772 19 8V10H21C21.5523 10 22 10.4477 22 11C22 11.5523 21.5523 12 21 12H19C17.8954 12 17 11.1046 17 10V8C17 7.44772 17.4477 7 18 7Z"/></g><g class="corner-right-bottom"><path fill="currentColor" d="M17 18C17 16.8954 17.8954 16 19 16H21C21.5523 16 22 16.4477 22 17C22 17.5523 21.5523 18 21 18H19V20C19 20.5523 18.5523 21 18 21C17.4477 21 17 20.5523 17 20V18Z"/></g><g class="corner-left-bottom"><path fill="currentColor" d="M6 17C6 16.4477 6.44772 16 7 16H9C10.1046 16 11 16.8954 11 18V20C11 20.5523 10.5523 21 10 21C9.44772 21 9 20.5523 9 20V18H7C6.44772 18 6 17.5523 6 17Z"/></g></svg>'},30782:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14" width="14" height="14"><path stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M2 7h10"/></svg>'},31084:e=>{
|
||
e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14" width="14" height="14"><path stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M7 2v10M2 7h10"/></svg>'},90760:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 18" width="14" height="18"><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2"><path d="M1 10a6 6 0 1 0 6-6H3"/><path d="M5 1L2.5 4 5 7"/></g></svg>'},34028:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 9 7" width="9" height="7"><path fill="currentColor" d="M8.5 3.5L5 0v3H0v1h5v3z"/></svg>'},28859:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14" width="14" height="14"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M6.5 1.5l5 5.5-5 5.5M3 4l2.5 3L3 10"/></svg>'},65112:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14" width="14" height="14"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M5.5 1.5l5 5.5-5 5.5"/></svg>'},82436:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 7 7" width="7" height="7"><path fill="currentColor" d="M3.5 0L0 3h3v4h1V3h3L3.5 0z"/></svg>'}}]); |