@orderly.network/ui-tradingview 2.5.3 → 2.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +10 -10
package/dist/index.js
CHANGED
|
@@ -13,7 +13,7 @@ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
|
13
13
|
|
|
14
14
|
var ui__default = /*#__PURE__*/_interopDefault(ui);
|
|
15
15
|
|
|
16
|
-
var Hr="#008676",Ur="#D92D6B",Pe="#131519",Fr="#00B49E",Kr="#FF447C",qr="#333948",Wr="#FFFFFF",Gr="#F4F7F9",Qr="regular 11px Manrope",mt={upColor:Hr,downColor:Ur,chartBG:Pe,pnlUpColor:Fr,pnlDownColor:Kr,pnlZoreColor:qr,textColor:Wr,qtyTextColor:Gr,font:Qr,volumeUpColor:"#0C3E3A",volumeDownColor:"#5A1E36",closeIcon:"rgba(255, 255, 255, 0.8)"},gt=(r,e)=>{let t={"paneProperties.background":r.chartBG,"paneProperties.backgroundType":"solid","mainSeriesProperties.candleStyle.upColor":r.upColor,"mainSeriesProperties.candleStyle.downColor":r.downColor,"mainSeriesProperties.candleStyle.borderColor":r.upColor,"mainSeriesProperties.candleStyle.borderUpColor":r.upColor,"mainSeriesProperties.candleStyle.borderDownColor":r.downColor,"mainSeriesProperties.candleStyle.wickUpColor":r.upColor,"mainSeriesProperties.candleStyle.wickDownColor":r.downColor,"paneProperties.separatorColor":"#2B2833","paneProperties.vertGridProperties.color":"#26232F","paneProperties.horzGridProperties.color":"#26232F","scalesProperties.fontSize":e?8:12,"scalesProperties.textColor":"#97969B","paneProperties.legendProperties.showSeriesTitle":!e,"mainSeriesProperties.statusViewStyle.symbolTextSource":"ticker"},o={"volume.volume.color.0":r.volumeDownColor,"volume.volume.color.1":r.volumeUpColor};return {overrides:t,studiesOverrides:o}},oe="Orderly",O=r=>r.includes(":")?r.split(":")[1]:r,ie=r=>r.startsWith(`${oe}:`)?r:`${oe}:${r}`;var zr=(r,e)=>{let o,i=s=>[null,"limit","MARKET","STOP_MARKET","STOP_LIMIT"][s];return {symbolInfo:async s=>(o=e.getSymbolInfo(O(s)),{qty:{min:o?.baseMin??0,max:o?.baseMax??0,step:o?.baseTick??0},pipValue:0,pipSize:o?.quoteTick??0,minTick:o?.quoteTick??0,description:""}),placeOrder:async s=>{let n=["SELL","BUY"][+(s.side>0)],a=s.qty.toString();(s.limitPrice??0).toString();(s.stopPrice??0).toString();let u=O(s.symbol),m=i(s.type);m==="MARKET"?e.sendMarketOrder({side:n,order_quantity:a,symbol:u,order_type:types.OrderType.MARKET}):"LIMIT";},orders:()=>[],positions:()=>[],executions:()=>[],connectionStatus:()=>1,chartContextMenuActions:s=>r.defaultContextMenuActions(s),isTradable:async()=>true,accountManagerInfo:()=>({}),currentAccount:()=>"1",accountsMetainfo:async()=>[{id:"1"}],remove:()=>r?.silentOrdersPlacement().unsubscribe()}},ft=zr;function B(r){return r===void 0?"":typeof r=="string"?r:r.message}var se=class{constructor(e,t,o){this._datafeedUrl=e,this._requester=t,this._limitedServerResponse=o;}getBars(e,t,o){let i={symbol:e.ticker||"",resolution:t,from:o.from,to:o.to};return o.countBack!==void 0&&(i.countback=o.countBack),e.currency_code!==void 0&&(i.currencyCode=e.currency_code),e.unit_id!==void 0&&(i.unitId=e.unit_id),new Promise(async(s,n)=>{try{let a=await this._requester.sendRequest(this._datafeedUrl,"history",i),c=this._processHistoryResponse(a);this._limitedServerResponse&&await this._processTruncatedResponse(c,i),s(c);}catch(a){if(a instanceof Error||typeof a=="string"){let c=B(a);n(c);}}})}async _processTruncatedResponse(e,t){let o=e.bars.length;try{for(;this._limitedServerResponse&&this._limitedServerResponse.maxResponseLength>0&&this._limitedServerResponse.maxResponseLength===o&&t.from<t.to;){t.countback&&(t.countback=t.countback-o),this._limitedServerResponse.expectedOrder==="earliestFirst"?t.from=Math.round(e.bars[e.bars.length-1].time/1e3):t.to=Math.round(e.bars[0].time/1e3);let i=await this._requester.sendRequest(this._datafeedUrl,"history",t),s=this._processHistoryResponse(i);o=s.bars.length,this._limitedServerResponse.expectedOrder==="earliestFirst"?(s.bars[0].time===e.bars[e.bars.length-1].time&&s.bars.shift(),e.bars.push(...s.bars)):(s.bars[s.bars.length-1].time===e.bars[0].time&&s.bars.pop(),e.bars.unshift(...s.bars));}}catch(i){if(i instanceof Error||typeof i=="string"){B(i);}}}_processHistoryResponse(e){if(e.s!=="ok"&&e.s!=="no_data")throw new Error(e.errmsg);let t=[],o={noData:false};if(e.s==="no_data")o.noData=true,o.nextTime=e.nextTime;else {let i=e.v!==void 0,s=e.o!==void 0;for(let n=0;n<e.t.length;++n){let a={time:e.t[n]*1e3,close:parseFloat(e.c[n]),open:parseFloat(e.c[n]),high:parseFloat(e.c[n]),low:parseFloat(e.c[n])};s&&(a.open=parseFloat(e.o[n]),a.high=parseFloat(e.h[n]),a.low=parseFloat(e.l[n])),i&&(a.volume=parseFloat(e.v[n])),t.push(a);}}return {bars:t,meta:o}}};var ae=class{constructor(e){e&&(this._headers=e);}sendRequest(e,t,o){if(o!==void 0){let s=Object.keys(o);s.length!==0&&(t+="?"),t+=s.map(n=>`${encodeURIComponent(n)}=${encodeURIComponent(o[n].toString())}`).join("&");}""+t;let i={credentials:"same-origin"};return this._headers!==void 0&&(i.headers=this._headers),fetch(`${e}/${t}`,i).then(s=>s.text()).then(s=>JSON.parse(s))}};function f(r,e,t,o){let i=r[e];return Array.isArray(i)&&(!o||Array.isArray(i[0]))?i[t]:i}function le(r,e,t){return r+(e!==void 0?"_%|#|%_"+e:"")+(t!==void 0?"_%|#|%_"+t:"")}var ce=class{constructor(e,t,o){this._exchangesList=["Orderly"];this._symbolsInfo={};this._symbolsList=[];this._datafeedUrl=e,this._datafeedSupportedResolutions=t,this._requester=o,this._readyPromise=this._init(),this._readyPromise.catch(i=>{});}resolveSymbol(e,t,o){return this._readyPromise.then(()=>{let i=this._symbolsInfo[le(e,t,o)];return i===void 0?Promise.reject("invalid symbol"):Promise.resolve(i)})}searchSymbols(e,t,o,i){return this._readyPromise.then(()=>{let s=[],n=e.length===0;e=e.toUpperCase();for(let c of this._symbolsList){let l=this._symbolsInfo[c];if(l===void 0||o.length>0&&l.type!==o||t&&t.length>0&&l.exchange!==t)continue;let u=l.name.toUpperCase().indexOf(e),m=l.description.toUpperCase().indexOf(e);if((n||u>=0||m>=0)&&!s.some(g=>g.symbolInfo===l)){let g=u>=0?u:8e3+m;s.push({symbolInfo:l,weight:g});}}let a=s.sort((c,l)=>c.weight-l.weight).slice(0,i).map(c=>{let l=c.symbolInfo;return {symbol:l.name,full_name:`${l.exchange}:${l.name}`,description:l.description,exchange:l.exchange,params:[],type:l.type,ticker:l.name}});return Promise.resolve(a)})}_init(){let e=[],t={};for(let o of this._exchangesList)t[o]||(t[o]=true,e.push(this._requestExchangeData(o)));return Promise.all(e).then(()=>{this._symbolsList.sort();})}_requestExchangeData(e){return new Promise((t,o)=>{this._requester.sendRequest(this._datafeedUrl,"symbol_info",{group:e}).then(i=>{try{this._onExchangeDataReceived(e,i);}catch(s){o(s instanceof Error?s:new Error(`SymbolsStorage: Unexpected exception ${s}`));return}t();}).catch(i=>{`${e}${B(i)}`,t();});})}_onExchangeDataReceived(e,t){let o=0;try{let i=t.symbol.length,s=t.ticker!==void 0;for(;o<i;++o){let n=t.symbol[o],a=f(t,"exchange-listed",o),c=f(t,"exchange-traded",o),l=c+":"+n,u=f(t,"currency-code",o),m=f(t,"unit-id",o),h=s?f(t,"ticker",o):n,g={ticker:h,name:n,base_name:[a+":"+n],listed_exchange:a,exchange:c,currency_code:u,original_currency_code:f(t,"original-currency-code",o),unit_id:m,original_unit_id:f(t,"original-unit-id",o),unit_conversion_types:f(t,"unit-conversion-types",o,!0),description:f(t,"description",o),has_intraday:H(f(t,"has-intraday",o),!1),visible_plots_set:H(f(t,"visible-plots-set",o),"ohlcv"),minmov:f(t,"minmovement",o)||f(t,"minmov",o)||0,minmove2:f(t,"minmove2",o)||f(t,"minmov2",o),fractional:f(t,"fractional",o),pricescale:f(t,"pricescale",o),type:f(t,"type",o),session:f(t,"session-regular",o),session_holidays:f(t,"session-holidays",o),corrections:f(t,"corrections",o),timezone:f(t,"timezone",o),supported_resolutions:H(f(t,"supported-resolutions",o,!0),this._datafeedSupportedResolutions),has_daily:H(f(t,"has-daily",o),!0),intraday_multipliers:H(f(t,"intraday-multipliers",o,!0),["1","5","15","30","60"]),has_weekly_and_monthly:f(t,"has-weekly-and-monthly",o),has_empty_bars:f(t,"has-empty-bars",o),volume_precision:H(f(t,"volume-precision",o),0),format:"price"};this._symbolsInfo[h]=g,this._symbolsInfo[n]=g,this._symbolsInfo[l]=g,(u!==void 0||m!==void 0)&&(this._symbolsInfo[le(h,u,m)]=g,this._symbolsInfo[le(n,u,m)]=g,this._symbolsInfo[le(l,u,m)]=g),this._symbolsList.push(n);}}catch(i){throw new Error(`SymbolsStorage: API error when processing exchange ${e} symbol #${o} (${t.symbol[o]}): ${Object(i).message}`)}}};function H(r,e){return r!==void 0?r:e}var ue=class{constructor(e){this._configuration=bt();this._symbolsStorage=null;this._datafeedURL=e,this._requester=new ae,this._historyProvider=new se(e,this._requester),this._configurationReadyPromise=this._requestConfiguration().then(t=>{t===null&&(t=bt()),this._setupWithConfiguration(t);});}getBars(e,t,o,i,s){this._historyProvider.getBars(e,t,o).then(n=>{i(n.bars,n.meta);}).catch(s);}onReady(e){this._configurationReadyPromise.then(()=>{e(this._configuration);});}searchSymbols(e,t,o,i){if(this._symbolsStorage===null)throw new Error("Datafeed: inconsistent configuration (symbols storage)");this._symbolsStorage.searchSymbols(e,t,o,30).then(i).catch(i.bind(null,[]));}resolveSymbol(e,t,o,i){let s=i&&i.currencyCode,n=i&&i.unitId;function c(l){t(l);}if(this._symbolsStorage===null)throw new Error("Datafeed: inconsistent configuration (symbols storage)");this._symbolsStorage.resolveSymbol(e,s,n).then(c).catch(o);}getMarks(){}getTimescaleMarks(){}getServerTime(){}_requestConfiguration(){return this._send("config").catch(e=>(`${B(e)}`,null))}_send(e,t){return this._requester.sendRequest(this._datafeedURL,e,t)}_setupWithConfiguration(e){if(this._configuration=e,e.exchanges===void 0&&(e.exchanges=[]),!e.supports_search&&!e.supports_group_request)throw new Error("Unsupported datafeed configuration. Must either support search, or support group request");(e.supports_group_request||!e.supports_search)&&(this._symbolsStorage=new ce(this._datafeedURL,e.supported_resolutions||[],this._requester)),`${JSON.stringify(e)}`;}};function bt(){return {supports_search:false,supports_group_request:true,supported_resolutions:["1","3","5","15","30","60","120","240","480","720","1D","3D","1W","1M"],supports_marks:false,supports_timescale_marks:false}}var de=class{constructor(){this.subscribers=new Map;}subscribe(e,t){return this.subscribers.has(e)||this.subscribers.set(e,[]),this.subscribers.get(e).push(t),()=>{this.unsubscribe(e,t);}}unsubscribe(e,t){if(this.subscribers.has(e)){let o=this.subscribers.get(e);this.subscribers.set(e,o.filter(i=>i!==t)),this.subscribers.get(e).length===0&&this.subscribers.delete(e);}}publish(e,t){this.subscribers.has(e)&&this.subscribers.get(e).forEach(i=>{i(t);});}};var Ee=r=>{let e="1d";switch(r){case "1":e="1m";break;case "3":e="3m";break;case "5":e="5m";break;case "15":e="15m";break;case "30":e="30m";break;case "60":e="1h";break;case "120":e="2h";break;case "240":e="4h";break;case "480":e="8h";break;case "720":e="12h";break;case "D":case "1D":e="1d";break;case "3D":e="3d";break;case "1W":e="1w";break;case "1M":e="1M ";break;}return e},V={interval:"TradingviewSDK.lastUsedTimeBasedResolution",lineType:"TradingviewSDK.lastUsedStyle",displayControlSetting:"TradingviewSDK.displaySetting"};var ke=(r,e)=>`${r}kline_${e}`,jr=r=>["trade"].map(t=>`${r}@${t}`),R=class R{constructor(e){this.klineSubscribeIdMap=new Map;this.klineOnTickCallback=new Map;this.subscribeCachedTopics=new Map;this.wsInstance=null;this.klineData=new Map;return R._created||(this.wsInstance=e,R._instance=this,R._created=true),R._instance}subscribeKline(e,t,o,i){let s=Ee(o);this.klineSubscribeIdMap.set(e,{symbol:t,resolution:o});let n=ke(t,s);if(this.klineOnTickCallback.has(n)){let a=this.klineOnTickCallback.get(n);a[e]=i;}else {this.klineOnTickCallback.set(n,{[e]:i});let a=this.wsInstance?.subscribe({event:"subscribe",topic:`${t}@kline_${s}`,id:`${t}@kline_${s}`,ts:new Date().getTime()},{onMessage:c=>{let{open:l,close:u,high:m,low:h,volume:g,startTime:b}=c,q=ke(c.symbol,c.type);this.updateKline(q,{time:b,close:u,open:l,high:m,low:h,volume:g});}});this.subscribeCachedTopics.set(`${t}@kline_${s}`,a);}}unsubscribeKline(e){if(!this.klineSubscribeIdMap.has(e))return;let{symbol:t,resolution:o}=this.klineSubscribeIdMap.get(e),i=Ee(o),s=ke(t,i);if(this.klineOnTickCallback.has(s)){let n=this.klineOnTickCallback.get(s);delete n[e],Object.keys(n).length===0&&(this.klineOnTickCallback.delete(s),this.subscribeCachedTopics.get(`${t}@kline_${i}`)());}delete this.klineSubscribeIdMap[e];}subscribeSymbol(e){jr(e).forEach(o=>{if(!this.subscribeCachedTopics.has(o)){let i=this.wsInstance?.subscribe({event:"subscribe",topic:o,id:o,ts:new Date().getTime()},{onMessage:s=>{this.updateKlineByLastPrice(s.symbol,s.price);}});this.subscribeCachedTopics.set(o,i);}});}updateKlineByLastPrice(e,t){this.klineOnTickCallback.forEach((o,i)=>{if(i.startsWith(e)){let s=this.klineData.get(i);s&&this.updateKline(i,{...s,close:t});}});}updateKline(e,t){let o=this.klineOnTickCallback.get(e);o&&t&&(this.klineData.set(e,t),Object.keys(o).forEach(i=>{let s=o[i];s&&typeof s=="function"&&s(t);}));}};R._created=false,R._instance=null;var U=R;var Yr=(()=>{let r=0;return ()=>r++})(),pe=class extends ue{constructor(t,o){let i=`${t}/tv`;super(i);this.bbosMap=new Map;this.tickersMap=new Map;this.eventBus=new de;this._subscribeQuoteMap=new Map,this._prefixId=Yr(),this._publicWs=new U(o),this.bbosMap=new Map,o.on("tickers",s=>{for(let n of s.data)n.change=n.close-n.open,n.perChange=n.open?+(100*n.change/n.open).toFixed(2):0,this.tickersMap.set(n.symbol,n);this.eventBus.publish("tickerUpdate",{message:"ticker"});}),o.subscribe({event:"subscribe",topic:"bbos"},{formatter:s=>s,onMessage:s=>{for(let n of s.data)this.bbosMap.set(n.symbol,{ask:n.ask,bid:n.bid,askSize:n.askSize,bidSize:n.bidSize});this.eventBus.publish("tickerUpdate",{message:"bbos"});}});}remove(){Array.from(this._subscribeQuoteMap.values()).forEach(t=>t?.());}getSubscriptionId(t){return `${this._prefixId}${t}`}subscribeBars(t,o,i,s,n){window.onResetCacheNeededCallback=n,this._publicWs.subscribeKline(`${this._prefixId}${s}`,t.ticker,o,i);}unsubscribeBars(t){this._publicWs.unsubscribeKline(`${this._prefixId}${t}`);}getQuotes(t,o){let i=this.getSubscriptionId("getQuotes");this.unsubscribeQuotes("getQuotes");let s=this.eventBus.subscribe("tickerUpdate",n=>{let a=new Map;t.forEach(c=>{let l=this.bbosMap.get(O(c)),u=this.tickersMap.get(O(c));if(!l||!u)return;let m={...u,ask:l.ask,bid:l.bid};a.set(O(c),m);}),a.size&&o(Array.from(a.values()).map(c=>this._toUDFTicker(c)));});this._subscribeQuoteMap.set(i,s);}subscribeQuotes(t,o,i,s){let n=`${this._prefixId}${s}`;if(t.length>0){this.unsubscribeQuotes(n);let a=this.eventBus.subscribe("tickerUpdate",c=>{let l=new Map;t.forEach(u=>{let m=this.bbosMap.get(O(u)),h=this.tickersMap.get(O(u));if(!m||!h)return;let g={...h,ask:m.ask,bid:m.bid};l.set(O(u),g);}),l.size&&i(Array.from(l.values()).map(u=>this._toUDFTicker(u)));});this._subscribeQuoteMap.set(n,a);}}unsubscribeQuotes(t){let o=this.getSubscriptionId(t),i=this._subscribeQuoteMap.get(o);i&&(i(),this._subscribeQuoteMap.delete(o));}_toUDFTicker(t){return {n:ie(t.symbol),s:"ok",v:{ask:t.ask,bid:t.bid,ch:t.change,chp:t.perChange/100,description:"",exchange:oe,hight_price:t.high,low_price:t.low,lp:t.close,open_price:t.open,prev_close_price:0,volume:t.volume}}}};var Xr=2,eo="--",De=["BRACKET","STOP_BRACKET"],me=["POSITIONAL_TP_SL","TP_SL"];var Ae=r=>r.root_algo_order_id!==r.algo_order_id&&(r.algo_type==="TAKE_PROFIT"||r.algo_type==="STOP_LOSS"),to=r=>!!r&&De.includes(r);var Be=r=>r.type==="CLOSE_POSITION",_t=r=>Be(r)&&r.is_activated,vt=r=>Ae(r)&&r.is_activated,Ve=r=>r.root_algo_order_algo_type==="TP_SL"||to(r.root_algo_order_algo_type)&&r.is_activated,St=(r,e)=>{let t=r.algo_type,o={TAKE_PROFIT:i18n.i18n.t("tpsl.takeProfit"),STOP_LOSS:i18n.i18n.t("tpsl.stopLoss")}[t];return o||null},It=r=>{let e=new Map,t=1;return [...r].reverse().filter(Ve).forEach(o=>{o.root_algo_order_id&&!e.has(o.root_algo_order_id)&&e.set(o.root_algo_order_id,t++);}),e},Tt=(r,e)=>{let t=Math.abs(r.type==="CLOSE_POSITION"?e.balance:r.quantity),o=r.side==="SELL"?1:-1,i=e.open.toString();return {estPnl:new utils.Decimal(r.trigger_price).minus(i??0).times(t).times(o).toString(),quantity:t,openPrice:i}},Ot=r=>r!==void 0&&r!==""?new utils.Decimal(r).todp(Xr,utils.Decimal.ROUND_FLOOR):eo;function Ne(){let[r,{cancelOrder:e,cancelAlgoOrder:t,cancelTPSLChildOrder:o}]=hooks.useOrderStream({status:types.OrderStatus.INCOMPLETE});return ui.useCallback(i=>{if(i.algo_order_id){if(me.includes(i.root_algo_order_algo_type)){let s=r?.find(a=>a.algo_order_id===i.root_algo_order_id);return s.child_orders.every(a=>!!a.trigger_price)?o(i.algo_order_id,i.root_algo_order_id):t(s.algo_order_id,i.symbol).then()}return t(i.algo_order_id,i.symbol).then()}return e(i.order_id,i.symbol).then()},[e,r])}function He(r){hooks.useEventEmitter();let [,{updateOrder:t,cancelAlgoOrder:o,updateAlgoOrder:i,updateTPSLOrder:s}]=hooks.useOrderStream({status:types.OrderStatus.INCOMPLETE});return ui.useCallback((n,a)=>{if(n.algo_order_id)if(me.includes(n.root_algo_order_algo_type)){let l=[{order_id:n.algo_order_id,trigger_price:new utils.Decimal(a.value).toString()}];return s(n.root_algo_order_id,l).then(u=>{}).catch(u=>{r&&r.error(u.message);})}else {if(De.includes(n.algo_type))return i(n.algo_order_id,{order_price:new utils.Decimal(a.value).toString()}).then(l=>{}).catch(l=>{r&&r.error(l.message);});{let l={quantity:n.quantity,trigger_price:n.trigger_price,symbol:n.symbol,price:n.price,algo_order_id:n.algo_order_id};return n.order_tag&&(l.order_tag=n.order_tag),a.type==="price"&&(l.price=new utils.Decimal(a.value).toString()),a.type==="trigger_price"&&(l.trigger_price=new utils.Decimal(a.value).toString()),i(n.algo_order_id,l).then(u=>{}).catch(u=>{r&&r.error(u.message);})}}let c={order_price:n.price?.toString(),order_quantity:n.quantity.toString(),symbol:n.symbol,order_type:n.type,side:n.side,visible_quantity:0,reduce_only:n.reduce_only};return new utils.Decimal(n.visible_quantity??n.visible??0).eq(n.quantity)&&delete c.visible_quantity,Object.keys(n).includes("reduce_only")||delete c.reduce_only,n.order_tag&&(c.order_tag=n.order_tag),a.type==="price"&&(c.order_price=new utils.Decimal(a.value).toString()),t(n.order_id,c).then(l=>{}).catch(l=>{r.error(l.message);})},[t])}function Ue(r){let {onSubmit:e}=hooks.useOrderEntry_deprecated({symbol:r,side:types.OrderSide.BUY,order_type:types.OrderType.MARKET},{watchOrderbook:true});return {sendLimitOrder:()=>{},sendMarketOrder:s=>(s.reduce_only=false,e(s).catch(n=>{ui$1.toast.error(n);}))}}var ho=r=>e=>r(e),bo=({closeConfirm:r,colorConfig:e,onToast:t,mode:o,symbol:i})=>{let s=Ne(),n=He(t),a=hooks.useSymbolsInfo(),c=ui.useCallback(g=>r&&r(g),[r]),{sendMarketOrder:l,sendLimitOrder:u}=Ue(i),m=ui.useCallback(g=>{if(a)return {baseMin:a[g]("base_min"),baseMax:a[g]("base_max"),baseTick:a[g]("base_tick"),quoteTick:a[g]("quote_tick")}},[a]),h=ui.useRef({cancelOrder:s,closePosition:c,editOrder:n,colorConfig:e,sendLimitOrder:u,getSymbolInfo:m,sendMarketOrder:ho(l),mode:o});return ui.useEffect(()=>{h.current.getSymbolInfo=m;},[a]),ui.useEffect(()=>{h.current.sendLimitOrder=u,h.current.sendMarketOrder=l;},[u,l]),ui.useEffect(()=>{h.current.closePosition=c;},[r]),ui.useEffect(()=>{h.current.cancelOrder=s;},[s]),h.current},Lt=bo;var fe=class r{constructor(e,t){this.instance=e,this.currentSymbol="",this.broker=t,this.positionLines={},this.lastPositions=null;}renderPositions(e){if(e===null||e.length===0){this.removePositions();return}this.lastPositions?.length!==e.length&&this.removePositions(),e[0].symbol!==this.currentSymbol&&(this.removePositions(),this.currentSymbol=e[0].symbol),e.forEach((t,o)=>this.drawPositionLine(t,o)),this.lastPositions=e;}getBasePositionLine(){return this.instance.activeChart().createPositionLine().setTooltip(i18n.i18n.t("positions.closePosition")).setQuantityBackgroundColor(this.broker.colorConfig.chartBG).setCloseButtonBackgroundColor(this.broker.colorConfig.chartBG).setBodyTextColor(this.broker.colorConfig.textColor).setQuantityTextColor(this.broker.colorConfig.qtyTextColor).setBodyFont(this.broker.colorConfig.font).setQuantityFont(this.broker.colorConfig.font).setLineLength(100).setLineStyle(1)}static getPositionQuantity(e){return utils.commify(new utils.Decimal(e).todp(4,utils.Decimal.ROUND_DOWN).toString())}static getPositionPnL(e,t){let o=i18n.i18n.t("tpsl.pnl"),i=new utils.Decimal(e).toFixed(t,utils.Decimal.ROUND_DOWN);return new utils.Decimal(e).eq(0)?`${o} 0`:new utils.Decimal(e).greaterThan(0)?`${o} +${utils.commify(i)}`:`${o} ${utils.commify(i)}`}removePositions(){Object.keys(this.positionLines).forEach(e=>{this.positionLines[Number(e)].remove(),delete this.positionLines[Number(e)];});}drawPositionLine(e,t){let o=this.broker.colorConfig,i=e.unrealPnl>=0,s=e.balance>=0,n=o.pnlZoreColor,a=new utils.Decimal(e.unrealPnl);a.greaterThan(0)?n=o.upColor:a.lessThan(0)&&(n=o.downColor);i?o.pnlUpColor:o.pnlDownColor;let l=s?o.upColor:o.downColor,u=new utils.Decimal(e.open).toNumber();this.positionLines[t]=this.positionLines[t]??this.getBasePositionLine(),this.positionLines[t].setQuantity(r.getPositionQuantity(e.balance)).setPrice(u).setCloseButtonIconColor(o.closeIcon).setCloseButtonBorderColor(l).setBodyBackgroundColor(n).setQuantityTextColor(l).setBodyBorderColor(n).setLineColor(l).setQuantityBorderColor(l).setText(r.getPositionPnL(e.unrealPnl,e.unrealPnlDecimal)),this.broker.mode!==3&&this.positionLines[t].onClose(null,()=>{this.broker.closePosition(e);});}};var Z=r=>{if(r!=null)return r.algo_order_id||r.order_id};var he=class{constructor(){this.quantityTpslNoMap=new Map,this.tpslPnlMap=new Map,this.positions=null;}getQuantityTpslNoMap(){return this.quantityTpslNoMap}getTpslPnlMap(){return this.tpslPnlMap}getFormattedEstPnl(e){if(this.positions===null)return "";let t=this.positions[0];if(!t)return "";let{estPnl:o}=Tt(e,t);return Ot(o)}prepareTpslPnlMap(e){let t=[];return e.forEach(o=>{let i=Z(o);if(i&&vt(o)){let s=this.tpslPnlMap.get(i),n=this.getFormattedEstPnl(o);s!==n&&(t.push(i),this.tpslPnlMap.set(i,n));}}),t}prepareQuantityTpslNoMap(e){this.quantityTpslNoMap=It(e);}recalculatePnl(e,t){return this.positions=e,this.prepareTpslPnlMap(t)}clear(){this.positions=null,this.quantityTpslNoMap.clear(),this.tpslPnlMap.clear();}};var L=class L{constructor(e,t){this.instance=e,this.pendingOrderLineMap=new Map,this.pendingOrders=[],this.broker=t,this.tpslCalService=new he;}renderPendingOrders(e){e&&(this.pendingOrders=e),this.cleanOldPendingOrders(this.pendingOrders),this.tpslCalService.prepareTpslPnlMap(this.pendingOrders),this.tpslCalService.prepareQuantityTpslNoMap(this.pendingOrders),this.pendingOrders.forEach(t=>this.renderPendingOrder(t));}updatePositions(e){let t=this.tpslCalService.recalculatePnl(e,this.pendingOrders);this.pendingOrders.filter(o=>t.includes(Z(o))).forEach(o=>this.renderPendingOrder(o));}renderPendingOrder(e){let t=L.getOrderId(e);if(!t)return;let o=this.drawOrderLine(t,e);o&&this.pendingOrderLineMap.set(t,o);}cleanOldPendingOrders(e){let t=new Set(e.map(o=>L.getOrderId(o)));this.pendingOrderLineMap.forEach((o,i)=>!t.has(i)&&this.removePendingOrder(i));}removePendingOrder(e){if(e===void 0)return;let t=this.pendingOrderLineMap.get(e);t&&(this.pendingOrderLineMap.delete(e),t.remove());}getBaseOrderLine(){let e=this.broker.colorConfig;return this.instance.activeChart().createOrderLine().setCancelTooltip(i18n.i18n.t("orders.cancelOrder")).setQuantityTextColor(e.qtyTextColor).setQuantityBackgroundColor(e.chartBG).setBodyBackgroundColor(e.chartBG).setCancelButtonBackgroundColor(e.chartBG).setLineStyle(1).setBodyFont(e.font).setQuantityFont(e.font)}static getCombinationType(e){let{algo_type:t,type:o}=e;if((t==="STOP_LOSS"||t==="TAKE_PROFIT"||t==="STOP")&&o==="LIMIT")return "STOP_LIMIT";if((t==="STOP_LOSS"||t==="TAKE_PROFIT"||t==="STOP")&&o==="MARKET")return "STOP_MARKET";if(t==="BRACKET"){if(o==="LIMIT")return "BRACKET_LIMIT";if(o==="MARKET")return "BRACKET_MARKET"}return "LIMIT"}static getText(e){let t=L.getCombinationType(e);return t==="STOP_LIMIT"||t==="STOP_MARKET"||t==="STOP_BRACKET_LIMIT"||t==="STOP_BRACKET_MARKET"?e.type==="LIMIT"?`${i18n.i18n.t("orderEntry.orderType.stopLimit")} ${utils.commify(e.price)}`:i18n.i18n.t("orderEntry.orderType.stopMarket"):i18n.i18n.t("orderEntry.orderType.limit")}static getOrderPrice(e){return e.trigger_price||e.price}getTPSLTextWithTpsl(e,t){return Z(t),e}getTPSLText(e){let t=St(e,this.tpslCalService.getQuantityTpslNoMap());return t?this.getTPSLTextWithTpsl(t,e):null}getOrderQuantity(e){if(e.algo_order_id){if(_t(e)||Be(e))return "100%";if(Ve(e)){let o=new utils.Decimal(e.quantity).minus(e.executed??0).div(new utils.Decimal(e.position_qty)).mul(100).todp(2).toNumber();return `${Math.min(Math.abs(o),100).toString()}%`}}return utils.commify(new utils.Decimal(e.quantity).toString())}drawOrderLine(e,t){let o=Ae(t)?this.getTPSLText(t):L.getText(t);if(o===null)return null;let i=this.broker.colorConfig,s=this.pendingOrderLineMap.get(e)??this.getBaseOrderLine(),n=t.side==="BUY"?i.upColor:i.downColor;t.side==="BUY"?i.pnlUpColor:i.pnlDownColor;let c=L.getOrderPrice(t),l=100,u=this.getOrderQuantity(t),m=i.textColor;return s.setText(o).setCancelButtonIconColor(i.closeIcon).setCancelButtonBorderColor(n).setBodyTextColor(m).setBodyBorderColor(n).setQuantityBorderColor(n).setQuantityTextColor(n).setLineColor(n).setLineLength(l).setQuantity(u??"").setPrice(c),this.broker.mode!==3?(s.onCancel(null,()=>this.broker.cancelOrder(t)),this.applyEditOnMove(s,t)):s.setEditable(false).setCancellable(false),s}static getOrderEditKey(e){let t=this.getCombinationType(e);if(["LIMIT","BRACKET_LIMIT"].includes(t))return "price";if(t==="STOP_LIMIT"||t==="STOP_MARKET"||e.rootAlgoOrderAlgoType==="POSITIONAL_TP_SL"||e.rootAlgoOrderAlgoType==="TP_SL"||e.rootAlgoOrderAlgoType==="BRACKET"||e.rootAlgoOrderAlgoType==="STOP_BRACKET")return "trigger_price"}applyEditOnMove(e,t){let o=L.getOrderEditKey(t);e.onMove(()=>{this.broker.editOrder(t,{type:o,value:`${e.getPrice()}`}).then(i=>{i.success||this.renderPendingOrder(t);}).catch(()=>this.renderPendingOrder(t));});}removeAll(){this.pendingOrderLineMap.forEach(e=>e.remove()),this.pendingOrderLineMap.clear(),this.pendingOrders=[],this.tpslCalService.clear();}};L.getOrderId=e=>{if(e!=null)return e.algo_order_id||e.order_id};var ye=L;var Mt={1:{startOf:"minute",period:0},3:{startOf:"hour",period:3*60*1e3},5:{startOf:"hour",period:5*60*1e3},15:{startOf:"hour",period:15*60*1e3},30:{startOf:"hour",period:30*60*1e3},60:{startOf:"hour",period:0},120:{startOf:"day",period:2*60*60*1e3},240:{startOf:"day",period:4*60*60*1e3},480:{startOf:"day",period:8*60*60*1e3},720:{startOf:"day",period:12*60*60*1e3},D:{startOf:"day",period:0},"1D":{startOf:"day",period:0},"3D":{startOf:"year",period:3*24*60*60*1e3},"5D":{startOf:"year",period:5*24*60*60*1e3},"1W":{startOf:"week",period:0},"1M":{startOf:"month",period:0}};function kt(r,e,t,o){let{startOf:i,period:s}=Mt[t],n=new Date(r.updated_time).getTime(),a=dateFns.startOfSecond(n).getTime();i==="minute"?a=dateFns.startOfMinute(n).getTime():i==="hour"?a=dateFns.startOfHour(n).getTime():i==="day"?a=dateFns.startOfDay(n).getTime():i==="month"?a=dateFns.startOfMonth(n).getTime():i==="year"?a=dateFns.startOfYear(n).getTime():i==="week"?a=dateFns.startOfWeek(n).getTime():i==="month"&&(a=dateFns.startOfMonth(n).getTime());let c=s===0?a:Math.floor((n-a)/s)*s+a;e[c]||(e[c]={BUY:[],SELL:[]}),e[c][r.side].length<5&&(e[c][r.side].push(r),o.push(r));}var Dt=(r,e)=>{let t=[],o={};return Mt[e]?(r.forEach(i=>{if(i.child_orders)for(let s of i.child_orders)s.is_activated&&s.algo_status===types.OrderStatus.FILLED&&kt(s,o,e,t);else kt(i,o,e,t);}),t):[]};var Ce=class r{constructor(e,t){this.interval="1D";this.changeInterval=e=>{let t=()=>{this.renderExecutions(this.filledOrders,this.basePriceDecimal),this.instance.activeChart().onDataLoaded().unsubscribe(null,t);};this.interval=e,this.instance.activeChart().onDataLoaded().subscribe(null,t);};this.instance=e,this.executions=[],this.filledOrders=[],this.basePriceDecimal=0,this.broker=t,this.subscribeIntervalChange();}async subscribeIntervalChange(){this.interval=this.instance.symbolInterval().interval;let e=this.changeInterval;this.instance.activeChart().onIntervalChanged().subscribe(null,e);}renderExecutions(e,t){this.filledOrders=e,this.basePriceDecimal=t,this.interval&&(this.removeAll(),Dt(e,this.interval).forEach(o=>{this.executions.push(this.drawExecution(o,t));}));}removeAll(){this.executions.forEach(e=>e.remove()),this.executions=[];}static getExecutionInfo(e,t){let o=e.side,i=e.average_executed_price||e.child_orders?.find(n=>!!n.average_executed_price)?.average_executed_price||0,s=new utils.Decimal(i).todp(t,utils.Decimal.ROUND_FLOOR).toString();return `${o==="BUY"?i18n.i18n.t("common.buy"):i18n.i18n.t("common.sell")} ${e.total_executed_quantity} @${utils.commify(s)}`}drawExecution(e,t){let o=e.side,i=e.average_executed_price||e.child_orders?.find(a=>!!a.average_executed_price)?.average_executed_price||0,s=new Date(e.updated_time).getTime()/1e3,n=this.broker.colorConfig;return this.instance.activeChart().createExecutionShape().setArrowHeight(9).setTooltip(r.getExecutionInfo(e,t)).setTime(s).setPrice(i).setArrowColor(o==="BUY"?n.upColor:n.downColor).setDirection(o==="BUY"?"buy":"sell")}unsubscribeIntervalChange(){let e=this.changeInterval;try{this.instance.activeChart().onIntervalChanged().unsubscribe(null,e);}catch(t){t instanceof Error&&t.message;}}destroy(){this.removeAll(),this.unsubscribeIntervalChange();}};var _e=class{constructor(e,t,o){this.instance=e,this.positionLineService=new fe(e,o),this.orderLineService=new ye(e,o),this.executionService=new Ce(e,o);}async renderPositions(e){await this.chartReady(),await this.onDataLoaded(),this.positionLineService.renderPositions(e),this.orderLineService.updatePositions(e);}async renderPendingOrders(e){await this.chartReady(),this.orderLineService.renderPendingOrders(e);}async renderFilledOrders(e,t){await this.chartReady(),await this.onDataLoaded(),this.executionService.renderExecutions(e,t);}remove(){this.orderLineService.removeAll(),this.positionLineService.removePositions(),this.executionService.destroy();}onDataLoaded(){return this.instance.activeChart().symbolExt()?Promise.resolve():new Promise(e=>this.instance.activeChart().onDataLoaded().subscribe(null,()=>{e();},true))}chartReady(){return new Promise(e=>this.instance.onChartReady(()=>{try{this.instance.activeChart().dataReady(()=>e());}catch(t){t.toString().includes("tradingViewApi");}}))}};function Ge(r,e){let[t,o]=ui.useState(),i=ui.useRef(),{state:s}=hooks.useAccount(),[n]=hooks.useLocalStorage("unPnlPriceBasis","markPrice"),[{rows:a},c]=hooks.usePositionStream(r,{calcMode:n}),[l]=hooks.useOrderStream({status:types.OrderStatus.INCOMPLETE,symbol:r}),m=hooks.useSymbolsInfo()?.[r],h=m("quote_dp"),[g]=hooks.useOrderStream({symbol:r,status:types.OrderStatus.FILLED,size:500}),b=ui.useRef((I,v,M)=>{i.current&&i.current.remove(),i.current=new _e(I,v,M),o(i.current);}),q=ui.useRef(()=>{i.current?.remove(),i.current=void 0;});return ui.useEffect(()=>{if(s.status<types.AccountStatusEnum.EnableTrading&&s.status!==types.AccountStatusEnum.EnableTradingWithoutConnected){t?.renderPositions([]);return}if(!e||!e.position){t?.renderPositions([]);return}let I=(a??[]).filter(v=>v.symbol===r).map(v=>({symbol:v.symbol,open:v.average_open_price,balance:v.position_qty,closablePosition:9999,unrealPnl:v.unrealized_pnl??0,interest:0,unrealPnlDecimal:2,basePriceDecimal:4}));t?.renderPositions(I);},[t,a,r,e,s]),ui.useEffect(()=>{if(!e||!e.buySell){t?.renderFilledOrders([],6);return}let I=g?.filter(v=>v.symbol===r);t?.renderFilledOrders(I??[],h??6);},[t,g,r,h,e]),ui.useEffect(()=>{let I=[],v=[],M=[],W=[],D=[];if(s.status<types.AccountStatusEnum.EnableTrading&&s.status!==types.AccountStatusEnum.EnableTradingWithoutConnected){t?.renderPendingOrders([]);return}let G=(a??[]).find(C=>C.symbol===r);l?.forEach(C=>{if(r===C.symbol){if(!C.algo_order_id)M.push(C);else if(C.algo_order_id)if(C.algo_type==="POSITIONAL_TP_SL")for(let T of C.child_orders)T.root_algo_order_algo_type=C.algo_type,T.trigger_price&&T.status!==types.OrderStatus.FILLED&&v.push(T);else if(C.algo_type==="TP_SL"){if(G)for(let T of C.child_orders)T.root_algo_order_algo_type=C.algo_type,T.position_qty=G.position_qty,T.trigger_price&&T.status!==types.OrderStatus.FILLED&&I.push(T);}else C.algo_type==="STOP_LOSS"||C.algo_type==="TAKE_PROFIT"?W.push(C):C.algo_type==="BRACKET"&&D.push(C);}}),e&&(e.positionTpsl||(v=[]),e.tpsl||(I=[]),e.limitOrders||(M=[],D=[]),e.stopOrders||(W=[])),t?.renderPendingOrders(I.concat(v).concat(M).concat(W).concat(D));},[t,l,r,e,a,s.status]),[b.current,q.current]}function Eo(r){r.setBrokerConnectionAdapter=function(e){let t={subscribe:()=>{},unsubscribe:()=>{},unsubscribeAll:()=>{}};Object.defineProperty(e,"_ordersCache",{get:function(){return {start:()=>{},stop:()=>{},update:()=>{},partialUpdate:()=>{},fullUpdate:()=>{},getObjects:async()=>[],updateDelegate:t,partialUpdateDelegate:t}},set:()=>{}}),e._waitForOrderModification=async()=>true,this._adapter=e;};}function ko(r,e){r.onChartReady(()=>{e.silentOrdersPlacement().subscribe(t=>{t||(e.silentOrdersPlacement().setValue(true),r&&(r._iFrame.contentDocument.querySelector(".wrapper-3X2QgaDd").className="wrapper-3X2QgaDd highButtons-3X2QgaDd"),e.sellBuyButtonsVisibility()?.setValue(false));});});}function Qe(r,e){Eo(e),ko(r,e);}var Nt=(r,e)=>new Promise(t=>{let o=r.querySelector(e);o&&t(o);let i=new MutationObserver(()=>{let s=r.querySelector(e);s&&(t(s),i.disconnect());});i.observe(r,{childList:true,subtree:true});});var Ie=class{constructor({iframeDocument:e}){this.iframeDocument=e;}defaultHack(){this.showFavoriteStarByDefault();}showFavoriteStarByDefault(){Nt(this.iframeDocument,".dropdown-2R6OKuTS").then(()=>{this.iframeDocument.querySelectorAll(".toolbox-2IihgTnv.showOnHover-2IihgTnv").forEach(t=>{t.style.opacity="1";});});}};var Mo=r=>{let e=["header_symbol_search","volume_force_overlay","trading_account_manager","drawing_templates","open_account_manager","right_toolbar","support_multicharts","header_layouttoggle","order_panel","order_info","trading_notifications","display_market_status","broker_button","add_to_watchlist","chart_crosshair_menu","header_fullscreen_button","header_widget"];return r===3&&(e=[...e,"left_toolbar","timeframes_toolbar","go_to_date","timezone_menu","create_volume_indicator_by_default","buy_sell_buttons"]),r===0?e=[...e,"header_widget","left_toolbar","timeframes_toolbar","buy_sell_buttons"]:r===1&&(e=[...e,"left_toolbar","timeframes_toolbar","buy_sell_buttons"]),e};function $e(r,e){return {...r,disabled_features:Mo(e),enabled_features:["hide_left_toolbar_by_default","order_panel_close_button","iframe_loading_compatibility_mode"],auto_save_delay:.1,broker_config:{configFlags:{supportStopLimitOrders:true,supportReversePosition:false}}}}var Ze=r=>`${r}_adapter`,Te={"trading.chart.proterty":JSON.stringify({showSellBuyButtons:0,noConfirmEnabled:1,qweqrq:0,showPricesWithZeroVolume:1,showSpread:1,orderExecutedSoundParams:'{"enabled":0,"name":"alert/alarm_clock"}'}),"hint.startFocusedZoom":"true"},E=new Map;var Do=(r,e,t)=>{let o=Ze(r);try{let i=e,s=i?JSON.parse(i):void 0,n=t?JSON.parse(t):Te;return i&&E.set(r,i),t&&E.set(o,t),{savedData:s,adapterSetting:n}}catch{}return {savedData:void 0,adapterSetting:Te}},Ht=async(r,e)=>{let t=Ze(r),o=localStorage.getItem(r)||"",i=localStorage.getItem(t)||"";try{if(E.has(r)&&E.has(t))return {savedData:JSON.parse(E.get(r)),adapterSetting:JSON.parse(E.get(t))}}catch{}return Do(r,o,i)},Ut=async(r,e,t)=>{e&&(localStorage.setItem(r,e),E.set(r,e));},Ft=async(r,e,t)=>{let o=Ze(r);e&&(localStorage.setItem(o,e),E.set(o,e));};var Kt=(r,e)=>{let t=null,o=(...i)=>{t&&window.clearTimeout(t),t=setTimeout(()=>{r(...i);},e);};return o.cancel=()=>{t&&window.clearTimeout(t),t=null;},o},Ao="chartProp_default",qt=300,Oe=class{constructor(e){this._instance=null;this._onClick=null;this._datafeed=null;this._chartKey=Ao;this._adapterSetting=Te;this._savedData=null;this._isLoggedIn=false;this.debounceSaveChart=Kt(()=>{try{this._instance?.save(e=>{Object.is(this._savedData,e)||(this._savedData=e,Ut(this._chartKey,JSON.stringify(e),this._isLoggedIn));});}catch{}},qt*2);this.debounceSaveChartAdapterSetting=Kt(()=>{Ft(this._chartKey,JSON.stringify(this._adapterSetting),this._isLoggedIn);},qt);this._create(e);}remove(){this.unsubscribeClick(),this._datafeed?.remove(),this._broker?.remove(),this._instance?.remove(),this.debounceSaveChart.cancel(),this.debounceSaveChartAdapterSetting.cancel();}updateOverrides(e){this.instance&&this.instance.applyOverrides(e);}setSymbol(e,t,o){try{this._instance?.onChartReady(()=>{let i=t??this._instance?.symbolInterval()?.interval;i||(i=1),this._instance?.setSymbol(e,i,o);});}catch{}}executeActionById(e){try{this._instance?.onChartReady(()=>{this._instance?.activeChart().executeActionById(e);});}catch{}}changeLineType(e){try{this._instance?.onChartReady(()=>{this._instance?.activeChart().setChartType(e);});}catch{}}subscribeClick(e){this._onClick=e,this._instance?.onChartReady(()=>{this._instance?._iFrame.contentDocument?.addEventListener("click",this._onClick);});}unsubscribeClick(){this._instance?._iFrame.contentDocument?.removeEventListener("click",this._onClick);}get instance(){return this._instance}chartHack(){this._instance?.onChartReady(()=>{let e=this._instance._iFrame.contentWindow.document;new Ie({iframeDocument:e}).defaultHack();});}subscribeAutoSave(){this._instance?.onChartReady(()=>{this._instance?.subscribe("onAutoSaveNeeded",()=>{this.debounceSaveChart();}),this._instance?.activeChart().onVisibleRangeChanged().subscribe(null,()=>{this.debounceSaveChart();});});}async _create({options:e,chartKey:t,mode:o,onClick:i}){let s=e.getBroker,n={fullscreen:e.fullscreen??true,autosize:e.autosize??false,timezone:e.timezone,symbol:e.symbol,library_path:e.libraryPath,interval:e.interval??"1",custom_css_url:e.customCssUrl,custom_font_family:e.customFontFamily,datafeed:e.datafeed,studies_overrides:e.studiesOverrides,locale:e.locale,theme:e.theme,loading_screen:e.loadingScreen,overrides:e.overrides,container:e.container,favorites:{intervals:["1","3","5","15","30","60","240","1D","1W","1M"],chartTypes:["Area","Line"]},broker_factory:s?l=>(this._broker&&this._broker.remove(),this._broker=s(this._instance,l),this._broker):void 0};this._datafeed=e.datafeed,t&&(this._chartKey=t);let{savedData:a,adapterSetting:c}=await Ht(this._chartKey,this._isLoggedIn);this._adapterSetting=c,this._savedData=a,this._instance=new TradingView.widget({...$e(n,o),interval:c["chart.lastUsedTimeBasedResolution"]??n.interval,saved_data:a,settings_adapter:{initialSettings:c,setValue:(l,u)=>{this._adapterSetting={...this._adapterSetting,[l]:u},this.debounceSaveChartAdapterSetting();},removeValue:()=>{}}}),this._instance.onChartReady(()=>{e.symbol&&this._instance?.activeChart().symbol()!==O(e.symbol)&&this.setSymbol(e.symbol);}),this.subscribeAutoSave(),this.subscribeClick(i),this.chartHack();}};var $o="SDK_Tradingview",Zo="SDK_Moblie_Tradingview",zo=r=>r?Zo:$o,jo=r=>r==="id"?"id_ID":r;function Je(r){let{scriptSRC:e,libraryPath:t,customCssUrl:o,overrides:i,studiesOverrides:s,symbol:n,theme:a,loadingScreen:c,mode:l,colorConfig:u,locale:m=jo,classNames:h}=r,g=i18n.useLocaleCode(),b=ui.useRef(),q=hooks.useConfig("apiBaseUrl"),{state:I}=hooks.useAccount(),[v,M]=ui.useState(types.OrderSide.SELL),W=hooks.useSymbolsInfo(),[D,G]=hooks.useLocalStorage(types.TradingviewFullscreenKey,false),{onSubmit:C,submitting:T}=hooks.useOrderEntry_deprecated({symbol:n??"",side:v,order_type:types.OrderType.MARKET},{watchOrderbook:true}),[at,Tr]=ui.useState(()=>{let d=localStorage.getItem(V.displayControlSetting);return d?JSON.parse(d):{position:true,buySell:true,limitOrders:true,stopOrders:true,tpsl:true,positionTpsl:true}}),[lt,Or]=ui.useState(()=>{let d=localStorage.getItem(V.interval);return d||"15"}),[xr,Lr]=ui.useState(()=>{let d=localStorage.getItem(V.lineType);return d||"1"}),Le=hooks.useMediaQuery(types.MEDIA_TABLET),we=ui.useMemo(()=>Object.assign({},mt,u??{}),[u]),wr=ui.useMemo(()=>typeof c=="object"?c:{backgroundColor:Pe},[c]),ee=hooks.useWS(),[Q,Rr]=ui.useState(false),Pr=d=>{let te=W[n];if(!te)return;let re=new utils.Decimal(d.balance).greaterThan(0)?types.OrderSide.SELL:types.OrderSide.BUY,dt={order_quantity:new utils.Decimal(d.balance).abs().toNumber(),symbol:n,order_type:types.OrderType.MARKET,side:re,reduce_only:true};M(re),ui$1.modal.show("MarketCloseConfirmID",{base:te("base"),quantity:d.balance,onConfirm:async()=>C(dt).catch($=>{typeof $=="string"?ui$1.toast.error($):ui$1.toast.error($.message);}),submitting:T});},A=ui.useRef(null),ct=ui.useMemo(()=>!(I.status<types.AccountStatusEnum.EnableTrading&&I.status!==types.AccountStatusEnum.EnableTradingWithoutConnected),[I]),ut=Lt({closeConfirm:Pr,colorConfig:we,onToast:ui$1.toast,symbol:n??"",mode:l}),[Er,kr]=Ge(n,at),Mr=()=>{G(!D),r.onFullScreenChange?.(!D);},Dr=d=>{b.current&&(localStorage.setItem(V.interval,d),Or(d),b.current.setSymbol(n,d));},Ar=d=>{b.current&&(localStorage.setItem(V.lineType,d),Lr(d),b.current.changeLineType(Number(d)));},Br=d=>{localStorage.setItem(V.displayControlSetting,JSON.stringify(d)),Tr(d);},Vr=()=>{b.current&&b.current.executeActionById("chartProperties");},Nr=()=>{b.current&&b.current.executeActionById("insertIndicator");};return ui.useEffect(()=>{if(e&&A.current&&!Q){let d=document.createElement("script");d.setAttribute("data-nscript","afterInteractive"),d.src=e,d.async=true,d.type="text/javascript",d.onload=()=>{Rr(true);},d.onerror=()=>{},A.current.appendChild(d);}},[A,Q,e]),ui.useEffect(()=>{if(!n||!Q||!e)return;let d=gt(we,Le),te=i?Object.assign({},d.overrides,i):d.overrides,re=s?Object.assign({},d.studiesOverrides,s):d.studiesOverrides;if(A.current){let $={options:{fullscreen:false,autosize:true,symbol:ie(n),locale:typeof m=="function"?m(g):m,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,container:A.current,libraryPath:t,customCssUrl:o,interval:lt??"1",theme:a??"dark",loadingScreen:wr??{},overrides:te,studiesOverrides:re,datafeed:new pe(q,ee),contextMenu:{items_processor:async Re=>Re},getBroker:(Re,pt)=>(Qe(Re,pt),ft(pt,ut))},chartKey:zo(Le),mode:l,onClick:()=>{}};b.current=new Oe($);}return ()=>{b.current?.remove();}},[Q,Le,l,b,A,Q,e,we,m,g]),ui.useEffect(()=>{ee.on("status:change",d=>{!d.isPrivate&&d.isReconnect&&typeof window.onResetCacheNeededCallback=="function"&&(window.onResetCacheNeededCallback(),b.current?.instance.activeChart()?.resetData());},"tradingview");},[ee]),ui.useEffect(()=>(b.current&&b.current.instance&&b.current.instance.onChartReady(()=>{ct&&b.current.instance&&Er(b.current.instance,void 0,ut);}),()=>{kr();}),[b.current,ct]),ui.useEffect(()=>{if(!n||!b.current)return;b.current?.setSymbol(n);let d=new U(ee);return d.subscribeSymbol(n),()=>{d.unsubscribeKline(n);}},[n]),{tradingViewScriptSrc:e,chartRef:A,changeDisplaySetting:Br,displayControlState:at,interval:lt,changeInterval:Dr,lineType:xr,changeLineType:Ar,openChartSetting:Vr,openChartIndicators:Nr,symbol:n,onFullScreenChange:Mr,classNames:h,fullscreen:D}}var Y=r=>jsxRuntime.jsx("svg",{viewBox:"0 0 12 12",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",...r,children:jsxRuntime.jsx("g",{id:"Caret-down",children:jsxRuntime.jsx("path",{id:"Vector",d:"M3.00349 3.9978C2.59149 3.9978 2.36564 4.4653 2.61289 4.7948C2.98789 5.2948 5.23784 8.29479 5.61289 8.79479C5.81289 9.06128 6.20974 9.06128 6.40974 8.79479L9.40974 4.7948C9.65694 4.4653 9.41554 3.9978 9.00349 3.9978H3.00349Z"})})}),Xe=r=>jsxRuntime.jsx("svg",{viewBox:"0 0 18 18",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",...r,children:jsxRuntime.jsx("g",{id:"Display settings",children:jsxRuntime.jsx("path",{id:"Union",fillRule:"evenodd",clipRule:"evenodd",d:"M15.0571 10.9856L11.6295 5.06523L8.71377 10.8968C8.38933 11.5456 7.54464 11.7223 6.98733 11.2579L5.75311 10.2294L2.83709 14.7654L1.57532 13.9543L4.49134 9.41824C4.97892 8.65978 6.0207 8.49981 6.71338 9.07705L7.58387 9.80246L10.5991 3.77192C10.9997 2.97082 12.1302 2.93624 12.579 3.71137L14.6517 7.29147C14.7714 7.03643 15.0305 6.85983 15.3309 6.85983C15.7451 6.85983 16.0809 7.19562 16.0809 7.60983C16.0809 8.02405 15.7451 8.35983 15.3309 8.35983C15.31 8.35983 15.2892 8.35897 15.2687 8.35729L16.3553 10.2341L15.0571 10.9856ZM2.58093 6.85983C2.16672 6.85983 1.83093 7.19562 1.83093 7.60983C1.83093 8.02405 2.16672 8.35983 2.58093 8.35983C2.99515 8.35983 3.33093 8.02405 3.33093 7.60983C3.33093 7.19562 2.99515 6.85983 2.58093 6.85983ZM4.83093 6.85983C4.41672 6.85983 4.08093 7.19562 4.08093 7.60983C4.08093 8.02405 4.41672 8.35983 4.83093 8.35983C5.24515 8.35983 5.58093 8.02405 5.58093 7.60983C5.58093 7.19562 5.24515 6.85983 4.83093 6.85983ZM6.33093 7.60983C6.33093 7.19562 6.66672 6.85983 7.08093 6.85983C7.49515 6.85983 7.83093 7.19562 7.83093 7.60983C7.83093 8.02405 7.49515 8.35983 7.08093 8.35983C6.66672 8.35983 6.33093 8.02405 6.33093 7.60983ZM11.5809 6.85983C11.1667 6.85983 10.8309 7.19562 10.8309 7.60983C10.8309 8.02405 11.1667 8.35983 11.5809 8.35983C11.9951 8.35983 12.3309 8.02405 12.3309 7.60983C12.3309 7.19562 11.9951 6.85983 11.5809 6.85983Z"})})});var Zt=r=>jsxRuntime.jsx("svg",{viewBox:"0 0 18 18",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",...r,children:jsxRuntime.jsx("g",{id:"Indicators",children:jsxRuntime.jsx("path",{id:"Union",fillRule:"evenodd",clipRule:"evenodd",d:"M9.74483 2.25C8.96145 2.25 8.26885 2.76459 8.04549 3.51818L7.46202 5.48254H5.06262V7.08339H6.98652L5.00539 13.7532L4.31554 13.1112L3.22498 14.2831L4.4777 15.4489C5.08739 16.015 6.08317 15.7469 6.32134 14.945L8.65649 7.08339H11.6032V5.48254H9.13198L9.58033 3.97311C9.60167 3.90112 9.66833 3.85084 9.74483 3.85084H11.69V2.25H9.74483ZM10.6234 11.2354L10.2638 11.5172C10.0153 11.712 9.65591 11.6684 9.46115 11.4199C9.26639 11.1713 9.30998 10.812 9.55852 10.6172L10.1451 10.1575C10.5693 9.82514 11.1868 9.94011 11.4642 10.4005L11.4682 10.407L12.1304 11.5752L13.4594 10.3111C13.6882 10.0935 14.05 10.1025 14.2677 10.3313C14.4853 10.5601 14.4763 10.922 14.2475 11.1396L12.7116 12.6006L13.3897 13.797L13.6482 13.4503C13.8369 13.1972 14.1951 13.145 14.4483 13.3337C14.7014 13.5225 14.7536 13.8807 14.5649 14.1338L13.9917 14.9025L13.94 14.9457C13.5178 15.2981 12.8837 15.1886 12.6003 14.7226L12.5958 14.7151L11.8576 13.4129L10.3563 14.841C10.1275 15.0586 9.76561 15.0495 9.54798 14.8208C9.33036 14.592 9.3394 14.2301 9.56819 14.0125L11.2764 12.3875L10.6234 11.2354Z"})})}),zt=r=>jsxRuntime.jsx("svg",{viewBox:"0 0 18 18",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",...r,children:jsxRuntime.jsx("g",{id:"Setting",children:jsxRuntime.jsx("path",{id:"Vector",d:"M6.72589 1.84154C5.66239 2.17904 4.74515 2.72954 3.93665 3.48254C3.6869 3.71504 3.6104 4.09604 3.7724 4.39604C4.37315 5.50679 3.74464 6.69554 2.38939 6.76379C2.05789 6.78029 1.76465 7.0263 1.68665 7.34955C1.5524 7.9083 1.49915 8.37629 1.49915 8.98979C1.49915 9.50504 1.55464 10.0885 1.66339 10.6075C1.73089 10.9315 2.0129 11.1648 2.3429 11.1933C3.7064 11.311 4.3814 12.3513 3.7724 13.6773C3.6374 13.972 3.6989 14.3245 3.93665 14.545C4.73315 15.2815 5.64814 15.8013 6.72589 16.1388C7.03339 16.2348 7.38064 16.1185 7.56964 15.8575C8.40364 14.7033 9.6134 14.6995 10.4054 15.8575C10.5921 16.1298 10.9341 16.261 11.2491 16.162C12.2894 15.8343 13.2584 15.277 14.0616 14.545C14.3091 14.3193 14.3744 13.954 14.2259 13.654C13.6019 12.3948 14.3197 11.239 15.6082 11.2165C15.9502 11.2105 16.2547 10.9863 16.3349 10.654C16.4647 10.1163 16.4991 9.64829 16.4991 8.98979C16.4991 8.42429 16.4324 7.86704 16.3116 7.32629C16.2351 6.98354 15.9359 6.74054 15.5849 6.73979C14.3167 6.73754 13.6056 5.49104 14.2259 4.39604C14.3984 4.09154 14.3444 3.71804 14.0849 3.48254C13.2674 2.74004 12.2706 2.15954 11.2259 1.84154C10.9049 1.74404 10.5636 1.86404 10.3821 2.14604C9.65764 3.27179 8.30465 3.29129 7.5929 2.17004C7.41065 1.88204 7.04989 1.73879 6.72589 1.84154ZM11.2844 3.43455C11.7966 3.64905 12.2009 3.8733 12.6651 4.22505C12.1206 5.9478 13.0439 7.73729 14.9564 8.17304C15.0036 8.48279 14.9991 8.67029 14.9991 8.98979C14.9991 9.37154 15.0044 9.50579 14.9609 9.78179C13.0566 10.1763 12.1146 11.9155 12.6449 13.7538C12.1889 14.0845 11.8626 14.314 11.2904 14.5353C9.94639 13.1673 8.0804 13.1073 6.7079 14.5443C6.1724 14.3088 5.76066 14.0995 5.34441 13.7478C5.86041 11.881 4.98815 10.2693 3.05165 9.7803C2.9654 9.4383 2.9999 8.4723 3.0494 8.17905C5.0519 7.69905 5.8409 5.92679 5.34365 4.21979C5.78315 3.88904 6.1784 3.6483 6.69215 3.4398C7.9859 4.75605 9.92839 4.8873 11.2844 3.43455ZM8.99915 5.98979C7.3424 5.98979 5.99915 7.33304 5.99915 8.98979C5.99915 10.6473 7.3424 11.9898 8.99915 11.9898C10.6559 11.9898 11.9991 10.6473 11.9991 8.98979C11.9991 7.33304 10.6559 5.98979 8.99915 5.98979ZM8.99915 7.48979C9.8279 7.48979 10.4991 8.16179 10.4991 8.98979C10.4991 9.81855 9.8279 10.4898 8.99915 10.4898C8.1704 10.4898 7.49915 9.81855 7.49915 8.98979C7.49915 8.16179 8.1704 7.48979 8.99915 7.48979Z"})})}),jt=r=>jsxRuntime.jsx("svg",{viewBox:"0 0 20 20",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",...r,children:jsxRuntime.jsx("g",{id:"Bars",children:jsxRuntime.jsx("path",{id:"Union",fillRule:"evenodd",clipRule:"evenodd",d:"M12.5 15.5C12.5 15.7761 12.7239 16 13 16H14C14.2761 16 14.5 15.7761 14.5 15.5V14H16C16.2761 14 16.5 13.7761 16.5 13.5V12.5C16.5 12.2239 16.2761 12 16 12H14.5V2.5C14.5 2.22386 14.2761 2 14 2H13C12.7239 2 12.5 2.22386 12.5 2.5V4H11C10.7239 4 10.5 4.22386 10.5 4.5V5.5C10.5 5.77614 10.7239 6 11 6H12.5V15.5ZM5.5 17.5C5.5 17.7761 5.72386 18 6 18H7C7.27614 18 7.5 17.7761 7.5 17.5V10H9C9.27614 10 9.5 9.77614 9.5 9.5V8.5C9.5 8.22386 9.27614 8 9 8H7.5V4.5C7.5 4.22386 7.27614 4 7 4H6C5.72386 4 5.5 4.22386 5.5 4.5V14H4C3.72386 14 3.5 14.2239 3.5 14.5V15.5C3.5 15.7761 3.72386 16 4 16H5.5V17.5Z"})})}),Yt=r=>jsxRuntime.jsx("svg",{viewBox:"0 0 20 20",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",...r,children:jsxRuntime.jsx("g",{id:"Candles",children:jsxRuntime.jsx("path",{id:"Union",fillRule:"evenodd",clipRule:"evenodd",d:"M7.25 2.5V4H8.5C8.77614 4 9 4.22386 9 4.5V15.5C9 15.7761 8.77614 16 8.5 16H7.25V17.5C7.25 17.7761 7.02614 18 6.75 18H6.25C5.97386 18 5.75 17.7761 5.75 17.5V16H4.5C4.22386 16 4 15.7761 4 15.5V4.5C4 4.22386 4.22386 4 4.5 4H5.75V2.5C5.75 2.22386 5.97386 2 6.25 2H6.75C7.02614 2 7.25 2.22386 7.25 2.5ZM5.5 5.5V14.5H7.5V5.5H5.5ZM14.25 4.5V7H15.5C15.7761 7 16 7.22386 16 7.5V15.5C16 15.7761 15.7761 16 15.5 16H14.25V17.5C14.25 17.7761 14.0261 18 13.75 18H13.25C12.9739 18 12.75 17.7761 12.75 17.5V16H11.5C11.2239 16 11 15.7761 11 15.5V7.5C11 7.22386 11.2239 7 11.5 7H12.75V4.5C12.75 4.22386 12.9739 4 13.25 4H13.75C14.0261 4 14.25 4.22386 14.25 4.5ZM12.5 8.5V14.5H14.5V8.5H12.5Z"})})}),Jt=r=>jsxRuntime.jsx("svg",{viewBox:"0 0 20 20",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",...r,children:jsxRuntime.jsxs("g",{id:"Hollow Candles",children:[jsxRuntime.jsx("path",{id:"Subtract",fillRule:"evenodd",clipRule:"evenodd",d:"M5.5 14.5V5.5H7.5V14.5H5.5Z",fill:"white",fillOpacity:"0.12"}),jsxRuntime.jsx("path",{id:"Union",fillRule:"evenodd",clipRule:"evenodd",d:"M7.25 2.5V4H8.5C8.77614 4 9 4.22386 9 4.5V15.5C9 15.7761 8.77614 16 8.5 16H7.25V17.5C7.25 17.7761 7.02614 18 6.75 18H6.25C5.97386 18 5.75 17.7761 5.75 17.5V16H4.5C4.22386 16 4 15.7761 4 15.5V4.5C4 4.22386 4.22386 4 4.5 4H5.75V2.5C5.75 2.22386 5.97386 2 6.25 2H6.75C7.02614 2 7.25 2.22386 7.25 2.5ZM5.5 5.5V14.5H7.5V5.5H5.5ZM14.25 4.5V7H15.5C15.7761 7 16 7.22386 16 7.5V15.5C16 15.7761 15.7761 16 15.5 16H14.25V17.5C14.25 17.7761 14.0261 18 13.75 18H13.25C12.9739 18 12.75 17.7761 12.75 17.5V16H11.5C11.2239 16 11 15.7761 11 15.5V7.5C11 7.22386 11.2239 7 11.5 7H12.75V4.5C12.75 4.22386 12.9739 4 13.25 4H13.75C14.0261 4 14.25 4.22386 14.25 4.5ZM12.5 8.5V14.5H14.5V8.5H12.5Z"})]})}),Xt=r=>jsxRuntime.jsx("svg",{viewBox:"0 0 20 20",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",...r,children:jsxRuntime.jsx("g",{id:"Line",children:jsxRuntime.jsx("path",{id:"Vector 16 (Stroke)",fillRule:"evenodd",clipRule:"evenodd",d:"M18.3 2.72288C18.542 2.85596 18.6303 3.15999 18.4972 3.40195L13.495 12.4968C13.0776 13.2557 12.1061 13.5044 11.3754 13.0394L7.19878 10.3816L2.97738 17.558C2.83737 17.796 2.53092 17.8754 2.2929 17.7354L1.43097 17.2284C1.19295 17.0884 1.1135 16.7819 1.25351 16.5439L5.73746 8.92122C6.16792 8.18943 7.1194 7.96045 7.83567 8.41626L11.9995 11.0659L16.7448 2.43811C16.8778 2.19615 17.1819 2.10788 17.4238 2.24096L18.3 2.72288Z"})})}),er=r=>jsxRuntime.jsx("svg",{viewBox:"0 0 20 20",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",...r,children:jsxRuntime.jsxs("g",{id:"Area",children:[jsxRuntime.jsx("path",{id:"Vector 16 (Stroke)",fillRule:"evenodd",clipRule:"evenodd",d:"M18.3 2.72288C18.542 2.85596 18.6303 3.15999 18.4972 3.40195L13.495 12.4968C13.0776 13.2557 12.1061 13.5044 11.3754 13.0394L7.19878 10.3816L2.97738 17.558C2.83737 17.796 2.53092 17.8754 2.2929 17.7354L1.43097 17.2284C1.19295 17.0884 1.1135 16.7819 1.25351 16.5439L5.73746 8.92122C6.16792 8.18943 7.1194 7.96045 7.83567 8.41626L11.9995 11.0659L16.7448 2.43811C16.8778 2.19615 17.1819 2.10788 17.4238 2.24096L18.3 2.72288Z"}),jsxRuntime.jsx("path",{id:"Subtract",fillRule:"evenodd",clipRule:"evenodd",d:"M2.7608 17.7562C2.84602 17.899 3.00106 18 3.19016 18H16.362C17.4665 18 18.362 17.1046 18.362 16V3.94663C18.362 3.86618 18.3453 3.79397 18.3162 3.73108L13.495 12.4968C13.0776 13.2557 12.1061 13.5044 11.3754 13.0394L7.19881 10.3816L2.9774 17.558C2.92465 17.6477 2.84826 17.7148 2.7608 17.7562Z",fill:"white",fillOpacity:"0.12"})]})}),tr=r=>jsxRuntime.jsx("svg",{viewBox:"0 0 20 20",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",...r,children:jsxRuntime.jsx("g",{id:"Baseline",children:jsxRuntime.jsx("path",{id:"Union",fillRule:"evenodd",clipRule:"evenodd",d:"M6.05938 2.93544C6.55642 1.71198 8.27766 1.68139 8.81785 2.88642L11.4361 8.72723H9.24438L7.4717 4.77279L5.86521 8.72723H3.70647L6.05938 2.93544ZM13.9282 14.2865L13.0051 12.2272H10.8133L12.5586 16.1204C13.088 17.3014 14.7641 17.3026 15.2952 16.1224L17.048 12.2272H14.8549L13.9282 14.2865ZM2.28459 12.2272H4.44333L1.85293 18.6036L0 17.8509L2.28459 12.2272ZM16.4299 8.72723H18.623L19.3384 7.13759L17.5145 6.31686L16.4299 8.72723ZM1.42645 10.2272C1.42645 9.95109 1.65031 9.72723 1.92645 9.72723H2.92645C3.20259 9.72723 3.42645 9.95109 3.42645 10.2272V10.7272C3.42645 11.0034 3.20259 11.2272 2.92645 11.2272H1.92645C1.65031 11.2272 1.42645 11.0034 1.42645 10.7272V10.2272ZM4.42645 10.2272C4.42645 9.95109 4.65031 9.72723 4.92645 9.72723H5.92645C6.20259 9.72723 6.42645 9.95109 6.42645 10.2272V10.7272C6.42645 11.0034 6.20259 11.2272 5.92645 11.2272H4.92645C4.65031 11.2272 4.42645 11.0034 4.42645 10.7272V10.2272ZM7.92645 9.72723C7.65031 9.72723 7.42645 9.95109 7.42645 10.2272V10.7272C7.42645 11.0034 7.65031 11.2272 7.92645 11.2272H8.92645C9.20259 11.2272 9.42645 11.0034 9.42645 10.7272V10.2272C9.42645 9.95109 9.20259 9.72723 8.92645 9.72723H7.92645ZM10.4265 10.2272C10.4265 9.95109 10.6503 9.72723 10.9265 9.72723H11.9265C12.2026 9.72723 12.4265 9.95109 12.4265 10.2272V10.7272C12.4265 11.0034 12.2026 11.2272 11.9265 11.2272H10.9265C10.6503 11.2272 10.4265 11.0034 10.4265 10.7272V10.2272ZM13.9265 9.72723C13.6503 9.72723 13.4265 9.95109 13.4265 10.2272V10.7272C13.4265 11.0034 13.6503 11.2272 13.9265 11.2272H14.9265C15.2026 11.2272 15.4265 11.0034 15.4265 10.7272V10.2272C15.4265 9.95109 15.2026 9.72723 14.9265 9.72723H13.9265ZM16.4265 10.2272C16.4265 9.95109 16.6503 9.72723 16.9265 9.72723H17.9265C18.2026 9.72723 18.4265 9.95109 18.4265 10.2272V10.7272C18.4265 11.0034 18.2026 11.2272 17.9265 11.2272H16.9265C16.6503 11.2272 16.4265 11.0034 16.4265 10.7272V10.2272Z"})})}),rr=r=>jsxRuntime.jsx("svg",{viewBox:"0 0 12 12",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",...r,children:jsxRuntime.jsx("g",{id:"Unselected",children:jsxRuntime.jsx("path",{id:"Vector",d:"M6.00684 0.999023C3.24544 0.999023 1.00684 3.23752 1.00684 5.99902C1.00684 8.76051 3.24544 10.999 6.00684 10.999C8.76834 10.999 11.0068 8.76051 11.0068 5.99902C11.0068 3.23752 8.76834 0.999023 6.00684 0.999023ZM6.00684 1.99902C8.21584 1.99902 10.0068 3.79002 10.0068 5.99902C10.0068 8.20801 8.21584 9.99901 6.00684 9.99901C3.79769 9.99901 2.00684 8.20801 2.00684 5.99902C2.00684 3.79002 3.79769 1.99902 6.00684 1.99902Z",fill:"white",fillOpacity:"0.2"})})}),or=r=>jsxRuntime.jsx("svg",{viewBox:"0 0 12 12",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",...r,children:jsxRuntime.jsx("g",{id:"Selected-Multiple Choices-fill",children:jsxRuntime.jsx("path",{id:"Subtract",fillRule:"evenodd",clipRule:"evenodd",d:"M1.00684 5.99902C1.00684 3.23752 3.24544 0.999023 6.00684 0.999023C8.76834 0.999023 11.0068 3.23752 11.0068 5.99902C11.0068 8.76051 8.76834 10.999 6.00684 10.999C3.24544 10.999 1.00684 8.76051 1.00684 5.99902ZM8.49243 3.65563C8.60602 3.54726 8.76156 3.49957 8.91068 3.49957C9.05981 3.49957 9.21534 3.54726 9.32893 3.65563C9.5567 3.87231 9.5567 4.23649 9.32893 4.45317L5.25362 8.33706C5.02644 8.55374 4.6443 8.55374 4.41712 8.33706L2.67014 6.67253C2.44296 6.45585 2.44296 6.09161 2.67014 5.87499C2.89791 5.65831 3.28004 5.65831 3.50722 5.87499L4.83537 7.1407L8.49243 3.65563Z",fill:"#608CFF"})})});function pr({displayControlState:r,changeDisplayControlState:e}){let[t,o]=ui.useState(false),{t:i}=i18n.useTranslation(),s=ui.useMemo(()=>[{label:i("common.position"),id:"position"},{label:i("tradingView.displayControl.buySell"),id:"buySell"},{label:i("tradingView.displayControl.limitOrders"),id:"limitOrders"},{label:i("tradingView.displayControl.stopOrders"),id:"stopOrders"},{label:i("common.tpsl"),id:"tpsl"},{label:i("tpsl.positionTpsl"),id:"positionTpsl"}],[i]);return jsxRuntime.jsx(jsxRuntime.Fragment,{children:jsxRuntime.jsxs(ui$1.DropdownMenuRoot,{open:t,onOpenChange:o,children:[jsxRuntime.jsx(ui$1.DropdownMenuTrigger,{asChild:true,children:jsxRuntime.jsxs(ui$1.Flex,{justify:"start",itemAlign:"center",className:"oui-gap-[2px] oui-cursor-pointer oui-text-base-contrast-36 hover:oui-text-base-contrast-80",children:[jsxRuntime.jsx(Xe,{className:ui$1.cn("oui-w-[18px] oui-h-[18px] ",t&&"oui-text-base-contrast-80")}),jsxRuntime.jsx(Y,{className:ui$1.cn("oui-w-3 oui-h-3",t&&"oui-text-base-contrast-80 oui-rotate-180")})]})}),jsxRuntime.jsx(ui$1.DropdownMenuPortal,{children:jsxRuntime.jsx(ui$1.DropdownMenuContent,{onCloseAutoFocus:n=>n.preventDefault(),onClick:n=>n.stopPropagation(),align:"start",className:"oui-bg-base-8",children:jsxRuntime.jsx(ui$1.Flex,{direction:"column",gap:4,px:5,py:5,width:240,justify:"start",itemAlign:"start",children:s.map(n=>jsxRuntime.jsxs(ui$1.Flex,{justify:"between",itemAlign:"center",className:"oui-w-full",children:[jsxRuntime.jsx(ui$1.Text,{className:ui$1.cn("oui-text-sm oui-text-base-contrast-80",!r[n.id]&&"oui-text-base-contrast-36"),children:n.label}),jsxRuntime.jsx(ui$1.Switch,{className:"oui-h-4 oui-w-8",checked:r[n.id],onCheckedChange:a=>{e({...r,[n.id]:a});}})]},n.id))})})})]})})}function mr(r){let[e,t]=ui.useState(false),{t:o}=i18n.useTranslation(),i=ui.useMemo(()=>[[{label:o("common.position"),id:"position"},{label:o("tradingView.displayControl.limitOrders"),id:"limitOrders"}],[{label:o("tradingView.displayControl.stopOrders"),id:"stopOrders"},{label:o("common.tpsl"),id:"tpsl"}],[{label:o("tpsl.positionTpsl"),id:"positionTpsl"},{label:o("tradingView.displayControl.buySell"),id:"buySell"}]],[o]);return jsxRuntime.jsxs(ui$1.DropdownMenuRoot,{open:e,onOpenChange:t,children:[jsxRuntime.jsx(ui$1.DropdownMenuTrigger,{asChild:true,children:jsxRuntime.jsxs("div",{className:ui$1.cn("oui-flex oui-gap-0.5 oui-justify-center oui-text-base-contrast-36 oui-items-center",e&&"oui-text-base-contrast-8"),children:[jsxRuntime.jsx(Xe,{className:ui$1.cn("oui-w-[18px] oui-h-[18px] ",e&&"oui-text-base-contrast-80")}),jsxRuntime.jsx(Y,{className:ui$1.cn("oui-w-3 oui-h-3",e&&"oui-text-base-contrast-80 oui-rotate-180")})]})}),jsxRuntime.jsx(ui$1.DropdownMenuPortal,{children:jsxRuntime.jsx(ui$1.DropdownMenuContent,{onCloseAutoFocus:s=>s.preventDefault(),onClick:s=>s.stopPropagation(),align:"start",alignOffset:0,sideOffset:0,className:ui$1.cn("oui-tradingview-display-control-dropdown-menu-content oui-bg-base-9 oui-w-screen oui-flex oui-flex-col oui-gap-2 oui-p-3"),children:i.map((s,n)=>jsxRuntime.jsx("div",{className:"oui-flex oui-gap-2",children:s.map(a=>jsxRuntime.jsxs("div",{className:ui$1.cn("oui-w-full oui-bg-base-5 oui-text-2xs oui-flex oui-items-center oui-justify-between oui-h-6 oui-rounded oui-px-2",r.displayControlState[a.id]?"oui-text-base-contrast":"oui-text-base-contrast-36 "),onClick:()=>{r.changeDisplayControlState({...r.displayControlState,[a.id]:!r.displayControlState[a.id]});},children:[jsxRuntime.jsx("div",{children:a.label}),r.displayControlState[a.id]?jsxRuntime.jsx(or,{className:"oui-h-3 oui-w-3"}):jsxRuntime.jsx(rr,{className:"oui-h-3 oui-w-3"})]},a.id))},n))})})]})}function tt(r){let[e,t]=ui.useState(false),{t:o}=i18n.useTranslation(),i=ui.useMemo(()=>[{icon:jsxRuntime.jsx(jt,{fill:"currentColor",className:"oui-w-5 oui-h-5"}),label:o("tradingView.lineType.bars"),value:"0"},{icon:jsxRuntime.jsx(Yt,{fill:"currentColor",className:"oui-w-5 oui-h-5"}),label:o("tradingView.lineType.candles"),value:"1"},{icon:jsxRuntime.jsx(Jt,{fill:"currentColor",className:"oui-w-5 oui-h-5"}),label:o("tradingView.lineType.hollowCandles"),value:"9"},{icon:jsxRuntime.jsx(Xt,{fill:"currentColor",className:"oui-w-5 oui-h-5"}),label:o("tradingView.lineType.line"),value:"2"},{icon:jsxRuntime.jsx(er,{fill:"currentColor",className:"oui-w-5 oui-h-5"}),label:o("tradingView.lineType.area"),value:"3"},{icon:jsxRuntime.jsx(tr,{fill:"currentColor",className:"oui-w-5 oui-h-5"}),label:o("tradingView.lineType.baseline"),value:"10"}],[o]),s=ui.useMemo(()=>{let n=i.find(a=>a.value===r.lineType);return n?n.icon:i[1].icon},[r.lineType]);return jsxRuntime.jsxs(ui$1.DropdownMenuRoot,{open:e,onOpenChange:t,children:[jsxRuntime.jsx(ui$1.DropdownMenuTrigger,{asChild:true,children:jsxRuntime.jsx(ui$1.Box,{className:ui$1.cn("oui-w-[18px] oui-h-[18px] oui-cursor-pointer oui-text-base-contrast-36 hover:oui-text-base-contrast-80",e&&"oui-text-base-contrast-80"),children:s})}),jsxRuntime.jsx(ui$1.DropdownMenuPortal,{children:jsxRuntime.jsx(ui$1.DropdownMenuContent,{onCloseAutoFocus:n=>n.preventDefault(),onClick:n=>n.stopPropagation(),align:"start",sideOffset:20,className:"oui-bg-base-8",children:jsxRuntime.jsx(ui$1.Flex,{direction:"column",gap:4,px:5,py:5,width:240,justify:"start",itemAlign:"start",children:i.map(n=>jsxRuntime.jsxs(ui$1.Flex,{justify:"start",itemAlign:"center",gap:2,className:ui$1.cn("oui-text-base-contrast-36 oui-cursor-pointer oui-w-full hover:oui-text-base-contrast",r.lineType===n.value&&"oui-text-base-contrast"),onClick:()=>r.changeLineType(n.value),children:[n.icon,jsxRuntime.jsx(ui$1.Text,{className:"oui-text-sm",children:n.label})]},n.value))})})})]})}var Cr=({url:r,children:e})=>jsxRuntime.jsx("span",{onClick:()=>{window.open(r);},className:"oui-text-primary-light oui-underline oui-cursor-pointer",children:e});function _r(){let{t:r}=i18n.useTranslation();return jsxRuntime.jsx("div",{className:"oui-z-0 oui-text-base-contrast-80 oui-absolute oui-top-0 oui-left-0 oui-right-0 oui-bottom-0 oui-flex oui-flex-col oui-justify-start md:oui-justify-center oui-items-center oui-p-2 md:oui-p-10",children:jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx("p",{className:"oui-mb-6 oui-text-xs",children:r("tradingView.noScriptSrc")}),jsxRuntime.jsx("p",{className:"oui-mb-3 oui-text-2xs md:oui-text-xs oui-text-base-contrast-54 md:oui-text-base-contrast-80 md:oui-text-base oui-pl-0 md:oui-pl-2",children:jsxRuntime.jsx(i18n.Trans,{i18nKey:"tradingView.noScriptSrc.1",components:[jsxRuntime.jsx(Cr,{url:"https://www.tradingview.com/advanced-charts"})]})}),jsxRuntime.jsx("p",{className:"oui-text-2xs md:oui-text-xs oui-text-base-contrast-54 md:oui-text-base-contrast-80 md:oui-text-base oui-pl-0 md:oui-pl-2",children:jsxRuntime.jsx(i18n.Trans,{i18nKey:"tradingView.noScriptSrc.2",components:[jsxRuntime.jsx(Cr,{url:"https://orderly.network/docs/sdks/react/components/trading#tradingviewconfig"})]})})]})})}var vr=()=>{let{t:r}=i18n.useTranslation();return {mobileTimeIntervalMoreMap:ui.useMemo(()=>[[{value:"3",label:r("tradingView.timeInterval.3m")},{value:"5",label:r("tradingView.timeInterval.5m")},{value:"30",label:r("tradingView.timeInterval.30m")},{value:"120",label:r("tradingView.timeInterval.2h")}],[{value:"360",label:r("tradingView.timeInterval.6h")},{value:"720",label:r("tradingView.timeInterval.12h")},{value:"3d",label:r("tradingView.timeInterval.3d")},{value:"1M",label:r("tradingView.timeInterval.1M")}]],[r])}};function it(r){return hooks.useMediaQuery(types.MEDIA_TABLET)?jsxRuntime.jsx(_i,{...r}):jsxRuntime.jsx(Ci,{...r})}function Ci(r){let{t:e}=i18n.useTranslation(),t=ui.useMemo(()=>[{value:"1",label:e("tradingView.timeInterval.1m")},{value:"3",label:e("tradingView.timeInterval.3m")},{value:"5",label:e("tradingView.timeInterval.5m")},{value:"15",label:e("tradingView.timeInterval.15m")},{value:"30",label:e("tradingView.timeInterval.30m")},{value:"60",label:e("tradingView.timeInterval.1h")},{value:"240",label:e("tradingView.timeInterval.4h")},{value:"720",label:e("tradingView.timeInterval.12h")},{value:"1D",label:e("tradingView.timeInterval.1d")},{value:"1W",label:e("tradingView.timeInterval.1w")},{value:"1M",label:e("tradingView.timeInterval.1M")}],[e]);return jsxRuntime.jsx("div",{className:ui$1.cn("oui-text-2xs oui-text-base-contrast-36 oui-flex oui-gap-[2px] oui-items-center oui-mr-3 oui-font-semibold","oui-overflow-hidden"),children:t.map(o=>jsxRuntime.jsx("div",{className:ui$1.cn("oui-cursor-pointer oui-px-2","hover:oui-text-base-contrast-80","oui-break-normal oui-whitespace-nowrap",r.interval===o.value&&"oui-text-base-contrast-80 oui-bg-white/[.06] oui-rounded"),id:o.value,onClick:()=>r.changeInterval(o.value),children:o.label},o.value))})}function _i(r){let{t:e}=i18n.useTranslation(),t=ui.useMemo(()=>[{value:"1",label:e("tradingView.timeInterval.1m")},{value:"15",label:e("tradingView.timeInterval.15m")},{value:"60",label:e("tradingView.timeInterval.1h")},{value:"240",label:e("tradingView.timeInterval.4h")},{value:"1D",label:e("tradingView.timeInterval.1d")},{value:"1W",label:e("tradingView.timeInterval.1w")}],[e]),{mobileTimeIntervalMoreMap:o}=vr(),i=ui.useMemo(()=>{for(let s of o)for(let n of s)if(n.value===r.interval)return n.label;return null},[r.interval,o]);return jsxRuntime.jsxs(ui$1.Flex,{justify:"start",itemAlign:"center",gap:3,className:ui$1.cn("oui-text-2xs oui-text-base-contrast-36","oui-overflow-hidden"),children:[jsxRuntime.jsx("div",{className:" oui-flex oui-gap-1 oui-items-center oui-mr-3 oui-font-semibold",children:t.map(s=>jsxRuntime.jsx("div",{className:ui$1.cn("oui-px-2","oui-break-normal oui-whitespace-nowrap",r.interval===s.value&&"oui-text-base-contrast-80 oui-bg-white/[.06] oui-rounded"),onClick:()=>r.changeInterval(s.value),children:s.label},s.value))}),jsxRuntime.jsx(vi,{...r,children:i?jsxRuntime.jsx("div",{className:"oui-text-base-contrast-80",children:i}):jsxRuntime.jsx(ui$1.Text,{className:"oui-break-normal oui-whitespace-nowrap",children:e("tradingView.timeInterval.more")})})]})}function vi(r){let[e,t]=ui__default.default.useState(false),{mobileTimeIntervalMoreMap:o}=vr();return jsxRuntime.jsxs(ui$1.DropdownMenuRoot,{open:e,onOpenChange:t,children:[jsxRuntime.jsx(ui$1.DropdownMenuTrigger,{asChild:true,children:jsxRuntime.jsxs("div",{className:"oui-flex oui-justify-start oui-items-center oui-gap-0.5",children:[r.children,jsxRuntime.jsx(Y,{className:ui$1.cn("oui-w-3 oui-h-3",e&&"oui-text-base-contrast-80 oui-rotate-180")})]})}),jsxRuntime.jsx(ui$1.DropdownMenuPortal,{children:jsxRuntime.jsx(ui$1.DropdownMenuContent,{onCloseAutoFocus:i=>i.preventDefault(),onClick:i=>i.stopPropagation(),align:"start",alignOffset:0,sideOffset:0,className:ui$1.cn("oui-markets-dropdown-menu-content oui-bg-base-9 oui-w-screen oui-flex oui-flex-col oui-gap-2 oui-p-3"),children:o.map((i,s)=>jsxRuntime.jsx("div",{className:"oui-flex oui-gap-2",children:i.map(n=>jsxRuntime.jsx("div",{className:ui$1.cn("oui-w-full oui-text-2xs oui-flex oui-items-center oui-justify-center oui-h-6 oui-rounded",n.value===r.interval?"oui-text-base-contrast oui-bg-primary-darken":"oui-text-base-contrast-36 oui-bg-base-5"),onClick:()=>{r.changeInterval(n.value);},children:jsxRuntime.jsx("div",{children:n.label})},n.value))},s))})})]})}function nt(r){return jsxRuntime.jsx("div",{className:"top-toolbar oui-flex oui-h-[44px] oui-justify-between md:oui-justify-start oui-items-center oui-p-2 md:oui-px-3 md:oui-pt-3 md:oui-pb-[14px]",children:r.children})}var Ir=({children:r,onClick:e})=>jsxRuntime.jsx(ui$1.Box,{onClick:e,className:"oui-cursor-pointer oui-w-[18px] oui-h-[18px] oui-text-base-contrast-36 hover:oui-text-base-contrast-80",children:r}),wi=r=>jsxRuntime.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 18 18",fill:"currentColor",...r,children:jsxRuntime.jsx("path",{d:"M15.0008 2.24304C14.8088 2.24304 14.6085 2.30755 14.4615 2.4538L11.2508 5.66455V3.74304H9.75079V7.49304C9.75079 7.90704 10.0868 8.24304 10.5008 8.24304H14.2508V6.74304H12.3285L15.54 3.53229C15.8325 3.23904 15.8325 2.74705 15.54 2.4538C15.393 2.30755 15.1928 2.24304 15.0008 2.24304ZM3.7508 9.74303V11.243H5.67231L2.46156 14.4538C2.16906 14.747 2.16906 15.239 2.46156 15.5323C2.75481 15.8248 3.2468 15.8248 3.54005 15.5323L6.7508 12.3215V14.243H8.25079V10.493C8.25079 10.079 7.9148 9.74303 7.5008 9.74303H3.7508Z"})}),Ri=r=>jsxRuntime.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 18 18",fill:"currentColor",...r,children:jsxRuntime.jsx("path",{d:"M7.49219 9.74304C7.30026 9.74304 7.09964 9.80755 6.95309 9.9538L3.74219 13.1646V11.243H2.24219V14.993C2.24219 15.407 2.57796 15.743 2.99219 15.743H6.74219V14.243H4.82031L8.03121 11.0323C8.32416 10.739 8.32416 10.247 8.03121 9.9538C7.88481 9.80755 7.68404 9.74304 7.49219 9.74304ZM11.2509 2.24304V3.74304H13.1728L9.96186 6.9538C9.66899 7.24705 9.66899 7.73904 9.96186 8.03229C10.2547 8.32479 10.7471 8.32479 11.04 8.03229L14.2509 4.82153V6.74304H15.7509V2.99304C15.7509 2.57904 15.4151 2.24304 15.0009 2.24304H11.2509Z"})}),st=ui.forwardRef((r,e)=>{let{chartRef:t,interval:o,changeDisplaySetting:i,displayControlState:s,tradingViewScriptSrc:n,changeInterval:a,lineType:c,changeLineType:l,openChartSetting:u,openChartIndicators:m,onFullScreenChange:h}=r,g=hooks.useMediaQuery(types.MEDIA_TABLET);return jsxRuntime.jsx("div",{className:ui$1.cn("oui-h-full oui-w-full oui-relative",r.classNames?.root),ref:e,children:n?jsxRuntime.jsxs("div",{className:ui$1.cn("oui-z-[1] oui-absolute oui-top-0 oui-bottom-0 oui-right-0 oui-left-0 oui-flex oui-flex-col",r.classNames?.content),children:[jsxRuntime.jsx(nt,{children:g?jsxRuntime.jsxs(ui$1.Flex,{gapX:2,width:"100%",justify:"between",className:"oui-overflow-x-scroll oui-hide-scrollbar",children:[jsxRuntime.jsx(it,{interval:o??"15",changeInterval:a}),jsxRuntime.jsx(mr,{displayControlState:s,changeDisplayControlState:i})]}):jsxRuntime.jsxs(ui$1.Flex,{justify:"between",itemAlign:"center",width:"100%",children:[jsxRuntime.jsxs(ui$1.Flex,{children:[jsxRuntime.jsx(it,{interval:o??"1",changeInterval:a}),jsxRuntime.jsx(ui$1.Divider,{direction:"vertical",className:"oui-h-4",mx:2,intensity:8}),jsxRuntime.jsxs(ui$1.Flex,{justify:"start",itemAlign:"center",gap:2,children:[jsxRuntime.jsx(pr,{displayControlState:s,changeDisplayControlState:i}),jsxRuntime.jsx(Ir,{onClick:m,children:jsxRuntime.jsx(Zt,{})}),jsxRuntime.jsx(tt,{lineType:c,changeLineType:l}),jsxRuntime.jsx(Ir,{onClick:u,children:jsxRuntime.jsx(zt,{})})]})]}),jsxRuntime.jsx(ui$1.Flex,{children:r.fullscreen?jsxRuntime.jsx(wi,{className:"oui-text-base-contrast-54 hover:oui-text-base-contrast oui-cursor-pointer",onClick:h}):jsxRuntime.jsx(Ri,{className:"oui-text-base-contrast-54 hover:oui-text-base-contrast oui-cursor-pointer",onClick:h})})]})}),jsxRuntime.jsx("div",{className:"oui-h-full oui-w-full oui-overflow-hidden",ref:t})]}):jsxRuntime.jsx(_r,{})})});var Ei=ui.forwardRef((r,e)=>{let t=Je(r);return jsxRuntime.jsx(st,{...t,ref:e})});
|
|
16
|
+
var Hr="#008676",Ur="#D92D6B",Pe="#131519",Fr="#00B49E",Kr="#FF447C",qr="#333948",Wr="#FFFFFF",Gr="#F4F7F9",Qr="regular 11px Manrope",mt={upColor:Hr,downColor:Ur,chartBG:Pe,pnlUpColor:Fr,pnlDownColor:Kr,pnlZoreColor:qr,textColor:Wr,qtyTextColor:Gr,font:Qr,volumeUpColor:"#0C3E3A",volumeDownColor:"#5A1E36",closeIcon:"rgba(255, 255, 255, 0.8)"},gt=(r,e)=>{let t={"paneProperties.background":r.chartBG,"paneProperties.backgroundType":"solid","mainSeriesProperties.candleStyle.upColor":r.upColor,"mainSeriesProperties.candleStyle.downColor":r.downColor,"mainSeriesProperties.candleStyle.borderColor":r.upColor,"mainSeriesProperties.candleStyle.borderUpColor":r.upColor,"mainSeriesProperties.candleStyle.borderDownColor":r.downColor,"mainSeriesProperties.candleStyle.wickUpColor":r.upColor,"mainSeriesProperties.candleStyle.wickDownColor":r.downColor,"paneProperties.separatorColor":"#2B2833","paneProperties.vertGridProperties.color":"#26232F","paneProperties.horzGridProperties.color":"#26232F","scalesProperties.fontSize":e?8:12,"scalesProperties.textColor":"#97969B","paneProperties.legendProperties.showSeriesTitle":!e,"mainSeriesProperties.statusViewStyle.symbolTextSource":"ticker"},o={"volume.volume.color.0":r.volumeDownColor,"volume.volume.color.1":r.volumeUpColor};return {overrides:t,studiesOverrides:o}},oe="Orderly",O=r=>r.includes(":")?r.split(":")[1]:r,ie=r=>r.startsWith(`${oe}:`)?r:`${oe}:${r}`;var zr=(r,e)=>{let o,i=s=>[null,"limit","MARKET","STOP_MARKET","STOP_LIMIT"][s];return {symbolInfo:async s=>(o=e.getSymbolInfo(O(s)),{qty:{min:o?.baseMin??0,max:o?.baseMax??0,step:o?.baseTick??0},pipValue:0,pipSize:o?.quoteTick??0,minTick:o?.quoteTick??0,description:""}),placeOrder:async s=>{let n=["SELL","BUY"][+(s.side>0)],a=s.qty.toString();(s.limitPrice??0).toString();(s.stopPrice??0).toString();let u=O(s.symbol),m=i(s.type);m==="MARKET"?e.sendMarketOrder({side:n,order_quantity:a,symbol:u,order_type:types.OrderType.MARKET}):"LIMIT";},orders:()=>[],positions:()=>[],executions:()=>[],connectionStatus:()=>1,chartContextMenuActions:s=>r.defaultContextMenuActions(s),isTradable:async()=>true,accountManagerInfo:()=>({}),currentAccount:()=>"1",accountsMetainfo:async()=>[{id:"1"}],remove:()=>r?.silentOrdersPlacement().unsubscribe()}},ft=zr;function B(r){return r===void 0?"":typeof r=="string"?r:r.message}var se=class{constructor(e,t,o){this._datafeedUrl=e,this._requester=t,this._limitedServerResponse=o;}getBars(e,t,o){let i={symbol:e.ticker||"",resolution:t,from:o.from,to:o.to};return o.countBack!==void 0&&(i.countback=o.countBack),e.currency_code!==void 0&&(i.currencyCode=e.currency_code),e.unit_id!==void 0&&(i.unitId=e.unit_id),new Promise(async(s,n)=>{try{let a=await this._requester.sendRequest(this._datafeedUrl,"history",i),c=this._processHistoryResponse(a);this._limitedServerResponse&&await this._processTruncatedResponse(c,i),s(c);}catch(a){if(a instanceof Error||typeof a=="string"){let c=B(a);n(c);}}})}async _processTruncatedResponse(e,t){let o=e.bars.length;try{for(;this._limitedServerResponse&&this._limitedServerResponse.maxResponseLength>0&&this._limitedServerResponse.maxResponseLength===o&&t.from<t.to;){t.countback&&(t.countback=t.countback-o),this._limitedServerResponse.expectedOrder==="earliestFirst"?t.from=Math.round(e.bars[e.bars.length-1].time/1e3):t.to=Math.round(e.bars[0].time/1e3);let i=await this._requester.sendRequest(this._datafeedUrl,"history",t),s=this._processHistoryResponse(i);o=s.bars.length,this._limitedServerResponse.expectedOrder==="earliestFirst"?(s.bars[0].time===e.bars[e.bars.length-1].time&&s.bars.shift(),e.bars.push(...s.bars)):(s.bars[s.bars.length-1].time===e.bars[0].time&&s.bars.pop(),e.bars.unshift(...s.bars));}}catch(i){if(i instanceof Error||typeof i=="string"){B(i);}}}_processHistoryResponse(e){if(e.s!=="ok"&&e.s!=="no_data")throw new Error(e.errmsg);let t=[],o={noData:false};if(e.s==="no_data")o.noData=true,o.nextTime=e.nextTime;else {let i=e.v!==void 0,s=e.o!==void 0;for(let n=0;n<e.t.length;++n){let a={time:e.t[n]*1e3,close:parseFloat(e.c[n]),open:parseFloat(e.c[n]),high:parseFloat(e.c[n]),low:parseFloat(e.c[n])};s&&(a.open=parseFloat(e.o[n]),a.high=parseFloat(e.h[n]),a.low=parseFloat(e.l[n])),i&&(a.volume=parseFloat(e.v[n])),t.push(a);}}return {bars:t,meta:o}}};var ae=class{constructor(e){e&&(this._headers=e);}sendRequest(e,t,o){if(o!==void 0){let s=Object.keys(o);s.length!==0&&(t+="?"),t+=s.map(n=>`${encodeURIComponent(n)}=${encodeURIComponent(o[n].toString())}`).join("&");}""+t;let i={credentials:"same-origin"};return this._headers!==void 0&&(i.headers=this._headers),fetch(`${e}/${t}`,i).then(s=>s.text()).then(s=>JSON.parse(s))}};function f(r,e,t,o){let i=r[e];return Array.isArray(i)&&(!o||Array.isArray(i[0]))?i[t]:i}function le(r,e,t){return r+(e!==void 0?"_%|#|%_"+e:"")+(t!==void 0?"_%|#|%_"+t:"")}var ce=class{constructor(e,t,o){this._exchangesList=["Orderly"];this._symbolsInfo={};this._symbolsList=[];this._datafeedUrl=e,this._datafeedSupportedResolutions=t,this._requester=o,this._readyPromise=this._init(),this._readyPromise.catch(i=>{});}resolveSymbol(e,t,o){return this._readyPromise.then(()=>{let i=this._symbolsInfo[le(e,t,o)];return i===void 0?Promise.reject("invalid symbol"):Promise.resolve(i)})}searchSymbols(e,t,o,i){return this._readyPromise.then(()=>{let s=[],n=e.length===0;e=e.toUpperCase();for(let c of this._symbolsList){let l=this._symbolsInfo[c];if(l===void 0||o.length>0&&l.type!==o||t&&t.length>0&&l.exchange!==t)continue;let u=l.name.toUpperCase().indexOf(e),m=l.description.toUpperCase().indexOf(e);if((n||u>=0||m>=0)&&!s.some(g=>g.symbolInfo===l)){let g=u>=0?u:8e3+m;s.push({symbolInfo:l,weight:g});}}let a=s.sort((c,l)=>c.weight-l.weight).slice(0,i).map(c=>{let l=c.symbolInfo;return {symbol:l.name,full_name:`${l.exchange}:${l.name}`,description:l.description,exchange:l.exchange,params:[],type:l.type,ticker:l.name}});return Promise.resolve(a)})}_init(){let e=[],t={};for(let o of this._exchangesList)t[o]||(t[o]=true,e.push(this._requestExchangeData(o)));return Promise.all(e).then(()=>{this._symbolsList.sort();})}_requestExchangeData(e){return new Promise((t,o)=>{this._requester.sendRequest(this._datafeedUrl,"symbol_info",{group:e}).then(i=>{try{this._onExchangeDataReceived(e,i);}catch(s){o(s instanceof Error?s:new Error(`SymbolsStorage: Unexpected exception ${s}`));return}t();}).catch(i=>{`${e}${B(i)}`,t();});})}_onExchangeDataReceived(e,t){let o=0;try{let i=t.symbol.length,s=t.ticker!==void 0;for(;o<i;++o){let n=t.symbol[o],a=f(t,"exchange-listed",o),c=f(t,"exchange-traded",o),l=c+":"+n,u=f(t,"currency-code",o),m=f(t,"unit-id",o),h=s?f(t,"ticker",o):n,g={ticker:h,name:n,base_name:[a+":"+n],listed_exchange:a,exchange:c,currency_code:u,original_currency_code:f(t,"original-currency-code",o),unit_id:m,original_unit_id:f(t,"original-unit-id",o),unit_conversion_types:f(t,"unit-conversion-types",o,!0),description:f(t,"description",o),has_intraday:H(f(t,"has-intraday",o),!1),visible_plots_set:H(f(t,"visible-plots-set",o),"ohlcv"),minmov:f(t,"minmovement",o)||f(t,"minmov",o)||0,minmove2:f(t,"minmove2",o)||f(t,"minmov2",o),fractional:f(t,"fractional",o),pricescale:f(t,"pricescale",o),type:f(t,"type",o),session:f(t,"session-regular",o),session_holidays:f(t,"session-holidays",o),corrections:f(t,"corrections",o),timezone:f(t,"timezone",o),supported_resolutions:H(f(t,"supported-resolutions",o,!0),this._datafeedSupportedResolutions),has_daily:H(f(t,"has-daily",o),!0),intraday_multipliers:H(f(t,"intraday-multipliers",o,!0),["1","5","15","30","60"]),has_weekly_and_monthly:f(t,"has-weekly-and-monthly",o),has_empty_bars:f(t,"has-empty-bars",o),volume_precision:H(f(t,"volume-precision",o),0),format:"price"};this._symbolsInfo[h]=g,this._symbolsInfo[n]=g,this._symbolsInfo[l]=g,(u!==void 0||m!==void 0)&&(this._symbolsInfo[le(h,u,m)]=g,this._symbolsInfo[le(n,u,m)]=g,this._symbolsInfo[le(l,u,m)]=g),this._symbolsList.push(n);}}catch(i){throw new Error(`SymbolsStorage: API error when processing exchange ${e} symbol #${o} (${t.symbol[o]}): ${Object(i).message}`)}}};function H(r,e){return r!==void 0?r:e}var ue=class{constructor(e){this._configuration=bt();this._symbolsStorage=null;this._datafeedURL=e,this._requester=new ae,this._historyProvider=new se(e,this._requester),this._configurationReadyPromise=this._requestConfiguration().then(t=>{t===null&&(t=bt()),this._setupWithConfiguration(t);});}getBars(e,t,o,i,s){this._historyProvider.getBars(e,t,o).then(n=>{i(n.bars,n.meta);}).catch(s);}onReady(e){this._configurationReadyPromise.then(()=>{e(this._configuration);});}searchSymbols(e,t,o,i){if(this._symbolsStorage===null)throw new Error("Datafeed: inconsistent configuration (symbols storage)");this._symbolsStorage.searchSymbols(e,t,o,30).then(i).catch(i.bind(null,[]));}resolveSymbol(e,t,o,i){let s=i&&i.currencyCode,n=i&&i.unitId;function c(l){t(l);}if(this._symbolsStorage===null)throw new Error("Datafeed: inconsistent configuration (symbols storage)");this._symbolsStorage.resolveSymbol(e,s,n).then(c).catch(o);}getMarks(){}getTimescaleMarks(){}getServerTime(){}_requestConfiguration(){return this._send("config").catch(e=>(`${B(e)}`,null))}_send(e,t){return this._requester.sendRequest(this._datafeedURL,e,t)}_setupWithConfiguration(e){if(this._configuration=e,e.exchanges===void 0&&(e.exchanges=[]),!e.supports_search&&!e.supports_group_request)throw new Error("Unsupported datafeed configuration. Must either support search, or support group request");(e.supports_group_request||!e.supports_search)&&(this._symbolsStorage=new ce(this._datafeedURL,e.supported_resolutions||[],this._requester)),`${JSON.stringify(e)}`;}};function bt(){return {supports_search:false,supports_group_request:true,supported_resolutions:["1","3","5","15","30","60","120","240","480","720","1D","3D","1W","1M"],supports_marks:false,supports_timescale_marks:false}}var de=class{constructor(){this.subscribers=new Map;}subscribe(e,t){return this.subscribers.has(e)||this.subscribers.set(e,[]),this.subscribers.get(e).push(t),()=>{this.unsubscribe(e,t);}}unsubscribe(e,t){if(this.subscribers.has(e)){let o=this.subscribers.get(e);this.subscribers.set(e,o.filter(i=>i!==t)),this.subscribers.get(e).length===0&&this.subscribers.delete(e);}}publish(e,t){this.subscribers.has(e)&&this.subscribers.get(e).forEach(i=>{i(t);});}};var Ee=r=>{let e="1d";switch(r){case "1":e="1m";break;case "3":e="3m";break;case "5":e="5m";break;case "15":e="15m";break;case "30":e="30m";break;case "60":e="1h";break;case "120":e="2h";break;case "240":e="4h";break;case "480":e="8h";break;case "720":e="12h";break;case "D":case "1D":e="1d";break;case "3D":e="3d";break;case "1W":e="1w";break;case "1M":e="1M ";break;}return e},V={interval:"TradingviewSDK.lastUsedTimeBasedResolution",lineType:"TradingviewSDK.lastUsedStyle",displayControlSetting:"TradingviewSDK.displaySetting"};var ke=(r,e)=>`${r}kline_${e}`,jr=r=>["trade"].map(t=>`${r}@${t}`),R=class R{constructor(e){this.klineSubscribeIdMap=new Map;this.klineOnTickCallback=new Map;this.subscribeCachedTopics=new Map;this.wsInstance=null;this.klineData=new Map;return R._created||(this.wsInstance=e,R._instance=this,R._created=true),R._instance}subscribeKline(e,t,o,i){let s=Ee(o);this.klineSubscribeIdMap.set(e,{symbol:t,resolution:o});let n=ke(t,s);if(this.klineOnTickCallback.has(n)){let a=this.klineOnTickCallback.get(n);a[e]=i;}else {this.klineOnTickCallback.set(n,{[e]:i});let a=this.wsInstance?.subscribe({event:"subscribe",topic:`${t}@kline_${s}`,id:`${t}@kline_${s}`,ts:new Date().getTime()},{onMessage:c=>{let{open:l,close:u,high:m,low:h,volume:g,startTime:b}=c,q=ke(c.symbol,c.type);this.updateKline(q,{time:b,close:u,open:l,high:m,low:h,volume:g});}});this.subscribeCachedTopics.set(`${t}@kline_${s}`,a);}}unsubscribeKline(e){if(!this.klineSubscribeIdMap.has(e))return;let{symbol:t,resolution:o}=this.klineSubscribeIdMap.get(e),i=Ee(o),s=ke(t,i);if(this.klineOnTickCallback.has(s)){let n=this.klineOnTickCallback.get(s);delete n[e],Object.keys(n).length===0&&(this.klineOnTickCallback.delete(s),this.subscribeCachedTopics.get(`${t}@kline_${i}`)());}delete this.klineSubscribeIdMap[e];}subscribeSymbol(e){jr(e).forEach(o=>{if(!this.subscribeCachedTopics.has(o)){let i=this.wsInstance?.subscribe({event:"subscribe",topic:o,id:o,ts:new Date().getTime()},{onMessage:s=>{this.updateKlineByLastPrice(s.symbol,s.price);}});this.subscribeCachedTopics.set(o,i);}});}updateKlineByLastPrice(e,t){this.klineOnTickCallback.forEach((o,i)=>{if(i.startsWith(e)){let s=this.klineData.get(i);s&&this.updateKline(i,{...s,close:t});}});}updateKline(e,t){let o=this.klineOnTickCallback.get(e);o&&t&&(this.klineData.set(e,t),Object.keys(o).forEach(i=>{let s=o[i];s&&typeof s=="function"&&s(t);}));}};R._created=false,R._instance=null;var U=R;var Yr=(()=>{let r=0;return ()=>r++})(),pe=class extends ue{constructor(t,o){let i=`${t}/tv`;super(i);this.bbosMap=new Map;this.tickersMap=new Map;this.eventBus=new de;this._subscribeQuoteMap=new Map,this._prefixId=Yr(),this._publicWs=new U(o),this.bbosMap=new Map,o.on("tickers",s=>{for(let n of s.data)n.change=n.close-n.open,n.perChange=n.open?+(100*n.change/n.open).toFixed(2):0,this.tickersMap.set(n.symbol,n);this.eventBus.publish("tickerUpdate",{message:"ticker"});}),o.subscribe({event:"subscribe",topic:"bbos"},{formatter:s=>s,onMessage:s=>{for(let n of s.data)this.bbosMap.set(n.symbol,{ask:n.ask,bid:n.bid,askSize:n.askSize,bidSize:n.bidSize});this.eventBus.publish("tickerUpdate",{message:"bbos"});}});}remove(){Array.from(this._subscribeQuoteMap.values()).forEach(t=>t?.());}getSubscriptionId(t){return `${this._prefixId}${t}`}subscribeBars(t,o,i,s,n){window.onResetCacheNeededCallback=n,this._publicWs.subscribeKline(`${this._prefixId}${s}`,t.ticker,o,i);}unsubscribeBars(t){this._publicWs.unsubscribeKline(`${this._prefixId}${t}`);}getQuotes(t,o){let i=this.getSubscriptionId("getQuotes");this.unsubscribeQuotes("getQuotes");let s=this.eventBus.subscribe("tickerUpdate",n=>{let a=new Map;t.forEach(c=>{let l=this.bbosMap.get(O(c)),u=this.tickersMap.get(O(c));if(!l||!u)return;let m={...u,ask:l.ask,bid:l.bid};a.set(O(c),m);}),a.size&&o(Array.from(a.values()).map(c=>this._toUDFTicker(c)));});this._subscribeQuoteMap.set(i,s);}subscribeQuotes(t,o,i,s){let n=`${this._prefixId}${s}`;if(t.length>0){this.unsubscribeQuotes(n);let a=this.eventBus.subscribe("tickerUpdate",c=>{let l=new Map;t.forEach(u=>{let m=this.bbosMap.get(O(u)),h=this.tickersMap.get(O(u));if(!m||!h)return;let g={...h,ask:m.ask,bid:m.bid};l.set(O(u),g);}),l.size&&i(Array.from(l.values()).map(u=>this._toUDFTicker(u)));});this._subscribeQuoteMap.set(n,a);}}unsubscribeQuotes(t){let o=this.getSubscriptionId(t),i=this._subscribeQuoteMap.get(o);i&&(i(),this._subscribeQuoteMap.delete(o));}_toUDFTicker(t){return {n:ie(t.symbol),s:"ok",v:{ask:t.ask,bid:t.bid,ch:t.change,chp:t.perChange/100,description:"",exchange:oe,hight_price:t.high,low_price:t.low,lp:t.close,open_price:t.open,prev_close_price:0,volume:t.volume}}}};var Xr=2,eo="--",De=["BRACKET","STOP_BRACKET"],me=["POSITIONAL_TP_SL","TP_SL"];var Ae=r=>r.root_algo_order_id!==r.algo_order_id&&(r.algo_type==="TAKE_PROFIT"||r.algo_type==="STOP_LOSS"),to=r=>!!r&&De.includes(r);var Be=r=>r.type==="CLOSE_POSITION",_t=r=>Be(r)&&r.is_activated,vt=r=>Ae(r)&&r.is_activated,Ve=r=>r.root_algo_order_algo_type==="TP_SL"||to(r.root_algo_order_algo_type)&&r.is_activated,St=(r,e)=>{let t=r.algo_type,o={TAKE_PROFIT:i18n.i18n.t("tpsl.takeProfit"),STOP_LOSS:i18n.i18n.t("tpsl.stopLoss")}[t];return o||null},It=r=>{let e=new Map,t=1;return [...r].reverse().filter(Ve).forEach(o=>{o.root_algo_order_id&&!e.has(o.root_algo_order_id)&&e.set(o.root_algo_order_id,t++);}),e},Tt=(r,e)=>{let t=Math.abs(r.type==="CLOSE_POSITION"?e.balance:r.quantity),o=r.side==="SELL"?1:-1,i=e.open.toString();return {estPnl:new utils.Decimal(r.trigger_price).minus(i??0).times(t).times(o).toString(),quantity:t,openPrice:i}},Ot=r=>r!==void 0&&r!==""?new utils.Decimal(r).todp(Xr,utils.Decimal.ROUND_FLOOR):eo;function Ne(){let[r,{cancelOrder:e,cancelAlgoOrder:t,cancelTPSLChildOrder:o}]=hooks.useOrderStream({status:types.OrderStatus.INCOMPLETE});return ui.useCallback(i=>{if(i.algo_order_id){if(me.includes(i.root_algo_order_algo_type)){let s=r?.find(a=>a.algo_order_id===i.root_algo_order_id);return s.child_orders.every(a=>!!a.trigger_price)?o(i.algo_order_id,i.root_algo_order_id):t(s.algo_order_id,i.symbol).then()}return t(i.algo_order_id,i.symbol).then()}return e(i.order_id,i.symbol).then()},[e,r])}function He(r){hooks.useEventEmitter();let [,{updateOrder:t,cancelAlgoOrder:o,updateAlgoOrder:i,updateTPSLOrder:s}]=hooks.useOrderStream({status:types.OrderStatus.INCOMPLETE});return ui.useCallback((n,a)=>{if(n.algo_order_id)if(me.includes(n.root_algo_order_algo_type)){let l=[{order_id:n.algo_order_id,trigger_price:new utils.Decimal(a.value).toString()}];return s(n.root_algo_order_id,l).then(u=>{}).catch(u=>{r&&r.error(u.message);})}else {if(De.includes(n.algo_type))return i(n.algo_order_id,{order_price:new utils.Decimal(a.value).toString()}).then(l=>{}).catch(l=>{r&&r.error(l.message);});{let l={quantity:n.quantity,trigger_price:n.trigger_price,symbol:n.symbol,price:n.price,algo_order_id:n.algo_order_id};return n.order_tag&&(l.order_tag=n.order_tag),a.type==="price"&&(l.price=new utils.Decimal(a.value).toString()),a.type==="trigger_price"&&(l.trigger_price=new utils.Decimal(a.value).toString()),i(n.algo_order_id,l).then(u=>{}).catch(u=>{r&&r.error(u.message);})}}let c={order_price:n.price?.toString(),order_quantity:n.quantity.toString(),symbol:n.symbol,order_type:n.type,side:n.side,visible_quantity:0,reduce_only:n.reduce_only};return new utils.Decimal(n.visible_quantity??n.visible??0).eq(n.quantity)&&delete c.visible_quantity,Object.keys(n).includes("reduce_only")||delete c.reduce_only,n.order_tag&&(c.order_tag=n.order_tag),a.type==="price"&&(c.order_price=new utils.Decimal(a.value).toString()),t(n.order_id,c).then(l=>{}).catch(l=>{r.error(l.message);})},[t])}function Ue(r){let {onSubmit:e}=hooks.useOrderEntry_deprecated({symbol:r,side:types.OrderSide.BUY,order_type:types.OrderType.MARKET},{watchOrderbook:true});return {sendLimitOrder:()=>{},sendMarketOrder:s=>(s.reduce_only=false,e(s).catch(n=>{ui$1.toast.error(n);}))}}var ho=r=>e=>r(e),bo=({closeConfirm:r,colorConfig:e,onToast:t,mode:o,symbol:i})=>{let s=Ne(),n=He(t),a=hooks.useSymbolsInfo(),c=ui.useCallback(g=>r&&r(g),[r]),{sendMarketOrder:l,sendLimitOrder:u}=Ue(i),m=ui.useCallback(g=>{if(a)return {baseMin:a[g]("base_min"),baseMax:a[g]("base_max"),baseTick:a[g]("base_tick"),quoteTick:a[g]("quote_tick")}},[a]),h=ui.useRef({cancelOrder:s,closePosition:c,editOrder:n,colorConfig:e,sendLimitOrder:u,getSymbolInfo:m,sendMarketOrder:ho(l),mode:o});return ui.useEffect(()=>{h.current.getSymbolInfo=m;},[a]),ui.useEffect(()=>{h.current.sendLimitOrder=u,h.current.sendMarketOrder=l;},[u,l]),ui.useEffect(()=>{h.current.closePosition=c;},[r]),ui.useEffect(()=>{h.current.cancelOrder=s;},[s]),h.current},Lt=bo;var Pt={1:{startOf:"minute",period:0},3:{startOf:"hour",period:3*60*1e3},5:{startOf:"hour",period:5*60*1e3},15:{startOf:"hour",period:15*60*1e3},30:{startOf:"hour",period:30*60*1e3},60:{startOf:"hour",period:0},120:{startOf:"day",period:2*60*60*1e3},240:{startOf:"day",period:4*60*60*1e3},480:{startOf:"day",period:8*60*60*1e3},720:{startOf:"day",period:12*60*60*1e3},D:{startOf:"day",period:0},"1D":{startOf:"day",period:0},"3D":{startOf:"year",period:3*24*60*60*1e3},"5D":{startOf:"year",period:5*24*60*60*1e3},"1W":{startOf:"week",period:0},"1M":{startOf:"month",period:0}};function Rt(r,e,t,o){let{startOf:i,period:s}=Pt[t],n=new Date(r.updated_time).getTime(),a=dateFns.startOfSecond(n).getTime();i==="minute"?a=dateFns.startOfMinute(n).getTime():i==="hour"?a=dateFns.startOfHour(n).getTime():i==="day"?a=dateFns.startOfDay(n).getTime():i==="month"?a=dateFns.startOfMonth(n).getTime():i==="year"?a=dateFns.startOfYear(n).getTime():i==="week"?a=dateFns.startOfWeek(n).getTime():i==="month"&&(a=dateFns.startOfMonth(n).getTime());let c=s===0?a:Math.floor((n-a)/s)*s+a;e[c]||(e[c]={BUY:[],SELL:[]}),e[c][r.side].length<5&&(e[c][r.side].push(r),o.push(r));}var Et=(r,e)=>{let t=[],o={};return Pt[e]?(r.forEach(i=>{if(i.child_orders)for(let s of i.child_orders)s.is_activated&&s.algo_status===types.OrderStatus.FILLED&&Rt(s,o,e,t);else Rt(i,o,e,t);}),t):[]};var fe=class r{constructor(e,t){this.interval="1D";this.changeInterval=e=>{let t=()=>{this.renderExecutions(this.filledOrders,this.basePriceDecimal),this.instance.activeChart().onDataLoaded().unsubscribe(null,t);};this.interval=e,this.instance.activeChart().onDataLoaded().subscribe(null,t);};this.instance=e,this.executions=[],this.filledOrders=[],this.basePriceDecimal=0,this.broker=t,this.subscribeIntervalChange();}async subscribeIntervalChange(){this.interval=this.instance.symbolInterval().interval;let e=this.changeInterval;this.instance.activeChart().onIntervalChanged().subscribe(null,e);}renderExecutions(e,t){this.filledOrders=e,this.basePriceDecimal=t,this.interval&&(this.removeAll(),Et(e,this.interval).forEach(o=>{this.executions.push(this.drawExecution(o,t));}));}removeAll(){this.executions.forEach(e=>e.remove()),this.executions=[];}static getExecutionInfo(e,t){let o=e.side,i=e.average_executed_price||e.child_orders?.find(n=>!!n.average_executed_price)?.average_executed_price||0,s=new utils.Decimal(i).todp(t,utils.Decimal.ROUND_FLOOR).toString();return `${o==="BUY"?i18n.i18n.t("common.buy"):i18n.i18n.t("common.sell")} ${e.total_executed_quantity} @${utils.commify(s)}`}drawExecution(e,t){let o=e.side,i=e.average_executed_price||e.child_orders?.find(a=>!!a.average_executed_price)?.average_executed_price||0,s=new Date(e.updated_time).getTime()/1e3,n=this.broker.colorConfig;return this.instance.activeChart().createExecutionShape().setArrowHeight(9).setTooltip(r.getExecutionInfo(e,t)).setTime(s).setPrice(i).setArrowColor(o==="BUY"?n.upColor:n.downColor).setDirection(o==="BUY"?"buy":"sell")}unsubscribeIntervalChange(){let e=this.changeInterval;try{this.instance.activeChart().onIntervalChanged().unsubscribe(null,e);}catch(t){t instanceof Error&&t.message;}}destroy(){this.removeAll(),this.unsubscribeIntervalChange();}};var Z=r=>{if(r!=null)return r.algo_order_id||r.order_id};var he=class{constructor(){this.quantityTpslNoMap=new Map,this.tpslPnlMap=new Map,this.positions=null;}getQuantityTpslNoMap(){return this.quantityTpslNoMap}getTpslPnlMap(){return this.tpslPnlMap}getFormattedEstPnl(e){if(this.positions===null)return "";let t=this.positions[0];if(!t)return "";let{estPnl:o}=Tt(e,t);return Ot(o)}prepareTpslPnlMap(e){let t=[];return e.forEach(o=>{let i=Z(o);if(i&&vt(o)){let s=this.tpslPnlMap.get(i),n=this.getFormattedEstPnl(o);s!==n&&(t.push(i),this.tpslPnlMap.set(i,n));}}),t}prepareQuantityTpslNoMap(e){this.quantityTpslNoMap=It(e);}recalculatePnl(e,t){return this.positions=e,this.prepareTpslPnlMap(t)}clear(){this.positions=null,this.quantityTpslNoMap.clear(),this.tpslPnlMap.clear();}};var L=class L{constructor(e,t){this.instance=e,this.pendingOrderLineMap=new Map,this.pendingOrders=[],this.broker=t,this.tpslCalService=new he;}renderPendingOrders(e){e&&(this.pendingOrders=e),this.cleanOldPendingOrders(this.pendingOrders),this.tpslCalService.prepareTpslPnlMap(this.pendingOrders),this.tpslCalService.prepareQuantityTpslNoMap(this.pendingOrders),this.pendingOrders.forEach(t=>this.renderPendingOrder(t));}updatePositions(e){let t=this.tpslCalService.recalculatePnl(e,this.pendingOrders);this.pendingOrders.filter(o=>t.includes(Z(o))).forEach(o=>this.renderPendingOrder(o));}renderPendingOrder(e){let t=L.getOrderId(e);if(!t)return;let o=this.drawOrderLine(t,e);o&&this.pendingOrderLineMap.set(t,o);}cleanOldPendingOrders(e){let t=new Set(e.map(o=>L.getOrderId(o)));this.pendingOrderLineMap.forEach((o,i)=>!t.has(i)&&this.removePendingOrder(i));}removePendingOrder(e){if(e===void 0)return;let t=this.pendingOrderLineMap.get(e);t&&(this.pendingOrderLineMap.delete(e),t.remove());}getBaseOrderLine(){let e=this.broker.colorConfig;return this.instance.activeChart().createOrderLine().setCancelTooltip(i18n.i18n.t("orders.cancelOrder")).setQuantityTextColor(e.qtyTextColor).setQuantityBackgroundColor(e.chartBG).setBodyBackgroundColor(e.chartBG).setCancelButtonBackgroundColor(e.chartBG).setLineStyle(1).setBodyFont(e.font).setQuantityFont(e.font)}static getCombinationType(e){let{algo_type:t,type:o}=e;if((t==="STOP_LOSS"||t==="TAKE_PROFIT"||t==="STOP")&&o==="LIMIT")return "STOP_LIMIT";if((t==="STOP_LOSS"||t==="TAKE_PROFIT"||t==="STOP")&&o==="MARKET")return "STOP_MARKET";if(t==="BRACKET"){if(o==="LIMIT")return "BRACKET_LIMIT";if(o==="MARKET")return "BRACKET_MARKET"}return "LIMIT"}static getText(e){let t=L.getCombinationType(e);return t==="STOP_LIMIT"||t==="STOP_MARKET"||t==="STOP_BRACKET_LIMIT"||t==="STOP_BRACKET_MARKET"?e.type==="LIMIT"?`${i18n.i18n.t("orderEntry.orderType.stopLimit")} ${utils.commify(e.price)}`:i18n.i18n.t("orderEntry.orderType.stopMarket"):i18n.i18n.t("orderEntry.orderType.limit")}static getOrderPrice(e){return e.trigger_price||e.price}getTPSLTextWithTpsl(e,t){return Z(t),e}getTPSLText(e){let t=St(e,this.tpslCalService.getQuantityTpslNoMap());return t?this.getTPSLTextWithTpsl(t,e):null}getOrderQuantity(e){if(e.algo_order_id){if(_t(e)||Be(e))return "100%";if(Ve(e)){let o=new utils.Decimal(e.quantity).minus(e.executed??0).div(new utils.Decimal(e.position_qty)).mul(100).todp(2).toNumber();return `${Math.min(Math.abs(o),100).toString()}%`}}return utils.commify(new utils.Decimal(e.quantity).toString())}drawOrderLine(e,t){let o=Ae(t)?this.getTPSLText(t):L.getText(t);if(o===null)return null;let i=this.broker.colorConfig,s=this.pendingOrderLineMap.get(e)??this.getBaseOrderLine(),n=t.side==="BUY"?i.upColor:i.downColor;t.side==="BUY"?i.pnlUpColor:i.pnlDownColor;let c=L.getOrderPrice(t),l=100,u=this.getOrderQuantity(t),m=i.textColor;return s.setText(o).setCancelButtonIconColor(i.closeIcon).setCancelButtonBorderColor(n).setBodyTextColor(m).setBodyBorderColor(n).setQuantityBorderColor(n).setQuantityTextColor(n).setLineColor(n).setLineLength(l).setQuantity(u??"").setPrice(c),this.broker.mode!==3?(s.onCancel(null,()=>this.broker.cancelOrder(t)),this.applyEditOnMove(s,t)):s.setEditable(false).setCancellable(false),s}static getOrderEditKey(e){let t=this.getCombinationType(e);if(["LIMIT","BRACKET_LIMIT"].includes(t))return "price";if(t==="STOP_LIMIT"||t==="STOP_MARKET"||e.rootAlgoOrderAlgoType==="POSITIONAL_TP_SL"||e.rootAlgoOrderAlgoType==="TP_SL"||e.rootAlgoOrderAlgoType==="BRACKET"||e.rootAlgoOrderAlgoType==="STOP_BRACKET")return "trigger_price"}applyEditOnMove(e,t){let o=L.getOrderEditKey(t);e.onMove(()=>{this.broker.editOrder(t,{type:o,value:`${e.getPrice()}`}).then(i=>{i.success||this.renderPendingOrder(t);}).catch(()=>this.renderPendingOrder(t));});}removeAll(){this.pendingOrderLineMap.forEach(e=>e.remove()),this.pendingOrderLineMap.clear(),this.pendingOrders=[],this.tpslCalService.clear();}};L.getOrderId=e=>{if(e!=null)return e.algo_order_id||e.order_id};var ye=L;var Ce=class r{constructor(e,t){this.instance=e,this.currentSymbol="",this.broker=t,this.positionLines={},this.lastPositions=null;}renderPositions(e){if(e===null||e.length===0){this.removePositions();return}this.lastPositions?.length!==e.length&&this.removePositions(),e[0].symbol!==this.currentSymbol&&(this.removePositions(),this.currentSymbol=e[0].symbol),e.forEach((t,o)=>this.drawPositionLine(t,o)),this.lastPositions=e;}getBasePositionLine(){return this.instance.activeChart().createPositionLine().setTooltip(i18n.i18n.t("positions.closePosition")).setQuantityBackgroundColor(this.broker.colorConfig.chartBG).setCloseButtonBackgroundColor(this.broker.colorConfig.chartBG).setBodyTextColor(this.broker.colorConfig.textColor).setQuantityTextColor(this.broker.colorConfig.qtyTextColor).setBodyFont(this.broker.colorConfig.font).setQuantityFont(this.broker.colorConfig.font).setLineLength(100).setLineStyle(1)}static getPositionQuantity(e){return utils.commify(new utils.Decimal(e).todp(4,utils.Decimal.ROUND_DOWN).toString())}static getPositionPnL(e,t){let o=i18n.i18n.t("tpsl.pnl"),i=new utils.Decimal(e).toFixed(t,utils.Decimal.ROUND_DOWN);return new utils.Decimal(e).eq(0)?`${o} 0`:new utils.Decimal(e).greaterThan(0)?`${o} +${utils.commify(i)}`:`${o} ${utils.commify(i)}`}removePositions(){Object.keys(this.positionLines).forEach(e=>{this.positionLines[Number(e)].remove(),delete this.positionLines[Number(e)];});}drawPositionLine(e,t){let o=this.broker.colorConfig,i=e.unrealPnl>=0,s=e.balance>=0,n=o.pnlZoreColor,a=new utils.Decimal(e.unrealPnl);a.greaterThan(0)?n=o.upColor:a.lessThan(0)&&(n=o.downColor);i?o.pnlUpColor:o.pnlDownColor;let l=s?o.upColor:o.downColor,u=new utils.Decimal(e.open).toNumber();this.positionLines[t]=this.positionLines[t]??this.getBasePositionLine(),this.positionLines[t].setQuantity(r.getPositionQuantity(e.balance)).setPrice(u).setCloseButtonIconColor(o.closeIcon).setCloseButtonBorderColor(l).setBodyBackgroundColor(n).setQuantityTextColor(l).setBodyBorderColor(n).setLineColor(l).setQuantityBorderColor(l).setText(r.getPositionPnL(e.unrealPnl,e.unrealPnlDecimal)),this.broker.mode!==3&&this.positionLines[t].onClose(null,()=>{this.broker.closePosition(e);});}};var _e=class{constructor(e,t,o){this.instance=e,this.positionLineService=new Ce(e,o),this.orderLineService=new ye(e,o),this.executionService=new fe(e,o);}async renderPositions(e){await this.chartReady(),await this.onDataLoaded(),this.positionLineService.renderPositions(e),this.orderLineService.updatePositions(e);}async renderPendingOrders(e){await this.chartReady(),this.orderLineService.renderPendingOrders(e);}async renderFilledOrders(e,t){await this.chartReady(),await this.onDataLoaded(),this.executionService.renderExecutions(e,t);}remove(){this.orderLineService.removeAll(),this.positionLineService.removePositions(),this.executionService.destroy();}onDataLoaded(){return this.instance.activeChart().symbolExt()?Promise.resolve():new Promise(e=>this.instance.activeChart().onDataLoaded().subscribe(null,()=>{e();},true))}chartReady(){return new Promise(e=>this.instance.onChartReady(()=>{try{this.instance.activeChart().dataReady(()=>e());}catch(t){t.toString().includes("tradingViewApi");}}))}};function Ge(r,e){let[t,o]=ui.useState(),i=ui.useRef(),{state:s}=hooks.useAccount(),[n]=hooks.useLocalStorage("unPnlPriceBasis","markPrice"),[{rows:a},c]=hooks.usePositionStream(r,{calcMode:n}),[l]=hooks.useOrderStream({status:types.OrderStatus.INCOMPLETE,symbol:r}),m=hooks.useSymbolsInfo()?.[r],h=m("quote_dp"),[g]=hooks.useOrderStream({symbol:r,status:types.OrderStatus.FILLED,size:500}),b=ui.useRef((I,v,M)=>{i.current&&i.current.remove(),i.current=new _e(I,v,M),o(i.current);}),q=ui.useRef(()=>{i.current?.remove(),i.current=void 0;});return ui.useEffect(()=>{if(s.status<types.AccountStatusEnum.EnableTrading&&s.status!==types.AccountStatusEnum.EnableTradingWithoutConnected){t?.renderPositions([]);return}if(!e||!e.position){t?.renderPositions([]);return}let I=(a??[]).filter(v=>v.symbol===r).map(v=>({symbol:v.symbol,open:v.average_open_price,balance:v.position_qty,closablePosition:9999,unrealPnl:v.unrealized_pnl??0,interest:0,unrealPnlDecimal:2,basePriceDecimal:4}));t?.renderPositions(I);},[t,a,r,e,s]),ui.useEffect(()=>{if(!e||!e.buySell){t?.renderFilledOrders([],6);return}let I=g?.filter(v=>v.symbol===r);t?.renderFilledOrders(I??[],h??6);},[t,g,r,h,e]),ui.useEffect(()=>{let I=[],v=[],M=[],W=[],D=[];if(s.status<types.AccountStatusEnum.EnableTrading&&s.status!==types.AccountStatusEnum.EnableTradingWithoutConnected){t?.renderPendingOrders([]);return}let G=(a??[]).find(C=>C.symbol===r);l?.forEach(C=>{if(r===C.symbol){if(!C.algo_order_id)M.push(C);else if(C.algo_order_id)if(C.algo_type==="POSITIONAL_TP_SL")for(let T of C.child_orders)T.root_algo_order_algo_type=C.algo_type,T.trigger_price&&T.status!==types.OrderStatus.FILLED&&v.push(T);else if(C.algo_type==="TP_SL"){if(G)for(let T of C.child_orders)T.root_algo_order_algo_type=C.algo_type,T.position_qty=G.position_qty,T.trigger_price&&T.status!==types.OrderStatus.FILLED&&I.push(T);}else C.algo_type==="STOP_LOSS"||C.algo_type==="TAKE_PROFIT"?W.push(C):C.algo_type==="BRACKET"&&D.push(C);}}),e&&(e.positionTpsl||(v=[]),e.tpsl||(I=[]),e.limitOrders||(M=[],D=[]),e.stopOrders||(W=[])),t?.renderPendingOrders(I.concat(v).concat(M).concat(W).concat(D));},[t,l,r,e,a,s.status]),[b.current,q.current]}function Eo(r){r.setBrokerConnectionAdapter=function(e){let t={subscribe:()=>{},unsubscribe:()=>{},unsubscribeAll:()=>{}};Object.defineProperty(e,"_ordersCache",{get:function(){return {start:()=>{},stop:()=>{},update:()=>{},partialUpdate:()=>{},fullUpdate:()=>{},getObjects:async()=>[],updateDelegate:t,partialUpdateDelegate:t}},set:()=>{}}),e._waitForOrderModification=async()=>true,this._adapter=e;};}function ko(r,e){r.onChartReady(()=>{e.silentOrdersPlacement().subscribe(t=>{t||(e.silentOrdersPlacement().setValue(true),r&&(r._iFrame.contentDocument.querySelector(".wrapper-3X2QgaDd").className="wrapper-3X2QgaDd highButtons-3X2QgaDd"),e.sellBuyButtonsVisibility()?.setValue(false));});});}function Qe(r,e){Eo(e),ko(r,e);}var Nt=(r,e)=>new Promise(t=>{let o=r.querySelector(e);o&&t(o);let i=new MutationObserver(()=>{let s=r.querySelector(e);s&&(t(s),i.disconnect());});i.observe(r,{childList:true,subtree:true});});var Ie=class{constructor({iframeDocument:e}){this.iframeDocument=e;}defaultHack(){this.showFavoriteStarByDefault();}showFavoriteStarByDefault(){Nt(this.iframeDocument,".dropdown-2R6OKuTS").then(()=>{this.iframeDocument.querySelectorAll(".toolbox-2IihgTnv.showOnHover-2IihgTnv").forEach(t=>{t.style.opacity="1";});});}};var Mo=r=>{let e=["header_symbol_search","volume_force_overlay","trading_account_manager","drawing_templates","open_account_manager","right_toolbar","support_multicharts","header_layouttoggle","order_panel","order_info","trading_notifications","display_market_status","broker_button","add_to_watchlist","chart_crosshair_menu","header_fullscreen_button","header_widget"];return r===3&&(e=[...e,"left_toolbar","timeframes_toolbar","go_to_date","timezone_menu","create_volume_indicator_by_default","buy_sell_buttons"]),r===0?e=[...e,"header_widget","left_toolbar","timeframes_toolbar","buy_sell_buttons"]:r===1&&(e=[...e,"left_toolbar","timeframes_toolbar","buy_sell_buttons"]),e};function $e(r,e){return {...r,disabled_features:Mo(e),enabled_features:["hide_left_toolbar_by_default","order_panel_close_button","iframe_loading_compatibility_mode"],auto_save_delay:.1,broker_config:{configFlags:{supportStopLimitOrders:true,supportReversePosition:false}}}}var Ze=r=>`${r}_adapter`,Te={"trading.chart.proterty":JSON.stringify({showSellBuyButtons:0,noConfirmEnabled:1,qweqrq:0,showPricesWithZeroVolume:1,showSpread:1,orderExecutedSoundParams:'{"enabled":0,"name":"alert/alarm_clock"}'}),"hint.startFocusedZoom":"true"},E=new Map;var Do=(r,e,t)=>{let o=Ze(r);try{let i=e,s=i?JSON.parse(i):void 0,n=t?JSON.parse(t):Te;return i&&E.set(r,i),t&&E.set(o,t),{savedData:s,adapterSetting:n}}catch{}return {savedData:void 0,adapterSetting:Te}},Ht=async(r,e)=>{let t=Ze(r),o=localStorage.getItem(r)||"",i=localStorage.getItem(t)||"";try{if(E.has(r)&&E.has(t))return {savedData:JSON.parse(E.get(r)),adapterSetting:JSON.parse(E.get(t))}}catch{}return Do(r,o,i)},Ut=async(r,e,t)=>{e&&(localStorage.setItem(r,e),E.set(r,e));},Ft=async(r,e,t)=>{let o=Ze(r);e&&(localStorage.setItem(o,e),E.set(o,e));};var Kt=(r,e)=>{let t=null,o=(...i)=>{t&&window.clearTimeout(t),t=setTimeout(()=>{r(...i);},e);};return o.cancel=()=>{t&&window.clearTimeout(t),t=null;},o},Ao="chartProp_default",qt=300,Oe=class{constructor(e){this._instance=null;this._onClick=null;this._datafeed=null;this._chartKey=Ao;this._adapterSetting=Te;this._savedData=null;this._isLoggedIn=false;this.debounceSaveChart=Kt(()=>{try{this._instance?.save(e=>{Object.is(this._savedData,e)||(this._savedData=e,Ut(this._chartKey,JSON.stringify(e),this._isLoggedIn));});}catch{}},qt*2);this.debounceSaveChartAdapterSetting=Kt(()=>{Ft(this._chartKey,JSON.stringify(this._adapterSetting),this._isLoggedIn);},qt);this._create(e);}remove(){this.unsubscribeClick(),this._datafeed?.remove(),this._broker?.remove(),this._instance?.remove(),this.debounceSaveChart.cancel(),this.debounceSaveChartAdapterSetting.cancel();}updateOverrides(e){this.instance&&this.instance.applyOverrides(e);}setSymbol(e,t,o){try{this._instance?.onChartReady(()=>{let i=t??this._instance?.symbolInterval()?.interval;i||(i=1),this._instance?.setSymbol(e,i,o);});}catch{}}executeActionById(e){try{this._instance?.onChartReady(()=>{this._instance?.activeChart().executeActionById(e);});}catch{}}changeLineType(e){try{this._instance?.onChartReady(()=>{this._instance?.activeChart().setChartType(e);});}catch{}}subscribeClick(e){this._onClick=e,this._instance?.onChartReady(()=>{this._instance?._iFrame.contentDocument?.addEventListener("click",this._onClick);});}unsubscribeClick(){this._instance?._iFrame.contentDocument?.removeEventListener("click",this._onClick);}get instance(){return this._instance}chartHack(){this._instance?.onChartReady(()=>{let e=this._instance._iFrame.contentWindow.document;new Ie({iframeDocument:e}).defaultHack();});}subscribeAutoSave(){this._instance?.onChartReady(()=>{this._instance?.subscribe("onAutoSaveNeeded",()=>{this.debounceSaveChart();}),this._instance?.activeChart().onVisibleRangeChanged().subscribe(null,()=>{this.debounceSaveChart();});});}async _create({options:e,chartKey:t,mode:o,onClick:i}){let s=e.getBroker,n={fullscreen:e.fullscreen??true,autosize:e.autosize??false,timezone:e.timezone,symbol:e.symbol,library_path:e.libraryPath,interval:e.interval??"1",custom_css_url:e.customCssUrl,custom_font_family:e.customFontFamily,datafeed:e.datafeed,studies_overrides:e.studiesOverrides,locale:e.locale,theme:e.theme,loading_screen:e.loadingScreen,overrides:e.overrides,container:e.container,favorites:{intervals:["1","3","5","15","30","60","240","1D","1W","1M"],chartTypes:["Area","Line"]},broker_factory:s?l=>(this._broker&&this._broker.remove(),this._broker=s(this._instance,l),this._broker):void 0};this._datafeed=e.datafeed,t&&(this._chartKey=t);let{savedData:a,adapterSetting:c}=await Ht(this._chartKey,this._isLoggedIn);this._adapterSetting=c,this._savedData=a,this._instance=new TradingView.widget({...$e(n,o),interval:c["chart.lastUsedTimeBasedResolution"]??n.interval,saved_data:a,settings_adapter:{initialSettings:c,setValue:(l,u)=>{this._adapterSetting={...this._adapterSetting,[l]:u},this.debounceSaveChartAdapterSetting();},removeValue:()=>{}}}),this._instance.onChartReady(()=>{e.symbol&&this._instance?.activeChart().symbol()!==O(e.symbol)&&this.setSymbol(e.symbol);}),this.subscribeAutoSave(),this.subscribeClick(i),this.chartHack();}};var $o="SDK_Tradingview",Zo="SDK_Moblie_Tradingview",zo=r=>r?Zo:$o,jo=r=>r==="id"?"id_ID":r;function Je(r){let{scriptSRC:e,libraryPath:t,customCssUrl:o,overrides:i,studiesOverrides:s,symbol:n,theme:a,loadingScreen:c,mode:l,colorConfig:u,locale:m=jo,classNames:h}=r,g=i18n.useLocaleCode(),b=ui.useRef(),q=hooks.useConfig("apiBaseUrl"),{state:I}=hooks.useAccount(),[v,M]=ui.useState(types.OrderSide.SELL),W=hooks.useSymbolsInfo(),[D,G]=hooks.useLocalStorage(types.TradingviewFullscreenKey,false),{onSubmit:C,submitting:T}=hooks.useOrderEntry_deprecated({symbol:n??"",side:v,order_type:types.OrderType.MARKET},{watchOrderbook:true}),[at,Tr]=ui.useState(()=>{let d=localStorage.getItem(V.displayControlSetting);return d?JSON.parse(d):{position:true,buySell:true,limitOrders:true,stopOrders:true,tpsl:true,positionTpsl:true}}),[lt,Or]=ui.useState(()=>{let d=localStorage.getItem(V.interval);return d||"15"}),[xr,Lr]=ui.useState(()=>{let d=localStorage.getItem(V.lineType);return d||"1"}),Le=hooks.useMediaQuery(types.MEDIA_TABLET),we=ui.useMemo(()=>Object.assign({},mt,u??{}),[u]),wr=ui.useMemo(()=>typeof c=="object"?c:{backgroundColor:Pe},[c]),ee=hooks.useWS(),[Q,Rr]=ui.useState(false),Pr=d=>{let te=W[n];if(!te)return;let re=new utils.Decimal(d.balance).greaterThan(0)?types.OrderSide.SELL:types.OrderSide.BUY,dt={order_quantity:new utils.Decimal(d.balance).abs().toNumber(),symbol:n,order_type:types.OrderType.MARKET,side:re,reduce_only:true};M(re),ui$1.modal.show("MarketCloseConfirmID",{base:te("base"),quantity:d.balance,onConfirm:async()=>C(dt).catch($=>{typeof $=="string"?ui$1.toast.error($):ui$1.toast.error($.message);}),submitting:T});},A=ui.useRef(null),ct=ui.useMemo(()=>!(I.status<types.AccountStatusEnum.EnableTrading&&I.status!==types.AccountStatusEnum.EnableTradingWithoutConnected),[I]),ut=Lt({closeConfirm:Pr,colorConfig:we,onToast:ui$1.toast,symbol:n??"",mode:l}),[Er,kr]=Ge(n,at),Mr=()=>{G(!D),r.onFullScreenChange?.(!D);},Dr=d=>{b.current&&(localStorage.setItem(V.interval,d),Or(d),b.current.setSymbol(n,d));},Ar=d=>{b.current&&(localStorage.setItem(V.lineType,d),Lr(d),b.current.changeLineType(Number(d)));},Br=d=>{localStorage.setItem(V.displayControlSetting,JSON.stringify(d)),Tr(d);},Vr=()=>{b.current&&b.current.executeActionById("chartProperties");},Nr=()=>{b.current&&b.current.executeActionById("insertIndicator");};return ui.useEffect(()=>{if(e&&A.current&&!Q){let d=document.createElement("script");d.setAttribute("data-nscript","afterInteractive"),d.src=e,d.async=true,d.type="text/javascript",d.onload=()=>{Rr(true);},d.onerror=()=>{},A.current.appendChild(d);}},[A,Q,e]),ui.useEffect(()=>{if(!n||!Q||!e)return;let d=gt(we,Le),te=i?Object.assign({},d.overrides,i):d.overrides,re=s?Object.assign({},d.studiesOverrides,s):d.studiesOverrides;if(A.current){let $={options:{fullscreen:false,autosize:true,symbol:ie(n),locale:typeof m=="function"?m(g):m,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,container:A.current,libraryPath:t,customCssUrl:o,interval:lt??"1",theme:a??"dark",loadingScreen:wr??{},overrides:te,studiesOverrides:re,datafeed:new pe(q,ee),contextMenu:{items_processor:async Re=>Re},getBroker:(Re,pt)=>(Qe(Re,pt),ft(pt,ut))},chartKey:zo(Le),mode:l,onClick:()=>{}};b.current=new Oe($);}return ()=>{b.current?.remove();}},[Q,Le,l,b,A,Q,e,we,m,g]),ui.useEffect(()=>{ee.on("status:change",d=>{!d.isPrivate&&d.isReconnect&&typeof window.onResetCacheNeededCallback=="function"&&(window.onResetCacheNeededCallback(),b.current?.instance.activeChart()?.resetData());},"tradingview");},[ee]),ui.useEffect(()=>(b.current&&b.current.instance&&b.current.instance.onChartReady(()=>{ct&&b.current.instance&&Er(b.current.instance,void 0,ut);}),()=>{kr();}),[b.current,ct]),ui.useEffect(()=>{if(!n||!b.current)return;b.current?.setSymbol(n);let d=new U(ee);return d.subscribeSymbol(n),()=>{d.unsubscribeKline(n);}},[n]),{tradingViewScriptSrc:e,chartRef:A,changeDisplaySetting:Br,displayControlState:at,interval:lt,changeInterval:Dr,lineType:xr,changeLineType:Ar,openChartSetting:Vr,openChartIndicators:Nr,symbol:n,onFullScreenChange:Mr,classNames:h,fullscreen:D}}var Y=r=>jsxRuntime.jsx("svg",{viewBox:"0 0 12 12",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",...r,children:jsxRuntime.jsx("g",{id:"Caret-down",children:jsxRuntime.jsx("path",{id:"Vector",d:"M3.00349 3.9978C2.59149 3.9978 2.36564 4.4653 2.61289 4.7948C2.98789 5.2948 5.23784 8.29479 5.61289 8.79479C5.81289 9.06128 6.20974 9.06128 6.40974 8.79479L9.40974 4.7948C9.65694 4.4653 9.41554 3.9978 9.00349 3.9978H3.00349Z"})})}),Xe=r=>jsxRuntime.jsx("svg",{viewBox:"0 0 18 18",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",...r,children:jsxRuntime.jsx("g",{id:"Display settings",children:jsxRuntime.jsx("path",{id:"Union",fillRule:"evenodd",clipRule:"evenodd",d:"M15.0571 10.9856L11.6295 5.06523L8.71377 10.8968C8.38933 11.5456 7.54464 11.7223 6.98733 11.2579L5.75311 10.2294L2.83709 14.7654L1.57532 13.9543L4.49134 9.41824C4.97892 8.65978 6.0207 8.49981 6.71338 9.07705L7.58387 9.80246L10.5991 3.77192C10.9997 2.97082 12.1302 2.93624 12.579 3.71137L14.6517 7.29147C14.7714 7.03643 15.0305 6.85983 15.3309 6.85983C15.7451 6.85983 16.0809 7.19562 16.0809 7.60983C16.0809 8.02405 15.7451 8.35983 15.3309 8.35983C15.31 8.35983 15.2892 8.35897 15.2687 8.35729L16.3553 10.2341L15.0571 10.9856ZM2.58093 6.85983C2.16672 6.85983 1.83093 7.19562 1.83093 7.60983C1.83093 8.02405 2.16672 8.35983 2.58093 8.35983C2.99515 8.35983 3.33093 8.02405 3.33093 7.60983C3.33093 7.19562 2.99515 6.85983 2.58093 6.85983ZM4.83093 6.85983C4.41672 6.85983 4.08093 7.19562 4.08093 7.60983C4.08093 8.02405 4.41672 8.35983 4.83093 8.35983C5.24515 8.35983 5.58093 8.02405 5.58093 7.60983C5.58093 7.19562 5.24515 6.85983 4.83093 6.85983ZM6.33093 7.60983C6.33093 7.19562 6.66672 6.85983 7.08093 6.85983C7.49515 6.85983 7.83093 7.19562 7.83093 7.60983C7.83093 8.02405 7.49515 8.35983 7.08093 8.35983C6.66672 8.35983 6.33093 8.02405 6.33093 7.60983ZM11.5809 6.85983C11.1667 6.85983 10.8309 7.19562 10.8309 7.60983C10.8309 8.02405 11.1667 8.35983 11.5809 8.35983C11.9951 8.35983 12.3309 8.02405 12.3309 7.60983C12.3309 7.19562 11.9951 6.85983 11.5809 6.85983Z"})})});var Zt=r=>jsxRuntime.jsx("svg",{viewBox:"0 0 18 18",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",...r,children:jsxRuntime.jsx("g",{id:"Indicators",children:jsxRuntime.jsx("path",{id:"Union",fillRule:"evenodd",clipRule:"evenodd",d:"M9.74483 2.25C8.96145 2.25 8.26885 2.76459 8.04549 3.51818L7.46202 5.48254H5.06262V7.08339H6.98652L5.00539 13.7532L4.31554 13.1112L3.22498 14.2831L4.4777 15.4489C5.08739 16.015 6.08317 15.7469 6.32134 14.945L8.65649 7.08339H11.6032V5.48254H9.13198L9.58033 3.97311C9.60167 3.90112 9.66833 3.85084 9.74483 3.85084H11.69V2.25H9.74483ZM10.6234 11.2354L10.2638 11.5172C10.0153 11.712 9.65591 11.6684 9.46115 11.4199C9.26639 11.1713 9.30998 10.812 9.55852 10.6172L10.1451 10.1575C10.5693 9.82514 11.1868 9.94011 11.4642 10.4005L11.4682 10.407L12.1304 11.5752L13.4594 10.3111C13.6882 10.0935 14.05 10.1025 14.2677 10.3313C14.4853 10.5601 14.4763 10.922 14.2475 11.1396L12.7116 12.6006L13.3897 13.797L13.6482 13.4503C13.8369 13.1972 14.1951 13.145 14.4483 13.3337C14.7014 13.5225 14.7536 13.8807 14.5649 14.1338L13.9917 14.9025L13.94 14.9457C13.5178 15.2981 12.8837 15.1886 12.6003 14.7226L12.5958 14.7151L11.8576 13.4129L10.3563 14.841C10.1275 15.0586 9.76561 15.0495 9.54798 14.8208C9.33036 14.592 9.3394 14.2301 9.56819 14.0125L11.2764 12.3875L10.6234 11.2354Z"})})}),zt=r=>jsxRuntime.jsx("svg",{viewBox:"0 0 18 18",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",...r,children:jsxRuntime.jsx("g",{id:"Setting",children:jsxRuntime.jsx("path",{id:"Vector",d:"M6.72589 1.84154C5.66239 2.17904 4.74515 2.72954 3.93665 3.48254C3.6869 3.71504 3.6104 4.09604 3.7724 4.39604C4.37315 5.50679 3.74464 6.69554 2.38939 6.76379C2.05789 6.78029 1.76465 7.0263 1.68665 7.34955C1.5524 7.9083 1.49915 8.37629 1.49915 8.98979C1.49915 9.50504 1.55464 10.0885 1.66339 10.6075C1.73089 10.9315 2.0129 11.1648 2.3429 11.1933C3.7064 11.311 4.3814 12.3513 3.7724 13.6773C3.6374 13.972 3.6989 14.3245 3.93665 14.545C4.73315 15.2815 5.64814 15.8013 6.72589 16.1388C7.03339 16.2348 7.38064 16.1185 7.56964 15.8575C8.40364 14.7033 9.6134 14.6995 10.4054 15.8575C10.5921 16.1298 10.9341 16.261 11.2491 16.162C12.2894 15.8343 13.2584 15.277 14.0616 14.545C14.3091 14.3193 14.3744 13.954 14.2259 13.654C13.6019 12.3948 14.3197 11.239 15.6082 11.2165C15.9502 11.2105 16.2547 10.9863 16.3349 10.654C16.4647 10.1163 16.4991 9.64829 16.4991 8.98979C16.4991 8.42429 16.4324 7.86704 16.3116 7.32629C16.2351 6.98354 15.9359 6.74054 15.5849 6.73979C14.3167 6.73754 13.6056 5.49104 14.2259 4.39604C14.3984 4.09154 14.3444 3.71804 14.0849 3.48254C13.2674 2.74004 12.2706 2.15954 11.2259 1.84154C10.9049 1.74404 10.5636 1.86404 10.3821 2.14604C9.65764 3.27179 8.30465 3.29129 7.5929 2.17004C7.41065 1.88204 7.04989 1.73879 6.72589 1.84154ZM11.2844 3.43455C11.7966 3.64905 12.2009 3.8733 12.6651 4.22505C12.1206 5.9478 13.0439 7.73729 14.9564 8.17304C15.0036 8.48279 14.9991 8.67029 14.9991 8.98979C14.9991 9.37154 15.0044 9.50579 14.9609 9.78179C13.0566 10.1763 12.1146 11.9155 12.6449 13.7538C12.1889 14.0845 11.8626 14.314 11.2904 14.5353C9.94639 13.1673 8.0804 13.1073 6.7079 14.5443C6.1724 14.3088 5.76066 14.0995 5.34441 13.7478C5.86041 11.881 4.98815 10.2693 3.05165 9.7803C2.9654 9.4383 2.9999 8.4723 3.0494 8.17905C5.0519 7.69905 5.8409 5.92679 5.34365 4.21979C5.78315 3.88904 6.1784 3.6483 6.69215 3.4398C7.9859 4.75605 9.92839 4.8873 11.2844 3.43455ZM8.99915 5.98979C7.3424 5.98979 5.99915 7.33304 5.99915 8.98979C5.99915 10.6473 7.3424 11.9898 8.99915 11.9898C10.6559 11.9898 11.9991 10.6473 11.9991 8.98979C11.9991 7.33304 10.6559 5.98979 8.99915 5.98979ZM8.99915 7.48979C9.8279 7.48979 10.4991 8.16179 10.4991 8.98979C10.4991 9.81855 9.8279 10.4898 8.99915 10.4898C8.1704 10.4898 7.49915 9.81855 7.49915 8.98979C7.49915 8.16179 8.1704 7.48979 8.99915 7.48979Z"})})}),jt=r=>jsxRuntime.jsx("svg",{viewBox:"0 0 20 20",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",...r,children:jsxRuntime.jsx("g",{id:"Bars",children:jsxRuntime.jsx("path",{id:"Union",fillRule:"evenodd",clipRule:"evenodd",d:"M12.5 15.5C12.5 15.7761 12.7239 16 13 16H14C14.2761 16 14.5 15.7761 14.5 15.5V14H16C16.2761 14 16.5 13.7761 16.5 13.5V12.5C16.5 12.2239 16.2761 12 16 12H14.5V2.5C14.5 2.22386 14.2761 2 14 2H13C12.7239 2 12.5 2.22386 12.5 2.5V4H11C10.7239 4 10.5 4.22386 10.5 4.5V5.5C10.5 5.77614 10.7239 6 11 6H12.5V15.5ZM5.5 17.5C5.5 17.7761 5.72386 18 6 18H7C7.27614 18 7.5 17.7761 7.5 17.5V10H9C9.27614 10 9.5 9.77614 9.5 9.5V8.5C9.5 8.22386 9.27614 8 9 8H7.5V4.5C7.5 4.22386 7.27614 4 7 4H6C5.72386 4 5.5 4.22386 5.5 4.5V14H4C3.72386 14 3.5 14.2239 3.5 14.5V15.5C3.5 15.7761 3.72386 16 4 16H5.5V17.5Z"})})}),Yt=r=>jsxRuntime.jsx("svg",{viewBox:"0 0 20 20",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",...r,children:jsxRuntime.jsx("g",{id:"Candles",children:jsxRuntime.jsx("path",{id:"Union",fillRule:"evenodd",clipRule:"evenodd",d:"M7.25 2.5V4H8.5C8.77614 4 9 4.22386 9 4.5V15.5C9 15.7761 8.77614 16 8.5 16H7.25V17.5C7.25 17.7761 7.02614 18 6.75 18H6.25C5.97386 18 5.75 17.7761 5.75 17.5V16H4.5C4.22386 16 4 15.7761 4 15.5V4.5C4 4.22386 4.22386 4 4.5 4H5.75V2.5C5.75 2.22386 5.97386 2 6.25 2H6.75C7.02614 2 7.25 2.22386 7.25 2.5ZM5.5 5.5V14.5H7.5V5.5H5.5ZM14.25 4.5V7H15.5C15.7761 7 16 7.22386 16 7.5V15.5C16 15.7761 15.7761 16 15.5 16H14.25V17.5C14.25 17.7761 14.0261 18 13.75 18H13.25C12.9739 18 12.75 17.7761 12.75 17.5V16H11.5C11.2239 16 11 15.7761 11 15.5V7.5C11 7.22386 11.2239 7 11.5 7H12.75V4.5C12.75 4.22386 12.9739 4 13.25 4H13.75C14.0261 4 14.25 4.22386 14.25 4.5ZM12.5 8.5V14.5H14.5V8.5H12.5Z"})})}),Jt=r=>jsxRuntime.jsx("svg",{viewBox:"0 0 20 20",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",...r,children:jsxRuntime.jsxs("g",{id:"Hollow Candles",children:[jsxRuntime.jsx("path",{id:"Subtract",fillRule:"evenodd",clipRule:"evenodd",d:"M5.5 14.5V5.5H7.5V14.5H5.5Z",fill:"white",fillOpacity:"0.12"}),jsxRuntime.jsx("path",{id:"Union",fillRule:"evenodd",clipRule:"evenodd",d:"M7.25 2.5V4H8.5C8.77614 4 9 4.22386 9 4.5V15.5C9 15.7761 8.77614 16 8.5 16H7.25V17.5C7.25 17.7761 7.02614 18 6.75 18H6.25C5.97386 18 5.75 17.7761 5.75 17.5V16H4.5C4.22386 16 4 15.7761 4 15.5V4.5C4 4.22386 4.22386 4 4.5 4H5.75V2.5C5.75 2.22386 5.97386 2 6.25 2H6.75C7.02614 2 7.25 2.22386 7.25 2.5ZM5.5 5.5V14.5H7.5V5.5H5.5ZM14.25 4.5V7H15.5C15.7761 7 16 7.22386 16 7.5V15.5C16 15.7761 15.7761 16 15.5 16H14.25V17.5C14.25 17.7761 14.0261 18 13.75 18H13.25C12.9739 18 12.75 17.7761 12.75 17.5V16H11.5C11.2239 16 11 15.7761 11 15.5V7.5C11 7.22386 11.2239 7 11.5 7H12.75V4.5C12.75 4.22386 12.9739 4 13.25 4H13.75C14.0261 4 14.25 4.22386 14.25 4.5ZM12.5 8.5V14.5H14.5V8.5H12.5Z"})]})}),Xt=r=>jsxRuntime.jsx("svg",{viewBox:"0 0 20 20",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",...r,children:jsxRuntime.jsx("g",{id:"Line",children:jsxRuntime.jsx("path",{id:"Vector 16 (Stroke)",fillRule:"evenodd",clipRule:"evenodd",d:"M18.3 2.72288C18.542 2.85596 18.6303 3.15999 18.4972 3.40195L13.495 12.4968C13.0776 13.2557 12.1061 13.5044 11.3754 13.0394L7.19878 10.3816L2.97738 17.558C2.83737 17.796 2.53092 17.8754 2.2929 17.7354L1.43097 17.2284C1.19295 17.0884 1.1135 16.7819 1.25351 16.5439L5.73746 8.92122C6.16792 8.18943 7.1194 7.96045 7.83567 8.41626L11.9995 11.0659L16.7448 2.43811C16.8778 2.19615 17.1819 2.10788 17.4238 2.24096L18.3 2.72288Z"})})}),er=r=>jsxRuntime.jsx("svg",{viewBox:"0 0 20 20",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",...r,children:jsxRuntime.jsxs("g",{id:"Area",children:[jsxRuntime.jsx("path",{id:"Vector 16 (Stroke)",fillRule:"evenodd",clipRule:"evenodd",d:"M18.3 2.72288C18.542 2.85596 18.6303 3.15999 18.4972 3.40195L13.495 12.4968C13.0776 13.2557 12.1061 13.5044 11.3754 13.0394L7.19878 10.3816L2.97738 17.558C2.83737 17.796 2.53092 17.8754 2.2929 17.7354L1.43097 17.2284C1.19295 17.0884 1.1135 16.7819 1.25351 16.5439L5.73746 8.92122C6.16792 8.18943 7.1194 7.96045 7.83567 8.41626L11.9995 11.0659L16.7448 2.43811C16.8778 2.19615 17.1819 2.10788 17.4238 2.24096L18.3 2.72288Z"}),jsxRuntime.jsx("path",{id:"Subtract",fillRule:"evenodd",clipRule:"evenodd",d:"M2.7608 17.7562C2.84602 17.899 3.00106 18 3.19016 18H16.362C17.4665 18 18.362 17.1046 18.362 16V3.94663C18.362 3.86618 18.3453 3.79397 18.3162 3.73108L13.495 12.4968C13.0776 13.2557 12.1061 13.5044 11.3754 13.0394L7.19881 10.3816L2.9774 17.558C2.92465 17.6477 2.84826 17.7148 2.7608 17.7562Z",fill:"white",fillOpacity:"0.12"})]})}),tr=r=>jsxRuntime.jsx("svg",{viewBox:"0 0 20 20",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",...r,children:jsxRuntime.jsx("g",{id:"Baseline",children:jsxRuntime.jsx("path",{id:"Union",fillRule:"evenodd",clipRule:"evenodd",d:"M6.05938 2.93544C6.55642 1.71198 8.27766 1.68139 8.81785 2.88642L11.4361 8.72723H9.24438L7.4717 4.77279L5.86521 8.72723H3.70647L6.05938 2.93544ZM13.9282 14.2865L13.0051 12.2272H10.8133L12.5586 16.1204C13.088 17.3014 14.7641 17.3026 15.2952 16.1224L17.048 12.2272H14.8549L13.9282 14.2865ZM2.28459 12.2272H4.44333L1.85293 18.6036L0 17.8509L2.28459 12.2272ZM16.4299 8.72723H18.623L19.3384 7.13759L17.5145 6.31686L16.4299 8.72723ZM1.42645 10.2272C1.42645 9.95109 1.65031 9.72723 1.92645 9.72723H2.92645C3.20259 9.72723 3.42645 9.95109 3.42645 10.2272V10.7272C3.42645 11.0034 3.20259 11.2272 2.92645 11.2272H1.92645C1.65031 11.2272 1.42645 11.0034 1.42645 10.7272V10.2272ZM4.42645 10.2272C4.42645 9.95109 4.65031 9.72723 4.92645 9.72723H5.92645C6.20259 9.72723 6.42645 9.95109 6.42645 10.2272V10.7272C6.42645 11.0034 6.20259 11.2272 5.92645 11.2272H4.92645C4.65031 11.2272 4.42645 11.0034 4.42645 10.7272V10.2272ZM7.92645 9.72723C7.65031 9.72723 7.42645 9.95109 7.42645 10.2272V10.7272C7.42645 11.0034 7.65031 11.2272 7.92645 11.2272H8.92645C9.20259 11.2272 9.42645 11.0034 9.42645 10.7272V10.2272C9.42645 9.95109 9.20259 9.72723 8.92645 9.72723H7.92645ZM10.4265 10.2272C10.4265 9.95109 10.6503 9.72723 10.9265 9.72723H11.9265C12.2026 9.72723 12.4265 9.95109 12.4265 10.2272V10.7272C12.4265 11.0034 12.2026 11.2272 11.9265 11.2272H10.9265C10.6503 11.2272 10.4265 11.0034 10.4265 10.7272V10.2272ZM13.9265 9.72723C13.6503 9.72723 13.4265 9.95109 13.4265 10.2272V10.7272C13.4265 11.0034 13.6503 11.2272 13.9265 11.2272H14.9265C15.2026 11.2272 15.4265 11.0034 15.4265 10.7272V10.2272C15.4265 9.95109 15.2026 9.72723 14.9265 9.72723H13.9265ZM16.4265 10.2272C16.4265 9.95109 16.6503 9.72723 16.9265 9.72723H17.9265C18.2026 9.72723 18.4265 9.95109 18.4265 10.2272V10.7272C18.4265 11.0034 18.2026 11.2272 17.9265 11.2272H16.9265C16.6503 11.2272 16.4265 11.0034 16.4265 10.7272V10.2272Z"})})}),rr=r=>jsxRuntime.jsx("svg",{viewBox:"0 0 12 12",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",...r,children:jsxRuntime.jsx("g",{id:"Unselected",children:jsxRuntime.jsx("path",{id:"Vector",d:"M6.00684 0.999023C3.24544 0.999023 1.00684 3.23752 1.00684 5.99902C1.00684 8.76051 3.24544 10.999 6.00684 10.999C8.76834 10.999 11.0068 8.76051 11.0068 5.99902C11.0068 3.23752 8.76834 0.999023 6.00684 0.999023ZM6.00684 1.99902C8.21584 1.99902 10.0068 3.79002 10.0068 5.99902C10.0068 8.20801 8.21584 9.99901 6.00684 9.99901C3.79769 9.99901 2.00684 8.20801 2.00684 5.99902C2.00684 3.79002 3.79769 1.99902 6.00684 1.99902Z",fill:"white",fillOpacity:"0.2"})})}),or=r=>jsxRuntime.jsx("svg",{viewBox:"0 0 12 12",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",...r,children:jsxRuntime.jsx("g",{id:"Selected-Multiple Choices-fill",children:jsxRuntime.jsx("path",{id:"Subtract",fillRule:"evenodd",clipRule:"evenodd",d:"M1.00684 5.99902C1.00684 3.23752 3.24544 0.999023 6.00684 0.999023C8.76834 0.999023 11.0068 3.23752 11.0068 5.99902C11.0068 8.76051 8.76834 10.999 6.00684 10.999C3.24544 10.999 1.00684 8.76051 1.00684 5.99902ZM8.49243 3.65563C8.60602 3.54726 8.76156 3.49957 8.91068 3.49957C9.05981 3.49957 9.21534 3.54726 9.32893 3.65563C9.5567 3.87231 9.5567 4.23649 9.32893 4.45317L5.25362 8.33706C5.02644 8.55374 4.6443 8.55374 4.41712 8.33706L2.67014 6.67253C2.44296 6.45585 2.44296 6.09161 2.67014 5.87499C2.89791 5.65831 3.28004 5.65831 3.50722 5.87499L4.83537 7.1407L8.49243 3.65563Z",fill:"#608CFF"})})});function pr({displayControlState:r,changeDisplayControlState:e}){let[t,o]=ui.useState(false),{t:i}=i18n.useTranslation(),s=ui.useMemo(()=>[{label:i("common.position"),id:"position"},{label:i("tradingView.displayControl.buySell"),id:"buySell"},{label:i("tradingView.displayControl.limitOrders"),id:"limitOrders"},{label:i("tradingView.displayControl.stopOrders"),id:"stopOrders"},{label:i("common.tpsl"),id:"tpsl"},{label:i("tpsl.positionTpsl"),id:"positionTpsl"}],[i]);return jsxRuntime.jsx(jsxRuntime.Fragment,{children:jsxRuntime.jsxs(ui$1.DropdownMenuRoot,{open:t,onOpenChange:o,children:[jsxRuntime.jsx(ui$1.DropdownMenuTrigger,{asChild:true,children:jsxRuntime.jsxs(ui$1.Flex,{justify:"start",itemAlign:"center",className:"oui-gap-[2px] oui-cursor-pointer oui-text-base-contrast-36 hover:oui-text-base-contrast-80",children:[jsxRuntime.jsx(Xe,{className:ui$1.cn("oui-w-[18px] oui-h-[18px] ",t&&"oui-text-base-contrast-80")}),jsxRuntime.jsx(Y,{className:ui$1.cn("oui-w-3 oui-h-3",t&&"oui-text-base-contrast-80 oui-rotate-180")})]})}),jsxRuntime.jsx(ui$1.DropdownMenuPortal,{children:jsxRuntime.jsx(ui$1.DropdownMenuContent,{onCloseAutoFocus:n=>n.preventDefault(),onClick:n=>n.stopPropagation(),align:"start",className:"oui-bg-base-8",children:jsxRuntime.jsx(ui$1.Flex,{direction:"column",gap:4,px:5,py:5,width:240,justify:"start",itemAlign:"start",children:s.map(n=>jsxRuntime.jsxs(ui$1.Flex,{justify:"between",itemAlign:"center",className:"oui-w-full",children:[jsxRuntime.jsx(ui$1.Text,{className:ui$1.cn("oui-text-sm oui-text-base-contrast-80",!r[n.id]&&"oui-text-base-contrast-36"),children:n.label}),jsxRuntime.jsx(ui$1.Switch,{className:"oui-h-4 oui-w-8",checked:r[n.id],onCheckedChange:a=>{e({...r,[n.id]:a});}})]},n.id))})})})]})})}function mr(r){let[e,t]=ui.useState(false),{t:o}=i18n.useTranslation(),i=ui.useMemo(()=>[[{label:o("common.position"),id:"position"},{label:o("tradingView.displayControl.limitOrders"),id:"limitOrders"}],[{label:o("tradingView.displayControl.stopOrders"),id:"stopOrders"},{label:o("common.tpsl"),id:"tpsl"}],[{label:o("tpsl.positionTpsl"),id:"positionTpsl"},{label:o("tradingView.displayControl.buySell"),id:"buySell"}]],[o]);return jsxRuntime.jsxs(ui$1.DropdownMenuRoot,{open:e,onOpenChange:t,children:[jsxRuntime.jsx(ui$1.DropdownMenuTrigger,{asChild:true,children:jsxRuntime.jsxs("div",{className:ui$1.cn("oui-flex oui-gap-0.5 oui-justify-center oui-text-base-contrast-36 oui-items-center",e&&"oui-text-base-contrast-8"),children:[jsxRuntime.jsx(Xe,{className:ui$1.cn("oui-w-[18px] oui-h-[18px] ",e&&"oui-text-base-contrast-80")}),jsxRuntime.jsx(Y,{className:ui$1.cn("oui-w-3 oui-h-3",e&&"oui-text-base-contrast-80 oui-rotate-180")})]})}),jsxRuntime.jsx(ui$1.DropdownMenuPortal,{children:jsxRuntime.jsx(ui$1.DropdownMenuContent,{onCloseAutoFocus:s=>s.preventDefault(),onClick:s=>s.stopPropagation(),align:"start",alignOffset:0,sideOffset:0,className:ui$1.cn("oui-tradingview-display-control-dropdown-menu-content oui-bg-base-9 oui-w-screen oui-flex oui-flex-col oui-gap-2 oui-p-3"),children:i.map((s,n)=>jsxRuntime.jsx("div",{className:"oui-flex oui-gap-2",children:s.map(a=>jsxRuntime.jsxs("div",{className:ui$1.cn("oui-w-full oui-bg-base-5 oui-text-2xs oui-flex oui-items-center oui-justify-between oui-h-6 oui-rounded oui-px-2",r.displayControlState[a.id]?"oui-text-base-contrast":"oui-text-base-contrast-36 "),onClick:()=>{r.changeDisplayControlState({...r.displayControlState,[a.id]:!r.displayControlState[a.id]});},children:[jsxRuntime.jsx("div",{children:a.label}),r.displayControlState[a.id]?jsxRuntime.jsx(or,{className:"oui-h-3 oui-w-3"}):jsxRuntime.jsx(rr,{className:"oui-h-3 oui-w-3"})]},a.id))},n))})})]})}function tt(r){let[e,t]=ui.useState(false),{t:o}=i18n.useTranslation(),i=ui.useMemo(()=>[{icon:jsxRuntime.jsx(jt,{fill:"currentColor",className:"oui-w-5 oui-h-5"}),label:o("tradingView.lineType.bars"),value:"0"},{icon:jsxRuntime.jsx(Yt,{fill:"currentColor",className:"oui-w-5 oui-h-5"}),label:o("tradingView.lineType.candles"),value:"1"},{icon:jsxRuntime.jsx(Jt,{fill:"currentColor",className:"oui-w-5 oui-h-5"}),label:o("tradingView.lineType.hollowCandles"),value:"9"},{icon:jsxRuntime.jsx(Xt,{fill:"currentColor",className:"oui-w-5 oui-h-5"}),label:o("tradingView.lineType.line"),value:"2"},{icon:jsxRuntime.jsx(er,{fill:"currentColor",className:"oui-w-5 oui-h-5"}),label:o("tradingView.lineType.area"),value:"3"},{icon:jsxRuntime.jsx(tr,{fill:"currentColor",className:"oui-w-5 oui-h-5"}),label:o("tradingView.lineType.baseline"),value:"10"}],[o]),s=ui.useMemo(()=>{let n=i.find(a=>a.value===r.lineType);return n?n.icon:i[1].icon},[r.lineType]);return jsxRuntime.jsxs(ui$1.DropdownMenuRoot,{open:e,onOpenChange:t,children:[jsxRuntime.jsx(ui$1.DropdownMenuTrigger,{asChild:true,children:jsxRuntime.jsx(ui$1.Box,{className:ui$1.cn("oui-w-[18px] oui-h-[18px] oui-cursor-pointer oui-text-base-contrast-36 hover:oui-text-base-contrast-80",e&&"oui-text-base-contrast-80"),children:s})}),jsxRuntime.jsx(ui$1.DropdownMenuPortal,{children:jsxRuntime.jsx(ui$1.DropdownMenuContent,{onCloseAutoFocus:n=>n.preventDefault(),onClick:n=>n.stopPropagation(),align:"start",sideOffset:20,className:"oui-bg-base-8",children:jsxRuntime.jsx(ui$1.Flex,{direction:"column",gap:4,px:5,py:5,width:240,justify:"start",itemAlign:"start",children:i.map(n=>jsxRuntime.jsxs(ui$1.Flex,{justify:"start",itemAlign:"center",gap:2,className:ui$1.cn("oui-text-base-contrast-36 oui-cursor-pointer oui-w-full hover:oui-text-base-contrast",r.lineType===n.value&&"oui-text-base-contrast"),onClick:()=>r.changeLineType(n.value),children:[n.icon,jsxRuntime.jsx(ui$1.Text,{className:"oui-text-sm",children:n.label})]},n.value))})})})]})}var Cr=({url:r,children:e})=>jsxRuntime.jsx("span",{onClick:()=>{window.open(r);},className:"oui-text-primary-light oui-underline oui-cursor-pointer",children:e});function _r(){let{t:r}=i18n.useTranslation();return jsxRuntime.jsx("div",{className:"oui-z-0 oui-text-base-contrast-80 oui-absolute oui-top-0 oui-left-0 oui-right-0 oui-bottom-0 oui-flex oui-flex-col oui-justify-start md:oui-justify-center oui-items-center oui-p-2 md:oui-p-10",children:jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx("p",{className:"oui-mb-6 oui-text-xs",children:r("tradingView.noScriptSrc")}),jsxRuntime.jsx("p",{className:"oui-mb-3 oui-text-2xs md:oui-text-xs oui-text-base-contrast-54 md:oui-text-base-contrast-80 md:oui-text-base oui-pl-0 md:oui-pl-2",children:jsxRuntime.jsx(i18n.Trans,{i18nKey:"tradingView.noScriptSrc.1",components:[jsxRuntime.jsx(Cr,{url:"https://www.tradingview.com/advanced-charts"})]})}),jsxRuntime.jsx("p",{className:"oui-text-2xs md:oui-text-xs oui-text-base-contrast-54 md:oui-text-base-contrast-80 md:oui-text-base oui-pl-0 md:oui-pl-2",children:jsxRuntime.jsx(i18n.Trans,{i18nKey:"tradingView.noScriptSrc.2",components:[jsxRuntime.jsx(Cr,{url:"https://orderly.network/docs/sdks/react/components/trading#tradingviewconfig"})]})})]})})}var vr=()=>{let{t:r}=i18n.useTranslation();return {mobileTimeIntervalMoreMap:ui.useMemo(()=>[[{value:"3",label:r("tradingView.timeInterval.3m")},{value:"5",label:r("tradingView.timeInterval.5m")},{value:"30",label:r("tradingView.timeInterval.30m")},{value:"120",label:r("tradingView.timeInterval.2h")}],[{value:"360",label:r("tradingView.timeInterval.6h")},{value:"720",label:r("tradingView.timeInterval.12h")},{value:"3d",label:r("tradingView.timeInterval.3d")},{value:"1M",label:r("tradingView.timeInterval.1M")}]],[r])}};function it(r){return hooks.useMediaQuery(types.MEDIA_TABLET)?jsxRuntime.jsx(_i,{...r}):jsxRuntime.jsx(Ci,{...r})}function Ci(r){let{t:e}=i18n.useTranslation(),t=ui.useMemo(()=>[{value:"1",label:e("tradingView.timeInterval.1m")},{value:"3",label:e("tradingView.timeInterval.3m")},{value:"5",label:e("tradingView.timeInterval.5m")},{value:"15",label:e("tradingView.timeInterval.15m")},{value:"30",label:e("tradingView.timeInterval.30m")},{value:"60",label:e("tradingView.timeInterval.1h")},{value:"240",label:e("tradingView.timeInterval.4h")},{value:"720",label:e("tradingView.timeInterval.12h")},{value:"1D",label:e("tradingView.timeInterval.1d")},{value:"1W",label:e("tradingView.timeInterval.1w")},{value:"1M",label:e("tradingView.timeInterval.1M")}],[e]);return jsxRuntime.jsx("div",{className:ui$1.cn("oui-text-2xs oui-text-base-contrast-36 oui-flex oui-gap-[2px] oui-items-center oui-mr-3 oui-font-semibold","oui-overflow-hidden"),children:t.map(o=>jsxRuntime.jsx("div",{className:ui$1.cn("oui-cursor-pointer oui-px-2","hover:oui-text-base-contrast-80","oui-break-normal oui-whitespace-nowrap",r.interval===o.value&&"oui-text-base-contrast-80 oui-bg-white/[.06] oui-rounded"),id:o.value,onClick:()=>r.changeInterval(o.value),children:o.label},o.value))})}function _i(r){let{t:e}=i18n.useTranslation(),t=ui.useMemo(()=>[{value:"1",label:e("tradingView.timeInterval.1m")},{value:"15",label:e("tradingView.timeInterval.15m")},{value:"60",label:e("tradingView.timeInterval.1h")},{value:"240",label:e("tradingView.timeInterval.4h")},{value:"1D",label:e("tradingView.timeInterval.1d")},{value:"1W",label:e("tradingView.timeInterval.1w")}],[e]),{mobileTimeIntervalMoreMap:o}=vr(),i=ui.useMemo(()=>{for(let s of o)for(let n of s)if(n.value===r.interval)return n.label;return null},[r.interval,o]);return jsxRuntime.jsxs(ui$1.Flex,{justify:"start",itemAlign:"center",gap:3,className:ui$1.cn("oui-text-2xs oui-text-base-contrast-36","oui-overflow-hidden"),children:[jsxRuntime.jsx("div",{className:" oui-flex oui-gap-1 oui-items-center oui-mr-3 oui-font-semibold",children:t.map(s=>jsxRuntime.jsx("div",{className:ui$1.cn("oui-px-2","oui-break-normal oui-whitespace-nowrap",r.interval===s.value&&"oui-text-base-contrast-80 oui-bg-white/[.06] oui-rounded"),onClick:()=>r.changeInterval(s.value),children:s.label},s.value))}),jsxRuntime.jsx(vi,{...r,children:i?jsxRuntime.jsx("div",{className:"oui-text-base-contrast-80",children:i}):jsxRuntime.jsx(ui$1.Text,{className:"oui-break-normal oui-whitespace-nowrap",children:e("tradingView.timeInterval.more")})})]})}function vi(r){let[e,t]=ui__default.default.useState(false),{mobileTimeIntervalMoreMap:o}=vr();return jsxRuntime.jsxs(ui$1.DropdownMenuRoot,{open:e,onOpenChange:t,children:[jsxRuntime.jsx(ui$1.DropdownMenuTrigger,{asChild:true,children:jsxRuntime.jsxs("div",{className:"oui-flex oui-justify-start oui-items-center oui-gap-0.5",children:[r.children,jsxRuntime.jsx(Y,{className:ui$1.cn("oui-w-3 oui-h-3",e&&"oui-text-base-contrast-80 oui-rotate-180")})]})}),jsxRuntime.jsx(ui$1.DropdownMenuPortal,{children:jsxRuntime.jsx(ui$1.DropdownMenuContent,{onCloseAutoFocus:i=>i.preventDefault(),onClick:i=>i.stopPropagation(),align:"start",alignOffset:0,sideOffset:0,className:ui$1.cn("oui-markets-dropdown-menu-content oui-bg-base-9 oui-w-screen oui-flex oui-flex-col oui-gap-2 oui-p-3"),children:o.map((i,s)=>jsxRuntime.jsx("div",{className:"oui-flex oui-gap-2",children:i.map(n=>jsxRuntime.jsx("div",{className:ui$1.cn("oui-w-full oui-text-2xs oui-flex oui-items-center oui-justify-center oui-h-6 oui-rounded",n.value===r.interval?"oui-text-base-contrast oui-bg-primary-darken":"oui-text-base-contrast-36 oui-bg-base-5"),onClick:()=>{r.changeInterval(n.value);},children:jsxRuntime.jsx("div",{children:n.label})},n.value))},s))})})]})}function nt(r){return jsxRuntime.jsx("div",{className:"top-toolbar oui-flex oui-h-[44px] oui-justify-between md:oui-justify-start oui-items-center oui-p-2 md:oui-px-3 md:oui-pt-3 md:oui-pb-[14px]",children:r.children})}var Ir=({children:r,onClick:e})=>jsxRuntime.jsx(ui$1.Box,{onClick:e,className:"oui-cursor-pointer oui-w-[18px] oui-h-[18px] oui-text-base-contrast-36 hover:oui-text-base-contrast-80",children:r}),wi=r=>jsxRuntime.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 18 18",fill:"currentColor",...r,children:jsxRuntime.jsx("path",{d:"M15.0008 2.24304C14.8088 2.24304 14.6085 2.30755 14.4615 2.4538L11.2508 5.66455V3.74304H9.75079V7.49304C9.75079 7.90704 10.0868 8.24304 10.5008 8.24304H14.2508V6.74304H12.3285L15.54 3.53229C15.8325 3.23904 15.8325 2.74705 15.54 2.4538C15.393 2.30755 15.1928 2.24304 15.0008 2.24304ZM3.7508 9.74303V11.243H5.67231L2.46156 14.4538C2.16906 14.747 2.16906 15.239 2.46156 15.5323C2.75481 15.8248 3.2468 15.8248 3.54005 15.5323L6.7508 12.3215V14.243H8.25079V10.493C8.25079 10.079 7.9148 9.74303 7.5008 9.74303H3.7508Z"})}),Ri=r=>jsxRuntime.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 18 18",fill:"currentColor",...r,children:jsxRuntime.jsx("path",{d:"M7.49219 9.74304C7.30026 9.74304 7.09964 9.80755 6.95309 9.9538L3.74219 13.1646V11.243H2.24219V14.993C2.24219 15.407 2.57796 15.743 2.99219 15.743H6.74219V14.243H4.82031L8.03121 11.0323C8.32416 10.739 8.32416 10.247 8.03121 9.9538C7.88481 9.80755 7.68404 9.74304 7.49219 9.74304ZM11.2509 2.24304V3.74304H13.1728L9.96186 6.9538C9.66899 7.24705 9.66899 7.73904 9.96186 8.03229C10.2547 8.32479 10.7471 8.32479 11.04 8.03229L14.2509 4.82153V6.74304H15.7509V2.99304C15.7509 2.57904 15.4151 2.24304 15.0009 2.24304H11.2509Z"})}),st=ui.forwardRef((r,e)=>{let{chartRef:t,interval:o,changeDisplaySetting:i,displayControlState:s,tradingViewScriptSrc:n,changeInterval:a,lineType:c,changeLineType:l,openChartSetting:u,openChartIndicators:m,onFullScreenChange:h}=r,g=hooks.useMediaQuery(types.MEDIA_TABLET);return jsxRuntime.jsx("div",{className:ui$1.cn("oui-h-full oui-w-full oui-relative",r.classNames?.root),ref:e,children:n?jsxRuntime.jsxs("div",{className:ui$1.cn("oui-z-[1] oui-absolute oui-top-0 oui-bottom-0 oui-right-0 oui-left-0 oui-flex oui-flex-col",r.classNames?.content),children:[jsxRuntime.jsx(nt,{children:g?jsxRuntime.jsxs(ui$1.Flex,{gapX:2,width:"100%",justify:"between",className:"oui-overflow-x-scroll oui-hide-scrollbar",children:[jsxRuntime.jsx(it,{interval:o??"15",changeInterval:a}),jsxRuntime.jsx(mr,{displayControlState:s,changeDisplayControlState:i})]}):jsxRuntime.jsxs(ui$1.Flex,{justify:"between",itemAlign:"center",width:"100%",children:[jsxRuntime.jsxs(ui$1.Flex,{children:[jsxRuntime.jsx(it,{interval:o??"1",changeInterval:a}),jsxRuntime.jsx(ui$1.Divider,{direction:"vertical",className:"oui-h-4",mx:2,intensity:8}),jsxRuntime.jsxs(ui$1.Flex,{justify:"start",itemAlign:"center",gap:2,children:[jsxRuntime.jsx(pr,{displayControlState:s,changeDisplayControlState:i}),jsxRuntime.jsx(Ir,{onClick:m,children:jsxRuntime.jsx(Zt,{})}),jsxRuntime.jsx(tt,{lineType:c,changeLineType:l}),jsxRuntime.jsx(Ir,{onClick:u,children:jsxRuntime.jsx(zt,{})})]})]}),jsxRuntime.jsx(ui$1.Flex,{children:r.fullscreen?jsxRuntime.jsx(wi,{className:"oui-text-base-contrast-54 hover:oui-text-base-contrast oui-cursor-pointer",onClick:h}):jsxRuntime.jsx(Ri,{className:"oui-text-base-contrast-54 hover:oui-text-base-contrast oui-cursor-pointer",onClick:h})})]})}),jsxRuntime.jsx("div",{className:"oui-h-full oui-w-full oui-overflow-hidden",ref:t})]}):jsxRuntime.jsx(_r,{})})});var Ei=ui.forwardRef((r,e)=>{let t=Je(r);return jsxRuntime.jsx(st,{...t,ref:e})});
|
|
17
17
|
|
|
18
18
|
exports.TradingviewUi = st;
|
|
19
19
|
exports.TradingviewWidget = Ei;
|