@orderly.network/ui-tradingview 2.0.1 → 2.0.2

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 CHANGED
@@ -4,18 +4,18 @@ var jsxRuntime = require('react/jsx-runtime');
4
4
  var ui$1 = require('@orderly.network/ui');
5
5
  var hooks = require('@orderly.network/hooks');
6
6
  var types = require('@orderly.network/types');
7
- var kr = require('react');
7
+ var Mr = require('react');
8
8
  var utils = require('@orderly.network/utils');
9
9
  var dateFns = require('date-fns');
10
10
 
11
11
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
12
12
 
13
- var kr__default = /*#__PURE__*/_interopDefault(kr);
13
+ var Mr__default = /*#__PURE__*/_interopDefault(Mr);
14
14
 
15
- function Te(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 W=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"})})}),Oe=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 st=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"})})}),at=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"})})}),lt=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"})})}),ct=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"})})}),ut=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"})]})}),dt=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"})})}),pt=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"})]})}),mt=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"})})}),gt=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"})})}),ft=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"})})});var Dr=[{value:"1",label:"1m"},{value:"15",label:"15m"},{value:"60",label:"1h"},{value:"240",label:"4h"},{value:"1D",label:"1D"},{value:"1W",label:"1W"}],bt=[[{value:"3",label:"3m"},{value:"5",label:"5m"},{value:"30",label:"30m"},{value:"120",label:"2h"}],[{value:"360",label:"6h"},{value:"720",label:"12h"},{value:"3d",label:"3D"},{value:"1M",label:"1M"}]],Ar=[{value:"1",label:"1m"},{value:"3",label:"3m"},{value:"5",label:"5m"},{value:"15",label:"15m"},{value:"30",label:"30m"},{value:"60",label:"1h"},{value:"240",label:"4h"},{value:"720",label:"12h"},{value:"1D",label:"1D"},{value:"1W",label:"1W"},{value:"1M",label:"1M"}];function Le(r){return hooks.useMediaQuery(types.MEDIA_TABLET)?jsxRuntime.jsx(Nr,{...r}):jsxRuntime.jsx(Br,{...r})}function Br(r){return jsxRuntime.jsx("div",{className:"oui-text-2xs oui-text-base-contrast-36 oui-flex oui-gap-[2px] oui-items-center oui-mr-3 oui-font-semibold",children:Ar.map(e=>jsxRuntime.jsx("div",{className:ui$1.cn("oui-cursor-pointer oui-px-2","hover:oui-text-base-contrast-80",r.interval===e.value&&"oui-text-base-contrast-80 oui-bg-white/[.06] oui-rounded"),id:e.value,onClick:()=>r.changeInterval(e.value),children:e.label},e.value))})}function Nr(r){let e=kr.useMemo(()=>{for(let t of bt)for(let o of t)if(o.value===r.interval)return o.label;return null},[r.interval]);return jsxRuntime.jsxs(ui$1.Flex,{justify:"start",itemAlign:"center",gap:3,className:"oui-text-2xs oui-text-base-contrast-36",children:[jsxRuntime.jsx("div",{className:" oui-flex oui-gap-1 oui-items-center oui-mr-3 oui-font-semibold",children:Dr.map(t=>jsxRuntime.jsx("div",{className:ui$1.cn("oui-px-2",r.interval===t.value&&"oui-text-base-contrast-80 oui-bg-white/[.06] oui-rounded"),onClick:()=>r.changeInterval(t.value),children:t.label},t.value))}),jsxRuntime.jsx(Hr,{...r,children:e?jsxRuntime.jsx("div",{className:"oui-text-base-contrast-80",children:e}):jsxRuntime.jsx(ui$1.Text,{children:"More"})})]})}function Hr(r){let[e,t]=kr__default.default.useState(!1);return jsxRuntime.jsxs(ui$1.DropdownMenuRoot,{open:e,onOpenChange:t,children:[jsxRuntime.jsx(ui$1.DropdownMenuTrigger,{asChild:!0,children:jsxRuntime.jsxs("div",{className:"oui-flex oui-justify-start oui-items-center oui-gap-0.5",children:[r.children,jsxRuntime.jsx(W,{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:o=>o.preventDefault(),onClick:o=>o.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:bt.map((o,i)=>jsxRuntime.jsx("div",{className:"oui-flex oui-gap-2",children:o.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))},i))})})]})}var Fr=[{label:"Position",id:"position"},{label:"Buy/Sell",id:"buySell"},{label:"Limit orders",id:"limitOrders"},{label:"Stop orders",id:"stopOrders"},{label:"TP/SL",id:"tpsl"},{label:"Position TP/SL",id:"positionTpsl"}],Kr=[[{label:"Position",id:"position"},{label:"Limit orders",id:"limitOrders"}],[{label:"Stop orders",id:"stopOrders"},{label:"TP/SL",id:"tpsl"}],[{label:"Position TP/SL",id:"positionTpsl"},{label:"Buy/Sell",id:"buySell"}]];function It({displayControlState:r,changeDisplayControlState:e}){let[t,o]=kr.useState(!1);return jsxRuntime.jsx(jsxRuntime.Fragment,{children:jsxRuntime.jsxs(ui$1.DropdownMenuRoot,{open:t,onOpenChange:o,children:[jsxRuntime.jsx(ui$1.DropdownMenuTrigger,{asChild:!0,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(Oe,{className:ui$1.cn("oui-w-[18px] oui-h-[18px] ",t&&"oui-text-base-contrast-80")}),jsxRuntime.jsx(W,{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:i=>i.preventDefault(),onClick:i=>i.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:Fr.map(i=>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[i.id]&&"oui-text-base-contrast-36"),children:i.label}),jsxRuntime.jsx(ui$1.Switch,{className:"oui-h-4 oui-w-8",checked:r[i.id],onCheckedChange:n=>{e({...r,[i.id]:n});}})]},i.id))})})})]})})}function Tt(r){let[e,t]=kr.useState(!1);return jsxRuntime.jsxs(ui$1.DropdownMenuRoot,{open:e,onOpenChange:t,children:[jsxRuntime.jsx(ui$1.DropdownMenuTrigger,{asChild:!0,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(Oe,{className:ui$1.cn("oui-w-[18px] oui-h-[18px] ",e&&"oui-text-base-contrast-80")}),jsxRuntime.jsx(W,{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:o=>o.preventDefault(),onClick:o=>o.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:Kr.map((o,i)=>jsxRuntime.jsx("div",{className:"oui-flex oui-gap-2",children:o.map(n=>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[n.id]?"oui-text-base-contrast":"oui-text-base-contrast-36 "),onClick:()=>{r.changeDisplayControlState({...r.displayControlState,[n.id]:!r.displayControlState[n.id]});},children:[jsxRuntime.jsx("div",{children:n.label}),r.displayControlState[n.id]?jsxRuntime.jsx(ft,{className:"oui-h-3 oui-w-3"}):jsxRuntime.jsx(gt,{className:"oui-h-3 oui-w-3"})]},n.id))},i))})})]})}var Ot=({url:r,children:e})=>jsxRuntime.jsx("span",{onClick:()=>{window.open(r);},className:"oui-text-primary-light oui-underline oui-cursor-pointer",children:e});function xt(){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:"Due to TradingView's policy, you will need to apply for your own license."}),jsxRuntime.jsxs("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:["1.\xA0Please apply for your TradingView Advanced Chart license\xA0",jsxRuntime.jsx(Ot,{url:"https://www.tradingview.com/advanced-charts",children:"here"}),"."]}),jsxRuntime.jsxs("p",{className:"oui-pl-0 oui-text-2xs md:oui-text-xs oui-text-base-contrast-54 md:oui-text-base-contrast-80 md:oui-text-base md:oui-pl-2",children:["2.\xA0Follow the instructions on\xA0",jsxRuntime.jsx(Ot,{url:"https://orderly.network/docs/sdks/react/components/trading#tradingviewconfig",children:"orderly.network"})," to set up."]})]})})}var we=[{icon:jsxRuntime.jsx(lt,{fill:"currentColor",className:"oui-w-5 oui-h-5"}),label:"Bars",value:"0"},{icon:jsxRuntime.jsx(ct,{fill:"currentColor",className:"oui-w-5 oui-h-5"}),label:"Candles",value:"1"},{icon:jsxRuntime.jsx(ut,{fill:"currentColor",className:"oui-w-5 oui-h-5"}),label:"Hollow candles",value:"9"},{icon:jsxRuntime.jsx(dt,{fill:"currentColor",className:"oui-w-5 oui-h-5"}),label:"Line",value:"2"},{icon:jsxRuntime.jsx(pt,{fill:"currentColor",className:"oui-w-5 oui-h-5"}),label:"Area",value:"3"},{icon:jsxRuntime.jsx(mt,{fill:"currentColor",className:"oui-w-5 oui-h-5"}),label:"Baseline",value:"10"}];function Ee(r){let[e,t]=kr.useState(!1),o=kr.useMemo(()=>{let i=we.find(n=>n.value===r.lineType);return i?i.icon:we[1].icon},[r.lineType]);return jsxRuntime.jsxs(ui$1.DropdownMenuRoot,{open:e,onOpenChange:t,children:[jsxRuntime.jsx(ui$1.DropdownMenuTrigger,{asChild:!0,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:o})}),jsxRuntime.jsx(ui$1.DropdownMenuPortal,{children:jsxRuntime.jsx(ui$1.DropdownMenuContent,{onCloseAutoFocus:i=>i.preventDefault(),onClick:i=>i.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:we.map(i=>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===i.value&&"oui-text-base-contrast"),onClick:()=>r.changeLineType(i.value),children:[i.icon,jsxRuntime.jsx(ui$1.Text,{className:"oui-text-sm",children:i.label})]},i.value))})})})]})}var wt=({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});function ke(r){let{chartRef:e,interval:t,changeDisplaySetting:o,displayControlState:i,tradingViewScriptSrc:n,changeInterval:s,lineType:a,changeLineType:c,openChartSetting:l,openChartIndicators:u}=r,g=hooks.useMediaQuery(types.MEDIA_TABLET);return jsxRuntime.jsx("div",{className:"oui-h-full oui-w-full oui-relative",children:n?jsxRuntime.jsxs("div",{className:"oui-z-[1] oui-absolute oui-top-0 oui-bottom-0 oui-right-0 oui-left-0 oui-h-full oui-w-full oui-flex oui-flex-col",children:[jsxRuntime.jsx(Te,{children:g?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(Le,{interval:t??"1",changeInterval:s}),jsxRuntime.jsx(Tt,{displayControlState:i,changeDisplayControlState:o})]}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(Le,{interval:t??"1",changeInterval:s}),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(It,{displayControlState:i,changeDisplayControlState:o}),jsxRuntime.jsx(wt,{onClick:u,children:jsxRuntime.jsx(st,{})}),jsxRuntime.jsx(Ee,{lineType:a,changeLineType:c}),jsxRuntime.jsx(wt,{onClick:l,children:jsxRuntime.jsx(at,{})})]})]})}),jsxRuntime.jsx("div",{className:"oui-h-full oui-w-full",ref:e})]}):jsxRuntime.jsx(xt,{})})}var oo="#008676",io="#D92D6B",Me="#131519",no="#00B49E",so="#FF447C",ao="#333948",lo="#FFFFFF",co="#F4F7F9",uo="regular 11px Manrope",kt={upColor:oo,downColor:io,chartBG:Me,pnlUpColor:no,pnlDownColor:so,pnlZoreColor:ao,textColor:lo,qtyTextColor:co,font:uo,volumeUpColor:"#0C3E3A",volumeDownColor:"#5A1E36",closeIcon:"rgba(255, 255, 255, 0.8)"},Mt=(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":!1},o={"volume.volume.color.0":r.volumeDownColor,"volume.volume.color.1":r.volumeUpColor};return {overrides:t,studiesOverrides:o}},X="Orderly",T=r=>r.includes(":")?r.split(":")[1]:r,ee=r=>r.startsWith(`${X}:`)?r:`${X}:${r}`;var mo=2,go="--",Ae=["BRACKET","STOP_BRACKET"],re=["POSITIONAL_TP_SL","TP_SL"];var Be=r=>r.root_algo_order_id!==r.algo_order_id&&(r.algo_type==="TAKE_PROFIT"||r.algo_type==="STOP_LOSS"),fo=r=>!!r&&Ae.includes(r);var Ne=r=>r.type==="CLOSE_POSITION",At=r=>Ne(r)&&r.is_activated,Bt=r=>Be(r)&&r.is_activated,He=r=>r.root_algo_order_algo_type==="TP_SL"||fo(r.root_algo_order_algo_type)&&r.is_activated,Nt=(r,e)=>{let t=r.algo_type,o={TAKE_PROFIT:"Take profit",STOP_LOSS:"Stop loss"}[t];return o||null},Ht=r=>{let e=new Map,t=1;return [...r].reverse().filter(He).forEach(o=>{o.root_algo_order_id&&!e.has(o.root_algo_order_id)&&e.set(o.root_algo_order_id,t++);}),e},Ut=(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}},Vt=r=>r!==void 0&&r!==""?new utils.Decimal(r).todp(mo,utils.Decimal.ROUND_FLOOR):go;function Ue(){let[r,{cancelOrder:e,cancelAlgoOrder:t,cancelTPSLChildOrder:o}]=hooks.useOrderStream({status:types.OrderStatus.INCOMPLETE});return kr.useCallback(i=>{if(i.algo_order_id){if(re.includes(i.root_algo_order_algo_type)){let n=r?.find(a=>a.algo_order_id===i.root_algo_order_id);return n.child_orders.every(a=>!!a.trigger_price)?o(i.algo_order_id,i.root_algo_order_id):t(n.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 Ve(r){hooks.useEventEmitter();let [,{updateOrder:t,cancelAlgoOrder:o,updateAlgoOrder:i,updateTPSLOrder:n}]=hooks.useOrderStream({status:types.OrderStatus.INCOMPLETE});return kr.useCallback((s,a)=>{if(s.algo_order_id)if(re.includes(s.root_algo_order_algo_type)){let l=[{order_id:s.algo_order_id,trigger_price:new utils.Decimal(a.value).toString()}];return n(s.root_algo_order_id,l).then(u=>{}).catch(u=>{r&&r.error(u.message);})}else {if(Ae.includes(s.algo_type))return i(s.algo_order_id,{order_price:new utils.Decimal(a.value).toString()}).then(l=>{}).catch(l=>{r&&r.error(l.message);});{let l={quantity:s.quantity,trigger_price:s.trigger_price,symbol:s.symbol,price:s.price,algo_order_id:s.algo_order_id};return s.order_tag&&(l.order_tag=s.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(s.algo_order_id,l).then(u=>{}).catch(u=>{r&&r.error(u.message);})}}let c={order_price:s.price?.toString(),order_quantity:s.quantity.toString(),symbol:s.symbol,order_type:s.type,side:s.side,visible_quantity:0,reduce_only:s.reduce_only};return new utils.Decimal(s.visible_quantity??s.visible??0).eq(s.quantity)&&delete c.visible_quantity,Object.keys(s).includes("reduce_only")||delete c.reduce_only,s.order_tag&&(c.order_tag=s.order_tag),a.type==="price"&&(c.order_price=new utils.Decimal(a.value).toString()),t(s.order_id,c).then(l=>{}).catch(l=>{r.error(l.message);})},[t])}function Fe(r){let {onSubmit:e}=hooks.useOrderEntry_deprecated({symbol:r,side:types.OrderSide.BUY,order_type:types.OrderType.MARKET},{watchOrderbook:!0});return {sendLimitOrder:()=>{},sendMarketOrder:n=>(n.reduce_only=!1,e(n).catch(s=>{ui$1.toast.error(s);}))}}var Po=r=>e=>r(e),wo=({closeConfirm:r,colorConfig:e,onToast:t,mode:o,symbol:i})=>{let n=Ue(),s=Ve(t),a=hooks.useSymbolsInfo(),c=kr.useCallback(h=>r&&r(h),[r]),{sendMarketOrder:l,sendLimitOrder:u}=Fe(i),g=kr.useCallback(h=>{if(a)return {baseMin:a[h]("base_min"),baseMax:a[h]("base_max"),baseTick:a[h]("base_tick"),quoteTick:a[h]("quote_tick")}},[a]),d=kr.useRef({cancelOrder:n,closePosition:c,editOrder:s,colorConfig:e,sendLimitOrder:u,getSymbolInfo:g,sendMarketOrder:Po(l),mode:o});return kr.useEffect(()=>{d.current.getSymbolInfo=g;},[a]),kr.useEffect(()=>{d.current.sendLimitOrder=u,d.current.sendMarketOrder=l;},[u,l]),kr.useEffect(()=>{d.current.closePosition=c;},[r]),kr.useEffect(()=>{d.current.cancelOrder=n;},[n]),d.current},Kt=wo;var ie=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("Close Position").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="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,n=e.balance>=0,s=o.pnlZoreColor,a=new utils.Decimal(e.unrealPnl);a.greaterThan(0)?s=o.upColor:a.lessThan(0)&&(s=o.downColor);i?o.pnlUpColor:o.pnlDownColor;let l=n?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(s).setQuantityTextColor(l).setBodyBorderColor(s).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 $=r=>{if(r!=null)return r.algo_order_id||r.order_id};var ne=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}=Ut(e,t);return Vt(o)}prepareTpslPnlMap(e){let t=[];return e.forEach(o=>{let i=$(o);if(i&&Bt(o)){let n=this.tpslPnlMap.get(i),s=this.getFormattedEstPnl(o);n!==s&&(t.push(i),this.tpslPnlMap.set(i,s));}}),t}prepareQuantityTpslNoMap(e){this.quantityTpslNoMap=Ht(e);}recalculatePnl(e,t){return this.positions=e,this.prepareTpslPnlMap(t)}clear(){this.positions=null,this.quantityTpslNoMap.clear(),this.tpslPnlMap.clear();}};var x=class x{constructor(e,t){this.instance=e,this.pendingOrderLineMap=new Map,this.pendingOrders=[],this.broker=t,this.tpslCalService=new ne;}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($(o))).forEach(o=>this.renderPendingOrder(o));}renderPendingOrder(e){let t=x.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=>x.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("Cancel Order").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=x.getCombinationType(e);return t==="STOP_LIMIT"||t==="STOP_MARKET"||t==="STOP_BRACKET_LIMIT"||t==="STOP_BRACKET_MARKET"?e.type==="LIMIT"?`Stop Limit ${utils.commify(e.price)}`:"Stop Market":"Limit"}static getOrderPrice(e){return e.trigger_price||e.price}getTPSLTextWithTpsl(e,t){return $(t),e}getTPSLText(e){let t=Nt(e,this.tpslCalService.getQuantityTpslNoMap());return t?this.getTPSLTextWithTpsl(t,e):null}getOrderQuantity(e){if(e.algo_order_id){if(At(e)||Ne(e))return "100%";if(He(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=Be(t)?this.getTPSLText(t):x.getText(t);if(o===null)return null;let i=this.broker.colorConfig,n=this.pendingOrderLineMap.get(e)??this.getBaseOrderLine(),s=t.side==="BUY"?i.upColor:i.downColor;t.side==="BUY"?i.pnlUpColor:i.pnlDownColor;let c=x.getOrderPrice(t),l=100,u=this.getOrderQuantity(t),g=i.textColor;return n.setText(o).setCancelButtonIconColor(i.closeIcon).setCancelButtonBorderColor(s).setBodyTextColor(g).setBodyBorderColor(s).setQuantityBorderColor(s).setQuantityTextColor(s).setLineColor(s).setLineLength(l).setQuantity(u??"").setPrice(c),this.broker.mode!==3?(n.onCancel(null,()=>this.broker.cancelOrder(t)),this.applyEditOnMove(n,t)):n.setEditable(!1).setCancellable(!1),n}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=x.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();}};x.getOrderId=e=>{if(e!=null)return e.algo_order_id||e.order_id};var se=x;var $t={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 Qt(r,e,t,o){let{startOf:i,period:n}=$t[t],s=new Date(r.updated_time).getTime(),a=dateFns.startOfSecond(s).getTime();i==="minute"?a=dateFns.startOfMinute(s).getTime():i==="hour"?a=dateFns.startOfHour(s).getTime():i==="day"?a=dateFns.startOfDay(s).getTime():i==="month"?a=dateFns.startOfMonth(s).getTime():i==="year"?a=dateFns.startOfYear(s).getTime():i==="week"?a=dateFns.startOfWeek(s).getTime():i==="month"&&(a=dateFns.startOfMonth(s).getTime());let c=n===0?a:Math.floor((s-a)/n)*n+a;e[c]||(e[c]={BUY:[],SELL:[]}),e[c][r.side].length<5&&(e[c][r.side].push(r),o.push(r));}var Zt=(r,e)=>{let t=[],o={};return $t[e]?(r.forEach(i=>{if(i.child_orders)for(let n of i.child_orders)n.is_activated&&n.algo_status===types.OrderStatus.FILLED&&Qt(n,o,e,t);else Qt(i,o,e,t);}),t):[]};var ae=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(),Zt(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(s=>!!s.average_executed_price)?.average_executed_price||0,n=new utils.Decimal(i).todp(t,utils.Decimal.ROUND_FLOOR).toString();return `${o==="BUY"?"Buy":"Sell"} ${e.total_executed_quantity} @${utils.commify(n)}`}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,n=new Date(e.updated_time).getTime()/1e3,s=this.broker.colorConfig;return this.instance.activeChart().createExecutionShape().setArrowHeight(9).setTooltip(r.getExecutionInfo(e,t)).setTime(n).setPrice(i).setArrowColor(o==="BUY"?s.upColor:s.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 le=class{constructor(e,t,o){this.instance=e,this.positionLineService=new ie(e,o),this.orderLineService=new se(e,o),this.executionService=new ae(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();},!0))}chartReady(){return new Promise(e=>this.instance.onChartReady(()=>{try{this.instance.activeChart().dataReady(()=>e());}catch(t){t.toString().includes("tradingViewApi");}}))}};function Qe(r,e){let[t,o]=kr.useState(),i=kr.useRef(),{state:n}=hooks.useAccount(),[s]=hooks.useLocalStorage("unPnlPriceBasis","markPrice"),[{rows:a},c]=hooks.usePositionStream(r,{calcMode:s}),[l]=hooks.useOrderStream({status:types.OrderStatus.INCOMPLETE,symbol:r}),g=hooks.useSymbolsInfo()?.[r],d=g("base_dp"),[h]=hooks.useOrderStream({symbol:r,status:types.OrderStatus.FILLED,size:500}),A=kr.useRef((O,v,E)=>{i.current&&i.current.remove(),i.current=new le(O,v,E),o(i.current);}),F=kr.useRef(()=>{i.current?.remove(),i.current=void 0;});return kr.useEffect(()=>{if(n.status<types.AccountStatusEnum.EnableTrading){t?.renderPositions([]);return}if(!e||!e.position){t?.renderPositions([]);return}let O=(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(O);},[t,a,r,e,n]),kr.useEffect(()=>{if(!e||!e.buySell){t?.renderFilledOrders([],6);return}t?.renderFilledOrders(h??[],d??6);},[t,h,d,e]),kr.useEffect(()=>{let O=[],v=[],E=[],K=[],B=[];if(n.status<types.AccountStatusEnum.EnableTrading){t?.renderPendingOrders([]);return}let z=(a??[]).find(b=>b.symbol===r);l?.forEach(b=>{if(r===b.symbol){if(!b.algo_order_id)E.push(b);else if(b.algo_order_id)if(b.algo_type==="POSITIONAL_TP_SL")for(let S of b.child_orders)S.root_algo_order_algo_type=b.algo_type,S.trigger_price&&S.status!==types.OrderStatus.FILLED&&v.push(S);else if(b.algo_type==="TP_SL"){if(z)for(let S of b.child_orders)S.root_algo_order_algo_type=b.algo_type,S.position_qty=z.position_qty,S.trigger_price&&S.status!==types.OrderStatus.FILLED&&O.push(S);}else b.algo_type==="STOP_LOSS"||b.algo_type==="TAKE_PROFIT"?K.push(b):b.algo_type==="BRACKET"&&B.push(b);}}),e&&(e.positionTpsl||(v=[]),e.tpsl||(O=[]),e.limitOrders||(E=[],B=[]),e.stopOrders||(K=[])),t?.renderPendingOrders(O.concat(v).concat(E).concat(K).concat(B));},[t,l,r,e,a,n.status]),[A.current,F.current]}function M(r){return r===void 0?"":typeof r=="string"?r:r.message}var ue=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(n,s)=>{try{let a=await this._requester.sendRequest(this._datafeedUrl,"history",i),c=this._processHistoryResponse(a);this._limitedServerResponse&&await this._processTruncatedResponse(c,i),n(c);}catch(a){if(a instanceof Error||typeof a=="string"){let c=M(a);s(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),n=this._processHistoryResponse(i);o=n.bars.length,this._limitedServerResponse.expectedOrder==="earliestFirst"?(n.bars[0].time===e.bars[e.bars.length-1].time&&n.bars.shift(),e.bars.push(...n.bars)):(n.bars[n.bars.length-1].time===e.bars[0].time&&n.bars.pop(),e.bars.unshift(...n.bars));}}catch(i){if(i instanceof Error||typeof i=="string"){M(i);}}}_processHistoryResponse(e){if(e.s!=="ok"&&e.s!=="no_data")throw new Error(e.errmsg);let t=[],o={noData:!1};if(e.s==="no_data")o.noData=!0,o.nextTime=e.nextTime;else {let i=e.v!==void 0,n=e.o!==void 0;for(let s=0;s<e.t.length;++s){let a={time:e.t[s]*1e3,close:parseFloat(e.c[s]),open:parseFloat(e.c[s]),high:parseFloat(e.c[s]),low:parseFloat(e.c[s])};n&&(a.open=parseFloat(e.o[s]),a.high=parseFloat(e.h[s]),a.low=parseFloat(e.l[s])),i&&(a.volume=parseFloat(e.v[s])),t.push(a);}}return {bars:t,meta:o}}};var de=class{constructor(e){e&&(this._headers=e);}sendRequest(e,t,o){if(o!==void 0){let n=Object.keys(o);n.length!==0&&(t+="?"),t+=n.map(s=>`${encodeURIComponent(s)}=${encodeURIComponent(o[s].toString())}`).join("&");}""+t;let i={credentials:"same-origin"};return this._headers!==void 0&&(i.headers=this._headers),fetch(`${e}/${t}`,i).then(n=>n.text()).then(n=>JSON.parse(n))}};function f(r,e,t,o){let i=r[e];return Array.isArray(i)&&(!o||Array.isArray(i[0]))?i[t]:i}function pe(r,e,t){return r+(e!==void 0?"_%|#|%_"+e:"")+(t!==void 0?"_%|#|%_"+t:"")}var me=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[pe(e,t,o)];return i===void 0?Promise.reject("invalid symbol"):Promise.resolve(i)})}searchSymbols(e,t,o,i){return this._readyPromise.then(()=>{let n=[],s=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),g=l.description.toUpperCase().indexOf(e);if((s||u>=0||g>=0)&&!n.some(h=>h.symbolInfo===l)){let h=u>=0?u:8e3+g;n.push({symbolInfo:l,weight:h});}}let a=n.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]=!0,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(n){o(n instanceof Error?n:new Error(`SymbolsStorage: Unexpected exception ${n}`));return}t();}).catch(i=>{`${e}${M(i)}`,t();});})}_onExchangeDataReceived(e,t){let o=0;try{let i=t.symbol.length,n=t.ticker!==void 0;for(;o<i;++o){let s=t.symbol[o],a=f(t,"exchange-listed",o),c=f(t,"exchange-traded",o),l=c+":"+s,u=f(t,"currency-code",o),g=f(t,"unit-id",o),d=n?f(t,"ticker",o):s,h={ticker:d,name:s,base_name:[a+":"+s],listed_exchange:a,exchange:c,currency_code:u,original_currency_code:f(t,"original-currency-code",o),unit_id:g,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:U(f(t,"has-intraday",o),!1),visible_plots_set:U(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:U(f(t,"supported-resolutions",o,!0),this._datafeedSupportedResolutions),has_daily:U(f(t,"has-daily",o),!0),intraday_multipliers:U(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:U(f(t,"volume-precision",o),0),format:"price"};this._symbolsInfo[d]=h,this._symbolsInfo[s]=h,this._symbolsInfo[l]=h,(u!==void 0||g!==void 0)&&(this._symbolsInfo[pe(d,u,g)]=h,this._symbolsInfo[pe(s,u,g)]=h,this._symbolsInfo[pe(l,u,g)]=h),this._symbolsList.push(s);}}catch(i){throw new Error(`SymbolsStorage: API error when processing exchange ${e} symbol #${o} (${t.symbol[o]}): ${Object(i).message}`)}}};function U(r,e){return r!==void 0?r:e}var ge=class{constructor(e){this._configuration=Xt();this._symbolsStorage=null;this._datafeedURL=e,this._requester=new de,this._historyProvider=new ue(e,this._requester),this._configurationReadyPromise=this._requestConfiguration().then(t=>{t===null&&(t=Xt()),this._setupWithConfiguration(t);});}getBars(e,t,o,i,n){this._historyProvider.getBars(e,t,o).then(s=>{i(s.bars,s.meta);}).catch(n);}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 n=i&&i.currencyCode,s=i&&i.unitId;function c(l){t(l);}if(this._symbolsStorage===null)throw new Error("Datafeed: inconsistent configuration (symbols storage)");this._symbolsStorage.resolveSymbol(e,n,s).then(c).catch(o);}getMarks(){}getTimescaleMarks(){}getServerTime(){}_requestConfiguration(){return this._send("config").catch(e=>(`${M(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 me(this._datafeedURL,e.supported_resolutions||[],this._requester)),`${JSON.stringify(e)}`;}};function Xt(){return {supports_search:!1,supports_group_request:!0,supported_resolutions:["1","3","5","15","30","60","120","240","480","720","1D","3D","1W","1M"],supports_marks:!1,supports_timescale_marks:!1}}var fe=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 $e=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},D={interval:"TradingviewSDK.lastUsedTimeBasedResolution",lineType:"TradingviewSDK.lastUsedStyle",displayControlSetting:"TradingviewSDK.displaySetting"};var Ze=(r,e)=>`${r}kline_${e}`,Go=r=>["trade"].map(t=>`${r}@${t}`),P=class P{constructor(e){this.klineSubscribeIdMap=new Map;this.klineOnTickCallback=new Map;this.subscribeCachedTopics=new Map;this.wsInstance=null;this.klineData=new Map;return P._created||(this.wsInstance=e,P._instance=this,P._created=!0),P._instance}subscribeKline(e,t,o,i){let n=$e(o);this.klineSubscribeIdMap.set(e,{symbol:t,resolution:o});let s=Ze(t,n);if(this.klineOnTickCallback.has(s)){let a=this.klineOnTickCallback.get(s);a[e]=i;}else {this.klineOnTickCallback.set(s,{[e]:i});let a=this.wsInstance?.subscribe({event:"subscribe",topic:`${t}@kline_${n}`,id:`${t}@kline_${n}`,ts:new Date().getTime()},{onMessage:c=>{let{open:l,close:u,high:g,low:d,volume:h,startTime:A}=c,F=Ze(c.symbol,c.type);this.updateKline(F,{time:A,close:u,open:l,high:g,low:d,volume:h});}});this.subscribeCachedTopics.set(`${t}@kline_${n}`,a);}}unsubscribeKline(e){if(!this.klineSubscribeIdMap.has(e))return;let{symbol:t,resolution:o}=this.klineSubscribeIdMap.get(e),i=$e(o),n=Ze(t,i);if(this.klineOnTickCallback.has(n)){let s=this.klineOnTickCallback.get(n);delete s[e],Object.keys(s).length===0&&(this.klineOnTickCallback.delete(n),this.subscribeCachedTopics.get(`${t}@kline_${i}`)());}delete this.klineSubscribeIdMap[e];}subscribeSymbol(e){Go(e).forEach(o=>{if(!this.subscribeCachedTopics.has(o)){let i=this.wsInstance?.subscribe({event:"subscribe",topic:o,id:o,ts:new Date().getTime()},{onMessage:n=>{this.updateKlineByLastPrice(n.symbol,n.price);}});this.subscribeCachedTopics.set(o,i);}});}updateKlineByLastPrice(e,t){this.klineOnTickCallback.forEach((o,i)=>{if(i.startsWith(e)){let n=this.klineData.get(i);n&&this.updateKline(i,{...n,close:t});}});}updateKline(e,t){let o=this.klineOnTickCallback.get(e);o&&t&&(this.klineData.set(e,t),Object.keys(o).forEach(i=>{let n=o[i];n&&typeof n=="function"&&n(t);}));}};P._created=!1,P._instance=null;var V=P;var Qo=(()=>{let r=0;return ()=>r++})(),he=class extends ge{constructor(t,o){let i=`${t}/tv`;super(i);this.bbosMap=new Map;this.tickersMap=new Map;this.eventBus=new fe;this._subscribeQuoteMap=new Map,this._prefixId=Qo(),this._publicWs=new V(o),this.bbosMap=new Map,o.on("tickers",n=>{for(let s of n.data)s.change=s.close-s.open,s.perChange=s.open?+(100*s.change/s.open).toFixed(2):0,this.tickersMap.set(s.symbol,s);this.eventBus.publish("tickerUpdate",{message:"ticker"});}),o.subscribe({event:"subscribe",topic:"bbos"},{formatter:n=>n,onMessage:n=>{for(let s of n.data)this.bbosMap.set(s.symbol,{ask:s.ask,bid:s.bid,askSize:s.askSize,bidSize:s.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,n){this._publicWs.subscribeKline(`${this._prefixId}${n}`,t.ticker,o,i);}unsubscribeBars(t){this._publicWs.unsubscribeKline(`${this._prefixId}${t}`);}getQuotes(t,o){let i=this.getSubscriptionId("getQuotes");this.unsubscribeQuotes("getQuotes");let n=this.eventBus.subscribe("tickerUpdate",s=>{let a=new Map;t.forEach(c=>{let l=this.bbosMap.get(T(c)),u=this.tickersMap.get(T(c));if(!l||!u)return;let g={...u,ask:l.ask,bid:l.bid};a.set(T(c),g);}),a.size&&o(Array.from(a.values()).map(c=>this._toUDFTicker(c)));});this._subscribeQuoteMap.set(i,n);}subscribeQuotes(t,o,i,n){let s=`${this._prefixId}${n}`;if(t.length>0){this.unsubscribeQuotes(s);let a=this.eventBus.subscribe("tickerUpdate",c=>{let l=new Map;t.forEach(u=>{let g=this.bbosMap.get(T(u)),d=this.tickersMap.get(T(u));if(!g||!d)return;let h={...d,ask:g.ask,bid:g.bid};l.set(T(u),h);}),l.size&&i(Array.from(l.values()).map(u=>this._toUDFTicker(u)));});this._subscribeQuoteMap.set(s,a);}}unsubscribeQuotes(t){let o=this.getSubscriptionId(t),i=this._subscribeQuoteMap.get(o);i&&(i(),this._subscribeQuoteMap.delete(o));}_toUDFTicker(t){return {n:ee(t.symbol),s:"ok",v:{ask:t.ask,bid:t.bid,ch:t.change,chp:t.perChange/100,description:"",exchange:X,hight_price:t.high,low_price:t.low,lp:t.close,open_price:t.open,prev_close_price:0,volume:t.volume}}}};var er=(r,e)=>new Promise(t=>{let o=r.querySelector(e);o&&t(o);let i=new MutationObserver(()=>{let n=r.querySelector(e);n&&(t(n),i.disconnect());});i.observe(r,{childList:!0,subtree:!0});});var be=class{constructor({iframeDocument:e}){this.iframeDocument=e;}defaultHack(){this.showFavoriteStarByDefault();}showFavoriteStarByDefault(){er(this.iframeDocument,".dropdown-2R6OKuTS").then(()=>{this.iframeDocument.querySelectorAll(".toolbox-2IihgTnv.showOnHover-2IihgTnv").forEach(t=>{t.style.opacity="1";});});}};var $o=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 ze(r,e){return {...r,disabled_features:$o(e),enabled_features:["hide_left_toolbar_by_default","order_panel_close_button","iframe_loading_compatibility_mode"],auto_save_delay:.1,broker_config:{configFlags:{supportStopLimitOrders:!0,supportReversePosition:!1}}}}var je=r=>`${r}_adapter`,ye={"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"},w=new Map;var Zo=(r,e,t)=>{let o=je(r);try{let i=e,n=i?JSON.parse(i):void 0,s=t?JSON.parse(t):ye;return i&&w.set(r,i),t&&w.set(o,t),{savedData:n,adapterSetting:s}}catch{}return {savedData:void 0,adapterSetting:ye}},tr=async(r,e)=>{let t=je(r),o=localStorage.getItem(r)||"",i=localStorage.getItem(t)||"";try{if(w.has(r)&&w.has(t))return {savedData:JSON.parse(w.get(r)),adapterSetting:JSON.parse(w.get(t))}}catch{}return Zo(r,o,i)},rr=async(r,e,t)=>{e&&(localStorage.setItem(r,e),w.set(r,e));},or=async(r,e,t)=>{let o=je(r);e&&(localStorage.setItem(o,e),w.set(o,e));};var ir=(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},zo="chartProp_default",nr=300,Ce=class{constructor(e){this._instance=null;this._onClick=null;this._datafeed=null;this._chartKey=zo;this._adapterSetting=ye;this._savedData=null;this._isLoggedIn=!1;this.debounceSaveChart=ir(()=>{try{this._instance?.save(e=>{Object.is(this._savedData,e)||(this._savedData=e,rr(this._chartKey,JSON.stringify(e),this._isLoggedIn));});}catch{}},nr*2);this.debounceSaveChartAdapterSetting=ir(()=>{or(this._chartKey,JSON.stringify(this._adapterSetting),this._isLoggedIn);},nr);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 be({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 n=e.getBroker,s={fullscreen:e.fullscreen??!0,autosize:e.autosize??!1,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:n?l=>(this._broker&&this._broker.remove(),this._broker=n(this._instance,l),this._broker):void 0};this._datafeed=e.datafeed,t&&(this._chartKey=t);let{savedData:a,adapterSetting:c}=await tr(this._chartKey,this._isLoggedIn);this._adapterSetting=c,this._savedData=a,this._instance=new TradingView.widget({...ze(s,o),interval:c["chart.lastUsedTimeBasedResolution"]??s.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()!==T(e.symbol)&&this.setSymbol(e.symbol);}),this.subscribeAutoSave(),this.subscribeClick(i),this.chartHack();}};function jo(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()=>!0,this._adapter=e;};}function Yo(r,e){r.onChartReady(()=>{e.silentOrdersPlacement().subscribe(t=>{t||(e.silentOrdersPlacement().setValue(!0),r&&(r._iFrame.contentDocument.querySelector(".wrapper-3X2QgaDd").className="wrapper-3X2QgaDd highButtons-3X2QgaDd"),e.sellBuyButtonsVisibility()?.setValue(!1));});});}function Ye(r,e){jo(e),Yo(r,e);}var Xo=(r,e)=>{let o,i=n=>[null,"limit","MARKET","STOP_MARKET","STOP_LIMIT"][n];return {symbolInfo:async n=>(o=e.getSymbolInfo(T(n)),{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 n=>{let s=["SELL","BUY"][+(n.side>0)],a=n.qty.toString();(n.limitPrice??0).toString();(n.stopPrice??0).toString();let u=T(n.symbol),g=i(n.type);g==="MARKET"?e.sendMarketOrder({side:s,order_quantity:a,symbol:u,order_type:types.OrderType.MARKET}):"LIMIT";},orders:()=>[],positions:()=>[],executions:()=>[],connectionStatus:()=>1,chartContextMenuActions:n=>r.defaultContextMenuActions(n),isTradable:async()=>!0,accountManagerInfo:()=>({}),currentAccount:()=>"1",accountsMetainfo:async()=>[{id:"1"}],remove:()=>r?.silentOrdersPlacement().unsubscribe()}},sr=Xo;var ui="SDK_Tradingview",di="SDK_Moblie_Tradingview",pi=r=>r?di:ui;function et(r){let{scriptSRC:e,libraryPath:t,customCssUrl:o,overrides:i,studiesOverrides:n,fullscreen:s,symbol:a,theme:c,loadingScreen:l,mode:u,colorConfig:g}=r,d=kr.useRef(),h=hooks.useConfig("apiBaseUrl"),{state:A}=hooks.useAccount(),[F,O]=kr.useState(types.OrderSide.SELL),v=hooks.useSymbolsInfo(),{onSubmit:E,submitting:K}=hooks.useOrderEntry_deprecated({symbol:a??"",side:F,order_type:types.OrderType.MARKET},{watchOrderbook:!0}),[B,z]=kr.useState(()=>{let p=localStorage.getItem(D.displayControlSetting);return p?JSON.parse(p):{position:!0,buySell:!0,limitOrders:!0,stopOrders:!0,tpsl:!0,positionTpsl:!0}}),[b,S]=kr.useState(()=>{let p=localStorage.getItem(D.interval);return p||"1"}),[ur,dr]=kr.useState(()=>{let p=localStorage.getItem(D.lineType);return p||"1"}),ve=hooks.useMediaQuery(types.MEDIA_TABLET),Se=kr.useMemo(()=>Object.assign({},kt,g??{}),[g]),pr=kr.useMemo(()=>typeof l=="object"?l:{backgroundColor:Me},[l]),tt=hooks.useWS(),[q,mr]=kr.useState(!1),gr=p=>{let j=v[a];if(!j)return;let Y=new utils.Decimal(p.balance).greaterThan(0)?types.OrderSide.SELL:types.OrderSide.BUY,it={order_quantity:new utils.Decimal(p.balance).abs().toNumber(),symbol:a,order_type:types.OrderType.MARKET,side:Y,reduce_only:!0};O(Y),ui$1.modal.show("MarketCloseConfirmID",{base:j("base"),quantity:p.balance,onConfirm:async()=>E(it),submitting:K});},k=kr.useRef(null),rt=kr.useMemo(()=>!(A.status<types.AccountStatusEnum.EnableTrading),[A]),ot=Kt({closeConfirm:gr,colorConfig:Se,onToast:ui$1.toast,symbol:a??"",mode:u}),[fr,hr]=Qe(a,B),br=p=>{d.current&&(localStorage.setItem(D.interval,p),S(p),d.current.setSymbol(a,p));},yr=p=>{d.current&&(localStorage.setItem(D.lineType,p),dr(p),d.current.changeLineType(Number(p)));},Cr=p=>{localStorage.setItem(D.displayControlSetting,JSON.stringify(p)),z(p);},_r=()=>{d.current&&d.current.executeActionById("chartProperties");},vr=()=>{d.current&&d.current.executeActionById("insertIndicator");};return kr.useEffect(()=>{if(e&&k.current&&!q){let p=document.createElement("script");p.setAttribute("data-nscript","afterInteractive"),p.src=e,p.async=!0,p.type="text/javascript",p.onload=()=>{mr(!0);},p.onerror=()=>{},k.current.appendChild(p);}},[k,q,e]),kr.useEffect(()=>{if(!a||!q||!e)return;let p=Mt(Se,ve),j=i?Object.assign({},p.overrides,i):p.overrides,Y=n?Object.assign({},p.studiesOverrides,n):p.studiesOverrides;if(k.current){let Sr={options:{fullscreen:s??!1,autosize:!0,symbol:ee(a),timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,container:k.current,libraryPath:t,customCssUrl:o,interval:b??"1",theme:c??"dark",loadingScreen:pr??{},overrides:j,studiesOverrides:Y,datafeed:new he(h,tt),contextMenu:{items_processor:async Ie=>Ie},getBroker:(Ie,nt)=>(Ye(Ie,nt),sr(nt,ot))},chartKey:pi(ve),mode:u,onClick:()=>{}};d.current=new Ce(Sr);}return ()=>{d.current?.remove();}},[q,ve,u,d,k,q,e,Se]),kr.useEffect(()=>(d.current&&d.current.instance&&d.current.instance.onChartReady(()=>{rt&&d.current.instance&&fr(d.current.instance,void 0,ot);}),()=>{hr();}),[d.current,rt]),kr.useEffect(()=>{if(!a||!d.current)return;d.current?.setSymbol(a);let p=new V(tt);return p.subscribeSymbol(a),()=>{p.unsubscribeKline(a);}},[a]),{tradingViewScriptSrc:e,chartRef:k,changeDisplaySetting:Cr,displayControlState:B,interval:b,changeInterval:br,lineType:ur,changeLineType:yr,openChartSetting:_r,openChartIndicators:vr,symbol:a}}function mi(r){let e=et(r);return jsxRuntime.jsx(ke,{...e})}
15
+ function Oe(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 W=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 at=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"})})}),lt=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"})})}),ct=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"})})}),ut=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"})})}),dt=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"})]})}),pt=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"})})}),mt=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"})]})}),gt=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"})})}),ft=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"})})}),ht=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"})})});var Ar=[{value:"1",label:"1m"},{value:"15",label:"15m"},{value:"60",label:"1h"},{value:"240",label:"4h"},{value:"1D",label:"1D"},{value:"1W",label:"1W"}],yt=[[{value:"3",label:"3m"},{value:"5",label:"5m"},{value:"30",label:"30m"},{value:"120",label:"2h"}],[{value:"360",label:"6h"},{value:"720",label:"12h"},{value:"3d",label:"3D"},{value:"1M",label:"1M"}]],Br=[{value:"1",label:"1m"},{value:"3",label:"3m"},{value:"5",label:"5m"},{value:"15",label:"15m"},{value:"30",label:"30m"},{value:"60",label:"1h"},{value:"240",label:"4h"},{value:"720",label:"12h"},{value:"1D",label:"1D"},{value:"1W",label:"1W"},{value:"1M",label:"1M"}];function Re(r){return hooks.useMediaQuery(types.MEDIA_TABLET)?jsxRuntime.jsx(Hr,{...r}):jsxRuntime.jsx(Nr,{...r})}function Nr(r){return jsxRuntime.jsx("div",{className:"oui-text-2xs oui-text-base-contrast-36 oui-flex oui-gap-[2px] oui-items-center oui-mr-3 oui-font-semibold",children:Br.map(e=>jsxRuntime.jsx("div",{className:ui$1.cn("oui-cursor-pointer oui-px-2","hover:oui-text-base-contrast-80",r.interval===e.value&&"oui-text-base-contrast-80 oui-bg-white/[.06] oui-rounded"),id:e.value,onClick:()=>r.changeInterval(e.value),children:e.label},e.value))})}function Hr(r){let e=Mr.useMemo(()=>{for(let t of yt)for(let o of t)if(o.value===r.interval)return o.label;return null},[r.interval]);return jsxRuntime.jsxs(ui$1.Flex,{justify:"start",itemAlign:"center",gap:3,className:"oui-text-2xs oui-text-base-contrast-36",children:[jsxRuntime.jsx("div",{className:" oui-flex oui-gap-1 oui-items-center oui-mr-3 oui-font-semibold",children:Ar.map(t=>jsxRuntime.jsx("div",{className:ui$1.cn("oui-px-2",r.interval===t.value&&"oui-text-base-contrast-80 oui-bg-white/[.06] oui-rounded"),onClick:()=>r.changeInterval(t.value),children:t.label},t.value))}),jsxRuntime.jsx(Ur,{...r,children:e?jsxRuntime.jsx("div",{className:"oui-text-base-contrast-80",children:e}):jsxRuntime.jsx(ui$1.Text,{children:"More"})})]})}function Ur(r){let[e,t]=Mr__default.default.useState(!1);return jsxRuntime.jsxs(ui$1.DropdownMenuRoot,{open:e,onOpenChange:t,children:[jsxRuntime.jsx(ui$1.DropdownMenuTrigger,{asChild:!0,children:jsxRuntime.jsxs("div",{className:"oui-flex oui-justify-start oui-items-center oui-gap-0.5",children:[r.children,jsxRuntime.jsx(W,{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:o=>o.preventDefault(),onClick:o=>o.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:yt.map((o,i)=>jsxRuntime.jsx("div",{className:"oui-flex oui-gap-2",children:o.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))},i))})})]})}var Kr=[{label:"Position",id:"position"},{label:"Buy/Sell",id:"buySell"},{label:"Limit orders",id:"limitOrders"},{label:"Stop orders",id:"stopOrders"},{label:"TP/SL",id:"tpsl"},{label:"Position TP/SL",id:"positionTpsl"}],qr=[[{label:"Position",id:"position"},{label:"Limit orders",id:"limitOrders"}],[{label:"Stop orders",id:"stopOrders"},{label:"TP/SL",id:"tpsl"}],[{label:"Position TP/SL",id:"positionTpsl"},{label:"Buy/Sell",id:"buySell"}]];function Tt({displayControlState:r,changeDisplayControlState:e}){let[t,o]=Mr.useState(!1);return jsxRuntime.jsx(jsxRuntime.Fragment,{children:jsxRuntime.jsxs(ui$1.DropdownMenuRoot,{open:t,onOpenChange:o,children:[jsxRuntime.jsx(ui$1.DropdownMenuTrigger,{asChild:!0,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(W,{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:i=>i.preventDefault(),onClick:i=>i.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:Kr.map(i=>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[i.id]&&"oui-text-base-contrast-36"),children:i.label}),jsxRuntime.jsx(ui$1.Switch,{className:"oui-h-4 oui-w-8",checked:r[i.id],onCheckedChange:n=>{e({...r,[i.id]:n});}})]},i.id))})})})]})})}function Ot(r){let[e,t]=Mr.useState(!1);return jsxRuntime.jsxs(ui$1.DropdownMenuRoot,{open:e,onOpenChange:t,children:[jsxRuntime.jsx(ui$1.DropdownMenuTrigger,{asChild:!0,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(W,{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:o=>o.preventDefault(),onClick:o=>o.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:qr.map((o,i)=>jsxRuntime.jsx("div",{className:"oui-flex oui-gap-2",children:o.map(n=>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[n.id]?"oui-text-base-contrast":"oui-text-base-contrast-36 "),onClick:()=>{r.changeDisplayControlState({...r.displayControlState,[n.id]:!r.displayControlState[n.id]});},children:[jsxRuntime.jsx("div",{children:n.label}),r.displayControlState[n.id]?jsxRuntime.jsx(ht,{className:"oui-h-3 oui-w-3"}):jsxRuntime.jsx(ft,{className:"oui-h-3 oui-w-3"})]},n.id))},i))})})]})}var xt=({url:r,children:e})=>jsxRuntime.jsx("span",{onClick:()=>{window.open(r);},className:"oui-text-primary-light oui-underline oui-cursor-pointer",children:e});function Lt(){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:"Due to TradingView's policy, you will need to apply for your own license."}),jsxRuntime.jsxs("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:["1.\xA0Please apply for your TradingView Advanced Chart license\xA0",jsxRuntime.jsx(xt,{url:"https://www.tradingview.com/advanced-charts",children:"here"}),"."]}),jsxRuntime.jsxs("p",{className:"oui-pl-0 oui-text-2xs md:oui-text-xs oui-text-base-contrast-54 md:oui-text-base-contrast-80 md:oui-text-base md:oui-pl-2",children:["2.\xA0Follow the instructions on\xA0",jsxRuntime.jsx(xt,{url:"https://orderly.network/docs/sdks/react/components/trading#tradingviewconfig",children:"orderly.network"})," to set up."]})]})})}var Ee=[{icon:jsxRuntime.jsx(ct,{fill:"currentColor",className:"oui-w-5 oui-h-5"}),label:"Bars",value:"0"},{icon:jsxRuntime.jsx(ut,{fill:"currentColor",className:"oui-w-5 oui-h-5"}),label:"Candles",value:"1"},{icon:jsxRuntime.jsx(dt,{fill:"currentColor",className:"oui-w-5 oui-h-5"}),label:"Hollow candles",value:"9"},{icon:jsxRuntime.jsx(pt,{fill:"currentColor",className:"oui-w-5 oui-h-5"}),label:"Line",value:"2"},{icon:jsxRuntime.jsx(mt,{fill:"currentColor",className:"oui-w-5 oui-h-5"}),label:"Area",value:"3"},{icon:jsxRuntime.jsx(gt,{fill:"currentColor",className:"oui-w-5 oui-h-5"}),label:"Baseline",value:"10"}];function ke(r){let[e,t]=Mr.useState(!1),o=Mr.useMemo(()=>{let i=Ee.find(n=>n.value===r.lineType);return i?i.icon:Ee[1].icon},[r.lineType]);return jsxRuntime.jsxs(ui$1.DropdownMenuRoot,{open:e,onOpenChange:t,children:[jsxRuntime.jsx(ui$1.DropdownMenuTrigger,{asChild:!0,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:o})}),jsxRuntime.jsx(ui$1.DropdownMenuPortal,{children:jsxRuntime.jsx(ui$1.DropdownMenuContent,{onCloseAutoFocus:i=>i.preventDefault(),onClick:i=>i.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:Ee.map(i=>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===i.value&&"oui-text-base-contrast"),onClick:()=>r.changeLineType(i.value),children:[i.icon,jsxRuntime.jsx(ui$1.Text,{className:"oui-text-sm",children:i.label})]},i.value))})})})]})}var Et=({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});function Me(r){let{chartRef:e,interval:t,changeDisplaySetting:o,displayControlState:i,tradingViewScriptSrc:n,changeInterval:s,lineType:a,changeLineType:c,openChartSetting:l,openChartIndicators:u}=r,g=hooks.useMediaQuery(types.MEDIA_TABLET);return jsxRuntime.jsx("div",{className:"oui-h-full oui-w-full oui-relative",children:n?jsxRuntime.jsxs("div",{className:"oui-z-[1] oui-absolute oui-top-0 oui-bottom-0 oui-right-0 oui-left-0 oui-h-full oui-w-full oui-flex oui-flex-col",children:[jsxRuntime.jsx(Oe,{children:g?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(Re,{interval:t??"1",changeInterval:s}),jsxRuntime.jsx(Ot,{displayControlState:i,changeDisplayControlState:o})]}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(Re,{interval:t??"1",changeInterval:s}),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(Tt,{displayControlState:i,changeDisplayControlState:o}),jsxRuntime.jsx(Et,{onClick:u,children:jsxRuntime.jsx(at,{})}),jsxRuntime.jsx(ke,{lineType:a,changeLineType:c}),jsxRuntime.jsx(Et,{onClick:l,children:jsxRuntime.jsx(lt,{})})]})]})}),jsxRuntime.jsx("div",{className:"oui-h-full oui-w-full",ref:e})]}):jsxRuntime.jsx(Lt,{})})}var io="#008676",no="#D92D6B",De="#131519",so="#00B49E",ao="#FF447C",lo="#333948",co="#FFFFFF",uo="#F4F7F9",po="regular 11px Manrope",Mt={upColor:io,downColor:no,chartBG:De,pnlUpColor:so,pnlDownColor:ao,pnlZoreColor:lo,textColor:co,qtyTextColor:uo,font:po,volumeUpColor:"#0C3E3A",volumeDownColor:"#5A1E36",closeIcon:"rgba(255, 255, 255, 0.8)"},Dt=(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":!1},o={"volume.volume.color.0":r.volumeDownColor,"volume.volume.color.1":r.volumeUpColor};return {overrides:t,studiesOverrides:o}},X="Orderly",T=r=>r.includes(":")?r.split(":")[1]:r,ee=r=>r.startsWith(`${X}:`)?r:`${X}:${r}`;var go=2,fo="--",Be=["BRACKET","STOP_BRACKET"],re=["POSITIONAL_TP_SL","TP_SL"];var Ne=r=>r.root_algo_order_id!==r.algo_order_id&&(r.algo_type==="TAKE_PROFIT"||r.algo_type==="STOP_LOSS"),ho=r=>!!r&&Be.includes(r);var He=r=>r.type==="CLOSE_POSITION",Bt=r=>He(r)&&r.is_activated,Nt=r=>Ne(r)&&r.is_activated,Ue=r=>r.root_algo_order_algo_type==="TP_SL"||ho(r.root_algo_order_algo_type)&&r.is_activated,Ht=(r,e)=>{let t=r.algo_type,o={TAKE_PROFIT:"Take profit",STOP_LOSS:"Stop loss"}[t];return o||null},Ut=r=>{let e=new Map,t=1;return [...r].reverse().filter(Ue).forEach(o=>{o.root_algo_order_id&&!e.has(o.root_algo_order_id)&&e.set(o.root_algo_order_id,t++);}),e},Vt=(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}},Ft=r=>r!==void 0&&r!==""?new utils.Decimal(r).todp(go,utils.Decimal.ROUND_FLOOR):fo;function Ve(){let[r,{cancelOrder:e,cancelAlgoOrder:t,cancelTPSLChildOrder:o}]=hooks.useOrderStream({status:types.OrderStatus.INCOMPLETE});return Mr.useCallback(i=>{if(i.algo_order_id){if(re.includes(i.root_algo_order_algo_type)){let n=r?.find(a=>a.algo_order_id===i.root_algo_order_id);return n.child_orders.every(a=>!!a.trigger_price)?o(i.algo_order_id,i.root_algo_order_id):t(n.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 Fe(r){hooks.useEventEmitter();let [,{updateOrder:t,cancelAlgoOrder:o,updateAlgoOrder:i,updateTPSLOrder:n}]=hooks.useOrderStream({status:types.OrderStatus.INCOMPLETE});return Mr.useCallback((s,a)=>{if(s.algo_order_id)if(re.includes(s.root_algo_order_algo_type)){let l=[{order_id:s.algo_order_id,trigger_price:new utils.Decimal(a.value).toString()}];return n(s.root_algo_order_id,l).then(u=>{}).catch(u=>{r&&r.error(u.message);})}else {if(Be.includes(s.algo_type))return i(s.algo_order_id,{order_price:new utils.Decimal(a.value).toString()}).then(l=>{}).catch(l=>{r&&r.error(l.message);});{let l={quantity:s.quantity,trigger_price:s.trigger_price,symbol:s.symbol,price:s.price,algo_order_id:s.algo_order_id};return s.order_tag&&(l.order_tag=s.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(s.algo_order_id,l).then(u=>{}).catch(u=>{r&&r.error(u.message);})}}let c={order_price:s.price?.toString(),order_quantity:s.quantity.toString(),symbol:s.symbol,order_type:s.type,side:s.side,visible_quantity:0,reduce_only:s.reduce_only};return new utils.Decimal(s.visible_quantity??s.visible??0).eq(s.quantity)&&delete c.visible_quantity,Object.keys(s).includes("reduce_only")||delete c.reduce_only,s.order_tag&&(c.order_tag=s.order_tag),a.type==="price"&&(c.order_price=new utils.Decimal(a.value).toString()),t(s.order_id,c).then(l=>{}).catch(l=>{r.error(l.message);})},[t])}function Ke(r){let {onSubmit:e}=hooks.useOrderEntry_deprecated({symbol:r,side:types.OrderSide.BUY,order_type:types.OrderType.MARKET},{watchOrderbook:!0});return {sendLimitOrder:()=>{},sendMarketOrder:n=>(n.reduce_only=!1,e(n).catch(s=>{ui$1.toast.error(s);}))}}var wo=r=>e=>r(e),Eo=({closeConfirm:r,colorConfig:e,onToast:t,mode:o,symbol:i})=>{let n=Ve(),s=Fe(t),a=hooks.useSymbolsInfo(),c=Mr.useCallback(h=>r&&r(h),[r]),{sendMarketOrder:l,sendLimitOrder:u}=Ke(i),g=Mr.useCallback(h=>{if(a)return {baseMin:a[h]("base_min"),baseMax:a[h]("base_max"),baseTick:a[h]("base_tick"),quoteTick:a[h]("quote_tick")}},[a]),d=Mr.useRef({cancelOrder:n,closePosition:c,editOrder:s,colorConfig:e,sendLimitOrder:u,getSymbolInfo:g,sendMarketOrder:wo(l),mode:o});return Mr.useEffect(()=>{d.current.getSymbolInfo=g;},[a]),Mr.useEffect(()=>{d.current.sendLimitOrder=u,d.current.sendMarketOrder=l;},[u,l]),Mr.useEffect(()=>{d.current.closePosition=c;},[r]),Mr.useEffect(()=>{d.current.cancelOrder=n;},[n]),d.current},qt=Eo;var ie=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("Close Position").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="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,n=e.balance>=0,s=o.pnlZoreColor,a=new utils.Decimal(e.unrealPnl);a.greaterThan(0)?s=o.upColor:a.lessThan(0)&&(s=o.downColor);i?o.pnlUpColor:o.pnlDownColor;let l=n?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(s).setQuantityTextColor(l).setBodyBorderColor(s).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 $=r=>{if(r!=null)return r.algo_order_id||r.order_id};var ne=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}=Vt(e,t);return Ft(o)}prepareTpslPnlMap(e){let t=[];return e.forEach(o=>{let i=$(o);if(i&&Nt(o)){let n=this.tpslPnlMap.get(i),s=this.getFormattedEstPnl(o);n!==s&&(t.push(i),this.tpslPnlMap.set(i,s));}}),t}prepareQuantityTpslNoMap(e){this.quantityTpslNoMap=Ut(e);}recalculatePnl(e,t){return this.positions=e,this.prepareTpslPnlMap(t)}clear(){this.positions=null,this.quantityTpslNoMap.clear(),this.tpslPnlMap.clear();}};var x=class x{constructor(e,t){this.instance=e,this.pendingOrderLineMap=new Map,this.pendingOrders=[],this.broker=t,this.tpslCalService=new ne;}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($(o))).forEach(o=>this.renderPendingOrder(o));}renderPendingOrder(e){let t=x.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=>x.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("Cancel Order").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=x.getCombinationType(e);return t==="STOP_LIMIT"||t==="STOP_MARKET"||t==="STOP_BRACKET_LIMIT"||t==="STOP_BRACKET_MARKET"?e.type==="LIMIT"?`Stop Limit ${utils.commify(e.price)}`:"Stop Market":"Limit"}static getOrderPrice(e){return e.trigger_price||e.price}getTPSLTextWithTpsl(e,t){return $(t),e}getTPSLText(e){let t=Ht(e,this.tpslCalService.getQuantityTpslNoMap());return t?this.getTPSLTextWithTpsl(t,e):null}getOrderQuantity(e){if(e.algo_order_id){if(Bt(e)||He(e))return "100%";if(Ue(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=Ne(t)?this.getTPSLText(t):x.getText(t);if(o===null)return null;let i=this.broker.colorConfig,n=this.pendingOrderLineMap.get(e)??this.getBaseOrderLine(),s=t.side==="BUY"?i.upColor:i.downColor;t.side==="BUY"?i.pnlUpColor:i.pnlDownColor;let c=x.getOrderPrice(t),l=100,u=this.getOrderQuantity(t),g=i.textColor;return n.setText(o).setCancelButtonIconColor(i.closeIcon).setCancelButtonBorderColor(s).setBodyTextColor(g).setBodyBorderColor(s).setQuantityBorderColor(s).setQuantityTextColor(s).setLineColor(s).setLineLength(l).setQuantity(u??"").setPrice(c),this.broker.mode!==3?(n.onCancel(null,()=>this.broker.cancelOrder(t)),this.applyEditOnMove(n,t)):n.setEditable(!1).setCancellable(!1),n}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=x.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();}};x.getOrderId=e=>{if(e!=null)return e.algo_order_id||e.order_id};var se=x;var Zt={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 $t(r,e,t,o){let{startOf:i,period:n}=Zt[t],s=new Date(r.updated_time).getTime(),a=dateFns.startOfSecond(s).getTime();i==="minute"?a=dateFns.startOfMinute(s).getTime():i==="hour"?a=dateFns.startOfHour(s).getTime():i==="day"?a=dateFns.startOfDay(s).getTime():i==="month"?a=dateFns.startOfMonth(s).getTime():i==="year"?a=dateFns.startOfYear(s).getTime():i==="week"?a=dateFns.startOfWeek(s).getTime():i==="month"&&(a=dateFns.startOfMonth(s).getTime());let c=n===0?a:Math.floor((s-a)/n)*n+a;e[c]||(e[c]={BUY:[],SELL:[]}),e[c][r.side].length<5&&(e[c][r.side].push(r),o.push(r));}var zt=(r,e)=>{let t=[],o={};return Zt[e]?(r.forEach(i=>{if(i.child_orders)for(let n of i.child_orders)n.is_activated&&n.algo_status===types.OrderStatus.FILLED&&$t(n,o,e,t);else $t(i,o,e,t);}),t):[]};var ae=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(),zt(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(s=>!!s.average_executed_price)?.average_executed_price||0,n=new utils.Decimal(i).todp(t,utils.Decimal.ROUND_FLOOR).toString();return `${o==="BUY"?"Buy":"Sell"} ${e.total_executed_quantity} @${utils.commify(n)}`}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,n=new Date(e.updated_time).getTime()/1e3,s=this.broker.colorConfig;return this.instance.activeChart().createExecutionShape().setArrowHeight(9).setTooltip(r.getExecutionInfo(e,t)).setTime(n).setPrice(i).setArrowColor(o==="BUY"?s.upColor:s.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 le=class{constructor(e,t,o){this.instance=e,this.positionLineService=new ie(e,o),this.orderLineService=new se(e,o),this.executionService=new ae(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();},!0))}chartReady(){return new Promise(e=>this.instance.onChartReady(()=>{try{this.instance.activeChart().dataReady(()=>e());}catch(t){t.toString().includes("tradingViewApi");}}))}};function $e(r,e){let[t,o]=Mr.useState(),i=Mr.useRef(),{state:n}=hooks.useAccount(),[s]=hooks.useLocalStorage("unPnlPriceBasis","markPrice"),[{rows:a},c]=hooks.usePositionStream(r,{calcMode:s}),[l]=hooks.useOrderStream({status:types.OrderStatus.INCOMPLETE,symbol:r}),g=hooks.useSymbolsInfo()?.[r],d=g("base_dp"),[h]=hooks.useOrderStream({symbol:r,status:types.OrderStatus.FILLED,size:500}),E=Mr.useRef((O,v,k)=>{i.current&&i.current.remove(),i.current=new le(O,v,k),o(i.current);}),F=Mr.useRef(()=>{i.current?.remove(),i.current=void 0;});return Mr.useEffect(()=>{if(n.status<types.AccountStatusEnum.EnableTrading&&n.status!==types.AccountStatusEnum.EnableTradingWithoutConnected){t?.renderPositions([]);return}if(!e||!e.position){t?.renderPositions([]);return}let O=(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(O);},[t,a,r,e,n]),Mr.useEffect(()=>{if(!e||!e.buySell){t?.renderFilledOrders([],6);return}t?.renderFilledOrders(h??[],d??6);},[t,h,d,e]),Mr.useEffect(()=>{let O=[],v=[],k=[],K=[],B=[];if(n.status<types.AccountStatusEnum.EnableTrading&&n.status!==types.AccountStatusEnum.EnableTradingWithoutConnected){t?.renderPendingOrders([]);return}let z=(a??[]).find(b=>b.symbol===r);l?.forEach(b=>{if(r===b.symbol){if(!b.algo_order_id)k.push(b);else if(b.algo_order_id)if(b.algo_type==="POSITIONAL_TP_SL")for(let S of b.child_orders)S.root_algo_order_algo_type=b.algo_type,S.trigger_price&&S.status!==types.OrderStatus.FILLED&&v.push(S);else if(b.algo_type==="TP_SL"){if(z)for(let S of b.child_orders)S.root_algo_order_algo_type=b.algo_type,S.position_qty=z.position_qty,S.trigger_price&&S.status!==types.OrderStatus.FILLED&&O.push(S);}else b.algo_type==="STOP_LOSS"||b.algo_type==="TAKE_PROFIT"?K.push(b):b.algo_type==="BRACKET"&&B.push(b);}}),e&&(e.positionTpsl||(v=[]),e.tpsl||(O=[]),e.limitOrders||(k=[],B=[]),e.stopOrders||(K=[])),t?.renderPendingOrders(O.concat(v).concat(k).concat(K).concat(B));},[t,l,r,e,a,n.status]),[E.current,F.current]}function D(r){return r===void 0?"":typeof r=="string"?r:r.message}var de=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(n,s)=>{try{let a=await this._requester.sendRequest(this._datafeedUrl,"history",i),c=this._processHistoryResponse(a);this._limitedServerResponse&&await this._processTruncatedResponse(c,i),n(c);}catch(a){if(a instanceof Error||typeof a=="string"){let c=D(a);s(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),n=this._processHistoryResponse(i);o=n.bars.length,this._limitedServerResponse.expectedOrder==="earliestFirst"?(n.bars[0].time===e.bars[e.bars.length-1].time&&n.bars.shift(),e.bars.push(...n.bars)):(n.bars[n.bars.length-1].time===e.bars[0].time&&n.bars.pop(),e.bars.unshift(...n.bars));}}catch(i){if(i instanceof Error||typeof i=="string"){D(i);}}}_processHistoryResponse(e){if(e.s!=="ok"&&e.s!=="no_data")throw new Error(e.errmsg);let t=[],o={noData:!1};if(e.s==="no_data")o.noData=!0,o.nextTime=e.nextTime;else {let i=e.v!==void 0,n=e.o!==void 0;for(let s=0;s<e.t.length;++s){let a={time:e.t[s]*1e3,close:parseFloat(e.c[s]),open:parseFloat(e.c[s]),high:parseFloat(e.c[s]),low:parseFloat(e.c[s])};n&&(a.open=parseFloat(e.o[s]),a.high=parseFloat(e.h[s]),a.low=parseFloat(e.l[s])),i&&(a.volume=parseFloat(e.v[s])),t.push(a);}}return {bars:t,meta:o}}};var pe=class{constructor(e){e&&(this._headers=e);}sendRequest(e,t,o){if(o!==void 0){let n=Object.keys(o);n.length!==0&&(t+="?"),t+=n.map(s=>`${encodeURIComponent(s)}=${encodeURIComponent(o[s].toString())}`).join("&");}""+t;let i={credentials:"same-origin"};return this._headers!==void 0&&(i.headers=this._headers),fetch(`${e}/${t}`,i).then(n=>n.text()).then(n=>JSON.parse(n))}};function f(r,e,t,o){let i=r[e];return Array.isArray(i)&&(!o||Array.isArray(i[0]))?i[t]:i}function me(r,e,t){return r+(e!==void 0?"_%|#|%_"+e:"")+(t!==void 0?"_%|#|%_"+t:"")}var ge=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[me(e,t,o)];return i===void 0?Promise.reject("invalid symbol"):Promise.resolve(i)})}searchSymbols(e,t,o,i){return this._readyPromise.then(()=>{let n=[],s=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),g=l.description.toUpperCase().indexOf(e);if((s||u>=0||g>=0)&&!n.some(h=>h.symbolInfo===l)){let h=u>=0?u:8e3+g;n.push({symbolInfo:l,weight:h});}}let a=n.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]=!0,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(n){o(n instanceof Error?n:new Error(`SymbolsStorage: Unexpected exception ${n}`));return}t();}).catch(i=>{`${e}${D(i)}`,t();});})}_onExchangeDataReceived(e,t){let o=0;try{let i=t.symbol.length,n=t.ticker!==void 0;for(;o<i;++o){let s=t.symbol[o],a=f(t,"exchange-listed",o),c=f(t,"exchange-traded",o),l=c+":"+s,u=f(t,"currency-code",o),g=f(t,"unit-id",o),d=n?f(t,"ticker",o):s,h={ticker:d,name:s,base_name:[a+":"+s],listed_exchange:a,exchange:c,currency_code:u,original_currency_code:f(t,"original-currency-code",o),unit_id:g,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:U(f(t,"has-intraday",o),!1),visible_plots_set:U(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:U(f(t,"supported-resolutions",o,!0),this._datafeedSupportedResolutions),has_daily:U(f(t,"has-daily",o),!0),intraday_multipliers:U(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:U(f(t,"volume-precision",o),0),format:"price"};this._symbolsInfo[d]=h,this._symbolsInfo[s]=h,this._symbolsInfo[l]=h,(u!==void 0||g!==void 0)&&(this._symbolsInfo[me(d,u,g)]=h,this._symbolsInfo[me(s,u,g)]=h,this._symbolsInfo[me(l,u,g)]=h),this._symbolsList.push(s);}}catch(i){throw new Error(`SymbolsStorage: API error when processing exchange ${e} symbol #${o} (${t.symbol[o]}): ${Object(i).message}`)}}};function U(r,e){return r!==void 0?r:e}var fe=class{constructor(e){this._configuration=Xt();this._symbolsStorage=null;this._datafeedURL=e,this._requester=new pe,this._historyProvider=new de(e,this._requester),this._configurationReadyPromise=this._requestConfiguration().then(t=>{t===null&&(t=Xt()),this._setupWithConfiguration(t);});}getBars(e,t,o,i,n){this._historyProvider.getBars(e,t,o).then(s=>{i(s.bars,s.meta);}).catch(n);}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 n=i&&i.currencyCode,s=i&&i.unitId;function c(l){t(l);}if(this._symbolsStorage===null)throw new Error("Datafeed: inconsistent configuration (symbols storage)");this._symbolsStorage.resolveSymbol(e,n,s).then(c).catch(o);}getMarks(){}getTimescaleMarks(){}getServerTime(){}_requestConfiguration(){return this._send("config").catch(e=>(`${D(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 ge(this._datafeedURL,e.supported_resolutions||[],this._requester)),`${JSON.stringify(e)}`;}};function Xt(){return {supports_search:!1,supports_group_request:!0,supported_resolutions:["1","3","5","15","30","60","120","240","480","720","1D","3D","1W","1M"],supports_marks:!1,supports_timescale_marks:!1}}var he=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 Ze=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},A={interval:"TradingviewSDK.lastUsedTimeBasedResolution",lineType:"TradingviewSDK.lastUsedStyle",displayControlSetting:"TradingviewSDK.displaySetting"};var ze=(r,e)=>`${r}kline_${e}`,Qo=r=>["trade"].map(t=>`${r}@${t}`),P=class P{constructor(e){this.klineSubscribeIdMap=new Map;this.klineOnTickCallback=new Map;this.subscribeCachedTopics=new Map;this.wsInstance=null;this.klineData=new Map;return P._created||(this.wsInstance=e,P._instance=this,P._created=!0),P._instance}subscribeKline(e,t,o,i){let n=Ze(o);this.klineSubscribeIdMap.set(e,{symbol:t,resolution:o});let s=ze(t,n);if(this.klineOnTickCallback.has(s)){let a=this.klineOnTickCallback.get(s);a[e]=i;}else {this.klineOnTickCallback.set(s,{[e]:i});let a=this.wsInstance?.subscribe({event:"subscribe",topic:`${t}@kline_${n}`,id:`${t}@kline_${n}`,ts:new Date().getTime()},{onMessage:c=>{let{open:l,close:u,high:g,low:d,volume:h,startTime:E}=c,F=ze(c.symbol,c.type);this.updateKline(F,{time:E,close:u,open:l,high:g,low:d,volume:h});}});this.subscribeCachedTopics.set(`${t}@kline_${n}`,a);}}unsubscribeKline(e){if(!this.klineSubscribeIdMap.has(e))return;let{symbol:t,resolution:o}=this.klineSubscribeIdMap.get(e),i=Ze(o),n=ze(t,i);if(this.klineOnTickCallback.has(n)){let s=this.klineOnTickCallback.get(n);delete s[e],Object.keys(s).length===0&&(this.klineOnTickCallback.delete(n),this.subscribeCachedTopics.get(`${t}@kline_${i}`)());}delete this.klineSubscribeIdMap[e];}subscribeSymbol(e){Qo(e).forEach(o=>{if(!this.subscribeCachedTopics.has(o)){let i=this.wsInstance?.subscribe({event:"subscribe",topic:o,id:o,ts:new Date().getTime()},{onMessage:n=>{this.updateKlineByLastPrice(n.symbol,n.price);}});this.subscribeCachedTopics.set(o,i);}});}updateKlineByLastPrice(e,t){this.klineOnTickCallback.forEach((o,i)=>{if(i.startsWith(e)){let n=this.klineData.get(i);n&&this.updateKline(i,{...n,close:t});}});}updateKline(e,t){let o=this.klineOnTickCallback.get(e);o&&t&&(this.klineData.set(e,t),Object.keys(o).forEach(i=>{let n=o[i];n&&typeof n=="function"&&n(t);}));}};P._created=!1,P._instance=null;var V=P;var $o=(()=>{let r=0;return ()=>r++})(),be=class extends fe{constructor(t,o){let i=`${t}/tv`;super(i);this.bbosMap=new Map;this.tickersMap=new Map;this.eventBus=new he;this._subscribeQuoteMap=new Map,this._prefixId=$o(),this._publicWs=new V(o),this.bbosMap=new Map,o.on("tickers",n=>{for(let s of n.data)s.change=s.close-s.open,s.perChange=s.open?+(100*s.change/s.open).toFixed(2):0,this.tickersMap.set(s.symbol,s);this.eventBus.publish("tickerUpdate",{message:"ticker"});}),o.subscribe({event:"subscribe",topic:"bbos"},{formatter:n=>n,onMessage:n=>{for(let s of n.data)this.bbosMap.set(s.symbol,{ask:s.ask,bid:s.bid,askSize:s.askSize,bidSize:s.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,n){this._publicWs.subscribeKline(`${this._prefixId}${n}`,t.ticker,o,i);}unsubscribeBars(t){this._publicWs.unsubscribeKline(`${this._prefixId}${t}`);}getQuotes(t,o){let i=this.getSubscriptionId("getQuotes");this.unsubscribeQuotes("getQuotes");let n=this.eventBus.subscribe("tickerUpdate",s=>{let a=new Map;t.forEach(c=>{let l=this.bbosMap.get(T(c)),u=this.tickersMap.get(T(c));if(!l||!u)return;let g={...u,ask:l.ask,bid:l.bid};a.set(T(c),g);}),a.size&&o(Array.from(a.values()).map(c=>this._toUDFTicker(c)));});this._subscribeQuoteMap.set(i,n);}subscribeQuotes(t,o,i,n){let s=`${this._prefixId}${n}`;if(t.length>0){this.unsubscribeQuotes(s);let a=this.eventBus.subscribe("tickerUpdate",c=>{let l=new Map;t.forEach(u=>{let g=this.bbosMap.get(T(u)),d=this.tickersMap.get(T(u));if(!g||!d)return;let h={...d,ask:g.ask,bid:g.bid};l.set(T(u),h);}),l.size&&i(Array.from(l.values()).map(u=>this._toUDFTicker(u)));});this._subscribeQuoteMap.set(s,a);}}unsubscribeQuotes(t){let o=this.getSubscriptionId(t),i=this._subscribeQuoteMap.get(o);i&&(i(),this._subscribeQuoteMap.delete(o));}_toUDFTicker(t){return {n:ee(t.symbol),s:"ok",v:{ask:t.ask,bid:t.bid,ch:t.change,chp:t.perChange/100,description:"",exchange:X,hight_price:t.high,low_price:t.low,lp:t.close,open_price:t.open,prev_close_price:0,volume:t.volume}}}};var er=(r,e)=>new Promise(t=>{let o=r.querySelector(e);o&&t(o);let i=new MutationObserver(()=>{let n=r.querySelector(e);n&&(t(n),i.disconnect());});i.observe(r,{childList:!0,subtree:!0});});var ye=class{constructor({iframeDocument:e}){this.iframeDocument=e;}defaultHack(){this.showFavoriteStarByDefault();}showFavoriteStarByDefault(){er(this.iframeDocument,".dropdown-2R6OKuTS").then(()=>{this.iframeDocument.querySelectorAll(".toolbox-2IihgTnv.showOnHover-2IihgTnv").forEach(t=>{t.style.opacity="1";});});}};var Zo=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 je(r,e){return {...r,disabled_features:Zo(e),enabled_features:["hide_left_toolbar_by_default","order_panel_close_button","iframe_loading_compatibility_mode"],auto_save_delay:.1,broker_config:{configFlags:{supportStopLimitOrders:!0,supportReversePosition:!1}}}}var Ye=r=>`${r}_adapter`,Ce={"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"},w=new Map;var zo=(r,e,t)=>{let o=Ye(r);try{let i=e,n=i?JSON.parse(i):void 0,s=t?JSON.parse(t):Ce;return i&&w.set(r,i),t&&w.set(o,t),{savedData:n,adapterSetting:s}}catch{}return {savedData:void 0,adapterSetting:Ce}},tr=async(r,e)=>{let t=Ye(r),o=localStorage.getItem(r)||"",i=localStorage.getItem(t)||"";try{if(w.has(r)&&w.has(t))return {savedData:JSON.parse(w.get(r)),adapterSetting:JSON.parse(w.get(t))}}catch{}return zo(r,o,i)},rr=async(r,e,t)=>{e&&(localStorage.setItem(r,e),w.set(r,e));},or=async(r,e,t)=>{let o=Ye(r);e&&(localStorage.setItem(o,e),w.set(o,e));};var ir=(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},jo="chartProp_default",nr=300,_e=class{constructor(e){this._instance=null;this._onClick=null;this._datafeed=null;this._chartKey=jo;this._adapterSetting=Ce;this._savedData=null;this._isLoggedIn=!1;this.debounceSaveChart=ir(()=>{try{this._instance?.save(e=>{Object.is(this._savedData,e)||(this._savedData=e,rr(this._chartKey,JSON.stringify(e),this._isLoggedIn));});}catch{}},nr*2);this.debounceSaveChartAdapterSetting=ir(()=>{or(this._chartKey,JSON.stringify(this._adapterSetting),this._isLoggedIn);},nr);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 ye({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 n=e.getBroker,s={fullscreen:e.fullscreen??!0,autosize:e.autosize??!1,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:n?l=>(this._broker&&this._broker.remove(),this._broker=n(this._instance,l),this._broker):void 0};this._datafeed=e.datafeed,t&&(this._chartKey=t);let{savedData:a,adapterSetting:c}=await tr(this._chartKey,this._isLoggedIn);this._adapterSetting=c,this._savedData=a,this._instance=new TradingView.widget({...je(s,o),interval:c["chart.lastUsedTimeBasedResolution"]??s.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()!==T(e.symbol)&&this.setSymbol(e.symbol);}),this.subscribeAutoSave(),this.subscribeClick(i),this.chartHack();}};function Yo(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()=>!0,this._adapter=e;};}function Jo(r,e){r.onChartReady(()=>{e.silentOrdersPlacement().subscribe(t=>{t||(e.silentOrdersPlacement().setValue(!0),r&&(r._iFrame.contentDocument.querySelector(".wrapper-3X2QgaDd").className="wrapper-3X2QgaDd highButtons-3X2QgaDd"),e.sellBuyButtonsVisibility()?.setValue(!1));});});}function Je(r,e){Yo(e),Jo(r,e);}var ei=(r,e)=>{let o,i=n=>[null,"limit","MARKET","STOP_MARKET","STOP_LIMIT"][n];return {symbolInfo:async n=>(o=e.getSymbolInfo(T(n)),{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 n=>{let s=["SELL","BUY"][+(n.side>0)],a=n.qty.toString();(n.limitPrice??0).toString();(n.stopPrice??0).toString();let u=T(n.symbol),g=i(n.type);g==="MARKET"?e.sendMarketOrder({side:s,order_quantity:a,symbol:u,order_type:types.OrderType.MARKET}):"LIMIT";},orders:()=>[],positions:()=>[],executions:()=>[],connectionStatus:()=>1,chartContextMenuActions:n=>r.defaultContextMenuActions(n),isTradable:async()=>!0,accountManagerInfo:()=>({}),currentAccount:()=>"1",accountsMetainfo:async()=>[{id:"1"}],remove:()=>r?.silentOrdersPlacement().unsubscribe()}},sr=ei;var ui="SDK_Tradingview",di="SDK_Moblie_Tradingview",pi=r=>r?di:ui;function tt(r){let{scriptSRC:e,libraryPath:t,customCssUrl:o,overrides:i,studiesOverrides:n,fullscreen:s,symbol:a,theme:c,loadingScreen:l,mode:u,colorConfig:g}=r,d=Mr.useRef(),h=hooks.useConfig("apiBaseUrl"),{state:E}=hooks.useAccount(),[F,O]=Mr.useState(types.OrderSide.SELL),v=hooks.useSymbolsInfo(),{onSubmit:k,submitting:K}=hooks.useOrderEntry_deprecated({symbol:a??"",side:F,order_type:types.OrderType.MARKET},{watchOrderbook:!0}),[B,z]=Mr.useState(()=>{let p=localStorage.getItem(A.displayControlSetting);return p?JSON.parse(p):{position:!0,buySell:!0,limitOrders:!0,stopOrders:!0,tpsl:!0,positionTpsl:!0}}),[b,S]=Mr.useState(()=>{let p=localStorage.getItem(A.interval);return p||"1"}),[dr,pr]=Mr.useState(()=>{let p=localStorage.getItem(A.lineType);return p||"1"}),Se=hooks.useMediaQuery(types.MEDIA_TABLET),Ie=Mr.useMemo(()=>Object.assign({},Mt,g??{}),[g]),mr=Mr.useMemo(()=>typeof l=="object"?l:{backgroundColor:De},[l]),rt=hooks.useWS(),[q,gr]=Mr.useState(!1),fr=p=>{let j=v[a];if(!j)return;let Y=new utils.Decimal(p.balance).greaterThan(0)?types.OrderSide.SELL:types.OrderSide.BUY,nt={order_quantity:new utils.Decimal(p.balance).abs().toNumber(),symbol:a,order_type:types.OrderType.MARKET,side:Y,reduce_only:!0};O(Y),ui$1.modal.show("MarketCloseConfirmID",{base:j("base"),quantity:p.balance,onConfirm:async()=>k(nt),submitting:K});},M=Mr.useRef(null),ot=Mr.useMemo(()=>!(E.status<types.AccountStatusEnum.EnableTrading&&E.status!==types.AccountStatusEnum.EnableTradingWithoutConnected),[E]),it=qt({closeConfirm:fr,colorConfig:Ie,onToast:ui$1.toast,symbol:a??"",mode:u}),[hr,br]=$e(a,B),yr=p=>{d.current&&(localStorage.setItem(A.interval,p),S(p),d.current.setSymbol(a,p));},Cr=p=>{d.current&&(localStorage.setItem(A.lineType,p),pr(p),d.current.changeLineType(Number(p)));},_r=p=>{localStorage.setItem(A.displayControlSetting,JSON.stringify(p)),z(p);},vr=()=>{d.current&&d.current.executeActionById("chartProperties");},Sr=()=>{d.current&&d.current.executeActionById("insertIndicator");};return Mr.useEffect(()=>{if(e&&M.current&&!q){let p=document.createElement("script");p.setAttribute("data-nscript","afterInteractive"),p.src=e,p.async=!0,p.type="text/javascript",p.onload=()=>{gr(!0);},p.onerror=()=>{},M.current.appendChild(p);}},[M,q,e]),Mr.useEffect(()=>{if(!a||!q||!e)return;let p=Dt(Ie,Se),j=i?Object.assign({},p.overrides,i):p.overrides,Y=n?Object.assign({},p.studiesOverrides,n):p.studiesOverrides;if(M.current){let Ir={options:{fullscreen:s??!1,autosize:!0,symbol:ee(a),timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,container:M.current,libraryPath:t,customCssUrl:o,interval:b??"1",theme:c??"dark",loadingScreen:mr??{},overrides:j,studiesOverrides:Y,datafeed:new be(h,rt),contextMenu:{items_processor:async Te=>Te},getBroker:(Te,st)=>(Je(Te,st),sr(st,it))},chartKey:pi(Se),mode:u,onClick:()=>{}};d.current=new _e(Ir);}return ()=>{d.current?.remove();}},[q,Se,u,d,M,q,e,Ie]),Mr.useEffect(()=>(d.current&&d.current.instance&&d.current.instance.onChartReady(()=>{ot&&d.current.instance&&hr(d.current.instance,void 0,it);}),()=>{br();}),[d.current,ot]),Mr.useEffect(()=>{if(!a||!d.current)return;d.current?.setSymbol(a);let p=new V(rt);return p.subscribeSymbol(a),()=>{p.unsubscribeKline(a);}},[a]),{tradingViewScriptSrc:e,chartRef:M,changeDisplaySetting:_r,displayControlState:B,interval:b,changeInterval:yr,lineType:dr,changeLineType:Cr,openChartSetting:vr,openChartIndicators:Sr,symbol:a}}function mi(r){let e=tt(r);return jsxRuntime.jsx(Me,{...e})}
16
16
 
17
- exports.TradingviewUi = ke;
17
+ exports.TradingviewUi = Me;
18
18
  exports.TradingviewWidget = mi;
19
- exports.useTradingviewScript = et;
19
+ exports.useTradingviewScript = tt;
20
20
  //# sourceMappingURL=out.js.map
21
21
  //# sourceMappingURL=index.js.map